https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0dd4b354b47c16fe6d46b…
commit 0dd4b354b47c16fe6d46b1be8f3a426cbef068db
Author: Eric Kohl <eric.kohl(a)reactos.org>
AuthorDate: Sat Feb 16 13:54:46 2019 +0100
Commit: Eric Kohl <eric.kohl(a)reactos.org>
CommitDate: Sat Feb 16 13:55:31 2019 +0100
[SNDVOL32] Enable the balance and volume trackbars only if the line has a volume fader
control.
---
base/applications/sndvol32/dialog.c | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/base/applications/sndvol32/dialog.c b/base/applications/sndvol32/dialog.c
index b8173ab763..9aed047faf 100644
--- a/base/applications/sndvol32/dialog.c
+++ b/base/applications/sndvol32/dialog.c
@@ -175,6 +175,9 @@ AddDialogControl(
{
/* Vertical trackbar: Volume */
+ /* Disable the volume trackbar by default */
+ EnableWindow(hwnd, FALSE);
+
/* set up range */
SendMessage(hwnd, TBM_SETRANGE, (WPARAM)TRUE, (LPARAM)MAKELONG(VOLUME_MIN,
VOLUME_MAX));
@@ -195,6 +198,9 @@ AddDialogControl(
{
/* Horizontal trackbar: Balance */
+ /* Disable the balance trackbar by default */
+ EnableWindow(hwnd, FALSE);
+
/* set up range */
SendMessage(hwnd, TBM_SETRANGE, (WPARAM)TRUE, (LPARAM)MAKELONG(0,
BALANCE_STEPS));
@@ -488,7 +494,7 @@ EnumConnectionsCallback(
/* now go through all controls and update their states */
for (Index = 0; Index < Line->cControls; Index++)
{
- if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK)
== MIXERCONTROL_CT_CLASS_SWITCH)
+ if (Control[Index].dwControlType == MIXERCONTROL_CONTROLTYPE_MUTE)
{
MIXERCONTROLDETAILS_BOOLEAN Details;
@@ -516,7 +522,7 @@ EnumConnectionsCallback(
}
}
}
- 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(Mixer,
Control[Index].dwControlID, Line->cChannels, sizeof(MIXERCONTROLDETAILS_UNSIGNED),
(LPVOID)pVolumeDetails) != -1)
@@ -582,6 +588,9 @@ EnumConnectionsCallback(
/* check state */
LRESULT OldPosition = SendMessageW(hDlgCtrl,
TBM_GETPOS, 0, 0);
+ /* Enable the volume trackbar */
+ EnableWindow(hDlgCtrl, TRUE);
+
if (OldPosition != (VOLUME_MAX - volumePosition))
{
/* update control state */
@@ -589,19 +598,7 @@ EnumConnectionsCallback(
}
}
- if (Line->cChannels == 1)
- {
- /* Disable the balance trackbar for mono channels */
- wID = (PrefContext->Count + 1) *
IDC_LINE_SLIDER_HORZ;
-
- /* get dialog control */
- hDlgCtrl =
GetDlgItem(PrefContext->MixerWindow->hWnd, wID);
- if (hDlgCtrl != NULL)
- {
- EnableWindow(hDlgCtrl, FALSE);
- }
- }
- else if (Line->cChannels == 2)
+ if (Line->cChannels == 2)
{
/* Set the balance trackbar */
wID = (PrefContext->Count + 1) *
IDC_LINE_SLIDER_HORZ;
@@ -614,6 +611,9 @@ EnumConnectionsCallback(
/* check state */
LRESULT OldPosition = SendMessageW(hDlgCtrl,
TBM_GETPOS, 0, 0);
+ /* Enable the balance trackbar */
+ EnableWindow(hDlgCtrl, TRUE);
+
if (OldPosition != balancePosition)
{
/* update control state */