forked from mixxxdj/mixxx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathauxiliary.cpp
37 lines (31 loc) · 1.39 KB
/
auxiliary.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "mixer/auxiliary.h"
#include "control/controlproxy.h"
#include "engine/enginemaster.h"
#include "engine/channels/engineaux.h"
#include "soundio/soundmanager.h"
#include "soundio/soundmanagerutil.h"
Auxiliary::Auxiliary(QObject* pParent, const QString& group, int index,
SoundManager* pSoundManager, EngineMaster* pEngine,
EffectsManager* pEffectsManager)
: BasePlayer(pParent, group) {
ChannelHandleAndGroup channelGroup = pEngine->registerChannelGroup(group);
EngineAux* pAuxiliary = new EngineAux(channelGroup, pEffectsManager);
pEngine->addChannel(pAuxiliary);
AudioInput auxInput = AudioInput(AudioPath::AUXILIARY, 0, 2, index);
pSoundManager->registerInput(auxInput, pAuxiliary);
m_pInputConfigured = make_parented<ControlProxy>(group, "input_configured", this);
m_pAuxMasterEnabled = make_parented<ControlProxy>(group, "master", this);
m_pAuxMasterEnabled->connectValueChanged(this, &Auxiliary::slotAuxMasterEnabled);
}
Auxiliary::~Auxiliary() {
}
void Auxiliary::slotAuxMasterEnabled(double v) {
bool configured = m_pInputConfigured->toBool();
bool auxMasterEnable = v > 0.0;
// Warn the user if they try to enable master on a auxiliary with no
// configured input.
if (!configured && auxMasterEnable) {
m_pAuxMasterEnabled->set(0.0);
emit(noAuxiliaryInputConfigured());
}
}