BeatLoopingControl::BeatLoopingControl(const char* pGroup, double size) : m_dBeatLoopSize(size), m_bActive(false) { // This is the original beatloop control which is now deprecated. Its value // is the state of the beatloop control (1 for enabled, 0 for disabled). m_pLegacy = new ControlPushButton( keyForControl(pGroup, "beatloop_%1", size)); m_pLegacy->setButtonMode(ControlPushButton::TOGGLE); connect(m_pLegacy, SIGNAL(valueChanged(double)), this, SLOT(slotLegacy(double)), Qt::DirectConnection); // A push-button which activates the beatloop. m_pActivate = new ControlPushButton( keyForControl(pGroup, "beatloop_%1_activate", size)); connect(m_pActivate, SIGNAL(valueChanged(double)), this, SLOT(slotActivate(double)), Qt::DirectConnection); // A push-button which toggles the beatloop as active or inactive. m_pToggle = new ControlPushButton( keyForControl(pGroup, "beatloop_%1_toggle", size)); connect(m_pToggle, SIGNAL(valueChanged(double)), this, SLOT(slotToggle(double)), Qt::DirectConnection); // A push-button which activates rolling beatloops m_pActivateRoll = new ControlPushButton( keyForControl(pGroup, "beatlooproll_%1_activate", size)); connect(m_pActivateRoll, SIGNAL(valueChanged(double)), this, SLOT(slotActivateRoll(double)), Qt::DirectConnection); // An indicator control which is 1 if the beatloop is enabled and 0 if not. m_pEnabled = new ControlObject( keyForControl(pGroup, "beatloop_%1_enabled", size)); }
LoopMoveControl::LoopMoveControl(const char* pGroup, double size) : m_dLoopMoveSize(size) { m_pMoveForward = new ControlPushButton( keyForControl(pGroup, "loop_move_%1_forward", size)); connect(m_pMoveForward, SIGNAL(valueChanged(double)), this, SLOT(slotMoveForward(double)), Qt::DirectConnection); m_pMoveBackward = new ControlPushButton( keyForControl(pGroup, "loop_move_%1_backward", size)); connect(m_pMoveBackward, SIGNAL(valueChanged(double)), this, SLOT(slotMoveBackward(double)), Qt::DirectConnection); }
BeatJumpControl::BeatJumpControl(const char* pGroup, double size) : m_dBeatJumpSize(size) { m_pJumpForward = new ControlPushButton( keyForControl(pGroup, "beatjump_%1_forward", size)); connect(m_pJumpForward, SIGNAL(valueChanged(double)), this, SLOT(slotJumpForward(double)), Qt::DirectConnection); m_pJumpBackward = new ControlPushButton( keyForControl(pGroup, "beatjump_%1_backward", size)); connect(m_pJumpBackward, SIGNAL(valueChanged(double)), this, SLOT(slotJumpBackward(double)), Qt::DirectConnection); }
HotcueControl::HotcueControl(const char* pGroup, int i) : m_pGroup(pGroup), m_iHotcueNumber(i), m_pCue(NULL), m_bPreviewing(false), m_iPreviewingPosition(-1) { m_hotcuePosition = new ControlObject(keyForControl(i, "position")); connect(m_hotcuePosition, SIGNAL(valueChanged(double)), this, SLOT(slotHotcuePositionChanged(double)), Qt::DirectConnection); m_hotcuePosition->set(-1); m_hotcueEnabled = new ControlObject(keyForControl(i, "enabled")); m_hotcueEnabled->set(0); m_hotcueSet = new ControlPushButton(keyForControl(i, "set")); connect(m_hotcueSet, SIGNAL(valueChanged(double)), this, SLOT(slotHotcueSet(double)), Qt::DirectConnection); m_hotcueGoto = new ControlPushButton(keyForControl(i, "goto")); connect(m_hotcueGoto, SIGNAL(valueChanged(double)), this, SLOT(slotHotcueGoto(double)), Qt::DirectConnection); m_hotcueGotoAndPlay = new ControlPushButton(keyForControl(i, "gotoandplay")); connect(m_hotcueGotoAndPlay, SIGNAL(valueChanged(double)), this, SLOT(slotHotcueGotoAndPlay(double)), Qt::DirectConnection); m_hotcueGotoAndStop = new ControlPushButton(keyForControl(i, "gotoandstop")); connect(m_hotcueGotoAndStop, SIGNAL(valueChanged(double)), this, SLOT(slotHotcueGotoAndStop(double)), Qt::DirectConnection); m_hotcueActivate = new ControlPushButton(keyForControl(i, "activate")); connect(m_hotcueActivate, SIGNAL(valueChanged(double)), this, SLOT(slotHotcueActivate(double)), Qt::DirectConnection); m_hotcueActivatePreview = new ControlPushButton(keyForControl(i, "activate_preview")); connect(m_hotcueActivatePreview, SIGNAL(valueChanged(double)), this, SLOT(slotHotcueActivatePreview(double)), Qt::DirectConnection); m_hotcueClear = new ControlPushButton(keyForControl(i, "clear")); connect(m_hotcueClear, SIGNAL(valueChanged(double)), this, SLOT(slotHotcueClear(double)), Qt::DirectConnection); }