* Sync with trunk r51323.

svn path=/branches/cmake-bringup/; revision=51329
This commit is contained in:
Amine Khaldi 2011-04-13 08:39:17 +00:00
commit 46a8da69da
161 changed files with 4230 additions and 1868 deletions

View file

@ -2,7 +2,7 @@
* translated by TestamenT
* testament@users.sourceforge.net
* https://sourceforge.net/projects/reactospl
*
* updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011)
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
@ -13,7 +13,7 @@ BEGIN
IDS_HELP, "Pokaż lub modyfikuj listę kontroli dostępu (Access Control List) plików\n\n\
CACLS nazwa pliku [/T] [/E] [/C] [/G użytkownik:dostęp [...]] [/R użytkownik [...]]\n\
[/P użytkownik:dostęp [...]] [/D użytkownik [...]]\n\
filename Poka¿ ACL.\n\
nazwa pliku Poka¿ ACL.\n\
/T Zmiana ACL określonych plików w\n\
aktualnym katalogu i wszystkich podkatalogach.\n\
/E Umożliwia edycję listy ACL zamiast jej zamiany.\n\

View file

@ -3,6 +3,7 @@
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl;
* updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011)
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
@ -234,7 +235,7 @@ END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator"
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@ -252,7 +253,7 @@ BEGIN
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,276,24,40,17
CONTROL "CE",IDC_BUTTON_CE,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,232,24,40,17
CONTROL "Back",IDC_BUTTON_BACK,"Button",BS_OWNERDRAW |
CONTROL "Wstecz",IDC_BUTTON_BACK,"Button",BS_OWNERDRAW |
BS_CENTER | BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,24,
40,17
RTEXT "",IDC_TEXT_OUTPUT,4,4,312,12,SS_CENTERIMAGE,

View file

@ -1,6 +1,6 @@
/* FILE: applications/charmap/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* UPDATED: 2008-02-29
* UPDATED: 2011-03-31
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
@ -10,7 +10,7 @@ CAPTION "Mapa znak
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_VISIBLE | WS_SYSMENU | WS_MINIMIZEBOX
BEGIN
LTEXT "Font:", IDC_STATIC, 6, 7, 24, 9
LTEXT "Písmo:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Nápovìda", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156

View file

@ -9,4 +9,5 @@
#include "lang/bg-BG.rc"
#include "lang/de-DE.rc"
#include "lang/en-US.rc"
#include "lang/pl-PL.rc"
#include "lang/uk-UA.rc"

View file

@ -0,0 +1,34 @@
/*
* translated by Saibamen - Adam Stachowicz (Apr,2011)
* Use ReactOS forum PM, IRC or saibamenppl at gmail.com to contact me
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_HELP, "Zarządza ustawieniami linii komend, historii i makr.\n\
\n\
DOSKEY [/INSERT | /OVERSTRIKE] [/EXENAME=exe] [/HISTORY] [/LISTSIZE=rozmiar]\n\
[/REINSTALL] [/MACROS[:exe | :ALL]] [/MACROFILE=plik] [macroname=[tekst]]\n\
\n\
/INSERT Włącza tryb wstawiania tekstu.\n\
/OVERSTRIKE Wyłącza tryb nadpisywania tekstu.\n\
/EXENAME=exename Ustawia nazwę programu do przeglądania/zmiany historii\n\
i makra. Domyślnie jest to cmd.exe.\n\
/HISTORY Wyświetla historię komend.\n\
/LISTSIZE=rozmiar Ustawia ilość wyświetlanych komend dla buforu historii.\n\
/REINSTALL Czyści historię komend.\n\
/MACROS Wyświetla definicje makro.\n\
/MACROS:exename Wyświetla definicje makro dla określonego programu.\n\
/MACROS:ALL Wyświetla definicje makro dla wszystkich programów.\n\
/MACROFILE=plik Ładuje definicje makro z pliku.\n\
macroname Nazwa dla tworzonego makro.\n\
tekst Określa zastępczy tekst dla makro.\n"
IDS_INVALID_MACRO_DEF, "Nieprawidłowa definicja makro: %s\n"
END

View file

@ -15,7 +15,7 @@ IDS_USAGE, "FIND: Wy
/C Oblicza w ilu liniach pojawił się szukany ciąg znaków\n\
/I Ignoruje wielkość liter\n\
/N Numeruje wyświetlane linie, zaczynając od 1\n\
/V Wyświetla te linie które nie zawierają szukanego ciągu znaków"
/V Wyświetla te linie, które nie zawierają szukanego ciągu znaków"
IDS_NO_SUCH_FILE, "FIND: %s: Plik nie został znaleziony\n"

View file

@ -15,7 +15,7 @@ BEGIN
MORE [Napęd:][Ścieżka]Nazwa pliku\n\n\
[Napęd:][Ścieżka]Nazwa pliku Plik, którego zawartość ma być wyświetlona.\n\
Polecenie\t\t Polecenie, którego wynik ma być wyświetlony.\n\n\
Po wyświetleniu ""-- Kontynuuj --"" możesz nacisnąć dowolny klawisz by przejść na następną stronę.\n"
Po wyświetleniu ""-- Kontynuuj --"" możesz nacisnąć dowolny klawisz, aby przejść na następną stronę.\n"
IDS_CONTINUE, " -- Kontynuuj (100%) -- "
IDS_FILE_ACCESS, "Brak dostępu do pliku: %s."

View file

@ -70,7 +70,7 @@ Gdzie:\n\
[/U] Kopiuje tylko pliki, które już istniejš w miejscu docelowym\n\
[/R] Zastępuje pliki tylko do odczytu\n\
[/H] Kopiuje również pliki ukryte i systemowe\n\
[/C] Kontynuuje nawet jeżeli podczas kopiowania występiły błędy\n\
[/C] Kontynuuje nawet jeżeli podczas kopiowania wystšpiły błędy\n\
[/A] Kopiuje tylko pliki z atrybutem archiwalny\n\
[/M] Kopiuje tylko pliki z atrybutem archiwalny i usuwa ten atrybut\n\
[/D | /D:m-d-y] Kopiuje tylko nowe pliki lub te zmodifikowane po podanej dacie.\n\

View file

@ -1,5 +1,6 @@
/*
* translated by Caemyr - Olaf Siejka (Apr,2008)
* updated by Saibamen - Adam Stachowicz (Apr, 2011)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl
@ -25,7 +26,7 @@ IDD_SYSTEM_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 190
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Ten program dostarcza szczegółowych danych o komponentach ReactX i sterownikach, zainstalowanych na twoim systemie..", -1, 10, 10, 443, 17
LTEXT "Ten program dostarcza szczegółowe dane o komponentach ReactX i sterownikach, zainstalowanych na twoim systemie..", -1, 10, 10, 443, 17
LTEXT "Jeœli wiesz ju¿, gdzie tkwi b³¹d, kliknij na odpowiedni¹ zak³adkê. W innym wypadku mo¿esz przejœæ przez wszystkie zak³adki przyciskiem Nastêpna", -1, 10, 30, 443, 25
GROUPBOX "Informacje o systemie", -1, 10, 55, 443, 130, SS_RIGHT
LTEXT "Data i czas:", -1, 70, 70, 80, 10, SS_RIGHT
@ -138,7 +139,7 @@ BEGIN
LTEXT "", IDC_STATIC_ADAPTER_PROVIDER, 335, 75, 100, 10
GROUPBOX "ReactX-", -1, 10, 115, 450, 60
CONTROL "", IDC_SLIDER_DSOUND, "msctls_trackbar32", TBS_BOTTOM | TBS_AUTOTICKS | WS_TABSTOP, 120, 135, 80, 17
RTEXT "Przyspiesznie sprzętowe\nPoziom:", -1, 20, 135, 90, 20
RTEXT "Przyspieszenie sprzętowe\nPoziom:", -1, 20, 135, 90, 20
PUSHBUTTON "Testuj DirectSound", IDC_BUTTON_TESTDSOUND, 270, 134, 80, 14
GROUPBOX "Uwagi", -1, 10, 180, 450, 40
EDITTEXT IDC_TEXT_DSOUNDINFO, 20, 192, 432, 20, WS_DISABLED | WS_TABSTOP

View file

@ -15,7 +15,7 @@ IDS_USAGE, "FIND: Wy
/C Oblicza w ilu liniach pojawił się szukany ciąg znaków\n\
/I Ignoruje wielkość liter\n\
/N Numeruje wyświetlane linie, zaczynając od 1\n\
/V Wyświetla te linie które nie zawierają szukanego ciągu znaków"
/V Wyświetla te linie, które nie zawierają szukanego ciągu znaków"
IDS_NO_SUCH_FILE, "FIND: %s: Plik nie został znaleziony\n"

View file

@ -3,6 +3,7 @@
* testament@users.sourceforge.net
* https://sourceforge.net/projects/reactospl
* updated by Caemyr (olaf_siejka@o2.pl), Nov, 2008
* updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011)
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
@ -53,7 +54,7 @@ END
STRINGTABLE
BEGIN
IDS_SOL_NAME "Pasjans"
IDS_SOL_ABOUT "Solitaire by J. Brown\n\nCardLib version 1.0."
IDS_SOL_ABOUT "Pasjans by J. Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "Zakoñczyæ aktualn¹ grê?"
IDS_SOL_WIN "Gratulacje, wygra³eœ!"
IDS_SOL_DEAL "Nowe rozdanie?"
@ -76,7 +77,7 @@ BEGIN
POPUP "Pomo&c"
BEGIN
MENUITEM "&Spis treœci\tF1", IDM_HELP_CONTENTS
MENUITEM "Solit&aire - informacje", IDM_HELP_ABOUT
MENUITEM "Pasj&ans - informacje", IDM_HELP_ABOUT
END
END

View file

@ -14,7 +14,7 @@ IDS_USAGE, "Przerywa sesj
/v\t\tWyświetla informację o wykonanej czynności.\n\
/?\t\tWyświetla niniejszą pomoc.\n\n"
IDS_LOGOFF_REMOTE, "Przeywanie sesji na maszynie zdalnej."
IDS_LOGOFF_REMOTE, "Przerywanie sesji na maszynie zdalnej."
IDS_LOGOFF_LOCAL, "Przerywanie niniejszej sesji na maszynie lokalnej."
IDS_ILLEGAL_PARAM, "Nieprawidłowy parametr\n"

View file

@ -14,7 +14,7 @@ BEGIN
MENUITEM "Za&kończ\tAlt+F4", ID_FILE_EXIT
END
POPUP "&Help"
POPUP "&Pomoc"
BEGIN
MENUITEM "Konsola Zarzšdzania ReactOS - i&nformacje...", ID_HELP_ABOUT
END

View file

@ -97,7 +97,7 @@ END
STRINGTABLE
BEGIN
IDS_APP_TITLE "Podgl¹d zdarzeñ"
IDC_EVENTSTRINGIDNOTFOUND "Opis zdarzenia dla danego numeru ID: ( %lu ) nie został odnaleziony w źródle: ( %s ). Ten komputer może nie miec wystarczających informacji w rejestrze albo bibliotek DLL by wyświetlić wiadomości z komputera zdalnego."
IDC_EVENTSTRINGIDNOTFOUND "Opis zdarzenia dla danego numeru ID: ( %lu ) nie został odnaleziony w źródle: ( %s ). Ten komputer może nie miec wystarczających informacji w rejestrze albo bibliotek DLL, aby wyświetlić wiadomości z komputera zdalnego."
IDC_EVENTLOG_ERROR_TYPE "B³¹d"
IDC_EVENTLOG_WARNING_TYPE "Ostrze¿enie"
IDC_EVENTLOG_INFORMATION_TYPE "Informacja"

View file

@ -68,7 +68,7 @@ CAPTION "
FONT 8, "MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Service Manager v0.5.1\nCopyright (C) 2005-2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
LTEXT "Service Manager v0.8\nCopyright (C) 2005-2007\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Close", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE

View file

@ -4,7 +4,7 @@
* https://sourceforge.net/projects/reactospl
*
* updated by Caemyr - Olaf Siejka (Jan, 2008)
* updated by Saibamen - Adam Stachowicz (Mar, 2011)
* updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011)
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
@ -77,7 +77,7 @@ CAPTION "Mened
FONT 8, "MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Mened¿er Us³ug v0.5.1\nCopyright (C) 2005-2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 135, 26
LTEXT "Mened¿er Us³ug v0.8\nCopyright (C) 2005-2007\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 135, 26
PUSHBUTTON "Zamknij", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
@ -224,7 +224,7 @@ BEGIN
IDS_CREATE_SUCCESS "Us³uga utworzona pomyœlnie"
IDS_DELETE_SUCCESS "Us³uga skasowana pomyœlnie"
IDS_CREATE_REQ "Pola oznaczone gwiazdkami\ns¹ obowi¹zkowe"
IDS_DELETE_STOP "Musisz rêcznie zatrzymaæ us³ugê przed usuwaniem!"
IDS_DELETE_STOP "Musisz rêcznie zatrzymaæ us³ugê przed usuniêciem!"
END
STRINGTABLE DISCARDABLE
@ -287,7 +287,7 @@ BEGIN
IDS_HINT_SYS_MOVE " Przesuñ to okno."
IDS_HINT_SYS_SIZE " Zmienia wielkoϾ tego okna."
IDS_HINT_SYS_MINIMIZE " Ukryj to okno do ikony."
IDS_HINT_SYS_MAXIMIZE " Rozwiñ to okno na pe³en ekran."
IDS_HINT_SYS_MAXIMIZE " Rozwiñ to okno na pe³ny ekran."
IDS_HINT_SYS_CLOSE " Zamknij to okno."
END

View file

@ -3,6 +3,7 @@
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl;
* updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011)
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
@ -22,7 +23,7 @@ BEGIN
PUSHBUTTON "Zapisz jako...",IDC_SAVEAS,123,139,50,14
PUSHBUTTON "Otwórz...",IDC_OPEN,177,139,50,14
ICON "", IDC_CONNICON, 16,114,20,20
LTEXT "Zapisz obecne połšczenie albo otwórz istniejšcy już plik z ustawieniami",IDC_STATIC,50,115,172,20
LTEXT "Zapisz obecne połšczenie albo otwórz już istniejšcy plik z ustawieniami",IDC_STATIC,50,115,172,20
END
IDD_DISPLAY DIALOGEX 0, 0, 242, 175
@ -33,7 +34,7 @@ BEGIN
GROUPBOX "Liczba kolorów",IDC_STATIC,7,83,228,85
ICON "", IDC_REMICON, 15,19,20,20
ICON "", IDC_COLORSICON, 15,98,20,20
LTEXT "Ustaw rozmiar twojego pulpitu zdalnego. Przesuń suwak do końca w prawo by uruchomić pulpit na pełnym ekranie",IDC_STATIC,53,22,175,21
LTEXT "Ustaw rozmiar twojego pulpitu zdalnego. Przesuń suwak do końca w prawo, aby uruchomić pulpit na pełnym ekranie",IDC_STATIC,53,22,175,21
CONTROL "", IDC_GEOSLIDER, "msctls_trackbar32", TBS_AUTOTICKS | WS_TABSTOP, 56, 42, 124, 17
COMBOBOX IDC_BPPCOMBO,56,102,128,80, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
CONTROL "",IDC_COLORIMAGE,"Static",SS_OWNERDRAW | SS_SUNKEN, 56,121,127,10
@ -45,7 +46,7 @@ END
IDD_CONNECTDIALOG DIALOGEX 0, 0, 260, 262
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Remote Desktop Connection"
CAPTION "Połšczenie pulpitu zdalnego"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "Po³¹cz",IDOK,147,245,50,14

View file

@ -64,7 +64,7 @@ BEGIN
\n \
Przykłady:\n \
> ipconfig ... Pokazuje informacje.\n \
> ipconfig /all ... Pokazuje informacje szczegó³owe.\n \
> ipconfig /all ... Pokazuje szczegó³owe informacje.\n \
> ipconfig /renew ... Odnawia wszystkie karty.\n \
> ipconfig /renew EL* ... Odnawia każde połšczenie o nazwie\n \
zaczynajšcej się od EL\n \

View file

@ -0,0 +1,40 @@
/* FILE: base/applications/network/ping/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* UPDATED: 2011-03-31
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE "\nPoužití: ping [-t] [-n počet] [-l velikost] [-w timeout] cíl\n\n\
Options:\n\
-t Opakovaně zasílá požadavky o ozvěnu zadanému cíli až do zastavení.\n\
Ukončení stisknutím Ctrl+C.\n\
-n počet Počet požadavků o ozvěnu, které budou zaslány.\n\
-l velikost Velikost vyrovnávací paměti.\n\
-w timeout Doba v milisekundách, po kterou se bude čekat na odpověď.\n\n\0"
IDS_PING_WITH_BYTES "\nPing na %1 [%2] s %3!d! bajty dat:\n\n\0"
IDS_PING_STATISTICS "\nStatistika pro %1:\n\0"
IDS_PACKETS_SENT_RECEIVED_LOST " Pakety: Odesláno = %1!d!, Přijato = %2!d!, Ztraceno = %3!d! (%4!d!%% ztráta),\n\0"
IDS_APPROXIMATE_ROUND_TRIP "Přibližná doba do přijetí odezvy v milisekundách:\n\0"
IDS_MIN_MAX_AVERAGE " Minimum = %1, Maximum = %2, Průměr = %3\n\0"
IDS_NOT_ENOUGH_RESOURCES "Není k dispozici dostatek volných zdrojů.\n\0"
IDS_UNKNOWN_HOST "Neznámý hostitel %1.\n\0"
IDS_SETSOCKOPT_FAILED "setsockopt selhalo (%1!d!).\n\0"
IDS_COULD_NOT_CREATE_SOCKET "Nebylo možné vytvořit socket (#%1!d!).\n\0"
IDS_COULD_NOT_INIT_WINSOCK "Nebylo možné inicializovat knihovnu winsock.\n\0"
IDS_DEST_MUST_BE_SPECIFIED "Je nutno zadat název nebo IP adresu cíle.\n\0"
IDS_BAD_PARAMETER "Nesprávný parametr %1.\n\0"
IDS_BAD_OPTION_FORMAT "Nesprávný formát volby %1.\n\0"
IDS_BAD_OPTION "Nesprávná volba %1.\n\0"
IDS_BAD_VALUE_OPTION_L "Nesprávná hodnota volby -l, platný rozsah je od 0 do %1!d!.\n\0"
IDS_REPLY_FROM "Odpověď od %1: bajtů=%2!d! čas%3%4 TTL=%5!d!\n\0"
IDS_DEST_UNREACHABLE "Cíl je nedostupný.\n\0"
IDS_COULD_NOT_TRANSMIT "Nebylo možné přenést data (%1!d!).\n\0"
IDS_COULD_NOT_RECV "Nebylo možné přijmout data (%1!d!).\n\0"
IDS_REQUEST_TIMEOUT "Časový limit žádosti vypršel.\n\0"
IDS_MS "ms\0"
IDS_1MS "1ms\0"
END

View file

@ -8,6 +8,7 @@
#define REACTOS_STR_ORIGINAL_COPYRIGHT "Casper S. Hornstrup (chorns@users.sourceforge.net)\0"
#include <reactos/version.rc>
#include "lang/cs-CZ.rc"
#include "lang/de-DE.rc"
#include "lang/en-US.rc"
#include "lang/fr-FR.rc"

View file

@ -153,10 +153,10 @@ END
IDD_ABOUTBOX DIALOGEX DISCARDABLE 22,16,284,170
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Notatnik"
CAPTION "Notatnik ReactOS"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "ReactOS Notatnik v1.0\r\nCopyright 1997,98 Marcel Baur <mbaur@g26.ethz.ch>\r\nCopyright 2000 Mike McCormack <Mike_McCormack@looksmart.com.au>\r\nCopyright 2002 Sylvain Petreolle <spetreolle@yahoo.fr>\r\nCopyright 2002 Andriy Palamarchuk\r\n ",
CONTROL "Notatnik ReactOS v1.0\r\nCopyright 1997,98 Marcel Baur <mbaur@g26.ethz.ch>\r\nCopyright 2000 Mike McCormack <Mike_McCormack@looksmart.com.au>\r\nCopyright 2002 Sylvain Petreolle <spetreolle@yahoo.fr>\r\nCopyright 2002 Andriy Palamarchuk\r\n ",
-1,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,46,7,232,39
CONTROL " ",
-1,"Static",0x50000000,8,48,272,11
@ -209,5 +209,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
STRING_LINE_COLUMN, "Linia %d, kolumna %d"
END

View file

@ -1,4 +1,5 @@
// * translated by Caemyr - Olaf Siejka (Aug, 2009)
// * updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011)
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
@ -41,7 +42,7 @@ BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Instaluj", ID_INSTALL
MENUITEM "&odinstaluj", ID_UNINSTALL
MENUITEM "&Odinstaluj", ID_UNINSTALL
MENUITEM "&Modyfikuj", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Usuñ z rejestru", ID_REGREMOVE
@ -78,7 +79,7 @@ FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
AUTORADIOBUTTON "&Zainstaluj z dysku (CD or DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
AUTORADIOBUTTON "&Zainstaluj z dysku (CD lub DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
AUTORADIOBUTTON "&Pobierz i zainstaluj", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
@ -100,7 +101,7 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "O programie"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
LTEXT "Menedżer aplikacji ReactOS\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
PUSHBUTTON "Zamknij", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
@ -180,15 +181,15 @@ BEGIN
IDS_MODIFY "Modyfikuj"
IDS_APPS_COUNT "Licznik aplikacji: %d"
IDS_WELCOME_TITLE "Witamy w Mened¿erze aplikacji ReactOS!\n\n"
IDS_WELCOME_TEXT "Z listy po lewej wybierz kategorię, a następnie aplikację by jš zainstalować lub odinstalować.\nStrona projektu ReactOS: "
IDS_WELCOME_TEXT "Z listy po lewej wybierz kategorię, a następnie aplikację, by jš zainstalować lub odinstalować.\nStrona projektu ReactOS: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "Zainstalowane"
IDS_AVAILABLEFORINST "Dostêpne"
IDS_UPDATES "Uaktualnienia"
IDS_APPLICATIONS "Aplikacje"
IDS_CHOOSE_FOLDER_TEXT "Wybierz katalog w którym będa zapisywane pobrane programy:"
IDS_CHOOSE_FOLDER_TEXT "Wybierz katalog, w którym będa zapisywane pobrane programy:"
IDS_CHOOSE_FOLDER_ERROR "Wybra³eœ nieistniej¹cy katalog! Czy chcesz utworzyæ nowy?"
IDS_USER_NOT_ADMIN "Musisz mieć uprawnienia administratora aby uruchomić ""ReactOS Applications Manager""!"
IDS_USER_NOT_ADMIN "Musisz mieć uprawnienia administratora, aby uruchomić ""Menedżer aplikacji ReactOS""!"
IDS_APP_REG_REMOVE "Czy na pewno chcesz usun¹æ wpis tego programu z rejestru?"
IDS_INFORMATION "Informacja"
IDS_UNABLE_TO_REMOVE "Nie mo¿na by³o usun¹æ wpisu z rejestru!"

View file

@ -0,0 +1,199 @@
/*
* PROJECT: ReactOS RAPPS
* FILE: \base\applications\rapps\lang\sv-SE.rc
* PURPOSE: Swedish resource file
* Translation: Jaix Bly
*/
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
IDR_MAINMENU MENU
BEGIN
POPUP "&Arkiv"
BEGIN
MENUITEM "&Inställningar", ID_SETTINGS
MENUITEM SEPARATOR
MENUITEM "A&vsluta", ID_EXIT
END
POPUP "&Program"
BEGIN
MENUITEM "&Installera", ID_INSTALL
MENUITEM "&Avinstallera",ID_UNINSTALL
MENUITEM "&Ändra", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Ta bort från Registret", ID_REGREMOVE
MENUITEM SEPARATOR
MENUITEM "&Uppdatere", ID_REFRESH
END
POPUP "Hjälp"
BEGIN
MENUITEM "Hjälp", ID_HELP, GRAYED
MENUITEM "Om...", ID_ABOUT
END
END
IDR_LINKMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Öppne länk i webläsare", ID_OPEN_LINK
MENUITEM "&Kopier länk till urklipp", ID_COPY_LINK
END
END
IDR_APPLICATIONMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Installera", ID_INSTALL
MENUITEM "&Avinstallera", ID_UNINSTALL
MENUITEM "&Ändre", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Ta bort från Registret", ID_REGREMOVE
MENUITEM SEPARATOR
MENUITEM "&Uppdatera", ID_REFRESH
END
END
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 250, 144
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Inställningar"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Allmänna", -1, 4, 2, 240, 61
AUTOCHECKBOX "&Spara fönster position", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12
AUTOCHECKBOX "&Uppdatera listan med tillgängliga program vid start", IDC_UPDATE_AVLIST, 15, 29, 219, 12
AUTOCHECKBOX "&Logga ur installation och borttagning program", IDC_LOG_ENABLED, 15, 46, 219, 12
GROUPBOX "Nerladding", -1, 4, 65, 240, 51
LTEXT "Mapp för nerladdningar:", -1, 16, 75, 100, 9
EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP
PUSHBUTTON "&Välj", IDC_CHOOSE, 187, 85, 50, 14
AUTOCHECKBOX "&Ta bort programms installerare efter installation", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12
PUSHBUTTON "Förinställd", IDC_DEFAULT_SETTINGS, 8, 124, 60, 14
PUSHBUTTON "OK", IDOK, 116, 124, 60, 14
PUSHBUTTON "Avbryt", IDCANCEL, 181, 124, 60, 14
END
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 216, 97
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Programinstallation"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
AUTORADIOBUTTON "&Installera från disk (CD or DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
AUTORADIOBUTTON "&Ladda ner och installera", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
PUSHBUTTON "Avbryt", IDCANCEL, 150, 78, 60, 14
END
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Ladda ner..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Avbryt", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "Om"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "ReactOS Programhanterare\nCopyright (C) 2009\nav Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
PUSHBUTTON "Stäng", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_INSTALL "Installera"
IDS_TOOLTIP_UNINSTALL "Avinstallera"
IDS_TOOLTIP_MODIFY "Redigera"
IDS_TOOLTIP_SETTINGS "Inställingar"
IDS_TOOLTIP_REFRESH "Uppdatera"
IDS_TOOLTIP_EXIT "Avsluta"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_NAME "Namn"
IDS_APP_INST_VERSION "Version"
IDS_APP_DESCRIPTION "Beskrivning"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_INFO_VERSION "\nVersion: "
IDS_INFO_DESCRIPTION "\nBeskrivning: "
IDS_INFO_PUBLISHER "\nUtgivare: "
IDS_INFO_HELPLINK "\nHjälplänk: "
IDS_INFO_HELPPHONE "\nHjälptelefon: "
IDS_INFO_README "\nLäs mig: "
IDS_INFO_REGOWNER "\nRegistrerad ägare: "
IDS_INFO_PRODUCTID "\nProdukt ID: "
IDS_INFO_CONTACT "\nKontakt: "
IDS_INFO_UPDATEINFO "\nUppdaterinsinformation: "
IDS_INFO_INFOABOUT "\nInformation om: "
IDS_INFO_COMMENTS "\nKommentarer: "
IDS_INFO_INSTLOCATION "\nInstallationsplacering: "
IDS_INFO_INSTALLSRC "\nInstallationskälla: "
IDS_INFO_UNINSTALLSTR "\nAvinstallationssträng: "
IDS_INFO_MODIFYPATH "\nÄndra sökväg: "
IDS_INFO_INSTALLDATE "\nInstallationsdatum: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_AINFO_VERSION "\nVersion: "
IDS_AINFO_DESCRIPTION "\nBeskrivning: "
IDS_AINFO_SIZE "\nStorlek: "
IDS_AINFO_URLSITE "\nHemsida: "
IDS_AINFO_LICENCE "\nLicens: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_CAT_AUDIO "Audio"
IDS_CAT_DEVEL "Utveckling"
IDS_CAT_DRIVERS "Drivrutiner"
IDS_CAT_EDU "Edutainment"
IDS_CAT_ENGINEER "Engineering"
IDS_CAT_FINANCE "Finans"
IDS_CAT_GAMES "Spel & kul"
IDS_CAT_GRAPHICS "Grafik"
IDS_CAT_INTERNET "Internet & Nätverk"
IDS_CAT_LIBS "Bibliotek"
IDS_CAT_OFFICE "Kontor"
IDS_CAT_OTHER "Annat"
IDS_CAT_SCIENCE "Vetenskap"
IDS_CAT_TOOLS "Verktyg"
IDS_CAT_VIDEO "Video"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPTITLE "ReactOS programhanterare"
IDS_SEARCH_TEXT "Sök..."
IDS_INSTALL "Installera"
IDS_UNINSTALL "Avinstallera"
IDS_MODIFY "Ändra"
IDS_APPS_COUNT "Programantal: %d"
IDS_WELCOME_TITLE "Välkommen till ReactOS programhanterare!\n\n"
IDS_WELCOME_TEXT "Välj en kategori till vänstre, och sedan ett program för att installera eller avinstallera.\nReactOS Web sida: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "Installerat"
IDS_AVAILABLEFORINST "Tillgängliga for installation"
IDS_UPDATES "Uppdateringar"
IDS_APPLICATIONS "Program"
IDS_CHOOSE_FOLDER_TEXT "Välj en mapp som kommer att användas för nerladdning av program:"
IDS_CHOOSE_FOLDER_ERROR "Du har specificrat en obefintlig mapp!"
IDS_USER_NOT_ADMIN "Du måste vara administratör för att starta ""ReactOS programhanterare""!"
IDS_APP_REG_REMOVE "Är du säker på att du vill ta bort data det installerade programmets data från registret?"
IDS_INFORMATION "Information"
IDS_UNABLE_TO_REMOVE "Det gick ej att ta bort programmets data från registret!"
END

View file

@ -10,4 +10,5 @@
#include "lang/pl-PL.rc"
#include "lang/ru-RU.rc"
#include "lang/sk-SK.rc"
#include "lang/sv-SE.rc"
#include "lang/uk-UA.rc"

View file

@ -8,6 +8,8 @@
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl;
*
* updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
@ -169,12 +171,12 @@ BEGIN
END
POPUP ""
BEGIN
MENUITEM "C&ut", ID_HEXEDIT_CUT
MENUITEM "&Copy", ID_HEXEDIT_COPY
MENUITEM "&Paste", ID_HEXEDIT_PASTE
MENUITEM "&Delete", ID_HEXEDIT_DELETE
MENUITEM "W&ytnij", ID_HEXEDIT_CUT
MENUITEM "&Kopiuj", ID_HEXEDIT_COPY
MENUITEM "&Wklej", ID_HEXEDIT_PASTE
MENUITEM "&Usuñ", ID_HEXEDIT_DELETE
MENUITEM SEPARATOR
MENUITEM "Select &All", ID_HEXEDIT_SELECT_ALL
MENUITEM "Zaznacz &ca³oœæ", ID_HEXEDIT_SELECT_ALL
END
END
@ -184,13 +186,13 @@ END
*/
IDD_LOADHIVE DIALOGEX DISCARDABLE 0, 0, 193, 34
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Load Hive"
CAPTION "£aduj drzewo"
FONT 8, "Ms Shell Dlg"
{
LTEXT "&Key:", IDC_STATIC, 4, 4, 15, 8, SS_LEFT
LTEXT "&Klucz:", IDC_STATIC, 4, 4, 15, 8, SS_LEFT
EDITTEXT IDC_EDIT_KEY, 23, 2, 167, 13
DEFPUSHBUTTON "OK", IDOK, 140, 17, 50, 14
PUSHBUTTON "Cancel", IDCANCEL, 89, 17, 50, 14
PUSHBUTTON "Anuluj", IDCANCEL, 89, 17, 50, 14
}
IDD_EDIT_STRING DIALOGEX 32, 24, 252, 84
@ -292,9 +294,9 @@ BEGIN
ID_REGISTRY_EXPORTREGISTRYFILE
"Eksportuje ca³oœæ lub czêœæ rejestru do pliku"
ID_REGISTRY_LOADHIVE
"Loads a hive file into the registry"
"£aduje plik Drzewa do rejestru"
ID_REGISTRY_UNLOADHIVE
"Unloads a hive from the registry"
"Wy³adowuje Drzewo z rejestru"
ID_REGISTRY_CONNECTNETWORKREGISTRY
"Po³¹czenie z rejestrem zdalnego komputera"
ID_REGISTRY_DISCONNECTNETWORKREGISTRY
@ -351,8 +353,8 @@ BEGIN
IDS_MY_COMPUTER "Mój komputer"
IDS_IMPORT_REG_FILE "Importuj plik rejestru"
IDS_EXPORT_REG_FILE "Eksportuj plik rejestru"
IDS_LOAD_HIVE "Load Hive"
IDS_UNLOAD_HIVE "Unload Hive"
IDS_LOAD_HIVE "£aduj Drzewo"
IDS_UNLOAD_HIVE "Wy³aduj Drzewo"
IDS_INVALID_DWORD "(niew³aœciwa wartoœæ DWORD)"
END

View file

@ -0,0 +1,59 @@
/* FILE: applications/sndrec32/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* UPDATED: 2011-04-09
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
IDC_REACTOS_SNDREC32 ACCELERATORS
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Záznam zvuku"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON 128,IDC_REACTOS_SNDREC32,19,14,21,20
LTEXT "ReactOS Záznam zvuku, verze 1.0",IDC_STATIC,56,16,114,8,SS_NOPREFIX
LTEXT "Copyright (C) 2009",IDC_STATIC,55,25,114,8
DEFPUSHBUTTON "OK",IDOK,139,54,50,14,WS_GROUP
END
IDR_MENU1 MENU
BEGIN
POPUP "Soubor"
BEGIN
MENUITEM "Nový", ID_NEW
MENUITEM "Otevøít...", ID_FILE_OPEN
MENUITEM "Uložit", ID_FILE_SAVE, GRAYED
MENUITEM "Uložit jako...", ID_FILE_SAVEAS, GRAYED
MENUITEM SEPARATOR
MENUITEM "Konec", ID_EXIT
END
MENUITEM "todo1", 0
MENUITEM "todo2", 0
POPUP "?"
BEGIN
MENUITEM "O programu...", ID__ABOUT
END
END
STRINGTABLE
BEGIN
IDS_APP_TITLE "Záznam zvuku"
IDC_REACTOS_SNDREC32 "REACTOS_SNDREC32"
END
STRINGTABLE
BEGIN
IDS_STRPOS "Pozice: %.2f s"
IDS_STRDUR "Délka: %.2f s"
IDS_STRBUF "Buffer: %.2f kb"
IDS_STRFMT "%.1f kHz %u bitù"
IDS_STRMONO "mono"
IDS_STRSTEREO "stereo"
IDS_STRCHAN "%s"
END

View file

@ -0,0 +1,61 @@
/*
* translated by Saibamen - Adam Stachowicz (Apr,2011)
* Use ReactOS forum PM, IRC or saibamenppl at gmail.com to contact me
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl;
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
IDC_REACTOS_SNDREC32 ACCELERATORS
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Informacje o reactOS_sndrec32"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON 128,IDC_REACTOS_SNDREC32,19,14,21,20
LTEXT "ReactOS_sndrec32, wersja 1.0",IDC_STATIC,56,16,114,8,SS_NOPREFIX
LTEXT "Copyright (C) 2009",IDC_STATIC,55,25,114,8
DEFPUSHBUTTON "OK",IDOK,139,54,50,14,WS_GROUP
END
IDR_MENU1 MENU
BEGIN
POPUP "Plik"
BEGIN
MENUITEM "Nowy", ID_NEW
MENUITEM "Otwórz...", ID_FILE_OPEN
MENUITEM "Zapisz", ID_FILE_SAVE, GRAYED
MENUITEM "Zapisz jako...", ID_FILE_SAVEAS, GRAYED
MENUITEM SEPARATOR
MENUITEM "Wyjœcie", ID_EXIT
END
MENUITEM "todo1", 0
MENUITEM "todo2", 0
POPUP "?"
BEGIN
MENUITEM "O programie...", ID__ABOUT
END
END
STRINGTABLE
BEGIN
IDS_APP_TITLE "Rejestrator dŸwiêku"
IDC_REACTOS_SNDREC32 "REACTOS_SNDREC32"
END
STRINGTABLE
BEGIN
IDS_STRPOS "Pozycja: %.2f s"
IDS_STRDUR "D³ugoœæ: %.2f s"
IDS_STRBUF "Bufor: %.2f kb"
IDS_STRFMT "%.1f kHz %u bits"
IDS_STRMONO "mono"
IDS_STRSTEREO "stereo"
IDS_STRCHAN "%s"
END

View file

@ -16,11 +16,13 @@ IDB_BITMAP2_REC_DIS BITMAP "resources/but_rec_dis.bmp"
IDB_BITMAP2_START_DIS BITMAP "resources/but_start_dis.bmp"
IDB_BITMAP2_STOP_DIS BITMAP "resources/but_stop_dis.bmp"
#include "lang/cs-CZ.rc"
#include "lang/de-DE.rc"
#include "lang/en-US.rc"
#include "lang/es-ES.rc"
#include "lang/it-IT.rc"
#include "lang/ja-JP.rc"
#include "lang/pl-PL.rc"
#include "lang/sk-SK.rc"
#include "lang/uk-UA.rc"

View file

@ -4,7 +4,8 @@ add_definitions(-D_DLL -D__USE_CRTIMP)
set_unicode()
list(APPEND SOURCE
misc.c
dialog.c
misc.c
mixer.c
sndvol32.c
sndvol32.rc)

View file

@ -0,0 +1,566 @@
/* $Id: misc.c 43790 2009-10-27 10:34:16Z dgorbachev $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Sound Volume Control
* FILE: subsys/system/sndvol32/dialog.c
* PROGRAMMERS: Johannes Anderwald
*/
#include "sndvol32.h"
#define XLEFT (30)
#define XTOP (20)
#define DIALOG_VOLUME_SIZE (150)
LPVOID
LoadDialogResource(
IN HMODULE hModule,
IN LPCWSTR ResourceName,
OUT LPDWORD ResourceLength)
{
HRSRC hSrc;
HGLOBAL hRes;
PVOID Result;
/* find resource */
hSrc = FindResourceW(hModule, ResourceName, (LPCWSTR)RT_DIALOG);
if (!hSrc)
{
/* failed to find resource */
return NULL;
}
/* now load the resource */
hRes = LoadResource(hAppInstance, hSrc);
if (!hRes)
{
/* failed to load resource */
return NULL;
}
/* now lock the resource */
Result = LockResource(hRes);
if (!Result)
{
/* failed to lock resource */
return NULL;
}
if (ResourceLength)
{
/* store output length */
*ResourceLength = SizeofResource(hAppInstance, hSrc);
}
/* done */
return Result;
}
LPWORD
AddDialogControl(
IN HWND hwndDialog,
IN HWND * OutWnd,
IN LPRECT DialogOffset,
IN PDLGITEMTEMPLATE DialogItem,
IN DWORD DialogIdMultiplier,
IN HFONT hFont)
{
RECT rect;
LPWORD Offset;
LPWSTR ClassName, WindowName = NULL;
HWND hwnd;
DWORD wID;
/* initialize client rectangle */
rect.left = DialogItem->x + DialogOffset->left;
rect.top = DialogItem->y + DialogOffset->top;
rect.right = DialogItem->cx;
rect.bottom = DialogItem->cy;
//MapDialogRect(hwndDialog, &rect);
/* move offset after dialog item */
Offset = (LPWORD)(DialogItem + 1);
if (*Offset == 0xFFFF)
{
/* class is encoded as type */
Offset++;
/* get control type */
switch(*Offset)
{
case 0x80:
ClassName = L"button";
WindowName = (LPWSTR)(Offset + 1);
break ;
case 0x82:
ClassName = L"static";
WindowName = (LPWSTR)(Offset + 1);
break;
default:
/* FIXME */
assert(0);
ClassName = 0;
}
}
else
{
/* class name is encoded as string */
ClassName = (LPWSTR)Offset;
/* adjust offset */
Offset += wcslen(ClassName) + 1;
/* get offset */
WindowName = (LPWSTR)(Offset + 1);
}
if (DialogItem->id == MAXWORD)
{
/* id is not important */
wID = DialogItem->id;
}
else
{
/* calculate id */
wID = DialogItem->id * (DialogIdMultiplier + 1);
}
/* now create the window */
hwnd = CreateWindowExW(DialogItem->dwExtendedStyle,
ClassName,
WindowName,
DialogItem->style,
rect.left,
rect.top,
rect.right,
rect.bottom,
hwndDialog,
(HMENU)(wID),
hAppInstance,
NULL);
/* sanity check */
assert(hwnd);
/* store window */
*OutWnd = hwnd;
/* check if this the track bar */
if (!wcsicmp(ClassName, L"msctls_trackbar32"))
{
/* set up range */
SendMessage(hwnd, TBM_SETRANGE, (WPARAM) TRUE, (LPARAM) MAKELONG(0, 5));
/* set up page size */
SendMessage(hwnd, TBM_SETPAGESIZE, 0, (LPARAM) 1);
/* set available range */
//SendMessage(hwnd, TBM_SETSEL, (WPARAM) FALSE, (LPARAM) MAKELONG(0, 5));
/* set position */
SendMessage(hwnd, TBM_SETPOS, (WPARAM) TRUE, (LPARAM) 0);
}
else if (!wcsicmp(ClassName, L"static") || !wcsicmp(ClassName, L"button"))
{
/* set font */
SendMessageW(hwnd, WM_SETFONT, (WPARAM)hFont, TRUE);
}
//ShowWindow(hwnd, SW_SHOWNORMAL);
if (WindowName != NULL)
{
/* position offset to start of name */
Offset++;
/* move offset past name */
Offset += wcslen((LPWSTR)Offset) + 1;
}
else
{
/* no name so just adjust offset */
Offset++;
}
/* check if there is additional data */
if (*Offset == 0)
{
/* no additional data */
Offset++;
}
else
{
/* add data offset */
Offset += *Offset;
}
/* make sure next template is word-aligned */
Offset = (LPWORD)(((ULONG_PTR)Offset + 3) & ~3);
/* done */
return Offset;
}
VOID
LoadDialogControls(
IN PMIXER_WINDOW MixerWindow,
LPRECT DialogOffset,
LPVOID DlgResource,
DWORD DialogIdMultiplier)
{
LPDLGTEMPLATE DialogHeader;
PDLGITEMTEMPLATE DialogItem;
LPWORD Offset;
WORD FontSize;
WCHAR FontName[100];
WORD Length, Index;
HFONT Font;
/* get dialog header */
DialogHeader = (LPDLGTEMPLATE)DlgResource;
/* sanity check */
assert(DialogHeader->cdit);
if (MixerWindow->Window)
MixerWindow->Window = (HWND*)HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, MixerWindow->Window, (MixerWindow->WindowCount + DialogHeader->cdit) * sizeof(HWND));
else
MixerWindow->Window = (HWND*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, DialogHeader->cdit * sizeof(HWND));
if (!MixerWindow->Window)
{
/* no memory */
return;
}
/* now walk past the dialog header */
Offset = (LPWORD)(DialogHeader + 1);
/* FIXME: support menu */
assert(*Offset == 0);
Offset++;
/* FIXME: support classes */
assert(*Offset == 0);
Offset++;
/* FIXME: support titles */
assert(*Offset == 0);
Offset++;
/* get font size */
FontSize = *Offset;
Offset++;
/* calculate font length */
Length = wcslen((LPWSTR)Offset) + 1;
assert(Length < (sizeof(FontName) / sizeof(WCHAR)));
/* copy font */
wcscpy(FontName, (LPWSTR)Offset);
Font = CreateFontW(FontSize+8, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, FontName);
assert(Font);
/* move offset after font name */
Offset += Length;
/* offset is now at first dialog item control */
DialogItem = (PDLGITEMTEMPLATE)Offset;
/* enumerate now all controls */
for(Index = 0; Index < DialogHeader->cdit; Index++)
{
/* add controls */
Offset = AddDialogControl(MixerWindow->hWnd, &MixerWindow->Window[MixerWindow->WindowCount], DialogOffset, DialogItem, DialogIdMultiplier, Font);
/* sanity check */
assert(Offset);
/* move dialog item to new offset */
DialogItem =(PDLGITEMTEMPLATE)Offset;
/* increment window count */
MixerWindow->WindowCount++;
}
}
VOID
LoadDialog(
IN HMODULE hModule,
IN PMIXER_WINDOW MixerWindow,
IN LPCWSTR DialogResId,
IN DWORD Index)
{
LPVOID DlgResource;
RECT rect;
/* first load the dialog resource */
DlgResource = LoadDialogResource(hModule, DialogResId, NULL);
if (!DlgResource)
{
/* failed to load resource */
return;
}
/* get window size */
GetClientRect(MixerWindow->hWnd, &rect);
/* adjust client position */
rect.left += (Index * DIALOG_VOLUME_SIZE);
/* now add the controls */
LoadDialogControls(MixerWindow, &rect, DlgResource, Index);
}
BOOL
CALLBACK
EnumConnectionsCallback(
PSND_MIXER Mixer,
DWORD LineID,
LPMIXERLINE Line,
PVOID Context)
{
WCHAR LineName[MIXER_LONG_NAME_CHARS];
DWORD Flags;
DWORD wID;
RECT rect;
UINT ControlCount = 0, Index;
LPMIXERCONTROL Control = NULL;
HWND hDlgCtrl;
PPREFERENCES_CONTEXT PrefContext = (PPREFERENCES_CONTEXT)Context;
if (Line->cControls != 0)
{
/* get line name */
if (SndMixerGetLineName(PrefContext->MixerWindow->Mixer, PrefContext->SelectedLine, LineName, MIXER_LONG_NAME_CHARS, TRUE) == -1)
{
/* failed to get line name */
LineName[0] = L'\0';
}
/* check if line is found in registry settings */
if (ReadLineConfig(PrefContext->DeviceName,
LineName,
Line->szName,
&Flags))
{
/* is it selected */
if (Flags != 0x4)
{
/* load dialog resource */
LoadDialog(hAppInstance, PrefContext->MixerWindow, MAKEINTRESOURCE(IDD_VOLUME_CTRL), PrefContext->Count);
/* get id */
wID = (PrefContext->Count + 1) * IDC_LINE_NAME;
/* set line name */
SetDlgItemTextW(PrefContext->MixerWindow->hWnd, wID, Line->szName);
/* query controls */
if (SndMixerQueryControls(Mixer, &ControlCount, Line, &Control) == TRUE)
{
/* now go through all controls and update their states */
for(Index = 0; Index < ControlCount; Index++)
{
if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_SWITCH)
{
MIXERCONTROLDETAILS_BOOLEAN Details;
/* get volume control details */
if (SndMixerGetVolumeControlDetails(Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_BOOLEAN), (LPVOID)&Details) != -1)
{
/* update dialog control */
wID = (PrefContext->Count + 1) * IDC_LINE_SWITCH;
/* get dialog control */
hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID);
if (hDlgCtrl != NULL)
{
/* check state */
if (SendMessageW(hDlgCtrl, BM_GETCHECK, 0, 0) != Details.fValue)
{
/* update control state */
SendMessageW(hDlgCtrl, BM_SETCHECK, (WPARAM)Details.fValue, 0);
}
}
}
}
else if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_FADER)
{
MIXERCONTROLDETAILS_UNSIGNED Details;
/* get volume control details */
if (SndMixerGetVolumeControlDetails(Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_UNSIGNED), (LPVOID)&Details) != -1)
{
/* update dialog control */
DWORD Position;
DWORD Step = 0x10000 / 5;
/* FIXME: give me granularity */
Position = 5 - (Details.dwValue / Step);
/* FIXME support left - right slider */
wID = (PrefContext->Count + 1) * IDC_LINE_SLIDER_VERT;
/* get dialog control */
hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID);
if (hDlgCtrl != NULL)
{
/* check state */
LRESULT OldPosition = SendMessageW(hDlgCtrl, TBM_GETPOS, 0, 0);
if (OldPosition != Position)
{
/* update control state */
SendMessageW(hDlgCtrl, TBM_SETPOS, (WPARAM)TRUE, Position + Index);
}
}
}
}
}
/* free controls */
HeapFree(GetProcessHeap(), 0, Control);
}
/* increment dialog count */
PrefContext->Count++;
/* get application rectangle */
GetWindowRect(PrefContext->MixerWindow->hWnd, &rect);
/* now move the window */
MoveWindow(PrefContext->MixerWindow->hWnd, rect.left, rect.top, (PrefContext->Count * DIALOG_VOLUME_SIZE), rect.bottom - rect.top, TRUE);
}
}
}
return TRUE;
}
VOID
LoadDialogCtrls(
PPREFERENCES_CONTEXT PrefContext)
{
HWND hDlgCtrl;
/* set dialog count to zero */
PrefContext->Count = 0;
/* enumerate controls */
SndMixerEnumConnections(PrefContext->MixerWindow->Mixer, PrefContext->SelectedLine, EnumConnectionsCallback, (PVOID)PrefContext);
/* get last line seperator */
hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, IDC_LINE_SEP * PrefContext->Count);
if (hDlgCtrl != NULL)
{
/* hide last seperator */
ShowWindow(hDlgCtrl, SW_HIDE);
}
}
VOID
UpdateDialogLineSwitchControl(
PPREFERENCES_CONTEXT PrefContext,
LPMIXERLINE Line,
LONG fValue)
{
DWORD Index;
DWORD wID;
HWND hDlgCtrl;
WCHAR LineName[MIXER_LONG_NAME_CHARS];
/* find the index of this line */
for(Index = 0; Index < PrefContext->Count; Index++)
{
/* get id */
wID = (Index + 1) * IDC_LINE_NAME;
if (GetDlgItemText(PrefContext->MixerWindow->hWnd, wID, LineName, MIXER_LONG_NAME_CHARS) == 0)
{
/* failed to retrieve id */
continue;
}
/* check if the line name matches */
if (!wcsicmp(LineName, Line->szName))
{
/* found matching line name */
wID = (Index + 1) * IDC_LINE_SWITCH;
/* get dialog control */
hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID);
if (hDlgCtrl != NULL)
{
/* check state */
if (SendMessageW(hDlgCtrl, BM_GETCHECK, 0, 0) != fValue)
{
/* update control state */
SendMessageW(hDlgCtrl, BM_SETCHECK, (WPARAM)fValue, 0);
}
}
break;
}
}
}
VOID
UpdateDialogLineSliderControl(
PPREFERENCES_CONTEXT PrefContext,
LPMIXERLINE Line,
DWORD dwControlID,
DWORD dwDialogID,
DWORD Position)
{
DWORD Index;
DWORD wID;
HWND hDlgCtrl;
WCHAR LineName[MIXER_LONG_NAME_CHARS];
/* find the index of this line */
for(Index = 0; Index < PrefContext->Count; Index++)
{
/* get id */
wID = (Index + 1) * IDC_LINE_NAME;
if (GetDlgItemText(PrefContext->MixerWindow->hWnd, wID, LineName, MIXER_LONG_NAME_CHARS) == 0)
{
/* failed to retrieve id */
continue;
}
/* check if the line name matches */
if (!wcsicmp(LineName, Line->szName))
{
/* found matching line name */
wID = (Index + 1) * dwDialogID;
/* get dialog control */
hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID);
if (hDlgCtrl != NULL)
{
/* check state */
LRESULT OldPosition = SendMessageW(hDlgCtrl, TBM_GETPOS, 0, 0);
if (OldPosition != Position)
{
/* update control state */
SendMessageW(hDlgCtrl, TBM_SETPOS, (WPARAM)TRUE, Position + Index);
}
}
break;
}
}
}

View file

@ -26,7 +26,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Ñâîéñòâà"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Ñìåñèòåëíî óñòðîéñòâî:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -41,3 +41,17 @@ BEGIN
PUSHBUTTON "Äîáðå", IDOK, 114,226,50,14
PUSHBUTTON "Îòêàç", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -1,7 +1,7 @@
/* FILE: applications/sndvol32/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* THANKS TO: Denzil, who translated major part of this file
* UPDATED: 2010-05-25
* UPDATED: 2011-04-09
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
@ -32,7 +32,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Možnosti"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Smìšovací zaøízení:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -47,3 +47,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Storno", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Celková hlasitost", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Vyvážení", -1, 4, 35, 80, 42
LTEXT "Hlasitost", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Ztlumit", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -26,7 +26,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Eigenschaften"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Mixer:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -41,3 +41,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Abbrechen", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Lautstärke", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Stumm", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -26,7 +26,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Éäéüôçôåò"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&ÓõóêåõÞ ìßîçò:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -41,3 +41,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "¢êõñï", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -26,7 +26,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Properties"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Mixer device:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -41,3 +41,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Cancel", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -30,7 +30,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Propiedades"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Dispositivo me&zclador:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -45,3 +45,17 @@ BEGIN
PUSHBUTTON "Aceptar", IDOK, 114,226,50,14
PUSHBUTTON "Cancelar", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volumen", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Silencio", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -26,7 +26,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Propriétés"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Périphérique de mixage :", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -42,3 +42,16 @@ BEGIN
PUSHBUTTON "Annuler", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Volume principal", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Muet", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -30,7 +30,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Tulajdonságok"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Keverõ eszköz:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -45,3 +45,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Mégse", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -26,7 +26,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Properti"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Mixer device:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -41,3 +41,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Batal", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -26,7 +26,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Proprietà"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Mixer:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -41,3 +41,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Annulla", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Bilanciamento", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Disattiva", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -26,7 +26,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "プロパティ"
FONT 9, "MS UI Gothic", 0, 0, 0x0
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "ミキサー デバイス(&M):", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -41,3 +41,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "キャンセル", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -29,7 +29,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "속성"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "믹서 장치(&M):", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -44,3 +44,17 @@ BEGIN
PUSHBUTTON "확인", IDOK, 114,226,50,14
PUSHBUTTON "취소", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -28,7 +28,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Nustatymai"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Garsø maiðymo árenginys:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -43,3 +43,17 @@ BEGIN
PUSHBUTTON "Gerai", IDOK, 114,226,50,14
PUSHBUTTON "Atsisakyti", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -26,7 +26,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Eigenschappen"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Mixerapparaat:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -41,3 +41,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Annuleren", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -26,7 +26,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Egenskaper"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Mikser enhet:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -41,3 +41,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Avbryt", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -2,6 +2,7 @@
* translated by TestamenT
* testament@users.sourceforge.net
* https://sourceforge.net/projects/reactospl
* Update by Caemyr - Olaf Siejka (Apr, 2011)
*
*/
@ -33,7 +34,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "W³aœciwoœci"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Urz¹dzenie &miksuj¹ce", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -48,3 +49,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Anuluj", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Kana³ g³ówny", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balans", -1, 4, 35, 80, 42
LTEXT "G³oœnoœæ", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Wycisz", IDC_LINE_SWITCH, 4, 190, 90, 12
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -32,7 +32,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Propriedades"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Dispositivo de &mixagem:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -47,3 +47,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Cancelar", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -28,7 +28,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Ñâîéñòâà"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Ìèêøåð:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -43,3 +43,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Îòìåíà", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -30,7 +30,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Vlastnosti"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Zariadenie zmiešavaèa:", -1, 7,4,43,16
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -45,3 +45,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Zruši<C5A1>", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -46,7 +46,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Inställningar"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Mixerenhet:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -61,3 +61,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Avbryt", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -34,7 +34,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "¤Ø³ÊÁºÑµÔ"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "ÍØ»¡Ã³ì&»ÃѺáµè§àÊÕ§:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -49,3 +49,17 @@ BEGIN
PUSHBUTTON "µ¡Å§", IDOK, 114,226,50,14
PUSHBUTTON "¡àÅÔ¡", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -34,7 +34,7 @@ END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Âëàñòèâîñò³"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&̳êøåð:", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
@ -49,3 +49,17 @@ BEGIN
PUSHBUTTON "OK", IDOK, 114,226,50,14
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 168,226,50,14
END
IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15
CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1
LTEXT "Balance", -1, 4, 35, 80, 42
LTEXT "Volume", -1, 4, 100, 77, 108
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70
CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END

View file

@ -23,7 +23,8 @@
* FILE: subsys/system/sndvol32/misc.c
* PROGRAMMERS: Thomas Weidenmueller <w3seek@reactos.com>
*/
#include <sndvol32.h>
#include "sndvol32.h"
static INT
LengthOfStrResource(IN HINSTANCE hInst,
@ -125,13 +126,6 @@ LoadAndFormatString(IN HINSTANCE hInstance,
return Ret;
}
/* NOTE: do NOT modify SNDVOL_REG_LINESTATE for binary compatibility with XP! */
typedef struct _SNDVOL_REG_LINESTATE
{
DWORD Flags;
WCHAR LineName[MIXER_LONG_NAME_CHARS];
} SNDVOL_REG_LINESTATE, *PSNDVOL_REG_LINESTATE;
static const TCHAR AppRegSettings[] = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Volume Control");
static const TCHAR AppOptionsKey[] = TEXT("Options");
static const TCHAR LineStatesValue[] = TEXT("LineStates");
@ -163,6 +157,41 @@ CloseAppConfig(VOID)
}
}
BOOL
WriteLineConfig(IN LPTSTR szDeviceName,
IN LPTSTR szLineName,
IN PSNDVOL_REG_LINESTATE LineState,
IN DWORD cbSize)
{
HKEY hLineKey;
TCHAR szDevRegKey[MAX_PATH];
BOOL Ret = FALSE;
_stprintf(szDevRegKey,
TEXT("%s\\%s"),
szDeviceName,
szLineName);
if (RegCreateKeyEx(hAppSettingsKey,
szDevRegKey,
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_READ | KEY_WRITE,
NULL,
&hLineKey,
NULL) == ERROR_SUCCESS)
{
/* now update line states */
RegSetValueEx(hLineKey, LineStatesValue, 0, REG_BINARY, (const BYTE*)LineState, cbSize);
Ret = TRUE;
RegCloseKey(hLineKey);
}
return Ret;
}
BOOL
ReadLineConfig(IN LPTSTR szDeviceName,
IN LPTSTR szLineName,
@ -204,7 +233,7 @@ ReadLineConfig(IN LPTSTR szDeviceName,
}
LineStates = HeapAlloc(GetProcessHeap(),
0,
HEAP_ZERO_MEMORY,
Size);
if (LineStates != NULL)

View file

@ -23,7 +23,7 @@
* FILE: subsys/system/sndvol32/mixer.c
* PROGRAMMERS: Thomas Weidenmueller <w3seek@reactos.com>
*/
#include <sndvol32.h>
#include "sndvol32.h"
#define NO_MIXER_SELECTED ((UINT)(~0))
@ -107,7 +107,7 @@ SndMixerClose(PSND_MIXER Mixer)
}
}
static BOOL
BOOL
SndMixerQueryControls(PSND_MIXER Mixer,
PUINT DisplayControls,
LPMIXERLINE LineInfo,
@ -116,7 +116,7 @@ SndMixerQueryControls(PSND_MIXER Mixer,
if (LineInfo->cControls > 0)
{
*Controls = (MIXERCONTROL*) HeapAlloc(GetProcessHeap(),
0,
HEAP_ZERO_MEMORY,
LineInfo->cControls * sizeof(MIXERCONTROL));
if (*Controls != NULL)
{
@ -207,7 +207,7 @@ SndMixerQueryConnections(PSND_MIXER Mixer,
}
Con = (SND_MIXER_CONNECTION*) HeapAlloc(GetProcessHeap(),
0,
HEAP_ZERO_MEMORY,
sizeof(SND_MIXER_CONNECTION));
if (Con != NULL)
{
@ -469,6 +469,52 @@ SndMixerEnumProducts(PSND_MIXER Mixer,
return Ret;
}
INT
SndMixerSetVolumeControlDetails(PSND_MIXER Mixer, DWORD dwControlID, DWORD cbDetails, LPVOID paDetails)
{
MIXERCONTROLDETAILS MixerDetails;
if (Mixer->hmx)
{
MixerDetails.cbStruct = sizeof(MIXERCONTROLDETAILS);
MixerDetails.dwControlID = dwControlID;
MixerDetails.cChannels = 1; //FIXME
MixerDetails.cMultipleItems = 0;
MixerDetails.cbDetails = cbDetails;
MixerDetails.paDetails = paDetails;
if (mixerSetControlDetails((HMIXEROBJ)Mixer->hmx, &MixerDetails, MIXER_GETCONTROLDETAILSF_VALUE | MIXER_OBJECTF_HMIXER) == MMSYSERR_NOERROR)
{
return 1;
}
}
return -1;
}
INT
SndMixerGetVolumeControlDetails(PSND_MIXER Mixer, DWORD dwControlID, DWORD cbDetails, LPVOID paDetails)
{
MIXERCONTROLDETAILS MixerDetails;
if (Mixer->hmx)
{
MixerDetails.cbStruct = sizeof(MIXERCONTROLDETAILS);
MixerDetails.dwControlID = dwControlID;
MixerDetails.cChannels = 1; //FIXME
MixerDetails.cMultipleItems = 0;
MixerDetails.cbDetails = cbDetails;
MixerDetails.paDetails = paDetails;
if (mixerGetControlDetails((HMIXEROBJ)Mixer->hmx, &MixerDetails, MIXER_GETCONTROLDETAILSF_VALUE | MIXER_OBJECTF_HMIXER) == MMSYSERR_NOERROR)
{
return 1;
}
}
return -1;
}
INT
SndMixerGetDestinationCount(PSND_MIXER Mixer)
{

View file

@ -10,7 +10,7 @@
#define IDC_HELP_TOPICS 1101
#define IDC_ABOUT 1102
#define IDD_PREFERENCES 101
#define IDC_MIXERDEVICE 1001
#define IDC_PLAYBACK 1002
#define IDC_RECORDING 1003
@ -18,6 +18,14 @@
#define IDC_LINE 1005
#define IDC_LABELCONTROLS 1006
#define IDC_CONTROLS 1007
#define IDC_LINE_NAME 1008
#define IDC_LINE_SWITCH 1009
#define IDC_LINE_SLIDER_HORZ 1010
#define IDC_LINE_SLIDER_VERT 1011
#define IDC_LINE_SEP 1012
#define IDS_SNDVOL32 100
#define IDS_NOMIXERDEVICES 101
#define IDD_VOLUME_CTRL 200
#define IDD_PREFERENCES 201

View file

@ -23,13 +23,14 @@
* FILE: subsys/system/sndvol32/sndvol32.c
* PROGRAMMERS: Thomas Weidenmueller <w3seek@reactos.com>
*/
#include <sndvol32.h>
#include "sndvol32.h"
HINSTANCE hAppInstance;
ATOM MainWindowClass;
HWND hMainWnd;
HANDLE hAppHeap;
LPTSTR lpAppTitle;
PREFERENCES_CONTEXT Preferences;
#define GetDialogData(hwndDlg, type) \
( P##type )GetWindowLongPtr((hwndDlg), DWLP_USER)
@ -38,21 +39,7 @@ LPTSTR lpAppTitle;
/******************************************************************************/
typedef struct _PREFERENCES_CONTEXT
{
PMIXER_WINDOW MixerWindow;
PSND_MIXER Mixer;
HWND hwndDlg;
UINT Selected;
DWORD SelectedLine;
DWORD PlaybackID;
DWORD RecordingID;
UINT OtherLines;
TCHAR DeviceName[128];
DWORD tmp;
} PREFERENCES_CONTEXT, *PPREFERENCES_CONTEXT;
typedef struct _PREFERENCES_FILL_DEVICES
{
@ -212,7 +199,7 @@ PrefDlgAddConnection(PSND_MIXER Mixer,
PrefContext->SelectedLine,
LineName,
MIXER_LONG_NAME_CHARS,
FALSE) == -1)
TRUE) == -1)
{
LineName[0] = TEXT('\0');
}
@ -351,6 +338,69 @@ UpdatePrefDlgControls(PPREFERENCES_CONTEXT Context,
}
}
static
VOID
WriteLineSettings(PPREFERENCES_CONTEXT Context, HWND hwndDlg)
{
HWND hwndControls;
INT Count, Index;
WCHAR LineName[MIXER_LONG_NAME_CHARS];
WCHAR DestinationName[MIXER_LONG_NAME_CHARS];
DWORD Flags;
PSNDVOL_REG_LINESTATE LineStates;
/* get list view */
hwndControls = GetDlgItem(hwndDlg, IDC_CONTROLS);
/* get list item count */
Count = ListView_GetItemCount(hwndControls);
/* sanity check */
assert(Count);
if (SndMixerGetLineName(Context->Mixer, Context->SelectedLine, DestinationName, MIXER_LONG_NAME_CHARS, TRUE) == -1)
{
/* failed to get destination line name */
return;
}
/* allocate line states array */
LineStates = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(SNDVOL_REG_LINESTATE) * Count);
if (LineStates == NULL)
{
/* failed to allocate line states array */
return;
}
for(Index = 0; Index < Count; Index++)
{
/* set to empty */
LineName[0] = L'\0';
/* get item text */
ListView_GetItemText(hwndControls, Index, 0, LineName, MIXER_LONG_NAME_CHARS);
/* make sure it is null terminated */
LineName[MIXER_LONG_NAME_CHARS-1] = L'\0';
/* get check state */
Flags = (ListView_GetCheckState(hwndControls, Index) == 0 ? 0x4 : 0);
/* copy line name */
wcscpy(LineStates[Index].LineName, LineName);
/* store flags */
LineStates[Index].Flags = Flags;
}
/* now write the line config */
WriteLineConfig(Context->DeviceName, DestinationName, LineStates, sizeof(SNDVOL_REG_LINESTATE) * Count);
/* free line states */
HeapFree(GetProcessHeap(), 0, LineStates);
}
static INT_PTR CALLBACK
DlgPreferencesProc(HWND hwndDlg,
UINT uMsg,
@ -457,6 +507,12 @@ DlgPreferencesProc(HWND hwndDlg,
}
case IDOK:
{
/* write line settings */
WriteLineSettings(Context, hwndDlg);
/* fall through */
}
case IDCANCEL:
{
EndDialog(hwndDlg,
@ -467,18 +523,6 @@ DlgPreferencesProc(HWND hwndDlg,
break;
}
case MM_MIXM_LINE_CHANGE:
{
DPRINT("MM_MIXM_LINE_CHANGE\n");
break;
}
case MM_MIXM_CONTROL_CHANGE:
{
DPRINT("MM_MIXM_CONTROL_CHANGE\n");
break;
}
case WM_INITDIALOG:
{
PREFERENCES_FILL_DEVICES FillDevContext;
@ -520,21 +564,10 @@ DlgPreferencesProc(HWND hwndDlg,
/* update all controls */
UpdatePrefDlgControls(Context,
(DWORD)-1);
(DWORD)Context->SelectedLine);
return TRUE;
}
case WM_DESTROY:
{
Context = GetDialogData(hwndDlg,
PREFERENCES_CONTEXT);
if (Context->Mixer != NULL)
{
SndMixerDestroy(Context->Mixer);
}
break;
}
case WM_CLOSE:
{
EndDialog(hwndDlg,
@ -546,22 +579,183 @@ DlgPreferencesProc(HWND hwndDlg,
return 0;
}
/******************************************************************************/
static VOID
DeleteMixerWindowControls(PMIXER_WINDOW MixerWindow)
{
UNREFERENCED_PARAMETER(MixerWindow);
DWORD Index;
for(Index = 0; Index < MixerWindow->WindowCount; Index++)
{
/* destroys the window */
DestroyWindow(MixerWindow->Window[Index]);
}
/* free memory */
HeapFree(GetProcessHeap(), 0, MixerWindow->Window);
/* set to null */
MixerWindow->Window = NULL;
MixerWindow->WindowCount = 0;
}
static BOOL
RebuildMixerWindowControls(PMIXER_WINDOW MixerWindow)
RebuildMixerWindowControls(PPREFERENCES_CONTEXT PrefContext)
{
DeleteMixerWindowControls(MixerWindow);
/* delete existing mixer controls */
DeleteMixerWindowControls(PrefContext->MixerWindow);
/* load new mixer controls */
LoadDialogCtrls(PrefContext);
return TRUE;
}
static
BOOL
CALLBACK
SetVolumeCallback(PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Ctx)
{
UINT ControlCount = 0, Index;
LPMIXERCONTROL Control = NULL;
MIXERCONTROLDETAILS_UNSIGNED uDetails;
MIXERCONTROLDETAILS_BOOLEAN bDetails;
PSET_VOLUME_CONTEXT Context = (PSET_VOLUME_CONTEXT)Ctx;
/* check if the line name is equal */
if (wcsicmp(Line->szName, Context->LineName))
{
/* it is not */
return TRUE;
}
/* query controls */
if (SndMixerQueryControls(Mixer, &ControlCount, Line, &Control) == FALSE)
{
/* failed to query for controls */
return FALSE;
}
/* now go through all controls and compare control ids */
for(Index = 0; Index < ControlCount; Index++)
{
if (Context->bVertical)
{
if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_FADER)
{
/* FIXME: give me granularity */
DWORD Step = 0x10000 / 5;
/* set up details */
uDetails.dwValue = 0x10000 - Step * Context->SliderPos;
/* set volume */
SndMixerSetVolumeControlDetails(Preferences.MixerWindow->Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_UNSIGNED), (LPVOID)&uDetails);
/* done */
break;
}
}
else if (Context->bSwitch)
{
if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_SWITCH)
{
/* set up details */
bDetails.fValue = Context->SliderPos;
/* set volume */
SndMixerSetVolumeControlDetails(Preferences.MixerWindow->Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_BOOLEAN), (LPVOID)&bDetails);
/* done */
break;
}
}
else
{
/* FIXME: implement left - right channel switch support */
assert(0);
}
}
/* free controls */
HeapFree(GetProcessHeap(), 0, Control);
/* done */
return TRUE;
}
static
BOOL
CALLBACK
MixerControlChangeCallback(PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Context)
{
UINT ControlCount = 0, Index;
LPMIXERCONTROL Control = NULL;
/* check if the line has controls */
if (Line->cControls == 0)
{
/* no controls */
return TRUE;
}
/* query controls */
if (SndMixerQueryControls(Mixer, &ControlCount, Line, &Control) == FALSE)
{
/* failed to query for controls */
return FALSE;
}
/* now go through all controls and compare control ids */
for(Index = 0; Index < ControlCount; Index++)
{
if (Control[Index].dwControlID == PtrToUlong(Context))
{
if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_SWITCH)
{
MIXERCONTROLDETAILS_BOOLEAN Details;
/* get volume control details */
if (SndMixerGetVolumeControlDetails(Preferences.MixerWindow->Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_BOOLEAN), (LPVOID)&Details) != -1)
{
/* update dialog control */
UpdateDialogLineSwitchControl(&Preferences, Line, Details.fValue);
}
}
else if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_FADER)
{
MIXERCONTROLDETAILS_UNSIGNED Details;
/* get volume control details */
if (SndMixerGetVolumeControlDetails(Preferences.MixerWindow->Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_UNSIGNED), (LPVOID)&Details) != -1)
{
/* update dialog control */
DWORD Position;
DWORD Step = 0x10000 / 5;
/* FIXME: give me granularity */
Position = 5 - (Details.dwValue / Step);
/* update volume control slider */
UpdateDialogLineSliderControl(&Preferences, Line, Control[Index].dwControlID, IDC_LINE_SLIDER_VERT, Position);
}
}
break;
}
}
/* free controls */
HeapFree(GetProcessHeap(), 0, Control);
/* done */
return TRUE;
}
static LRESULT CALLBACK
MainWindowProc(HWND hwnd,
UINT uMsg,
@ -569,7 +763,9 @@ MainWindowProc(HWND hwnd,
LPARAM lParam)
{
PMIXER_WINDOW MixerWindow;
DWORD CtrlID, LineOffset;
LRESULT Result = 0;
SET_VOLUME_CONTEXT Context;
switch (uMsg)
{
@ -582,18 +778,64 @@ MainWindowProc(HWND hwnd,
{
case IDC_PROPERTIES:
{
PREFERENCES_CONTEXT Preferences;
PREFERENCES_CONTEXT Pref;
Preferences.MixerWindow = MixerWindow;
Preferences.Mixer = NULL;
Pref.MixerWindow = MixerWindow;
Pref.Mixer = NULL;
Pref.SelectedLine = Preferences.SelectedLine;
if (DialogBoxParam(hAppInstance,
MAKEINTRESOURCE(IDD_PREFERENCES),
hwnd,
DlgPreferencesProc,
(LPARAM)&Preferences) == IDOK)
(LPARAM)&Pref) == IDOK)
{
/* FIXME - update window */
/* update window */
TCHAR szProduct[MAXPNAMELEN];
/* get mixer product name */
if (SndMixerGetProductName(MixerWindow->Mixer,
szProduct,
sizeof(szProduct) / sizeof(szProduct[0])) == -1)
{
/* failed to get name */
szProduct[0] = L'\0';
}
else
{
/* copy product */
wcscpy(Preferences.DeviceName, szProduct);
}
/* destroy old status bar */
DestroyWindow(MixerWindow->hStatusBar);
/* update details */
Preferences.SelectedLine = Pref.SelectedLine;
/* destroy old mixer */
SndMixerDestroy(Preferences.MixerWindow->Mixer);
/* use new selected mixer */
Preferences.MixerWindow->Mixer = Pref.Mixer;
/* rebuild dialog controls */
RebuildMixerWindowControls(&Preferences);
/* create status window */
MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS,
NULL,
hwnd,
0);
/* set status bar */
if (MixerWindow->hStatusBar)
{
SendMessage(MixerWindow->hStatusBar,
WM_SETTEXT,
0,
(LPARAM)szProduct);
}
}
break;
}
@ -614,6 +856,35 @@ MainWindowProc(HWND hwnd,
hAppIcon);
break;
}
default:
{
/* get button id */
CtrlID = LOWORD(wParam);
/* check if the message is from the line switch */
if (HIWORD(wParam) == BN_CLICKED && (CtrlID % IDC_LINE_SWITCH == 0))
{
/* compute line offset */
LineOffset = CtrlID / IDC_LINE_SWITCH;
/* compute window id of line name static control */
CtrlID = LineOffset * IDC_LINE_NAME;
/* get line name */
if (GetDlgItemTextW(hwnd, CtrlID, Context.LineName, MIXER_LONG_NAME_CHARS) != 0)
{
/* setup context */
Context.SliderPos = SendMessage((HWND)lParam, BM_GETCHECK, 0, 0);
Context.bVertical = FALSE;
Context.bSwitch = TRUE;
/* set volume */
SndMixerEnumConnections(Preferences.MixerWindow->Mixer, Preferences.SelectedLine, SetVolumeCallback, (LPVOID)&Context);
}
}
}
}
break;
}
@ -627,9 +898,49 @@ MainWindowProc(HWND hwnd,
case MM_MIXM_CONTROL_CHANGE:
{
DPRINT("MM_MIXM_CONTROL_CHANGE\n");
/* get mixer window */
MixerWindow = GetWindowData(hwnd,
MIXER_WINDOW);
/* sanity checks */
assert(MixerWindow);
assert(MixerWindow->Mixer->hmx == (HMIXER)wParam);
SndMixerEnumConnections(MixerWindow->Mixer, Preferences.SelectedLine, MixerControlChangeCallback, (PVOID)lParam);
break;
}
case WM_VSCROLL:
{
if (LOWORD(wParam) == TB_THUMBTRACK)
{
/* get dialog item ctrl */
CtrlID = GetDlgCtrlID((HWND)lParam);
/* get line index */
LineOffset = CtrlID / IDC_LINE_SLIDER_VERT;
/* compute window id of line name static control */
CtrlID = LineOffset * IDC_LINE_NAME;
/* get line name */
if (GetDlgItemTextW(hwnd, CtrlID, Context.LineName, MIXER_LONG_NAME_CHARS) != 0)
{
/* setup context */
Context.SliderPos = HIWORD(wParam);
Context.bVertical = TRUE;
Context.bSwitch = FALSE;
/* set volume */
SndMixerEnumConnections(Preferences.MixerWindow->Mixer, Preferences.SelectedLine, SetVolumeCallback, (LPVOID)&Context);
}
}
break;
}
case WM_CREATE:
{
MixerWindow = ((LPCREATESTRUCT)lParam)->lpCreateParams;
@ -637,44 +948,56 @@ MainWindowProc(HWND hwnd,
GWL_USERDATA,
(LONG_PTR)MixerWindow);
MixerWindow->hWnd = hwnd;
MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS,
NULL,
hwnd,
0);
if (MixerWindow->hStatusBar != NULL)
MixerWindow->Mixer = SndMixerCreate(MixerWindow->hWnd);
if (MixerWindow->Mixer != NULL)
{
MixerWindow->Mixer = SndMixerCreate(MixerWindow->hWnd);
if (MixerWindow->Mixer != NULL)
TCHAR szProduct[MAXPNAMELEN];
/* get mixer product name */
if (SndMixerGetProductName(MixerWindow->Mixer,
szProduct,
sizeof(szProduct) / sizeof(szProduct[0])) == -1)
{
TCHAR szProduct[MAXPNAMELEN];
if (SndMixerGetProductName(MixerWindow->Mixer,
szProduct,
sizeof(szProduct) / sizeof(szProduct[0])) > 0)
{
SendMessage(MixerWindow->hStatusBar,
WM_SETTEXT,
0,
(LPARAM)szProduct);
}
if (!RebuildMixerWindowControls(MixerWindow))
{
DPRINT("Rebuilding mixer window controls failed!\n");
SndMixerDestroy(MixerWindow->Mixer);
MixerWindow->Mixer = NULL;
Result = -1;
}
/* failed to get name */
szProduct[0] = L'\0';
}
else
/* initialize perferences */
ZeroMemory(&Preferences, sizeof(Preferences));
/* store mixer */
Preferences.Mixer = MixerWindow->Mixer;
/* store mixer window */
Preferences.MixerWindow = MixerWindow;
/* first destination line id */
Preferences.SelectedLine = 0xFFFF0000;
/* copy product */
wcscpy(Preferences.DeviceName, szProduct);
if (!RebuildMixerWindowControls(&Preferences))
{
DPRINT("Rebuilding mixer window controls failed!\n");
SndMixerDestroy(MixerWindow->Mixer);
MixerWindow->Mixer = NULL;
Result = -1;
}
}
else
{
DPRINT("Failed to create status window!\n");
Result = -1;
/* create status window */
MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS,
NULL,
hwnd,
0);
if (MixerWindow->hStatusBar)
{
SendMessage(MixerWindow->hStatusBar,
WM_SETTEXT,
0,
(LPARAM)szProduct);
}
}
break;
}
@ -746,7 +1069,7 @@ CreateApplicationWindow(VOID)
HWND hWnd;
PMIXER_WINDOW MixerWindow = HeapAlloc(hAppHeap,
0,
HEAP_ZERO_MEMORY,
sizeof(MIXER_WINDOW));
if (MixerWindow == NULL)
{
@ -758,8 +1081,8 @@ CreateApplicationWindow(VOID)
hWnd = CreateWindowEx(WS_EX_WINDOWEDGE | WS_EX_CONTROLPARENT,
SZ_APP_CLASS,
lpAppTitle,
WS_DLGFRAME | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
WS_DLGFRAME | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE,
0, 0, 300, 315,
NULL,
LoadMenu(hAppInstance,
MAKEINTRESOURCE(IDM_MAINMENU)),
@ -805,6 +1128,7 @@ _tWinMain(HINSTANCE hInstance,
{
MSG Msg;
int Ret = 1;
INITCOMMONCONTROLSEX Controls;
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpszCmdLine);
@ -823,7 +1147,10 @@ _tWinMain(HINSTANCE hInstance,
lpAppTitle = NULL;
}
InitCommonControls();
Controls.dwSize = sizeof(INITCOMMONCONTROLSEX);
Controls.dwICC = ICC_BAR_CLASSES | ICC_STANDARD_CLASSES;
InitCommonControlsEx(&Controls);
if (RegisterApplicationClasses())
{

View file

@ -9,6 +9,7 @@
#include <tchar.h>
#include <string.h>
#include "resources.h"
#include <assert.h>
typedef struct _MIXER_WINDOW
{
@ -16,6 +17,10 @@ typedef struct _MIXER_WINDOW
HWND hStatusBar;
struct _SND_MIXER *Mixer;
UINT SelectedLine;
UINT WindowCount;
HWND * Window;
} MIXER_WINDOW, *PMIXER_WINDOW;
extern HINSTANCE hAppInstance;
@ -61,6 +66,40 @@ typedef struct _SND_MIXER
PSND_MIXER_DESTINATION Lines;
} SND_MIXER, *PSND_MIXER;
typedef struct _PREFERENCES_CONTEXT
{
PMIXER_WINDOW MixerWindow;
PSND_MIXER Mixer;
HWND hwndDlg;
UINT Selected;
DWORD SelectedLine;
DWORD PlaybackID;
DWORD RecordingID;
UINT OtherLines;
TCHAR DeviceName[128];
DWORD Count;
DWORD tmp;
} PREFERENCES_CONTEXT, *PPREFERENCES_CONTEXT;
typedef struct
{
WCHAR LineName[MIXER_LONG_NAME_CHARS];
UINT SliderPos;
BOOL bVertical;
BOOL bSwitch;
}SET_VOLUME_CONTEXT, *PSET_VOLUME_CONTEXT;
/* NOTE: do NOT modify SNDVOL_REG_LINESTATE for binary compatibility with XP! */
typedef struct _SNDVOL_REG_LINESTATE
{
DWORD Flags;
WCHAR LineName[MIXER_LONG_NAME_CHARS];
} SNDVOL_REG_LINESTATE, *PSNDVOL_REG_LINESTATE;
typedef BOOL (CALLBACK *PFNSNDMIXENUMLINES)(PSND_MIXER Mixer, LPMIXERLINE Line, UINT DisplayControls, PVOID Context);
typedef BOOL (CALLBACK *PFNSNDMIXENUMCONNECTIONS)(PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Context);
typedef BOOL (CALLBACK *PFNSNDMIXENUMPRODUCTS)(PSND_MIXER Mixer, UINT Id, LPCTSTR ProductName, PVOID Context);
@ -70,6 +109,8 @@ VOID SndMixerDestroy(PSND_MIXER Mixer);
VOID SndMixerClose(PSND_MIXER Mixer);
BOOL SndMixerSelect(PSND_MIXER Mixer, UINT MixerId);
UINT SndMixerGetSelection(PSND_MIXER Mixer);
INT SndMixerSetVolumeControlDetails(PSND_MIXER Mixer, DWORD dwControlID, DWORD cbDetails, LPVOID paDetails);
INT SndMixerGetVolumeControlDetails(PSND_MIXER Mixer, DWORD dwControlID, DWORD cbDetails, LPVOID paDetails);
INT SndMixerGetProductName(PSND_MIXER Mixer, LPTSTR lpBuffer, UINT uSize);
INT SndMixerGetLineName(PSND_MIXER Mixer, DWORD LineID, LPTSTR lpBuffer, UINT uSize, BOOL LongName);
BOOL SndMixerEnumProducts(PSND_MIXER Mixer, PFNSNDMIXENUMPRODUCTS EnumProc, PVOID Context);
@ -77,6 +118,14 @@ INT SndMixerGetDestinationCount(PSND_MIXER Mixer);
BOOL SndMixerEnumLines(PSND_MIXER Mixer, PFNSNDMIXENUMLINES EnumProc, PVOID Context);
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);
/*
* dialog.c
*/
VOID LoadDialogCtrls(PPREFERENCES_CONTEXT PrefContext);
VOID UpdateDialogLineSliderControl(PPREFERENCES_CONTEXT PrefContext, LPMIXERLINE Line, DWORD dwControlID, DWORD DialogID, DWORD Position);
VOID UpdateDialogLineSwitchControl(PPREFERENCES_CONTEXT PrefContext, LPMIXERLINE Line, LONG fValue);
/*
* MISC
@ -107,4 +156,10 @@ ReadLineConfig(IN LPTSTR szDeviceName,
IN LPTSTR szControlName,
OUT DWORD *Flags);
BOOL
WriteLineConfig(IN LPTSTR szDeviceName,
IN LPTSTR szLineName,
IN PSNDVOL_REG_LINESTATE LineState,
IN DWORD cbSize);
#endif /* __SNDVOL32_H */