mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
[SNDVOL32] Move the advanced controls dialog to a separate file and update its title on creation.
This commit is contained in:
parent
6accaef3c7
commit
03c3dd5ab0
34 changed files with 300 additions and 58 deletions
|
@ -1,5 +1,6 @@
|
|||
|
||||
list(APPEND SOURCE
|
||||
advanced.c
|
||||
dialog.c
|
||||
misc.c
|
||||
mixer.c
|
||||
|
|
100
base/applications/sndvol32/advanced.c
Normal file
100
base/applications/sndvol32/advanced.c
Normal file
|
@ -0,0 +1,100 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Sound Volume Control
|
||||
* FILE: base/applications/sndvol32/advanced.c
|
||||
* PROGRAMMERS: Eric Kohl <eric.kohl@reactos.org>
|
||||
*/
|
||||
|
||||
#include "sndvol32.h"
|
||||
|
||||
static
|
||||
VOID
|
||||
OnInitDialog(
|
||||
HWND hwndDlg,
|
||||
PADVANCED_CONTEXT Context)
|
||||
{
|
||||
WCHAR szRawTitle[256], szCookedTitle[256];
|
||||
LPMIXERCONTROL Control = NULL;
|
||||
UINT ControlCount = 0, Index, i;
|
||||
|
||||
/* Set the dialog title */
|
||||
LoadStringW(hAppInstance, IDS_ADVANCED_CONTROLS, szRawTitle, ARRAYSIZE(szRawTitle));
|
||||
// swprintf(szCookedTitle, szRawTitle, Context->LineName);
|
||||
StringCchPrintfW(szCookedTitle, ARRAYSIZE(szCookedTitle), szRawTitle, Context->LineName);
|
||||
SetWindowTextW(hwndDlg, szCookedTitle);
|
||||
|
||||
/* Disable the tone controls */
|
||||
for (i = IDC_ADV_BASS_LOW; i<= IDC_ADV_TREBLE_SLIDER; i++)
|
||||
EnableWindow(GetDlgItem(hwndDlg, i), FALSE);
|
||||
|
||||
/* Hide the other controls */
|
||||
for (i = IDC_ADV_OTHER_CONTROLS; i<= IDC_ADV_OTHER_CHECK2; i++)
|
||||
ShowWindow(GetDlgItem(hwndDlg, i), SW_HIDE);
|
||||
|
||||
if (SndMixerQueryControls(Context->Mixer, &ControlCount, Context->Line, &Control))
|
||||
{
|
||||
for (Index = 0; Index < ControlCount; Index++)
|
||||
{
|
||||
if (Control[Index].dwControlType == MIXERCONTROL_CONTROLTYPE_BASS)
|
||||
{
|
||||
for (i = IDC_ADV_BASS_LOW; i<= IDC_ADV_BASS_SLIDER; i++)
|
||||
EnableWindow(GetDlgItem(hwndDlg, i), TRUE);
|
||||
|
||||
}
|
||||
else if (Control[Index].dwControlType == MIXERCONTROL_CONTROLTYPE_TREBLE)
|
||||
{
|
||||
for (i = IDC_ADV_TREBLE_LOW; i<= IDC_ADV_TREBLE_SLIDER; i++)
|
||||
EnableWindow(GetDlgItem(hwndDlg, i), TRUE);
|
||||
|
||||
}
|
||||
else if (Control[Index].dwControlType != MIXERCONTROL_CONTROLTYPE_VOLUME &&
|
||||
Control[Index].dwControlType != MIXERCONTROL_CONTROLTYPE_MUTE)
|
||||
{
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_ADV_OTHER_CONTROLS), SW_SHOWNORMAL);
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_ADV_OTHER_TEXT), SW_SHOWNORMAL);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* free controls */
|
||||
HeapFree(GetProcessHeap(), 0, Control);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INT_PTR
|
||||
CALLBACK
|
||||
AdvancedDlgProc(
|
||||
HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PADVANCED_CONTEXT Context;
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)lParam);
|
||||
Context = (PADVANCED_CONTEXT)((LONG_PTR)lParam);
|
||||
OnInitDialog(hwndDlg, Context);
|
||||
return TRUE;
|
||||
|
||||
case WM_COMMAND:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDOK:
|
||||
EndDialog(hwndDlg, IDOK);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_CLOSE:
|
||||
EndDialog(hwndDlg, IDCANCEL);
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* EOF */
|
|
@ -25,6 +25,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Сила на звука"
|
||||
IDS_NOMIXERDEVICES "Не са открити работещи смесителни устройства! Приложението ще се затвори."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -27,6 +27,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Ovládání hlasitosti"
|
||||
IDS_NOMIXERDEVICES "Nejsou dostupná žádná směšovací zařízení! Aplikace se nyní ukončí."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -21,6 +21,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Lautstärke-Einstellungen"
|
||||
IDS_NOMIXERDEVICES "Es sind keine aktiven Mixer vorhanden! Die Anwendung wird jetzt beendet."
|
||||
IDS_SELECT "&Auswählen"
|
||||
IDS_ADVANCED_CONTROLS "Erweiterte Einstellungen für %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -21,6 +21,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Έλεγχος έντασης"
|
||||
IDS_NOMIXERDEVICES "There are no active mixer devices available! The application will now exit."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -21,6 +21,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Volume Control"
|
||||
IDS_NOMIXERDEVICES "There are no active mixer devices available! The application will now exit."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -24,6 +24,10 @@ BEGIN
|
|||
IDS_SNDVOL32 "Control de volumen"
|
||||
IDS_NOMIXERDEVICES "¡No hay dispositivos mezcladores activos en este momento! \n\
|
||||
La aplicación se cerrará ahora."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -21,6 +21,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Contrôle du volume"
|
||||
IDS_NOMIXERDEVICES "Il n'y a pas de périphérique de mixage disponible ! L'application va se terminer."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -21,6 +21,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "בקרת עוצמה"
|
||||
IDS_NOMIXERDEVICES "אין התקני ערבול פעילים זמינים! היישום יצא עכשיו"
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Hangerõ szabályozó"
|
||||
IDS_NOMIXERDEVICES "Nincsenek elérhetõ keverõ eszközök. A program kilép."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -21,6 +21,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Kontrol Volume"
|
||||
IDS_NOMIXERDEVICES "Tidak ada device mixer yang aktif yang tersedia! Aplikasi akan keluar sekarang."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -21,6 +21,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Controllo Volume"
|
||||
IDS_NOMIXERDEVICES "Non ci sono dispositivi mixer disponibili! Il programma si chiuderà."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -21,6 +21,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "ボリューム コントロール"
|
||||
IDS_NOMIXERDEVICES "アクティブなミキサーが利用できません ! アプリケーションを終了します。"
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "볼륨 컨트롤"
|
||||
IDS_NOMIXERDEVICES "사용 가능한 믹서 장치가 없습니다! 이 프로그램은 종료됩니다."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Garso valdiklis"
|
||||
IDS_NOMIXERDEVICES "Šiuo metu nėra aktyvių garso maišymo įrenginių! Programa darbą baigė."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -21,6 +21,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Volume Control"
|
||||
IDS_NOMIXERDEVICES "Er zijn geen actieve mixerapparaten beschikbaar! Deze toepassing wordt nu afgesloten."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -21,6 +21,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Volumkontroll"
|
||||
IDS_NOMIXERDEVICES "Det er ingen aktive mikser enheter tilgjengelig! Programmet vil nå avsluttes."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -29,6 +29,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Regulacja głośności"
|
||||
IDS_NOMIXERDEVICES "Nie jest dostępne żadne aktywne urządzenie miksujące! Program zostanie zamknięty."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Controle de Volume"
|
||||
IDS_NOMIXERDEVICES "Não há dispositivos de mixagem disponíveis! O aplicativo irá sair agora."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Reglaj de volum"
|
||||
IDS_NOMIXERDEVICES "Nu există dispozitive active de mixaj! Aplicația va fi închisă."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Управление громкостью"
|
||||
IDS_NOMIXERDEVICES "Нет доступных микшерных устройств! Приложение будет завершено."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Ovládanie hlasitosti"
|
||||
IDS_NOMIXERDEVICES "Nie sú dostupné žiadne zariadenie zmiešavača! Program sa teraz ukončí."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -25,6 +25,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Kontroll Volumi"
|
||||
IDS_NOMIXERDEVICES "Nuk ka pajisje aktive mikseri ne dispozicion! Programi tani do te dale."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Volymkontroll"
|
||||
IDS_NOMIXERDEVICES "Det finns inga ljudmixningsenheter tillgängliga! Programmet kommer nu att avslutas."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -29,6 +29,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "แผงควบคุมระบบเสียง"
|
||||
IDS_NOMIXERDEVICES "ไม่พบอุปกรณ์ผสมเสียงใดๆเหลืออยู่เลย! โปรแกรมนี้จะถูกปิดทันที"
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Ses Düzeyi Denetimi"
|
||||
IDS_NOMIXERDEVICES "Burada etkin karıştırıcı aygıt yok. Uygulama şimdi çıkacak."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -29,6 +29,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "Регулятор гучності"
|
||||
IDS_NOMIXERDEVICES "Активні пристрої-мікшери недоступні! Додаток закінчує роботу."
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "音量控制"
|
||||
IDS_NOMIXERDEVICES "没有可用的混音器设备!程序即将退出。"
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -23,6 +23,10 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_SNDVOL32 "音量控制"
|
||||
IDS_NOMIXERDEVICES "沒有可用的混音器設備!這個程式即將結束。"
|
||||
IDS_SELECT "&Select"
|
||||
IDS_ADVANCED_CONTROLS "Advanced Controls for %s"
|
||||
IDS_OTHER_CONTROLS1 "&1 %s"
|
||||
IDS_OTHER_CONTROLS2 "&2 %s"
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
|
|
|
@ -610,3 +610,41 @@ SndMixerIsDisplayControl(PSND_MIXER Mixer,
|
|||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
LPMIXERLINE
|
||||
SndMixerGetLineByName(PSND_MIXER Mixer,
|
||||
DWORD LineID,
|
||||
LPWSTR LineName)
|
||||
{
|
||||
PSND_MIXER_DESTINATION Line;
|
||||
PSND_MIXER_CONNECTION Connection;
|
||||
|
||||
if (Mixer->hmx == 0)
|
||||
return NULL;
|
||||
|
||||
for (Line = Mixer->Lines; Line != NULL; Line = Line->Next)
|
||||
{
|
||||
if (Line->Info.dwLineID == LineID)
|
||||
{
|
||||
if (Line->DisplayControls != 0)
|
||||
{
|
||||
if (wcsicmp(Line->Info.szName, LineName) == 0)
|
||||
{
|
||||
return &Line->Info;
|
||||
}
|
||||
}
|
||||
|
||||
for (Connection = Line->Connections; Connection != NULL; Connection = Connection->Next)
|
||||
{
|
||||
if (wcsicmp(Connection->Info.szName, LineName) == 0)
|
||||
{
|
||||
return &Connection->Info;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
|
@ -38,8 +38,12 @@
|
|||
#define IDC_ADV_OTHER_CHECK1 1029
|
||||
#define IDC_ADV_OTHER_CHECK2 1030
|
||||
|
||||
#define IDS_SNDVOL32 100
|
||||
#define IDS_NOMIXERDEVICES 101
|
||||
#define IDS_SNDVOL32 100
|
||||
#define IDS_NOMIXERDEVICES 101
|
||||
#define IDS_SELECT 102
|
||||
#define IDS_ADVANCED_CONTROLS 103
|
||||
#define IDS_OTHER_CONTROLS1 104
|
||||
#define IDS_OTHER_CONTROLS2 105
|
||||
|
||||
#define IDD_NORMAL_MASTER 200
|
||||
#define IDD_NORMAL_LINE 201
|
||||
|
|
|
@ -591,56 +591,6 @@ DlgPreferencesProc(HWND hwndDlg,
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
INT_PTR
|
||||
CALLBACK
|
||||
AdvancedDlgProc(
|
||||
HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
/* FIXME: Update the dialog title */
|
||||
|
||||
/* Disable the tone controls */
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_ADV_BASS_LOW), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_ADV_BASS_HIGH), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_ADV_BASS_SLIDER), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_ADV_TREBLE_LOW), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_ADV_TREBLE_HIGH), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_ADV_TREBLE_SLIDER), FALSE);
|
||||
|
||||
/* Hide the other controls */
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_ADV_OTHER_CONTROLS), SW_HIDE);
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_ADV_OTHER_TEXT), SW_HIDE);
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_ADV_OTHER_CHECK1), SW_HIDE);
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_ADV_OTHER_CHECK2), SW_HIDE);
|
||||
|
||||
/* FIXME */
|
||||
return TRUE;
|
||||
|
||||
case WM_COMMAND:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDOK:
|
||||
EndDialog(hwndDlg, IDOK);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_CLOSE:
|
||||
EndDialog(hwndDlg, IDCANCEL);
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static VOID
|
||||
|
@ -1064,13 +1014,29 @@ MainWindowProc(HWND hwnd,
|
|||
}
|
||||
else if (CtrlID % IDC_LINE_ADVANCED == 0)
|
||||
{
|
||||
if (DialogBoxParam(hAppInstance,
|
||||
MAKEINTRESOURCE(IDD_ADVANCED),
|
||||
hwnd,
|
||||
AdvancedDlgProc,
|
||||
(LPARAM)NULL) == IDOK)
|
||||
{
|
||||
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.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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <mmsystem.h>
|
||||
#include <commctrl.h>
|
||||
#include <tchar.h>
|
||||
#include <strsafe.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "resources.h"
|
||||
|
@ -123,6 +124,14 @@ typedef struct _SET_VOLUME_CONTEXT
|
|||
BOOL bSwitch;
|
||||
} SET_VOLUME_CONTEXT, *PSET_VOLUME_CONTEXT;
|
||||
|
||||
typedef struct _ADVANCED_CONTEXT
|
||||
{
|
||||
WCHAR LineName[MIXER_LONG_NAME_CHARS];
|
||||
PSND_MIXER Mixer;
|
||||
LPMIXERLINE Line;
|
||||
} ADVANCED_CONTEXT, *PADVANCED_CONTEXT;
|
||||
|
||||
|
||||
/* NOTE: do NOT modify SNDVOL_REG_LINESTATE for binary compatibility with XP! */
|
||||
typedef struct _SNDVOL_REG_LINESTATE
|
||||
{
|
||||
|
@ -150,6 +159,18 @@ BOOL SndMixerEnumLines(PSND_MIXER Mixer, PFNSNDMIXENUMLINES EnumProc, PVOID Cont
|
|||
BOOL SndMixerEnumConnections(PSND_MIXER Mixer, DWORD LineID, PFNSNDMIXENUMCONNECTIONS EnumProc, PVOID Context);
|
||||
BOOL SndMixerIsDisplayControl(PSND_MIXER Mixer, LPMIXERCONTROL Control);
|
||||
BOOL SndMixerQueryControls(PSND_MIXER Mixer, PUINT DisplayControls, LPMIXERLINE LineInfo, LPMIXERCONTROL *Controls);
|
||||
LPMIXERLINE SndMixerGetLineByName(PSND_MIXER Mixer, DWORD LineID, LPWSTR LineName);
|
||||
|
||||
/* advanced.c */
|
||||
|
||||
INT_PTR
|
||||
CALLBACK
|
||||
AdvancedDlgProc(
|
||||
HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam);
|
||||
|
||||
|
||||
/*
|
||||
* dialog.c
|
||||
|
|
Loading…
Reference in a new issue