diff --git a/reactos/dll/cpl/mmsys/lang/bg-BG.rc b/reactos/dll/cpl/mmsys/lang/bg-BG.rc index 82c9afedd6a..aa86ae91946 100644 --- a/reactos/dll/cpl/mmsys/lang/bg-BG.rc +++ b/reactos/dll/cpl/mmsys/lang/bg-BG.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/cs-CZ.rc b/reactos/dll/cpl/mmsys/lang/cs-CZ.rc index 802212a2f97..c74a7b0648e 100644 --- a/reactos/dll/cpl/mmsys/lang/cs-CZ.rc +++ b/reactos/dll/cpl/mmsys/lang/cs-CZ.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/de-DE.rc b/reactos/dll/cpl/mmsys/lang/de-DE.rc index 37ed2873e4e..34cc13e8412 100644 --- a/reactos/dll/cpl/mmsys/lang/de-DE.rc +++ b/reactos/dll/cpl/mmsys/lang/de-DE.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/el-GR.rc b/reactos/dll/cpl/mmsys/lang/el-GR.rc index 39bcded5472..d5a1bb3a2fb 100644 --- a/reactos/dll/cpl/mmsys/lang/el-GR.rc +++ b/reactos/dll/cpl/mmsys/lang/el-GR.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/en-US.rc b/reactos/dll/cpl/mmsys/lang/en-US.rc index 47b514c38d0..cb96622dfb5 100644 --- a/reactos/dll/cpl/mmsys/lang/en-US.rc +++ b/reactos/dll/cpl/mmsys/lang/en-US.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/es-ES.rc b/reactos/dll/cpl/mmsys/lang/es-ES.rc index a095bbd8842..dfb99c21be3 100644 --- a/reactos/dll/cpl/mmsys/lang/es-ES.rc +++ b/reactos/dll/cpl/mmsys/lang/es-ES.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/fr-FR.rc b/reactos/dll/cpl/mmsys/lang/fr-FR.rc index 2fcfc626016..9d937eff6a6 100644 --- a/reactos/dll/cpl/mmsys/lang/fr-FR.rc +++ b/reactos/dll/cpl/mmsys/lang/fr-FR.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/id-ID.rc b/reactos/dll/cpl/mmsys/lang/id-ID.rc index 344d9978135..d115b52b5a0 100644 --- a/reactos/dll/cpl/mmsys/lang/id-ID.rc +++ b/reactos/dll/cpl/mmsys/lang/id-ID.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/it-IT.rc b/reactos/dll/cpl/mmsys/lang/it-IT.rc index 59dc64833de..abe3c7564f5 100644 --- a/reactos/dll/cpl/mmsys/lang/it-IT.rc +++ b/reactos/dll/cpl/mmsys/lang/it-IT.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/nl-NL.rc b/reactos/dll/cpl/mmsys/lang/nl-NL.rc index 24dae43e812..24672eb6c48 100644 --- a/reactos/dll/cpl/mmsys/lang/nl-NL.rc +++ b/reactos/dll/cpl/mmsys/lang/nl-NL.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/pl-PL.rc b/reactos/dll/cpl/mmsys/lang/pl-PL.rc index 2a306fb9c2f..ac920b77be8 100644 --- a/reactos/dll/cpl/mmsys/lang/pl-PL.rc +++ b/reactos/dll/cpl/mmsys/lang/pl-PL.rc @@ -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œnoœæ 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 diff --git a/reactos/dll/cpl/mmsys/lang/pt-BR.rc b/reactos/dll/cpl/mmsys/lang/pt-BR.rc index eae1730cb61..c3534cb169d 100644 --- a/reactos/dll/cpl/mmsys/lang/pt-BR.rc +++ b/reactos/dll/cpl/mmsys/lang/pt-BR.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/ru-RU.rc b/reactos/dll/cpl/mmsys/lang/ru-RU.rc index 5d7b3a0637a..dd69c556e44 100644 --- a/reactos/dll/cpl/mmsys/lang/ru-RU.rc +++ b/reactos/dll/cpl/mmsys/lang/ru-RU.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/lang/uk-UA.rc b/reactos/dll/cpl/mmsys/lang/uk-UA.rc index 11450379c5f..bd1a2a437c3 100644 --- a/reactos/dll/cpl/mmsys/lang/uk-UA.rc +++ b/reactos/dll/cpl/mmsys/lang/uk-UA.rc @@ -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 diff --git a/reactos/dll/cpl/mmsys/mmsys.rbuild b/reactos/dll/cpl/mmsys/mmsys.rbuild index d8e87ed785a..c0f5db7745e 100644 --- a/reactos/dll/cpl/mmsys/mmsys.rbuild +++ b/reactos/dll/cpl/mmsys/mmsys.rbuild @@ -13,6 +13,7 @@ gdi32 winmm advapi32 + shell32 mmsys.c sounds.c volume.c diff --git a/reactos/dll/cpl/mmsys/resource.h b/reactos/dll/cpl/mmsys/resource.h index ea7ea2b6e0c..13845f3e214 100644 --- a/reactos/dll/cpl/mmsys/resource.h +++ b/reactos/dll/cpl/mmsys/resource.h @@ -63,6 +63,7 @@ #define IDB_SPEAKIMG 4624 #define IDC_SPEAKIMG 4625 +#define IDC_MUTE_ICON 4626 /* Strings */ #define IDS_CPLNAME 1000 diff --git a/reactos/dll/cpl/mmsys/volume.c b/reactos/dll/cpl/mmsys/volume.c index 3fcc946cf2e..e0db2673c3e 100644 --- a/reactos/dll/cpl/mmsys/volume.c +++ b/reactos/dll/cpl/mmsys/volume.c @@ -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) { - UINT NumWavOut; - WAVEOUTCAPS woc; - MMRESULT errcode; - DWORD dwDeviceID; - DWORD dwStatus; + MIXERLINE mxln; + MIXERCONTROL mxc; + MIXERLINECONTROLS mxlctrl; - NumWavOut = waveOutGetNumDevs(); - if (!NumWavOut) + 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) +{ + 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;