diff options
author | RJ Ryan <rryan@mixxx.org> | 2016-04-27 20:31:02 -0700 |
---|---|---|
committer | RJ Ryan <rryan@mixxx.org> | 2016-04-27 20:34:07 -0700 |
commit | 8b7322240857685e15c5f21891804110ff057f43 (patch) | |
tree | 4336e5cb045ddb76c0d05b570408c13e563bbddb /src/broadcast | |
parent | ed8a8e06d4103245973f330b05db7e1ae66f86ae (diff) |
Replace "shoutcast" with "broadcast" in most places.
Diffstat (limited to 'src/broadcast')
-rw-r--r-- | src/broadcast/broadcastmanager.cpp | 39 | ||||
-rw-r--r-- | src/broadcast/broadcastmanager.h | 38 | ||||
-rw-r--r-- | src/broadcast/defs_broadcast.h | 31 |
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 */ |