Example #1
0
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 );
}
Example #2
0
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 );
}