Bug 3040: add some functionality to mmsys.cpl by Kamil Hornicek (tykef at atlas dot...
authorDaniel Reimer <reimer.daniel@freenet.de>
Fri, 8 Feb 2008 10:08:26 +0000 (10:08 +0000)
committerDaniel Reimer <reimer.daniel@freenet.de>
Fri, 8 Feb 2008 10:08:26 +0000 (10:08 +0000)
I updated all rc files according to the changes in the english one and removed DS_3DLOOK.

svn path=/trunk/; revision=32209

17 files changed:
reactos/dll/cpl/mmsys/lang/bg-BG.rc
reactos/dll/cpl/mmsys/lang/cs-CZ.rc
reactos/dll/cpl/mmsys/lang/de-DE.rc
reactos/dll/cpl/mmsys/lang/el-GR.rc
reactos/dll/cpl/mmsys/lang/en-US.rc
reactos/dll/cpl/mmsys/lang/es-ES.rc
reactos/dll/cpl/mmsys/lang/fr-FR.rc
reactos/dll/cpl/mmsys/lang/id-ID.rc
reactos/dll/cpl/mmsys/lang/it-IT.rc
reactos/dll/cpl/mmsys/lang/nl-NL.rc
reactos/dll/cpl/mmsys/lang/pl-PL.rc
reactos/dll/cpl/mmsys/lang/pt-BR.rc
reactos/dll/cpl/mmsys/lang/ru-RU.rc
reactos/dll/cpl/mmsys/lang/uk-UA.rc
reactos/dll/cpl/mmsys/mmsys.rbuild
reactos/dll/cpl/mmsys/resource.h
reactos/dll/cpl/mmsys/volume.c

index 82c9afe..aa86ae9 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Ñèëà íà óñòðîéñòâîòî", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Ñëàáî",-1,62,66,30,17
     LTEXT "Ñèëíî",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 802212a..c74a7b0 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Device volume", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Low",-1,62,66,30,17
     LTEXT "High",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 37ed287..34cc13e 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Gerätelautstärke", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Niedrig",-1,62,66,30,17
     LTEXT "Hoch",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Schema speichern unter"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 39bcded..d5a1bb3 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Device volume", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Low",-1,62,66,30,17
     LTEXT "High",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 47b514c..cb96622 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Device volume", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Low",-1,62,66,30,17
     LTEXT "High",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index a095bbd..dfb99c2 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Volumen del dispositivo", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Bajo",-1,62,66,30,17
     LTEXT "Alto",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 2fcfc62..9d937ef 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Volume du périphérique", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Faible",-1,62,66,30,17
     LTEXT "Élevé",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 344d997..d115b52 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Device volume", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Low",-1,62,66,30,17
     LTEXT "High",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 59dc648..abe3c75 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Volume del dispositivo", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Basso",-1,62,66,30,17
     LTEXT "Alto",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 24dae43..24672eb 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Device volume", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Low",-1,62,66,30,17
     LTEXT "High",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 2a306fb..ac920b7 100644 (file)
@@ -18,7 +18,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "G³o\9cno\9cæ urz¹dzenia", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Ma³a",-1,62,66,30,17
     LTEXT "Du¿a",-1,195,66,30,17
@@ -107,7 +107,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -172,7 +172,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -186,7 +186,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -228,7 +228,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index eae1730..c3534cb 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Device volume", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "Low",-1,62,66,30,17
     LTEXT "High",-1,195,66,30,17
@@ -97,7 +97,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -162,7 +162,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -176,7 +176,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -218,7 +218,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 5d7b3a0..dd69c55 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Ãðîìêîñòü ìèêøåðà", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "íèæå",-1,62,66,30,17
     LTEXT "âûøå",-1,195,66,30,17
@@ -96,7 +96,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Save Scheme As"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -161,7 +161,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -175,7 +175,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Multichannel"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -217,7 +217,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
index 1145037..bd1a2a4 100644 (file)
@@ -16,7 +16,7 @@ BEGIN
     ICON IDI_CPLICON, IDI_CPLICON, 8,5,32,32
     LTEXT "",IDC_DEVICE_NAME,40,10,194,36
     GROUPBOX "Ãó÷í³ñòü ì³êøåðà", -1, 7,30,230,100
-    ICON IDI_CPLICON, IDI_CPLICON, 17,45,32,32
+    CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE,17,45,32,32
     CONTROL "",IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14
     LTEXT "íèæ÷å",-1,62,66,30,17
     LTEXT "âèùå",-1,195,66,30,17
@@ -105,7 +105,7 @@ BEGIN
 END
 
 IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Çáåðåæåííÿ ñõåìè"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -170,7 +170,7 @@ BEGIN
 END
 
 IDD_SETUP1 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Óñòàíîâêà"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -184,7 +184,7 @@ BEGIN
 END
 
 IDD_MULTICHANNEL DIALOG 0, 0, 227, 218
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Áàãàòîêàíàëüíèé"
 FONT 8, "MS Shell Dlg"
 BEGIN
@@ -226,7 +226,7 @@ BEGIN
 END
 
 IDD_SETUP2 DIALOG 0, 0, 227, 206
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
 CAPTION "Óñòàíîâêà"
 FONT 8, "MS Shell Dlg"
 BEGIN
index d8e87ed..c0f5db7 100644 (file)
@@ -13,6 +13,7 @@
        <library>gdi32</library>
        <library>winmm</library>
        <library>advapi32</library>
+       <library>shell32</library>
        <file>mmsys.c</file>
        <file>sounds.c</file>
        <file>volume.c</file>
index ea7ea2b..13845f3 100644 (file)
@@ -63,6 +63,7 @@
 
 #define IDB_SPEAKIMG               4624
 #define IDC_SPEAKIMG               4625
+#define IDC_MUTE_ICON              4626
 
 /* Strings */
 #define IDS_CPLNAME                1000
index 3fcc946..e0db267 100644 (file)
@@ -17,6 +17,8 @@
 #include "mmsys.h"
 #include "resource.h"
 
+#define VOLUME_DIVIDER 0xFFF
+
 typedef struct _IMGINFO
 {
     HBITMAP hBitmap;
@@ -25,6 +27,23 @@ typedef struct _IMGINFO
 } IMGINFO, *PIMGINFO;
 
 
+typedef struct _GLOBAL_DATA
+{
+    HMIXER hMixer;
+    HICON hIconMuted;
+    HICON hIconUnMuted;
+
+    LONG muteVal;
+    DWORD muteControlID;
+
+    DWORD volumeControlID;
+    DWORD volumeMinimum;
+    DWORD volumeMaximum;
+    DWORD volumeValue;
+
+} GLOBAL_DATA, *PGLOBAL_DATA;
+
+
 static VOID
 InitImageInfo(PIMGINFO ImgInfo)
 {
@@ -48,17 +67,165 @@ InitImageInfo(PIMGINFO ImgInfo)
     }
 }
 
-void
-InitVolumeControls(HWND hwndDlg)
+VOID
+GetMuteControl(PGLOBAL_DATA pGlobalData)
+{
+    MIXERLINE mxln;
+    MIXERCONTROL mxc;
+    MIXERLINECONTROLS mxlctrl;
+
+    if (pGlobalData->hMixer == NULL)
+        return;
+
+    mxln.cbStruct = sizeof(MIXERLINE);
+    mxln.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
+
+    if (mixerGetLineInfo((HMIXEROBJ)pGlobalData->hMixer, &mxln, MIXER_OBJECTF_HMIXER | MIXER_GETLINEINFOF_COMPONENTTYPE)
+        != MMSYSERR_NOERROR) return;
+
+    mxlctrl.cbStruct = sizeof(MIXERLINECONTROLS);
+    mxlctrl.dwLineID = mxln.dwLineID;
+    mxlctrl.dwControlType = MIXERCONTROL_CONTROLTYPE_MUTE;
+    mxlctrl.cControls = 1;
+    mxlctrl.cbmxctrl = sizeof(MIXERCONTROL);
+    mxlctrl.pamxctrl = &mxc;
+
+    if (mixerGetLineControls((HMIXEROBJ)pGlobalData->hMixer, &mxlctrl, MIXER_OBJECTF_HMIXER | MIXER_GETLINECONTROLSF_ONEBYTYPE)
+        != MMSYSERR_NOERROR) return;
+
+    pGlobalData->muteControlID = mxc.dwControlID;
+}
+
+VOID
+GetMuteState(PGLOBAL_DATA pGlobalData)
+{
+    MIXERCONTROLDETAILS_BOOLEAN mxcdMute;
+    MIXERCONTROLDETAILS mxcd;
+
+    if (pGlobalData->hMixer == NULL)
+        return;
+
+    mxcd.cbStruct = sizeof(MIXERCONTROLDETAILS);
+    mxcd.dwControlID = pGlobalData->muteControlID;
+    mxcd.cChannels = 1;
+    mxcd.cMultipleItems = 0;
+    mxcd.cbDetails = sizeof(MIXERCONTROLDETAILS_BOOLEAN);
+    mxcd.paDetails = &mxcdMute;
+
+    if (mixerGetControlDetails((HMIXEROBJ)pGlobalData->hMixer, &mxcd, MIXER_OBJECTF_HMIXER | MIXER_GETCONTROLDETAILSF_VALUE)
+        != MMSYSERR_NOERROR)
+        return;
+
+    pGlobalData->muteVal = mxcdMute.fValue;
+}
+
+VOID
+SwitchMuteState(PGLOBAL_DATA pGlobalData)
+{
+    MIXERCONTROLDETAILS_BOOLEAN mxcdMute;
+    MIXERCONTROLDETAILS mxcd;
+
+    mxcd.cbStruct = sizeof(MIXERCONTROLDETAILS);
+    mxcd.dwControlID = pGlobalData->muteControlID;
+    mxcd.cChannels = 1;
+    mxcd.cMultipleItems = 0;
+    mxcd.cbDetails = sizeof(MIXERCONTROLDETAILS_BOOLEAN);
+    mxcd.paDetails = &mxcdMute;
+
+    mxcdMute.fValue = !pGlobalData->muteVal;
+    if (mixerSetControlDetails((HMIXEROBJ)pGlobalData->hMixer, &mxcd, MIXER_OBJECTF_HMIXER | MIXER_SETCONTROLDETAILSF_VALUE)
+        != MMSYSERR_NOERROR)
+        return;
+
+    pGlobalData->muteVal = mxcdMute.fValue;
+}
+
+VOID
+GetVolumeControl(PGLOBAL_DATA pGlobalData)
 {
-    UINT NumWavOut;
-    WAVEOUTCAPS woc;
-    MMRESULT errcode;
-    DWORD dwDeviceID;
-    DWORD dwStatus;
-
-    NumWavOut = waveOutGetNumDevs();
-    if (!NumWavOut)
+    MIXERLINE mxln;
+    MIXERCONTROL mxc;
+    MIXERLINECONTROLS mxlc;
+
+    if (pGlobalData->hMixer == NULL)
+        return;
+
+    mxln.cbStruct = sizeof(MIXERLINE);
+    mxln.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
+    if (mixerGetLineInfo((HMIXEROBJ)pGlobalData->hMixer, &mxln, MIXER_OBJECTF_HMIXER | MIXER_GETLINEINFOF_COMPONENTTYPE)
+        != MMSYSERR_NOERROR)
+        return;
+
+    mxlc.cbStruct = sizeof(MIXERLINECONTROLS);
+    mxlc.dwLineID = mxln.dwLineID;
+    mxlc.dwControlType = MIXERCONTROL_CONTROLTYPE_VOLUME;
+    mxlc.cControls = 1;
+    mxlc.cbmxctrl = sizeof(MIXERCONTROL);
+    mxlc.pamxctrl = &mxc;
+    if (mixerGetLineControls((HMIXEROBJ)pGlobalData->hMixer, &mxlc, MIXER_OBJECTF_HMIXER | MIXER_GETLINECONTROLSF_ONEBYTYPE)
+        != MMSYSERR_NOERROR)
+        return;
+
+    pGlobalData->volumeMinimum = mxc.Bounds.dwMinimum;
+    pGlobalData->volumeMaximum = mxc.Bounds.dwMaximum;
+    pGlobalData->volumeControlID = mxc.dwControlID;
+}
+
+VOID
+GetVolumeValue(PGLOBAL_DATA pGlobalData)
+{
+    MIXERCONTROLDETAILS_UNSIGNED mxcdVolume;
+    MIXERCONTROLDETAILS mxcd;
+
+    if (pGlobalData->hMixer == NULL)
+        return;
+
+    mxcd.cbStruct = sizeof(MIXERCONTROLDETAILS);
+    mxcd.dwControlID = pGlobalData->volumeControlID;
+    mxcd.cChannels = 1;
+    mxcd.cMultipleItems = 0;
+    mxcd.cbDetails = sizeof(MIXERCONTROLDETAILS_UNSIGNED);
+    mxcd.paDetails = &mxcdVolume;
+
+    if (mixerGetControlDetails((HMIXEROBJ)pGlobalData->hMixer, &mxcd, MIXER_OBJECTF_HMIXER | MIXER_GETCONTROLDETAILSF_VALUE)
+        != MMSYSERR_NOERROR)
+        return;
+
+    pGlobalData->volumeValue = mxcdVolume.dwValue;
+}
+
+VOID
+SetVolumeValue(PGLOBAL_DATA pGlobalData){
+    MIXERCONTROLDETAILS_UNSIGNED mxcdVolume;
+    MIXERCONTROLDETAILS mxcd;
+
+    if (pGlobalData->hMixer == NULL)
+        return;
+
+    mxcdVolume.dwValue = pGlobalData->volumeValue;
+    mxcd.cbStruct = sizeof(MIXERCONTROLDETAILS);
+    mxcd.dwControlID = pGlobalData->volumeControlID;
+    mxcd.cChannels = 1;
+    mxcd.cMultipleItems = 0;
+    mxcd.cbDetails = sizeof(MIXERCONTROLDETAILS_UNSIGNED);
+    mxcd.paDetails = &mxcdVolume;
+
+    if (mixerSetControlDetails((HMIXEROBJ)pGlobalData->hMixer, &mxcd, MIXER_OBJECTF_HMIXER | MIXER_SETCONTROLDETAILSF_VALUE)
+        != MMSYSERR_NOERROR)
+        return;
+
+    pGlobalData->volumeValue = mxcdVolume.dwValue;
+}
+
+
+VOID
+InitVolumeControls(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
+{
+    UINT NumMixers;
+    MIXERCAPS mxc;
+
+    NumMixers = mixerGetNumDevs();
+    if (!NumMixers)
     {
         EnableWindow(GetDlgItem(hwndDlg, IDC_VOLUME_TRACKBAR), FALSE);
         EnableWindow(GetDlgItem(hwndDlg, IDC_MUTE_CHECKBOX),   FALSE);
@@ -70,56 +237,82 @@ InitVolumeControls(HWND hwndDlg)
         return;
     }
 
-    errcode = waveOutMessage((HWAVEOUT)WAVE_MAPPER, DRVM_MAPPER_PREFERRED_GET, (DWORD_PTR)&dwDeviceID, (DWORD_PTR)&dwStatus);
-    if (errcode != MMSYSERR_NOERROR)
+    if (mixerOpen(&pGlobalData->hMixer, 0, (DWORD)hwndDlg, 0, MIXER_OBJECTF_MIXER | CALLBACK_WINDOW) != MMSYSERR_NOERROR)
     {
-        MessageBox(hwndDlg, _T("Failed to enumerate default device"), NULL, MB_OK);
+        MessageBox(hwndDlg, _T("Cannot open mixer"), NULL, MB_OK);
         return;
     }
 
-    if (waveOutGetDevCaps(dwDeviceID, &woc, sizeof(WAVEOUTCAPS)) != MMSYSERR_NOERROR)
+    ZeroMemory(&mxc, sizeof(MIXERCAPS));
+    if (mixerGetDevCaps((UINT)pGlobalData->hMixer, &mxc, sizeof(MIXERCAPS)) != MMSYSERR_NOERROR)
     {
-        MessageBox(hwndDlg, _T("waveOutGetDevCaps failed"), NULL, MB_OK);
+        MessageBox(hwndDlg, _T("mixerGetDevCaps failed"), NULL, MB_OK);
         return;
     }
 
-    SendDlgItemMessage(hwndDlg, IDC_DEVICE_NAME, WM_SETTEXT, (WPARAM)0, (LPARAM)woc.szPname);
-
-    if (!(woc.dwSupport & WAVECAPS_VOLUME))
+    GetMuteControl(pGlobalData);
+    GetMuteState(pGlobalData);
+    if (pGlobalData->muteVal)
     {
-        /// the device does not support volume changes
-        /// disable volume control
-        EnableWindow(GetDlgItem(hwndDlg, IDC_VOLUME_TRACKBAR), FALSE);
+        SendDlgItemMessage(hwndDlg, IDC_MUTE_CHECKBOX, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
+        SendDlgItemMessage(hwndDlg, IDC_MUTE_ICON, STM_SETIMAGE, IMAGE_ICON, (LPARAM)pGlobalData->hIconMuted);
     }
     else
     {
-        SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETRANGE, (WPARAM)TRUE, (LPARAM)MAKELONG(0, 10));
-        SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETPAGESIZE, (WPARAM)FALSE, (LPARAM)1);
-        SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETSEL, (WPARAM)FALSE, (LPARAM)MAKELONG(0, 10));
-        SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETPOS, (WPARAM)TRUE, (LPARAM)4);
+        SendDlgItemMessage(hwndDlg, IDC_MUTE_CHECKBOX, BM_SETCHECK, (WPARAM)BST_UNCHECKED, (LPARAM)0);
+        SendDlgItemMessage(hwndDlg, IDC_MUTE_ICON, STM_SETIMAGE, IMAGE_ICON, (LPARAM)pGlobalData->hIconUnMuted);
     }
+
+    GetVolumeControl(pGlobalData);
+    GetVolumeValue(pGlobalData);
+
+    SendDlgItemMessage(hwndDlg, IDC_DEVICE_NAME, WM_SETTEXT, 0, (LPARAM)mxc.szPname);
+    SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETRANGE, (WPARAM)TRUE,
+        (LPARAM)MAKELONG(pGlobalData->volumeMinimum, pGlobalData->volumeMaximum/VOLUME_DIVIDER));
+    SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETPAGESIZE, (WPARAM)FALSE, (LPARAM)1);
+    SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETSEL, (WPARAM)FALSE,
+        (LPARAM)MAKELONG(pGlobalData->volumeMinimum, pGlobalData->volumeValue/VOLUME_DIVIDER));
+    SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETPOS, (WPARAM)TRUE, (LPARAM)pGlobalData->volumeValue/VOLUME_DIVIDER);
+}
+
+VOID
+LaunchSoundControl(HWND hwndDlg)
+{
+    if ((INT)ShellExecuteW(NULL, L"open", L"sndvol32.exe", NULL, NULL, SW_SHOWNORMAL) > 32)
+        return;
+    MessageBox(hwndDlg, _T("Cannot run sndvol32.exe"), NULL, MB_OK);
 }
 
 /* Volume property page dialog callback */
 //static INT_PTR CALLBACK
 INT_PTR CALLBACK
 VolumeDlgProc(HWND hwndDlg,
-            UINT uMsg,
-            WPARAM wParam,
-            LPARAM lParam)
+              UINT uMsg,
+              WPARAM wParam,
+              LPARAM lParam)
 {
     static IMGINFO ImgInfo;
     UNREFERENCED_PARAMETER(lParam);
     UNREFERENCED_PARAMETER(wParam);
+    PGLOBAL_DATA pGlobalData;
+
+    pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
 
     switch(uMsg)
     {
         case WM_INITDIALOG:
         {
+            pGlobalData = (GLOBAL_DATA*) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA));
+            SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData);
+            
+            pGlobalData->hIconUnMuted = LoadImage(hApplet, MAKEINTRESOURCE(IDI_CPLICON), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR);
+            pGlobalData->hIconMuted = LoadImage(hApplet, MAKEINTRESOURCE(IDI_MUTED_ICON), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR);
+            
             InitImageInfo(&ImgInfo);
-            InitVolumeControls(hwndDlg);
+            InitVolumeControls(hwndDlg, pGlobalData);
             break;
         }
+
         case WM_DRAWITEM:
         {
             LPDRAWITEMSTRUCT lpDrawItem;
@@ -148,8 +341,52 @@ VolumeDlgProc(HWND hwndDlg,
                     DeleteDC(hdcMem);
                 }
             }
-            return TRUE;
+            break;
         }
+
+        case WM_COMMAND:
+        {
+            switch (LOWORD(wParam))
+            {
+                case IDC_MUTE_CHECKBOX:
+                    SwitchMuteState(pGlobalData);
+                    if (pGlobalData->muteVal)
+                        {
+                            SendDlgItemMessage(hwndDlg, IDC_MUTE_CHECKBOX, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
+                            SendDlgItemMessage(hwndDlg, IDC_MUTE_ICON, STM_SETIMAGE, IMAGE_ICON, (LPARAM)pGlobalData->hIconMuted);
+                        }
+                        else
+                        {
+                            SendDlgItemMessage(hwndDlg, IDC_MUTE_CHECKBOX, BM_SETCHECK, (WPARAM)BST_UNCHECKED, (LPARAM)0);
+                            SendDlgItemMessage(hwndDlg, IDC_MUTE_ICON, STM_SETIMAGE, IMAGE_ICON, (LPARAM)pGlobalData->hIconUnMuted);
+                        }
+                    break;
+                case IDC_ADVANCED_BTN:
+                    LaunchSoundControl(hwndDlg);
+                    break;
+            }
+            break;
+        }
+
+        case WM_HSCROLL:
+        {
+            HWND hVolumeTrackbar = GetDlgItem(hwndDlg, IDC_VOLUME_TRACKBAR);
+            if (hVolumeTrackbar == (HWND)lParam)
+            {
+                pGlobalData->volumeValue = (DWORD)SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_GETPOS, 0, 0)*VOLUME_DIVIDER;
+                SetVolumeValue(pGlobalData);
+                SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETSEL, (WPARAM)TRUE,
+                    (LPARAM)MAKELONG(pGlobalData->volumeMinimum, pGlobalData->volumeValue/VOLUME_DIVIDER));
+            }
+            break;
+        }
+
+        case WM_DESTROY:
+            mixerClose(pGlobalData->hMixer);
+            DestroyIcon(pGlobalData->hIconMuted);
+            DestroyIcon(pGlobalData->hIconUnMuted);
+            HeapFree(GetProcessHeap(), 0, pGlobalData);
+            break;
     }
 
     return FALSE;