return 0;
}
-
/******************************************************************************/
static VOID
{
if (Context->bVertical)
{
- if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_FADER)
+ if (Control[Index].dwControlType == MIXERCONTROL_CONTROLTYPE_VOLUME)
{
DWORD LineOffset, volumePosition, balancePosition;
DWORD volumeStep, balanceStep;
}
else if (Context->bSwitch)
{
- if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_SWITCH)
+ if (Control[Index].dwControlType == MIXERCONTROL_CONTROLTYPE_MUTE)
{
/* set up details */
bDetails.fValue = Context->SliderPos;
{
if (Control[Index].dwControlID == PtrToUlong(Context))
{
- if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_SWITCH)
+ if (Control[Index].dwControlType == MIXERCONTROL_CONTROLTYPE_MUTE)
{
MIXERCONTROLDETAILS_BOOLEAN Details;
UpdateDialogLineSwitchControl(&Preferences, Line, Details.fValue);
}
}
- else if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_FADER)
+ else if (Control[Index].dwControlType == MIXERCONTROL_CONTROLTYPE_VOLUME)
{
/* get volume control details */
if (SndMixerGetVolumeControlDetails(Preferences.MixerWindow->Mixer, Control[Index].dwControlID, Line->cChannels, sizeof(MIXERCONTROLDETAILS_UNSIGNED), (LPVOID)pVolumeDetails) != -1)
/* compute window id of line name static control */
CtrlID = LineOffset * IDC_LINE_NAME;
- /* get line name */
- if (GetDlgItemTextW(hwnd, CtrlID, Context.LineName, MIXER_LONG_NAME_CHARS) != 0)
+ if (Preferences.MixerWindow->Mixer->MixerId == PLAY_MIXER)
+ {
+ /* get line name */
+ if (GetDlgItemTextW(hwnd, CtrlID, Context.LineName, MIXER_LONG_NAME_CHARS) != 0)
+ {
+ /* setup context */
+ Context.SliderPos = SendMessage((HWND)lParam, BM_GETCHECK, 0, 0);
+ Context.bVertical = FALSE;
+ Context.bSwitch = TRUE;
+
+ /* set volume */
+ SndMixerEnumConnections(Preferences.MixerWindow->Mixer, Preferences.SelectedLine, SetVolumeCallback, (LPVOID)&Context);
+ }
+ }
+ else if (Preferences.MixerWindow->Mixer->MixerId == RECORD_MIXER)
{
- /* setup context */
- Context.SliderPos = SendMessage((HWND)lParam, BM_GETCHECK, 0, 0);
- Context.bVertical = FALSE;
- Context.bSwitch = TRUE;
+ UINT i;
- /* set volume */
- SndMixerEnumConnections(Preferences.MixerWindow->Mixer, Preferences.SelectedLine, SetVolumeCallback, (LPVOID)&Context);
+ for (i = 0; i < Preferences.MixerWindow->DialogCount; i++)
+ {
+ SendDlgItemMessageW(hwnd, (i + 1) * IDC_LINE_SWITCH, BM_SETCHECK, (WPARAM)((i + 1) == LineOffset), 0);
+ }
}
}
else if (CtrlID % IDC_LINE_ADVANCED == 0)
{
+ ADVANCED_CONTEXT AdvancedContext;
+
+ /* compute line offset */
+ LineOffset = CtrlID / IDC_LINE_ADVANCED;
+ /* compute window id of line name static control */
+ CtrlID = LineOffset * IDC_LINE_NAME;
+
+ /* get line name */
+ if (GetDlgItemTextW(hwnd, CtrlID, AdvancedContext.LineName, MIXER_LONG_NAME_CHARS) != 0)
+ {
+ AdvancedContext.MixerWindow = Preferences.MixerWindow;
+ AdvancedContext.Mixer = Preferences.MixerWindow->Mixer;
+ AdvancedContext.Line = SndMixerGetLineByName(Preferences.MixerWindow->Mixer,
+ Preferences.SelectedLine,
+ AdvancedContext.LineName);
+ if (AdvancedContext.Line)
+ {
+ DialogBoxParam(hAppInstance,
+ MAKEINTRESOURCE(IDD_ADVANCED),
+ hwnd,
+ AdvancedDlgProc,
+ (LPARAM)&AdvancedContext);
+ }
+ }
}
}
}