From e113d59df68c295c72e92075c1da199770d6b77b Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Fri, 13 Nov 2009 11:42:23 +0000 Subject: [PATCH] - Implement updating volume position / mute state after receiving a notification svn path=/trunk/; revision=44127 --- reactos/dll/cpl/mmsys/volume.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/reactos/dll/cpl/mmsys/volume.c b/reactos/dll/cpl/mmsys/volume.c index c9f345bddd9..19f518bccea 100644 --- a/reactos/dll/cpl/mmsys/volume.c +++ b/reactos/dll/cpl/mmsys/volume.c @@ -299,8 +299,32 @@ VolumeDlgProc(HWND hwndDlg, pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER); + + switch(uMsg) { + case MM_MIXM_LINE_CHANGE: + { + GetMuteState(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 MM_MIXM_CONTROL_CHANGE: + { + GetVolumeValue(pGlobalData); + 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); + break; + } case WM_INITDIALOG: { pGlobalData = (GLOBAL_DATA*) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA));