[0.4.9][SNDREC32] Fast-Forward to 0.4.15-dev-3294-ge98684e state (CORE-17815 and several PRs)

My main motivation was a fix for the bug
CORE-17815 'Fix incorrect opaque text rendering' (#2760)
which was unhidden by 0.4.12-dev-824-g d57f7becc3 .
That specific and most important fix
was picked from 0.4.15-dev-190-g d839e3d9b4
We left out the additional WIN32SS-hardening in this context in the backport to older
releases for now.

Then I looked further in sndrec32 and compared each file of that module on master
head with both: current 0.4.14RC and also current 0.4.7rls and found the rare
situation that I liked each and every change within since 2017.
Specifically this will also backport (#2754), and various translation PRs, whitespace-cleanup,
and (for older releases than 0.4.14RC) it will also bring some x64-improvements.

So I decided to take everything from current master head except the changes in CMakeLists.txt
because that subset is applicable and a win for all ros releases down to 0.4.7.
This commit is contained in:
Joachim Henze 2022-01-17 22:41:21 +01:00
parent 4afd163aee
commit 8900a74e2c
26 changed files with 115 additions and 338 deletions

View file

@ -12,7 +12,7 @@ _AUDIO_NAMESPACE_START_
/* Protected Functions */ /* Protected Functions */
void void
audio_membuffer::alloc_mem_(unsigned int bytes) audio_membuffer::alloc_mem_(unsigned int bytes)
{ {
/* Some checking */ /* Some checking */
@ -79,7 +79,7 @@ audio_membuffer::resize_mem_(unsigned int new_size)
buffer_resized(new_size); buffer_resized(new_size);
} }
void void
audio_membuffer::truncate_(void) audio_membuffer::truncate_(void)
{ {
/* If `buf_size' is already = to the `bytes_received' of audio data, /* If `buf_size' is already = to the `bytes_received' of audio data,
@ -113,7 +113,7 @@ audio_membuffer::clear(void)
bytes_received = 0; bytes_received = 0;
} }
void void
audio_membuffer::reset(void) audio_membuffer::reset(void)
{ {
/* Frees memory and reset to initial state */ /* Frees memory and reset to initial state */
@ -122,37 +122,37 @@ audio_membuffer::reset(void)
alloc_mem_(init_size); alloc_mem_(init_size);
} }
void void
audio_membuffer::alloc_bytes(unsigned int bytes) audio_membuffer::alloc_bytes(unsigned int bytes)
{ {
alloc_mem_(bytes); alloc_mem_(bytes);
} }
void void
audio_membuffer::alloc_seconds(unsigned int secs) audio_membuffer::alloc_seconds(unsigned int secs)
{ {
alloc_mem_(aud_info.byte_rate() * secs); alloc_mem_(aud_info.byte_rate() * secs);
} }
void void
audio_membuffer::alloc_seconds(float secs) audio_membuffer::alloc_seconds(float secs)
{ {
alloc_mem_((unsigned int)((float)aud_info.byte_rate() * secs)); alloc_mem_((unsigned int)((float)aud_info.byte_rate() * secs));
} }
void void
audio_membuffer::resize_bytes(unsigned int bytes) audio_membuffer::resize_bytes(unsigned int bytes)
{ {
resize_mem_(bytes); resize_mem_(bytes);
} }
void void
audio_membuffer::resize_seconds(unsigned int secs) audio_membuffer::resize_seconds(unsigned int secs)
{ {
resize_mem_(aud_info.byte_rate() * secs); resize_mem_(aud_info.byte_rate() * secs);
} }
void void
audio_membuffer::resize_seconds(float secs) audio_membuffer::resize_seconds(float secs)
{ {
resize_mem_((unsigned int)((float)aud_info.byte_rate() * secs)); resize_mem_((unsigned int)((float)aud_info.byte_rate() * secs));
@ -160,7 +160,7 @@ audio_membuffer::resize_seconds(float secs)
/* Inherited Functions */ /* Inherited Functions */
void void
audio_membuffer::audio_receive(unsigned char *data, unsigned int size) audio_membuffer::audio_receive(unsigned char *data, unsigned int size)
{ {
/* If there isn't a buffer, allocs memory for it of size*2, and copies audio data arrival */ /* If there isn't a buffer, allocs memory for it of size*2, and copies audio data arrival */
@ -196,7 +196,7 @@ audio_membuffer::audio_receive(unsigned char *data, unsigned int size)
audio_arrival(aud_info.samples_in_bytes(size)); audio_arrival(aud_info.samples_in_bytes(size));
} }
unsigned int unsigned int
audio_membuffer::read(BYTE *out_buf, unsigned int bytes) audio_membuffer::read(BYTE *out_buf, unsigned int bytes)
{ {
/* Some checking */ /* Some checking */

View file

@ -25,7 +25,7 @@ audio_resampler_acm::init_(void)
wformat_src.cbSize = sizeof(WAVEFORMATEX); wformat_src.cbSize = sizeof(WAVEFORMATEX);
wformat_dst.cbSize = sizeof(WAVEFORMATEX); wformat_dst.cbSize = sizeof(WAVEFORMATEX);
/* Setting WAVEFORMATEX structure parameters /* Setting WAVEFORMATEX structure parameters
according to `audio_format' in/out classes */ according to `audio_format' in/out classes */
wformat_src.wFormatTag = WAVE_FORMAT_PCM; wformat_src.wFormatTag = WAVE_FORMAT_PCM;
@ -189,7 +189,7 @@ audio_resampler_acm::close(void)
/* ACM sream successfully closed */ /* ACM sream successfully closed */
} }
void void
audio_resampler_acm::audio_receive(unsigned char *data, unsigned int size) audio_resampler_acm::audio_receive(unsigned char *data, unsigned int size)
{ {
MMRESULT err; MMRESULT err;

View file

@ -50,7 +50,7 @@ audio_wavein::alloc_buffers_mem_(unsigned int buffs, float secs)
mb_size = tot_size; mb_size = tot_size;
} }
void void
audio_wavein::free_buffers_mem_(void) audio_wavein::free_buffers_mem_(void)
{ {
/* Frees memory */ /* Frees memory */
@ -65,7 +65,7 @@ audio_wavein::free_buffers_mem_(void)
wave_headers = 0; wave_headers = 0;
} }
void void
audio_wavein::init_headers_(void) audio_wavein::init_headers_(void)
{ {
/* If there is no memory for memory or headers, simply return */ /* If there is no memory for memory or headers, simply return */
@ -85,7 +85,7 @@ audio_wavein::init_headers_(void)
} }
} }
void void
audio_wavein::prep_headers_(void) audio_wavein::prep_headers_(void)
{ {
MMRESULT err; MMRESULT err;
@ -108,7 +108,7 @@ audio_wavein::prep_headers_(void)
MessageBox(0, TEXT("waveInPrepareHeader Error."), 0, 0); MessageBox(0, TEXT("waveInPrepareHeader Error."), 0, 0);
} }
void void
audio_wavein::unprep_headers_(void) audio_wavein::unprep_headers_(void)
{ {
MMRESULT err; MMRESULT err;
@ -131,7 +131,7 @@ audio_wavein::unprep_headers_(void)
MessageBox(0, TEXT("waveInUnPrepareHeader Error."), 0, 0); MessageBox(0, TEXT("waveInUnPrepareHeader Error."), 0, 0);
} }
void void
audio_wavein::add_buffers_to_driver_(void) audio_wavein::add_buffers_to_driver_(void)
{ {
MMRESULT err; MMRESULT err;
@ -155,7 +155,7 @@ audio_wavein::add_buffers_to_driver_(void)
} }
void void
audio_wavein::close(void) audio_wavein::close(void)
{ {
/* If wavein object is already in the status NOTREADY, nothing to do */ /* If wavein object is already in the status NOTREADY, nothing to do */
if (status == WAVEIN_NOTREADY) if (status == WAVEIN_NOTREADY)
@ -340,7 +340,7 @@ audio_wavein::stop_recording(void)
status = WAVEIN_STOP; status = WAVEIN_STOP;
} }
DWORD WINAPI DWORD WINAPI
audio_wavein::recording_procedure(LPVOID arg) audio_wavein::recording_procedure(LPVOID arg)
{ {
MSG msg; MSG msg;

View file

@ -123,7 +123,7 @@ class audio_wavein
return; return;
/* Set seconds length for each buffer */ /* Set seconds length for each buffer */
buf_secs = bsecs; buf_secs = bsecs;
} }
unsigned int total_buffers(void) const unsigned int total_buffers(void) const
@ -181,7 +181,7 @@ class audio_wavein
svalue = (unsigned int)abs(*((short *)(main_buffer + aud_info.bytes_in_samples(nsamp)))); svalue = (unsigned int)abs(*((short *)(main_buffer + aud_info.bytes_in_samples(nsamp))));
else if (aud_info.bits() == 8) else if (aud_info.bits() == 8)
svalue = (unsigned int)((ptrdiff_t) *(main_buffer + aud_info.bytes_in_samples(nsamp))); svalue = (unsigned int)((ptrdiff_t) *(main_buffer + aud_info.bytes_in_samples(nsamp)));
else else
svalue = 0; svalue = 0;
return svalue; return svalue;

View file

@ -22,7 +22,7 @@ audio_waveout::init_(void)
status = WAVEOUT_NOTREADY; status = WAVEOUT_NOTREADY;
} }
void void
audio_waveout::alloc_buffers_mem_(unsigned int buffs, float secs) audio_waveout::alloc_buffers_mem_(unsigned int buffs, float secs)
{ {
unsigned int onebuf_size = 0, tot_size = 0; unsigned int onebuf_size = 0, tot_size = 0;
@ -35,7 +35,7 @@ audio_waveout::alloc_buffers_mem_(unsigned int buffs, float secs)
delete[] wave_headers; delete[] wave_headers;
/* Calcs size of the buffers */ /* Calcs size of the buffers */
onebuf_size = (unsigned int)((float)aud_info.byte_rate() * secs); onebuf_size = (unsigned int)((float)aud_info.byte_rate() * secs);
tot_size = onebuf_size * buffs; tot_size = onebuf_size * buffs;
/* Allocs memory for the audio buffers */ /* Allocs memory for the audio buffers */
main_buffer = new BYTE[tot_size]; main_buffer = new BYTE[tot_size];
@ -48,7 +48,7 @@ audio_waveout::alloc_buffers_mem_(unsigned int buffs, float secs)
mb_size = tot_size; mb_size = tot_size;
} }
void void
audio_waveout::init_headers_(void) audio_waveout::init_headers_(void)
{ {
/* If there is no memory for memory or headers, simply return */ /* If there is no memory for memory or headers, simply return */
@ -80,7 +80,7 @@ audio_waveout::init_headers_(void)
} }
} }
void void
audio_waveout::prep_headers_(void) audio_waveout::prep_headers_(void)
{ {
MMRESULT err; MMRESULT err;
@ -105,7 +105,7 @@ audio_waveout::prep_headers_(void)
} }
} }
void void
audio_waveout::unprep_headers_(void) audio_waveout::unprep_headers_(void)
{ {
MMRESULT err; MMRESULT err;
@ -130,7 +130,7 @@ audio_waveout::unprep_headers_(void)
} }
} }
void void
audio_waveout::free_buffers_mem_(void) audio_waveout::free_buffers_mem_(void)
{ {
/* Frees memory */ /* Frees memory */
@ -144,7 +144,7 @@ audio_waveout::free_buffers_mem_(void)
wave_headers = 0; wave_headers = 0;
} }
void void
audio_waveout::open(void) audio_waveout::open(void)
{ {
MMRESULT err; MMRESULT err;
@ -214,7 +214,7 @@ audio_waveout::open(void)
status = WAVEOUT_READY; status = WAVEOUT_READY;
} }
void void
audio_waveout::play(void) audio_waveout::play(void)
{ {
MMRESULT err; MMRESULT err;
@ -268,7 +268,7 @@ audio_waveout::play(void)
} }
} }
void void
audio_waveout::pause(void) audio_waveout::pause(void)
{ {
MMRESULT err; MMRESULT err;
@ -288,7 +288,7 @@ audio_waveout::pause(void)
} }
} }
void void
audio_waveout::stop(void) audio_waveout::stop(void)
{ {
MMRESULT err; MMRESULT err;
@ -344,7 +344,7 @@ audio_waveout::close(void)
free_buffers_mem_(); free_buffers_mem_();
} }
DWORD WINAPI DWORD WINAPI
audio_waveout::playing_procedure(LPVOID arg) audio_waveout::playing_procedure(LPVOID arg)
{ {
MSG msg; MSG msg;

View file

@ -117,7 +117,7 @@ class audio_waveout
return (unsigned int)65535; return (unsigned int)65535;
else if (aud_info.bits() == 8) else if (aud_info.bits() == 8)
return (unsigned int)255; return (unsigned int)255;
else else
return 0; return 0;
} }
@ -134,7 +134,7 @@ class audio_waveout
svalue = (unsigned int)abs(*((short *)(main_buffer + aud_info.bytes_in_samples(nsamp)))); svalue = (unsigned int)abs(*((short *)(main_buffer + aud_info.bytes_in_samples(nsamp))));
else if (aud_info.bits() == 8) else if (aud_info.bits() == 8)
svalue = (unsigned int)((ptrdiff_t) *(main_buffer + aud_info.bytes_in_samples(nsamp))); svalue = (unsigned int)((ptrdiff_t) *(main_buffer + aud_info.bytes_in_samples(nsamp)));
else else
svalue = 0; svalue = 0;
return svalue; return svalue;

View file

@ -11,17 +11,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Záznam zvuku"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 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, 56, 25, 114, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "Soubor" POPUP "Soubor"

View file

@ -6,17 +6,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Information zum Audiorecorder"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "ReactOS Audiorecorder, Version 1.0", IDC_STATIC, 56, 16, 134, 8, SS_NOPREFIX
LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 134, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "&Datei" POPUP "&Datei"

View file

@ -6,17 +6,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Information about ReactOS Sound Recorder"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "ReactOS Sound Recorder, version 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "&File" POPUP "&File"

View file

@ -9,17 +9,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Acerca de la Grabadora de sonidos de ReactOS"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "Grabadora de sonidos de ReactOS, versión 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "Aceptar", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "&Archivo" POPUP "&Archivo"

View file

@ -6,58 +6,47 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Information à propos de l'Enregistreur de Son ReactOS"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "Enregistreur de Son ReactOS, version 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "Accepter", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "Fichier" POPUP "&Fichier"
BEGIN BEGIN
MENUITEM "Nouveau", ID_FILE_NEW MENUITEM "&Nouveau", ID_FILE_NEW
MENUITEM "Ouvrir...", ID_FILE_OPEN MENUITEM "&Ouvrir...", ID_FILE_OPEN
MENUITEM "Enregistrer", ID_FILE_SAVE, GRAYED MENUITEM "&Enregistrer", ID_FILE_SAVE, GRAYED
MENUITEM "Enregistrer sous...", ID_FILE_SAVEAS, GRAYED MENUITEM "Enregistrer &sous...", ID_FILE_SAVEAS, GRAYED
MENUITEM "Restorer...", ID_FILE_RESTORE, GRAYED MENUITEM "&Restaurer...", ID_FILE_RESTORE, GRAYED
MENUITEM "Propriétés", ID_FILE_PROPERTIES MENUITEM "&Propriétés", ID_FILE_PROPERTIES
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Sortir", ID_FILE_EXIT MENUITEM "&Quitter", ID_FILE_EXIT
END END
POPUP "&Edition" POPUP "&Edition"
BEGIN BEGIN
MENUITEM "&Copie", ID_EDIT_COPY MENUITEM "&Copier", ID_EDIT_COPY
MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED MENUITEM "Coller &Insérer", ID_EDIT_PASTE, GRAYED
MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED MENUITEM "Coller &Mélanger", ID_EDIT_PASTEMIX, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Insérer un fichier...", ID_EDIT_INSERTFILE MENUITEM "Insérer un &fichier...", ID_EDIT_INSERTFILE
MENUITEM "&Mix with File...", ID_EDIT_MIXFILE MENUITEM "Mé&langer avec un fichier...", ID_EDIT_MIXFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED MENUITEM "Supprimer &avant la position actuelle",ID_EDIT_DELETEBEFORE, GRAYED
MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED MENUITEM "Supprimer a&près la position actuelle",ID_EDIT_DELETEAFTER, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Propriétés A&udio", ID_EDIT_AUDIOPROPS MENUITEM "Propriétés A&udio", ID_EDIT_AUDIOPROPS
END END
POPUP "Effet&s" POPUP "Effet&s"
BEGIN BEGIN
MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL MENUITEM "&Augmenter le volume (de 25%)", ID_EFFECTS_INCVOL
MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL MENUITEM "&Réduire le volume", ID_EFFECTS_DECVOL
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD MENUITEM "Aug&menter la vitesse (de 100%)", ID_EFFECTS_INCSPD
MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD MENUITEM "Réd&uire la vitesse", ID_EFFECTS_DECSPD
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Add Echo", ID_EFFECTS_ECHO MENUITEM "Aj&outer de l'écho", ID_EFFECTS_ECHO
MENUITEM "&Reverse", ID_EFFECTS_REVERSE MENUITEM "&Inverser", ID_EFFECTS_REVERSE
END END
POPUP "?" POPUP "&?"
BEGIN BEGIN
MENUITEM "À propos", ID_ABOUT MENUITEM "À &propos", ID_ABOUT
END END
END END
@ -71,7 +60,7 @@ STRINGTABLE
BEGIN BEGIN
IDS_STRPOS "Position: %.2f s" IDS_STRPOS "Position: %.2f s"
IDS_STRDUR "Durée : %.2f s" IDS_STRDUR "Durée : %.2f s"
IDS_STRBUF "Buffer: %.2f kb" IDS_STRBUF "Buffer: %.2f Ko"
IDS_STRFMT "%.1f kHz %u bits" IDS_STRFMT "%.1f kHz %u bits"
IDS_STRMONO "mono" IDS_STRMONO "mono"
IDS_STRSTEREO "stéréo" IDS_STRSTEREO "stéréo"

View file

@ -6,18 +6,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "אודות הרשמקול של ReactOS"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "רשמקול של ReactOS גרסה 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "זכויות יוצרים (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "אישור", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "קובץ" POPUP "קובץ"

View file

@ -6,17 +6,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Informazioni su ReactOS Registratore Audio"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "ReactOS Registratore Audio, versione 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "File" POPUP "File"

View file

@ -6,17 +6,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "サウンド レコーダ に関する情報"
FONT 9, "MS UI Gothic", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "サウンド レコーダ, バージョン 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "ファイル" POPUP "ファイル"

View file

@ -15,17 +15,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Informacje o Rejestratorze Dźwięku ReactOS"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "Rejestrator Dźwięku ReactOS, wersja 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Prawa autorskie (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "Plik" POPUP "Plik"

View file

@ -1,9 +1,5 @@
/* /* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
* FILE: base/applications/sndrec32/lang/ro-RO.rc
* ReactOS Project (http://www.reactos.org)
* TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md)
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
IDC_REACTOS_SNDREC32 ACCELERATORS IDC_REACTOS_SNDREC32 ACCELERATORS
@ -12,17 +8,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Despre Înregistratorul audio"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "Înregistrator audio, versiunea 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Drept de autor (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "Î&nchide", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "&Fișier" POPUP "&Fișier"

View file

@ -6,17 +6,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Информация о программе ""Звукозапись для ReactOS"""
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "Звукозапись для ReactOS, версия 1.0", IDC_STATIC, 56, 16, 134, 8, SS_NOPREFIX
LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "&Файл" POPUP "&Файл"

View file

@ -11,17 +11,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Čo je reactOS_sndrec32"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "reactOS_sndrec32, verzia 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Autorské práva (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "&Súbor" POPUP "&Súbor"

View file

@ -1,4 +1,4 @@
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com) /* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
* DATE OF TR: 29-11-2013 * DATE OF TR: 29-11-2013
*/ */
@ -10,17 +10,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Informacione rreth ReactOS rregjistruesi i zerit"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "ReactOS Rregjistruesi i Zerit, versioni 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "T'drejtat (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "File" POPUP "File"

View file

@ -8,17 +8,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Information om ReactOS_sndrec32"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "ReactOS_sndrec32, version 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "Arkiv" POPUP "Arkiv"

View file

@ -1,4 +1,4 @@
/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */ /* TRANSLATOR: 2013-2014, 2019 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
@ -8,58 +8,47 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Ses Kaydedicisi Üzerine"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "Ses Kaydedicisi: Sürüm 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Tekif Hakkı - 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "Tamam", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "&Kütük" POPUP "&Dosya"
BEGIN BEGIN
MENUITEM "&Yeni", ID_FILE_NEW MENUITEM "&Yeni", ID_FILE_NEW
MENUITEM "&Aç...", ID_FILE_OPEN MENUITEM "&Aç...", ID_FILE_OPEN
MENUITEM "&Sakla", ID_FILE_SAVE, GRAYED MENUITEM "&Kaydet", ID_FILE_SAVE, GRAYED
MENUITEM "Ay&rı Sakla...", ID_FILE_SAVEAS, GRAYED MENUITEM "&Farklı Kaydet...", ID_FILE_SAVEAS, GRAYED
MENUITEM "Y&eniden Yükle...", ID_FILE_RESTORE, GRAYED MENUITEM "Y&eniden Yükle...", ID_FILE_RESTORE, GRAYED
MENUITEM "&Husûsiyetler", ID_FILE_PROPERTIES MENUITEM "&Özellikler", ID_FILE_PROPERTIES
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Çıkış", ID_FILE_EXIT MENUITEM "Ç&ıkış", ID_FILE_EXIT
END END
POPUP "&Düzen" POPUP "D&üzen"
BEGIN BEGIN
MENUITEM "&Çoğalt", ID_EDIT_COPY MENUITEM "&Kopyala", ID_EDIT_COPY
MENUITEM "&Ekleyerek Yapıştır", ID_EDIT_PASTE, GRAYED MENUITEM "&Ekleyerek Yapıştır", ID_EDIT_PASTE, GRAYED
MENUITEM "&Karıştırarak Yapıştır", ID_EDIT_PASTEMIX, GRAYED MENUITEM "K&arıştırarak Yapıştır", ID_EDIT_PASTEMIX, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "K&ütük Ekle...", ID_EDIT_INSERTFILE MENUITEM "&Dosya Ekle...", ID_EDIT_INSERTFILE
MENUITEM "Kü&tükle Karıştır...", ID_EDIT_MIXFILE MENUITEM "D&osyayla Karıştır...", ID_EDIT_MIXFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Şimdiki Konumun Öncesini Sil",ID_EDIT_DELETEBEFORE, GRAYED MENUITEM "&Şimdiki Konumun Öncesini Sil",ID_EDIT_DELETEBEFORE, GRAYED
MENUITEM "Ş&imdiki Konumun Sonrasını Sil",ID_EDIT_DELETEAFTER, GRAYED MENUITEM "Ş&imdiki Konumun Sonrasını Sil",ID_EDIT_DELETEAFTER, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Ses Husûsiyetleri", ID_EDIT_AUDIOPROPS MENUITEM "&Ses Özellikleri", ID_EDIT_AUDIOPROPS
END END
POPUP "&Etkiler" POPUP "&Etkiler"
BEGIN BEGIN
MENUITEM "&Sesi %25 Arttır", ID_EFFECTS_INCVOL MENUITEM "&Sesi Arttır (%25)", ID_EFFECTS_INCVOL
MENUITEM "S&esi Düşür", ID_EFFECTS_DECVOL MENUITEM "S&esi Kıs", ID_EFFECTS_DECVOL
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Hızı %100 Arttır", ID_EFFECTS_INCSPD MENUITEM "&Hızı Arttır (%100)", ID_EFFECTS_INCSPD
MENUITEM "H&ızı Düşür", ID_EFFECTS_DECSPD MENUITEM "H&ızı Düşür", ID_EFFECTS_DECSPD
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Yankı Ekle", ID_EFFECTS_ECHO MENUITEM "&Yankı Ekle", ID_EFFECTS_ECHO
MENUITEM "&Evir", ID_EFFECTS_REVERSE MENUITEM "&Tersine Çevir", ID_EFFECTS_REVERSE
END END
POPUP "&Yardım" POPUP "&Yardım"
BEGIN BEGIN
MENUITEM "&Üzerine", ID_ABOUT MENUITEM "&Hakkında", ID_ABOUT
END END
END END
@ -75,7 +64,7 @@ BEGIN
IDS_STRDUR "Uzunluk: %.2f s" IDS_STRDUR "Uzunluk: %.2f s"
IDS_STRBUF "Ara Bellek: %.2f KB" IDS_STRBUF "Ara Bellek: %.2f KB"
IDS_STRFMT "%.1f kHz, %u bitlik" IDS_STRFMT "%.1f kHz, %u bitlik"
IDS_STRMONO "Tek Yollu" IDS_STRMONO "tek yollu"
IDS_STRSTEREO "Çok Yollu" IDS_STRSTEREO "çok yollu"
IDS_STRCHAN "%s" IDS_STRCHAN "%s"
END END

View file

@ -8,17 +8,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Інформація про reactOS_sndrec32"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "reactOS_sndrec32, версії 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "Файл" POPUP "Файл"

View file

@ -8,17 +8,6 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "关于 ReactOS 录音机"
FONT 9, "宋体", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "ReactOS 录音机,版本 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "版权所有 (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "确定", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "文件" POPUP "文件"

View file

@ -4,6 +4,7 @@
* FILE: base/applications/sndrec32/lang/zh-TW.rc * FILE: base/applications/sndrec32/lang/zh-TW.rc
* PURPOSE: Chinese (Traditional) resource file * PURPOSE: Chinese (Traditional) resource file
* TRANSLATOR: Elton Chung aka MfldElton <elton328@gmail.com> * TRANSLATOR: Elton Chung aka MfldElton <elton328@gmail.com>
* Chan Chilung <eason066@gmail.com>
*/ */
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
@ -14,43 +15,32 @@ BEGIN
"/", IDM_ABOUT, ASCII, ALT "/", IDM_ABOUT, ASCII, ALT
END END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "關於 ReactOS 錄音機"
FONT 9, "新細明體", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32, -1, 19, 14, 21, 20
LTEXT "ReactOS 錄音機,版本 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX
LTEXT "版權所有 (C) 2009", IDC_STATIC, 56, 25, 114, 8
DEFPUSHBUTTON "確定", IDOK, 139, 54, 50, 14, WS_GROUP
END
IDR_MENU1 MENU IDR_MENU1 MENU
BEGIN BEGIN
POPUP "檔案" POPUP "檔案"
BEGIN BEGIN
MENUITEM "新增", ID_FILE_NEW MENUITEM "新增(&N)", ID_FILE_NEW
MENUITEM "開啟...", ID_FILE_OPEN MENUITEM "開啟(&O)...", ID_FILE_OPEN
MENUITEM "儲存", ID_FILE_SAVE, GRAYED MENUITEM "儲存(&S)", ID_FILE_SAVE, GRAYED
MENUITEM "另存...", ID_FILE_SAVEAS, GRAYED MENUITEM "另存新檔(&A)...", ID_FILE_SAVEAS, GRAYED
MENUITEM "還原...", ID_FILE_RESTORE, GRAYED MENUITEM "還原(&R)...", ID_FILE_RESTORE, GRAYED
MENUITEM "屬性", ID_FILE_PROPERTIES MENUITEM "內容(&P)", ID_FILE_PROPERTIES
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "結束", ID_FILE_EXIT MENUITEM "結束(&X)", ID_FILE_EXIT
END END
POPUP "編輯(&E)" POPUP "編輯(&E)"
BEGIN BEGIN
MENUITEM "複製(&C)", ID_EDIT_COPY MENUITEM "複製(&C)", ID_EDIT_COPY
MENUITEM "貼插入(&P)", ID_EDIT_PASTE, GRAYED MENUITEM "貼插入(&P)", ID_EDIT_PASTE, GRAYED
MENUITEM "貼混合(&X)", ID_EDIT_PASTEMIX, GRAYED MENUITEM "貼混合(&X)", ID_EDIT_PASTEMIX, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "插入檔...(&I)", ID_EDIT_INSERTFILE MENUITEM "插入檔案(&I)...", ID_EDIT_INSERTFILE
MENUITEM "與檔混合...(&M)", ID_EDIT_MIXFILE MENUITEM "與檔混合(&M)...", ID_EDIT_MIXFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "刪除當前位置之前(&B)",ID_EDIT_DELETEBEFORE, GRAYED MENUITEM "刪除目前位置之前的內容(&B)",ID_EDIT_DELETEBEFORE, GRAYED
MENUITEM "刪除當前位置之後(&A)",ID_EDIT_DELETEAFTER, GRAYED MENUITEM "刪除目前位置之後的內容(&A)",ID_EDIT_DELETEAFTER, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "音訊屬性(&U)", ID_EDIT_AUDIOPROPS MENUITEM "音訊內容(&U)", ID_EDIT_AUDIOPROPS
END END
POPUP "效果(&S)" POPUP "效果(&S)"
BEGIN BEGIN
@ -60,12 +50,12 @@ BEGIN
MENUITEM "增加速度 (100%)(&I)", ID_EFFECTS_INCSPD MENUITEM "增加速度 (100%)(&I)", ID_EFFECTS_INCSPD
MENUITEM "降低速度(&D)", ID_EFFECTS_DECSPD MENUITEM "降低速度(&D)", ID_EFFECTS_DECSPD
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "添加回音(&A)", ID_EFFECTS_ECHO MENUITEM "新增回音(&A)", ID_EFFECTS_ECHO
MENUITEM "反(&R)", ID_EFFECTS_REVERSE MENUITEM "反(&R)", ID_EFFECTS_REVERSE
END END
POPUP "說明" POPUP "說明(&?)"
BEGIN BEGIN
MENUITEM "關於", ID_ABOUT MENUITEM "關於(&A)", ID_ABOUT
END END
END END

View file

@ -5,7 +5,6 @@
#define IDD_REACTOS_SNDREC32_DIALOG 102 #define IDD_REACTOS_SNDREC32_DIALOG 102
#define IDS_APP_TITLE 103 #define IDS_APP_TITLE 103
#define IDD_ABOUTBOX 103
#define IDM_ABOUT 104 #define IDM_ABOUT 104
#define IDI_REACTOS_SNDREC32 107 #define IDI_REACTOS_SNDREC32 107
#define IDI_REACTOS_SNDREC32LL 107 #define IDI_REACTOS_SNDREC32LL 107

View file

@ -78,30 +78,6 @@ RECT text_rect;
RECT text2_rect; RECT text2_rect;
RECT cli; RECT cli;
INT_PTR
CALLBACK
AboutDlgProc(HWND hWnd,
UINT msg,
WPARAM wp,
LPARAM lp)
{
switch (msg)
{
case WM_COMMAND:
switch (LOWORD(wp))
{
case IDOK:
EndDialog(hWnd, 0);
return TRUE;
}
break;
case WM_CLOSE:
EndDialog(hWnd, 0);
return TRUE;
}
return FALSE;
}
int int
APIENTRY APIENTRY
_tWinMain(HINSTANCE hInstance, _tWinMain(HINSTANCE hInstance,
@ -118,8 +94,8 @@ _tWinMain(HINSTANCE hInstance,
s_info.cbSize = sizeof( NONCLIENTMETRICS ); s_info.cbSize = sizeof( NONCLIENTMETRICS );
InitCommonControls(); InitCommonControls();
switch (GetUserDefaultUILanguage()) switch (GetUserDefaultUILanguage())
{ {
case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
SetProcessDefaultLayout(LAYOUT_RTL); SetProcessDefaultLayout(LAYOUT_RTL);
@ -455,6 +431,8 @@ WndProc(HWND hWnd,
HFONT font; HFONT font;
HFONT oldfont; HFONT oldfont;
long long slid_samp = 0; long long slid_samp = 0;
WCHAR szAppName[100];
HICON hIcon;
/* Checking for global pointers to buffer and io audio devices */ /* Checking for global pointers to buffer and io audio devices */
if ((!AUD_IN) || (!AUD_OUT) || (!AUD_BUF)) if ((!AUD_IN) || (!AUD_OUT) || (!AUD_BUF))
@ -469,7 +447,7 @@ WndProc(HWND hWnd,
/* Creating the wave bar */ /* Creating the wave bar */
if (!InitInstance_wave(hWnd, hInst, SW_SHOWNORMAL)) if (!InitInstance_wave(hWnd, hInst, SW_SHOWNORMAL))
{ {
MessageBox(0, TEXT("CreateWindow() Error!"), TEXT("ERROR"), MB_ICONERROR); MessageBox(0, TEXT("InitInstance_wave() Error!"), TEXT("ERROR"), MB_ICONERROR);
return FALSE; return FALSE;
} }
@ -484,7 +462,7 @@ WndProc(HWND hWnd,
BUTTONS_W, BUTTONS_W,
BUTTONS_H, BUTTONS_H,
hWnd, hWnd,
(HMENU)i, (HMENU)UlongToPtr(i),
hInst, hInst,
0); 0);
if (!buttons[i]) if (!buttons[i])
@ -619,8 +597,10 @@ WndProc(HWND hWnd,
break; break;
case ID_ABOUT: case ID_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, AboutDlgProc); LoadStringW(hInst, IDS_APP_TITLE, szAppName, _countof(szAppName));
return TRUE; hIcon = LoadIconW(hInst, MAKEINTRESOURCEW(IDI_REACTOS_SNDREC32));
ShellAboutW(hWnd, szAppName, NULL, hIcon);
DestroyIcon(hIcon);
break; break;
case ID_FILE_SAVEAS: case ID_FILE_SAVEAS:
@ -820,7 +800,7 @@ WndProc(HWND hWnd,
ExtTextOut(hdc, ExtTextOut(hdc,
STRPOS_X, STRPOS_X,
STRPOS_Y, STRPOS_Y,
ETO_OPAQUE, 0,
0, 0,
str_tmp, str_tmp,
_tcslen(str_tmp), _tcslen(str_tmp),
@ -844,7 +824,7 @@ WndProc(HWND hWnd,
ExtTextOut(hdc, ExtTextOut(hdc,
STRDUR_X, STRDUR_X,
STRDUR_Y, STRDUR_Y,
ETO_OPAQUE, 0,
0, 0,
str_tmp, str_tmp,
_tcslen(str_tmp), _tcslen(str_tmp),
@ -858,7 +838,7 @@ WndProc(HWND hWnd,
ExtTextOut(hdc, ExtTextOut(hdc,
STRBUF_X, STRBUF_X,
STRBUF_Y, STRBUF_Y,
ETO_OPAQUE, 0,
0, 0,
str_tmp, str_tmp,
_tcslen(str_tmp), _tcslen(str_tmp),
@ -874,7 +854,7 @@ WndProc(HWND hWnd,
ExtTextOut(hdc, ExtTextOut(hdc,
STRFMT_X, STRFMT_X,
STRFMT_Y, STRFMT_Y,
ETO_OPAQUE, 0,
0, 0,
str_tmp, str_tmp,
_tcslen(str_tmp), _tcslen(str_tmp),
@ -888,7 +868,7 @@ WndProc(HWND hWnd,
ExtTextOut(hdc, ExtTextOut(hdc,
STRCHAN_X, STRCHAN_X,
STRCHAN_Y, STRCHAN_Y,
ETO_OPAQUE, 0,
0, 0,
str_tmp, str_tmp,
_tcslen(str_tmp), _tcslen(str_tmp),