summaryrefslogtreecommitdiffstats
path: root/src/broadcast
diff options
context:
space:
mode:
authorRJ Ryan <rryan@mixxx.org>2016-04-27 20:31:02 -0700
committerRJ Ryan <rryan@mixxx.org>2016-04-27 20:34:07 -0700
commit8b7322240857685e15c5f21891804110ff057f43 (patch)
tree4336e5cb045ddb76c0d05b570408c13e563bbddb /src/broadcast
parented8a8e06d4103245973f330b05db7e1ae66f86ae (diff)
Replace "shoutcast" with "broadcast" in most places.
Diffstat (limited to 'src/broadcast')
-rw-r--r--src/broadcast/broadcastmanager.cpp39
-rw-r--r--src/broadcast/broadcastmanager.h38
-rw-r--r--src/broadcast/defs_broadcast.h31
3 files changed, 108 insertions, 0 deletions
diff --git a/src/broadcast/broadcastmanager.cpp b/src/broadcast/broadcastmanager.cpp
new file mode 100644
index 0000000000..ba943c8da5
--- /dev/null
+++ b/src/broadcast/broadcastmanager.cpp
@@ -0,0 +1,39 @@
+#include "broadcast/broadcastmanager.h"
+
+#include "broadcast/defs_broadcast.h"
+#include "engine/enginemaster.h"
+#include "engine/sidechain/enginenetworkstream.h"
+#include "engine/sidechain/enginesidechain.h"
+#include "soundio/soundmanager.h"
+
+BroadcastManager::BroadcastManager(UserSettingsPointer pConfig,
+ SoundManager* pSoundManager)
+ : m_pConfig(pConfig) {
+ QSharedPointer<EngineNetworkStream> pNetworkStream =
+ pSoundManager->getNetworkStream();
+ if (!pNetworkStream.isNull()) {
+ m_pBroadcast = QSharedPointer<EngineBroadcast>(
+ new EngineBroadcast(pConfig));
+ pNetworkStream->addWorker(m_pBroadcast);
+ }
+ m_pBroadcastEnabled = new ControlObjectSlave(
+ BROADCAST_PREF_KEY, "enabled", this);
+ m_pBroadcastEnabled->connectValueChanged(SLOT(slotControlEnabled(double)));
+}
+
+BroadcastManager::~BroadcastManager() {
+ // Disable broadcast so when Mixxx starts again it will not connect.
+ m_pBroadcastEnabled->set(0);
+}
+
+void BroadcastManager::setEnabled(bool value) {
+ m_pBroadcastEnabled->set(value);
+}
+
+bool BroadcastManager::isEnabled() {
+ return m_pBroadcastEnabled->toBool();
+}
+
+void BroadcastManager::slotControlEnabled(double v) {
+ emit(broadcastEnabled(v > 0.0));
+}
diff --git a/src/broadcast/broadcastmanager.h b/src/broadcast/broadcastmanager.h
new file mode 100644
index 0000000000..072bd93e2b
--- /dev/null
+++ b/src/broadcast/broadcastmanager.h
@@ -0,0 +1,38 @@
+#ifndef BROADCAST_BROADCASTMANAGER_H
+#define BROADCAST_BROADCASTMANAGER_H
+
+#include <QObject>
+
+#include "engine/sidechain/enginebroadcast.h"
+#include "preferences/usersettings.h"
+
+class SoundManager;
+
+class BroadcastManager : public QObject {
+ Q_OBJECT
+ public:
+ BroadcastManager(UserSettingsPointer pConfig,
+ SoundManager* pSoundManager);
+ virtual ~BroadcastManager();
+
+ // Returns true if the broadcast connection is enabled. Note this only
+ // indicates whether the connection is enabled, not whether it is connected.
+ bool isEnabled();
+
+ public slots:
+ // Set whether or not the Broadcast connection is enabled.
+ void setEnabled(bool enabled);
+
+ signals:
+ void broadcastEnabled(bool);
+
+ private slots:
+ void slotControlEnabled(double v);
+
+ private:
+ UserSettingsPointer m_pConfig;
+ QSharedPointer<EngineBroadcast> m_pBroadcast;
+ ControlObjectSlave* m_pBroadcastEnabled;
+};
+
+#endif /* BROADCAST_BROADCASTMANAGER_H */
diff --git a/src/broadcast/defs_broadcast.h b/src/broadcast/defs_broadcast.h
new file mode 100644
index 0000000000..95b32395e0
--- /dev/null
+++ b/src/broadcast/defs_broadcast.h
@@ -0,0 +1,31 @@
+#ifndef DEFS_BROADCAST_H
+#define DEFS_BROADCAST_H
+
+// NOTE(rryan): Do not change this from [Shoutcast] unless you also put upgrade
+// logic in src/preferences/upgrade.h.
+#define BROADCAST_PREF_KEY "[Shoutcast]"
+#define BROADCAST_DEFAULT_PORT "8000"
+
+#define BROADCAST_CHANNELS_STEREO 2
+
+#define BROADCAST_SERVER_SHOUTCAST "Shoutcast"
+#define BROADCAST_SERVER_ICECAST1 "Icecast1"
+#define BROADCAST_SERVER_ICECAST2 "Icecast2"
+
+#define BROADCAST_BITRATE_320KBPS 320
+#define BROADCAST_BITRATE_256KBPS 256
+#define BROADCAST_BITRATE_224KBPS 224
+#define BROADCAST_BITRATE_192KBPS 192
+#define BROADCAST_BITRATE_160KBPS 160
+#define BROADCAST_BITRATE_128KBPS 128
+#define BROADCAST_BITRATE_112KBPS 112
+#define BROADCAST_BITRATE_96KBPS 96
+#define BROADCAST_BITRATE_80KBPS 80
+#define BROADCAST_BITRATE_64KBPS 64
+#define BROADCAST_BITRATE_48KBPS 48
+#define BROADCAST_BITRATE_32KBPS 32
+
+#define BROADCAST_FORMAT_MP3 "MP3"
+#define BROADCAST_FORMAT_OV "OggVorbis"
+
+#endif /* DEFS_BROADCAST_H */