void CTestPage::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) ///////////////////////////////////////////////////////////////////////////// { USHORT wPos = (USHORT)nPos; int nChange = 0, nAbs; int nVolume; int nID = GetWindowLong( pScrollBar->m_hWnd, GWL_ID ); int nCh; switch( nSBCode ) { case SB_LINEUP: nChange = VOLCHG_SMALL; break; case SB_LINEDOWN: nChange = -VOLCHG_SMALL; break; case SB_PAGEUP: nChange = VOLCHG_LARGE; break; case SB_PAGEDOWN: nChange = -VOLCHG_LARGE; break; case SB_THUMBPOSITION: case SB_THUMBTRACK: nAbs = wPos; break; case SB_TOP: nAbs = MAX_VOLUME; break; case SB_BOTTOM: nAbs = MIN_VOLUME; break; case SB_ENDSCROLL: return; } if( nChange ) { nVolume = FaderGetPosition( pScrollBar->m_hWnd ); nVolume += nChange; } else { nVolume = nAbs; } if( nVolume > MAX_VOLUME ) nVolume = MAX_VOLUME; if( nVolume < 0 ) nVolume = 0; //switch( nID ) //{ //case IDC_PLAY1L_VOLUME: nCh = LEFT; break; //case IDC_PLAY1R_VOLUME: nCh = RIGHT; break; //} nCh = LEFT; m_pHalMixer->SetControl( LINE_OUT_1, LINE_PLAY_0 + m_PlayDevice.GetCurSel(), CONTROL_VOLUME, nCh, nVolume ); ((CHalTestDlg *)GetParent())->ShowVolume( nVolume ); FaderSetPosition( pScrollBar->m_hWnd, nVolume ); }
void COutputsPage::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) ///////////////////////////////////////////////////////////////////////////// { USHORT wPos = (USHORT)nPos; int nChange = 0, nAbs; int nVolume; int nID = GetWindowLong( pScrollBar->m_hWnd, GWL_ID ); switch( nSBCode ) { case SB_LINEUP: nChange = VOLCHG_SMALL; break; case SB_LINEDOWN: nChange = -VOLCHG_SMALL; break; case SB_PAGEUP: nChange = VOLCHG_LARGE; break; case SB_PAGEDOWN: nChange = -VOLCHG_LARGE; break; case SB_THUMBPOSITION: case SB_THUMBTRACK: nAbs = wPos; break; case SB_TOP: nAbs = MAX_VOLUME; break; case SB_BOTTOM: nAbs = MIN_VOLUME; break; case SB_ENDSCROLL: return; } if( nChange ) { nVolume = FaderGetPosition( pScrollBar->m_hWnd ); nVolume += nChange; } else { nVolume = nAbs; } if( nVolume > MAX_VOLUME ) nVolume = MAX_VOLUME; if( nVolume < 0 ) nVolume = 0; ((CHalTestDlg *)GetParent())->ShowVolume( nVolume ); FaderSetPosition( pScrollBar->m_hWnd, nVolume ); m_pHalMixer->SetControl( LINE_OUT_1 + (nID - IDC_OUT1_VOLUME), LINE_NO_SOURCE, CONTROL_VOLUME, 0, nVolume ); }