void CACTController::UpdateToolbarText() { CString strText; switch (m_eStripType) { case MIX_STRIP_TRACK: strText = "Trks"; break; case MIX_STRIP_AUX: strText = "Auxs"; break; case MIX_STRIP_BUS: strText = "Bus"; break; case MIX_STRIP_MAIN: strText = "VMns"; break; case MIX_STRIP_MASTER: strText = "Mstr"; break; default: strText = "Err"; break; } CString strBuf; strBuf.Format(" %u-%u", GetStripNum() + 1, GetStripNum() + NUM_SLIDERS); strText += strBuf; strBuf.Format(", Sel %u", GetSelectedTrack() + 1); strText += strBuf; strBuf.Format(", ACT %s", m_bUseDynamicMappings ? m_strOn : m_strOff); strText += strBuf; strBuf.Format(" %d%d%d", m_iRotaryBank + 1, m_iSliderBank + 1, m_iButtonBank + 1); strText += strBuf; if (m_strToolbarText != strText) { m_strToolbarText = strText; if (m_pProject) m_pProject->OnNewStatus(0); } }
HRESULT CControlSurfaceProbe::GetStripRange( DWORD dwIndex, DWORD* pdwLowStrip, DWORD* pdwHighStrip, SONAR_MIXER_STRIP* pmixerStrip ) { if ( dwIndex != 0 ) return E_INVALIDARG; if ( !pdwLowStrip || !pdwHighStrip || !pmixerStrip ) return E_POINTER; *pdwLowStrip = *pdwHighStrip = GetStripNum(); *pmixerStrip = GetMixerStrip(); return S_OK; }
HRESULT CControlSurfaceProbe::SetStripRange( DWORD dwLowStrip, SONAR_MIXER_STRIP mixerStrip ) { SONAR_MIXER_STRIP mixerStripCur = GetMixerStrip(); DWORD dwCurrentStrip = GetStripNum(); if ( mixerStrip == mixerStripCur && dwLowStrip == dwCurrentStrip ) return S_FALSE; // no change SetStripNum( dwLowStrip ); SetMixerStrip( mixerStrip ); // notify the host m_pSonarParamMapping->OnContextSwitch( m_dwSurfaceID ); return S_OK; }
void CACTController::UpdateBindings() { TRACE("CACTController::UpdateBindings()\n"); int m, n, id; BuildDynControlsList(); id = 0; for (m = 0; m < NUM_BANKS; m++) { if (GetRotariesACTMode(m)) { for (n = 0; n < NUM_KNOBS; n++) BindToACT(&m_SwKnob[m][n], MASK_KNOB(id++)); } else { if (m_eRotariesMode == MCS_ASSIGNMENT_MUTLI_CHANNEL) { DWORD dwNumStrips = GetStripCount(m_eStripType); for (n = 0; n < NUM_KNOBS; n++) { DWORD dwStripNum = GetStripNum() + n; if (dwStripNum < dwNumStrips) BindParamToBinding(&m_SwKnob[m][n], m_eStripType, dwStripNum, m_dwKnobsBinding[m_iRotaryBank]); else m_SwKnob[m][n].ClearBinding(); } } else { for (n = 0; n < NUM_KNOBS; n++) BindNthParam(&m_SwKnob[m][n], m_eStripType, GetSelectedTrack(), n); } } } id = 0; for (m = 0; m < NUM_BANKS; m++) { if (GetSlidersACTMode(m)) { for (n = 0; n < NUM_SLIDERS; n++) BindToACT(&m_SwSlider[m][n], MASK_SLIDER(id++)); } else { DWORD dwNumStrips = GetStripCount(m_eStripType); for (n = 0; n < NUM_SLIDERS; n++) { DWORD dwStripNum = GetStripNum() + n; if (dwStripNum < dwNumStrips) BindParamToBinding(&m_SwSlider[m][n], m_eStripType, dwStripNum, m_dwSlidersBinding[m_iSliderBank]); else m_SwSlider[m][n].ClearBinding(); } } } id = 0; for (m = 0; m < NUM_BANKS; m++) { for (n = 0; n < NUM_VIRTUAL_BUTTONS; n++) { if (GetButtonACTMode(m, (VirtualButton)n)) BindToACT(&m_SwButton[m][n], MASK_BUTTON(id++)); else m_SwButton[m][n].ClearBinding(); } } m_dwUpdateCount++; OnContextSwitch(); }