[0.4.13][SNDREC32] Fast-Forward to 0.4.15-dev-3294-ge98684e state (CORE-17815 and...
authorJoachim Henze <Joachim.Henze@reactos.org>
Mon, 17 Jan 2022 21:32:16 +0000 (22:32 +0100)
committerJoachim Henze <Joachim.Henze@reactos.org>
Mon, 17 Jan 2022 21:32:16 +0000 (22:32 +0100)
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 d57f7becc3f320408008649fa21c86926d9d16b6 .
That specific and most important fix
was picked from 0.4.15-dev-190-g d839e3d9b491cf39de04a483f016064bfcf0d854
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.

26 files changed:
base/applications/sndrec32/audio_membuffer.cpp
base/applications/sndrec32/audio_resampler_acm.cpp
base/applications/sndrec32/audio_wavein.cpp
base/applications/sndrec32/audio_wavein.hpp
base/applications/sndrec32/audio_waveout.cpp
base/applications/sndrec32/audio_waveout.hpp
base/applications/sndrec32/lang/cs-CZ.rc
base/applications/sndrec32/lang/de-DE.rc
base/applications/sndrec32/lang/en-US.rc
base/applications/sndrec32/lang/es-ES.rc
base/applications/sndrec32/lang/fr-FR.rc
base/applications/sndrec32/lang/he-IL.rc
base/applications/sndrec32/lang/it-IT.rc
base/applications/sndrec32/lang/ja-JP.rc
base/applications/sndrec32/lang/pl-PL.rc
base/applications/sndrec32/lang/ro-RO.rc
base/applications/sndrec32/lang/ru-RU.rc
base/applications/sndrec32/lang/sk-SK.rc
base/applications/sndrec32/lang/sq-AL.rc
base/applications/sndrec32/lang/sv-SE.rc
base/applications/sndrec32/lang/tr-TR.rc
base/applications/sndrec32/lang/uk-UA.rc
base/applications/sndrec32/lang/zh-CN.rc
base/applications/sndrec32/lang/zh-TW.rc
base/applications/sndrec32/resource.h
base/applications/sndrec32/sndrec32.cpp

index 67d0e67..ccdfc7f 100644 (file)
@@ -12,7 +12,7 @@ _AUDIO_NAMESPACE_START_
 
 /* Protected Functions */
 
-void 
+void
 audio_membuffer::alloc_mem_(unsigned int bytes)
 {
     /* Some checking */
@@ -79,7 +79,7 @@ audio_membuffer::resize_mem_(unsigned int new_size)
         buffer_resized(new_size);
 }
 
-void 
+void
 audio_membuffer::truncate_(void)
 {
     /* If `buf_size' is already = to the `bytes_received' of audio data,
@@ -113,7 +113,7 @@ audio_membuffer::clear(void)
     bytes_received = 0;
 }
 
-void 
+void
 audio_membuffer::reset(void)
 {
     /* Frees memory and reset to initial state */
@@ -122,37 +122,37 @@ audio_membuffer::reset(void)
     alloc_mem_(init_size);
 }
 
-void 
+void
 audio_membuffer::alloc_bytes(unsigned int bytes)
 {
     alloc_mem_(bytes);
 }
 
-void 
+void
 audio_membuffer::alloc_seconds(unsigned int secs)
 {
     alloc_mem_(aud_info.byte_rate() * secs);
 }
 
-void 
+void
 audio_membuffer::alloc_seconds(float secs)
 {
     alloc_mem_((unsigned int)((float)aud_info.byte_rate() * secs));
 }
 
-void 
+void
 audio_membuffer::resize_bytes(unsigned int bytes)
 {
     resize_mem_(bytes);
 }
 
-void 
+void
 audio_membuffer::resize_seconds(unsigned int secs)
 {
     resize_mem_(aud_info.byte_rate() * secs);
 }
 
-void 
+void
 audio_membuffer::resize_seconds(float secs)
 {
     resize_mem_((unsigned int)((float)aud_info.byte_rate() * secs));
@@ -160,7 +160,7 @@ audio_membuffer::resize_seconds(float secs)
 
 /* Inherited Functions */
 
-void 
+void
 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 */
@@ -196,7 +196,7 @@ audio_membuffer::audio_receive(unsigned char *data, unsigned int size)
         audio_arrival(aud_info.samples_in_bytes(size));
 }
 
-unsigned int 
+unsigned int
 audio_membuffer::read(BYTE *out_buf, unsigned int bytes)
 {
     /* Some checking */
index ddca7db..d92c275 100644 (file)
@@ -25,7 +25,7 @@ audio_resampler_acm::init_(void)
     wformat_src.cbSize = sizeof(WAVEFORMATEX);
     wformat_dst.cbSize = sizeof(WAVEFORMATEX);
 
-    /* Setting WAVEFORMATEX structure parameters 
+    /* Setting WAVEFORMATEX structure parameters
        according to `audio_format' in/out classes */
 
     wformat_src.wFormatTag = WAVE_FORMAT_PCM;
@@ -189,7 +189,7 @@ audio_resampler_acm::close(void)
     /* ACM sream successfully closed */
 }
 
-void 
+void
 audio_resampler_acm::audio_receive(unsigned char *data, unsigned int size)
 {
     MMRESULT err;
index 839f673..99f0fa8 100644 (file)
@@ -50,7 +50,7 @@ audio_wavein::alloc_buffers_mem_(unsigned int buffs, float secs)
     mb_size = tot_size;
 }
 
-void 
+void
 audio_wavein::free_buffers_mem_(void)
 {
     /* Frees memory */
@@ -65,7 +65,7 @@ audio_wavein::free_buffers_mem_(void)
     wave_headers = 0;
 }
 
-void 
+void
 audio_wavein::init_headers_(void)
 {
     /* 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)
 {
     MMRESULT err;
@@ -108,7 +108,7 @@ audio_wavein::prep_headers_(void)
         MessageBox(0, TEXT("waveInPrepareHeader Error."), 0, 0);
 }
 
-void 
+void
 audio_wavein::unprep_headers_(void)
 {
     MMRESULT err;
@@ -131,7 +131,7 @@ audio_wavein::unprep_headers_(void)
         MessageBox(0, TEXT("waveInUnPrepareHeader Error."), 0, 0);
 }
 
-void 
+void
 audio_wavein::add_buffers_to_driver_(void)
 {
     MMRESULT err;
@@ -155,7 +155,7 @@ audio_wavein::add_buffers_to_driver_(void)
 }
 
 void
-audio_wavein::close(void) 
+audio_wavein::close(void)
 {
     /* If wavein object is already in the status NOTREADY, nothing to do */
     if (status == WAVEIN_NOTREADY)
@@ -340,7 +340,7 @@ audio_wavein::stop_recording(void)
     status = WAVEIN_STOP;
 }
 
-DWORD WINAPI 
+DWORD WINAPI
 audio_wavein::recording_procedure(LPVOID arg)
 {
     MSG msg;
index 44832d8..b31477f 100644 (file)
@@ -123,7 +123,7 @@ class audio_wavein
                 return;
 
             /* Set seconds length for each buffer */
-            buf_secs = bsecs; 
+            buf_secs = bsecs;
         }
 
         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))));
             else if (aud_info.bits() == 8)
                svalue = (unsigned int)((ptrdiff_t) *(main_buffer + aud_info.bytes_in_samples(nsamp)));
-            else 
+            else
                 svalue = 0;
 
             return svalue;
index 0814e85..dfbf5f7 100644 (file)
@@ -22,7 +22,7 @@ audio_waveout::init_(void)
     status = WAVEOUT_NOTREADY;
 }
 
-void 
+void
 audio_waveout::alloc_buffers_mem_(unsigned int buffs, float secs)
 {
     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;
 
     /* 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;
     /* Allocs memory for the audio buffers */
     main_buffer = new BYTE[tot_size];
@@ -48,7 +48,7 @@ audio_waveout::alloc_buffers_mem_(unsigned int buffs, float secs)
     mb_size = tot_size;
 }
 
-void 
+void
 audio_waveout::init_headers_(void)
 {
     /* 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)
 {
     MMRESULT err;
@@ -105,7 +105,7 @@ audio_waveout::prep_headers_(void)
     }
 }
 
-void 
+void
 audio_waveout::unprep_headers_(void)
 {
     MMRESULT err;
@@ -130,7 +130,7 @@ audio_waveout::unprep_headers_(void)
     }
 }
 
-void 
+void
 audio_waveout::free_buffers_mem_(void)
 {
     /* Frees memory */
@@ -144,7 +144,7 @@ audio_waveout::free_buffers_mem_(void)
     wave_headers = 0;
 }
 
-void 
+void
 audio_waveout::open(void)
 {
     MMRESULT err;
@@ -214,7 +214,7 @@ audio_waveout::open(void)
     status = WAVEOUT_READY;
 }
 
-void 
+void
 audio_waveout::play(void)
 {
     MMRESULT err;
@@ -268,7 +268,7 @@ audio_waveout::play(void)
     }
 }
 
-void 
+void
 audio_waveout::pause(void)
 {
     MMRESULT err;
@@ -288,7 +288,7 @@ audio_waveout::pause(void)
     }
 }
 
-void 
+void
 audio_waveout::stop(void)
 {
     MMRESULT err;
@@ -344,7 +344,7 @@ audio_waveout::close(void)
     free_buffers_mem_();
 }
 
-DWORD WINAPI 
+DWORD WINAPI
 audio_waveout::playing_procedure(LPVOID arg)
 {
     MSG msg;
index cf3fd06..f95c109 100644 (file)
@@ -117,7 +117,7 @@ class audio_waveout
                 return (unsigned int)65535;
             else if (aud_info.bits() == 8)
                 return (unsigned int)255;
-            else 
+            else
                 return 0;
         }
 
@@ -134,7 +134,7 @@ class audio_waveout
                 svalue = (unsigned int)abs(*((short *)(main_buffer + aud_info.bytes_in_samples(nsamp))));
             else if (aud_info.bits() == 8)
                svalue = (unsigned int)((ptrdiff_t) *(main_buffer + aud_info.bytes_in_samples(nsamp)));
-            else 
+            else
                 svalue = 0;
 
             return svalue;
index 84ad744..af9008c 100644 (file)
@@ -11,17 +11,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "Soubor"
index a72c8b1..d64c7f9 100644 (file)
@@ -6,17 +6,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "&Datei"
index 14982e5..e3ed264 100644 (file)
@@ -6,17 +6,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "&File"
index 3e13804..b454cc1 100644 (file)
@@ -9,17 +9,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "&Archivo"
index 3b37303..3721d64 100644 (file)
@@ -6,58 +6,47 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
-    POPUP "Fichier"
+    POPUP "&Fichier"
     BEGIN
-        MENUITEM "Nouveau", ID_FILE_NEW
-        MENUITEM "Ouvrir...", ID_FILE_OPEN
-        MENUITEM "Enregistrer", ID_FILE_SAVE, GRAYED
-        MENUITEM "Enregistrer sous...", ID_FILE_SAVEAS, GRAYED
-        MENUITEM "Restorer...", ID_FILE_RESTORE, GRAYED
-        MENUITEM "Propriétés", ID_FILE_PROPERTIES
+        MENUITEM "&Nouveau", ID_FILE_NEW
+        MENUITEM "&Ouvrir...", ID_FILE_OPEN
+        MENUITEM "&Enregistrer", ID_FILE_SAVE, GRAYED
+        MENUITEM "Enregistrer &sous...", ID_FILE_SAVEAS, GRAYED
+        MENUITEM "&Restaurer...", ID_FILE_RESTORE, GRAYED
+        MENUITEM "&Propriétés", ID_FILE_PROPERTIES
         MENUITEM SEPARATOR
-        MENUITEM "Sortir", ID_FILE_EXIT
+        MENUITEM "&Quitter", ID_FILE_EXIT
     END
     POPUP "&Edition"
     BEGIN
-        MENUITEM "&Copie", ID_EDIT_COPY
-        MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED
-        MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED
+        MENUITEM "&Copier", ID_EDIT_COPY
+        MENUITEM "Coller &Insérer", ID_EDIT_PASTE, GRAYED
+        MENUITEM "Coller &Mélanger", ID_EDIT_PASTEMIX, GRAYED
         MENUITEM SEPARATOR
-        MENUITEM "&Insérer un fichier...", ID_EDIT_INSERTFILE
-        MENUITEM "&Mix with File...", ID_EDIT_MIXFILE
+        MENUITEM "Insérer un &fichier...", ID_EDIT_INSERTFILE
+        MENUITEM "Mé&langer avec un fichier...", ID_EDIT_MIXFILE
         MENUITEM SEPARATOR
-        MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED
-        MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED
+        MENUITEM "Supprimer &avant la position actuelle",ID_EDIT_DELETEBEFORE, GRAYED
+        MENUITEM "Supprimer a&près la position actuelle",ID_EDIT_DELETEAFTER, GRAYED
         MENUITEM SEPARATOR
         MENUITEM "Propriétés A&udio", ID_EDIT_AUDIOPROPS
     END
     POPUP "Effet&s"
     BEGIN
-        MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL
-        MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL
+        MENUITEM "&Augmenter le volume (de 25%)", ID_EFFECTS_INCVOL
+        MENUITEM "&Réduire le volume", ID_EFFECTS_DECVOL
         MENUITEM SEPARATOR
-        MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD
-        MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD
+        MENUITEM "Aug&menter la vitesse (de 100%)", ID_EFFECTS_INCSPD
+        MENUITEM "Réd&uire la vitesse", ID_EFFECTS_DECSPD
         MENUITEM SEPARATOR
-        MENUITEM "&Add Echo", ID_EFFECTS_ECHO
-        MENUITEM "&Reverse", ID_EFFECTS_REVERSE
+        MENUITEM "Aj&outer de l'écho", ID_EFFECTS_ECHO
+        MENUITEM "&Inverser", ID_EFFECTS_REVERSE
     END
-    POPUP "?"
+    POPUP "&?"
     BEGIN
-        MENUITEM "À propos", ID_ABOUT
+        MENUITEM "À &propos", ID_ABOUT
     END
 END
 
@@ -71,7 +60,7 @@ STRINGTABLE
 BEGIN
     IDS_STRPOS "Position: %.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_STRMONO "mono"
     IDS_STRSTEREO "stéréo"
index c5d9725..af8baa5 100644 (file)
@@ -6,18 +6,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "קובץ"
index 5c3f2e8..610cee8 100644 (file)
@@ -6,17 +6,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "File"
index fb1f60b..e39f23c 100644 (file)
@@ -6,17 +6,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "ファイル"
index f60119b..cde78ff 100644 (file)
@@ -15,17 +15,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "Plik"
index 9d23b10..614da1b 100644 (file)
@@ -1,5 +1,5 @@
 /* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
+
 LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
 
 IDC_REACTOS_SNDREC32 ACCELERATORS
@@ -8,17 +8,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "&Fișier"
index e461867..6578b7a 100644 (file)
@@ -6,17 +6,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "&Файл"
index 6ce6567..0ee5272 100644 (file)
@@ -11,17 +11,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "&Súbor"
index c66421c..f9dd8d9 100644 (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
 */
 
@@ -10,17 +10,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "File"
index 028779d..3aaaded 100644 (file)
@@ -8,17 +8,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "Arkiv"
index 26d3b01..61f0a98 100644 (file)
@@ -8,17 +8,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 END
 
-IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
-STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "ReactOS Ses Kaydedicisi Hakkında Bilgi"
-FONT 8, "MS Shell Dlg", 0, 0, 0x1
-BEGIN
-    ICON IDI_SNDREC32, -1, 19, 14, 21, 20
-    LTEXT "ReactOS 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
 BEGIN
     POPUP "&Dosya"
index df6c9b6..66526e1 100644 (file)
@@ -8,17 +8,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "Файл"
index 52b6f17..7a26704 100644 (file)
@@ -8,17 +8,6 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "文件"
index 6955f1e..a61b7a3 100644 (file)
@@ -4,6 +4,7 @@
  * FILE:       base/applications/sndrec32/lang/zh-TW.rc
  * PURPOSE:    Chinese (Traditional) resource file
  * TRANSLATOR: Elton Chung aka MfldElton <elton328@gmail.com>
+ *             Chan Chilung <eason066@gmail.com>
  */
 
 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
@@ -14,43 +15,32 @@ BEGIN
     "/", IDM_ABOUT, ASCII, ALT
 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
 BEGIN
     POPUP "檔案"
     BEGIN
-        MENUITEM "新增", ID_FILE_NEW
-        MENUITEM "開啟...", ID_FILE_OPEN
-        MENUITEM "儲存", ID_FILE_SAVE, GRAYED
-        MENUITEM "另存...", ID_FILE_SAVEAS, GRAYED
-        MENUITEM "還原...", ID_FILE_RESTORE, GRAYED
-        MENUITEM "屬æ\80§", ID_FILE_PROPERTIES
+        MENUITEM "新增(&N)", ID_FILE_NEW
+        MENUITEM "開啟(&O)...", ID_FILE_OPEN
+        MENUITEM "儲存(&S)", ID_FILE_SAVE, GRAYED
+        MENUITEM "另存新檔(&A)...", ID_FILE_SAVEAS, GRAYED
+        MENUITEM "還原(&R)...", ID_FILE_RESTORE, GRAYED
+        MENUITEM "å\85§å®¹(&P)", ID_FILE_PROPERTIES
         MENUITEM SEPARATOR
-        MENUITEM "結束", ID_FILE_EXIT
+        MENUITEM "結束(&X)", ID_FILE_EXIT
     END
     POPUP "編輯(&E)"
     BEGIN
         MENUITEM "複製(&C)", ID_EDIT_COPY
-        MENUITEM "粘貼插入(&P)", ID_EDIT_PASTE, GRAYED
-        MENUITEM "粘貼混合(&X)", ID_EDIT_PASTEMIX, GRAYED
+        MENUITEM "貼上插入(&P)", ID_EDIT_PASTE, GRAYED
+        MENUITEM "貼上混合(&X)", ID_EDIT_PASTEMIX, GRAYED
         MENUITEM SEPARATOR
-        MENUITEM "插入檔...(&I)", ID_EDIT_INSERTFILE
-        MENUITEM "è\88\87æª\94æ··å\90\88...(&M)", ID_EDIT_MIXFILE
+        MENUITEM "插入檔案(&I)...", ID_EDIT_INSERTFILE
+        MENUITEM "è\88\87æª\94æ¡\88æ··å\90\88(&M)...", ID_EDIT_MIXFILE
         MENUITEM SEPARATOR
-        MENUITEM "å\88ªé\99¤ç\95¶å\89\8dä½\8dç½®ä¹\8bå\89\8d(&B)",ID_EDIT_DELETEBEFORE, GRAYED
-        MENUITEM "å\88ªé\99¤ç\95¶å\89\8dä½\8dç½®ä¹\8bå¾\8c(&A)",ID_EDIT_DELETEAFTER, GRAYED
+        MENUITEM "å\88ªé\99¤ç\9b®å\89\8dä½\8dç½®ä¹\8bå\89\8dç\9a\84å\85§å®¹(&B)",ID_EDIT_DELETEBEFORE, GRAYED
+        MENUITEM "å\88ªé\99¤ç\9b®å\89\8dä½\8dç½®ä¹\8bå¾\8cç\9a\84å\85§å®¹(&A)",ID_EDIT_DELETEAFTER, GRAYED
         MENUITEM SEPARATOR
-        MENUITEM "é\9f³è¨\8a屬æ\80§(&U)", ID_EDIT_AUDIOPROPS
+        MENUITEM "é\9f³è¨\8aå\85§å®¹(&U)", ID_EDIT_AUDIOPROPS
     END
     POPUP "效果(&S)"
     BEGIN
@@ -60,12 +50,12 @@ BEGIN
         MENUITEM "增加速度 (100%)(&I)", ID_EFFECTS_INCSPD
         MENUITEM "降低速度(&D)", ID_EFFECTS_DECSPD
         MENUITEM SEPARATOR
-        MENUITEM "æ·»å\8a 回音(&A)", ID_EFFECTS_ECHO
-        MENUITEM "反(&R)", ID_EFFECTS_REVERSE
+        MENUITEM "æ\96°å¢\9e回音(&A)", ID_EFFECTS_ECHO
+        MENUITEM "反(&R)", ID_EFFECTS_REVERSE
     END
-    POPUP "說明"
+    POPUP "說明(&?)"
     BEGIN
-        MENUITEM "關於", ID_ABOUT
+        MENUITEM "關於(&A)", ID_ABOUT
     END
 END
 
index 4da0f67..c4efb23 100644 (file)
@@ -5,7 +5,6 @@
 
 #define IDD_REACTOS_SNDREC32_DIALOG 102
 #define IDS_APP_TITLE               103
-#define IDD_ABOUTBOX                103
 #define IDM_ABOUT                   104
 #define IDI_REACTOS_SNDREC32        107
 #define IDI_REACTOS_SNDREC32LL      107
index 18bf8f3..0d408fc 100644 (file)
@@ -78,30 +78,6 @@ RECT text_rect;
 RECT text2_rect;
 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
 APIENTRY
 _tWinMain(HINSTANCE hInstance,
@@ -118,8 +94,8 @@ _tWinMain(HINSTANCE hInstance,
     s_info.cbSize = sizeof( NONCLIENTMETRICS );
 
     InitCommonControls();
-       
-       switch (GetUserDefaultUILanguage())
+
+    switch (GetUserDefaultUILanguage())
     {
         case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
             SetProcessDefaultLayout(LAYOUT_RTL);
@@ -455,6 +431,8 @@ WndProc(HWND hWnd,
     HFONT font;
     HFONT oldfont;
     long long slid_samp = 0;
+    WCHAR szAppName[100];
+    HICON hIcon;
 
     /* Checking for global pointers to buffer and io audio devices */
     if ((!AUD_IN) || (!AUD_OUT) || (!AUD_BUF))
@@ -469,7 +447,7 @@ WndProc(HWND hWnd,
             /* Creating the wave bar */
             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;
             }
 
@@ -619,8 +597,10 @@ WndProc(HWND hWnd,
                     break;
 
                 case ID_ABOUT:
-                    DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, AboutDlgProc);
-                    return TRUE;
+                    LoadStringW(hInst, IDS_APP_TITLE, szAppName, _countof(szAppName));
+                    hIcon = LoadIconW(hInst, MAKEINTRESOURCEW(IDI_REACTOS_SNDREC32));
+                    ShellAboutW(hWnd, szAppName, NULL, hIcon);
+                    DestroyIcon(hIcon);
                     break;
 
                 case ID_FILE_SAVEAS:
@@ -820,7 +800,7 @@ WndProc(HWND hWnd,
             ExtTextOut(hdc,
                        STRPOS_X,
                        STRPOS_Y,
-                       ETO_OPAQUE,
+                       0,
                        0,
                        str_tmp,
                        _tcslen(str_tmp),
@@ -844,7 +824,7 @@ WndProc(HWND hWnd,
             ExtTextOut(hdc,
                        STRDUR_X,
                        STRDUR_Y,
-                       ETO_OPAQUE,
+                       0,
                        0,
                        str_tmp,
                        _tcslen(str_tmp),
@@ -858,7 +838,7 @@ WndProc(HWND hWnd,
             ExtTextOut(hdc,
                        STRBUF_X,
                        STRBUF_Y,
-                       ETO_OPAQUE,
+                       0,
                        0,
                        str_tmp,
                        _tcslen(str_tmp),
@@ -874,7 +854,7 @@ WndProc(HWND hWnd,
             ExtTextOut(hdc,
                        STRFMT_X,
                        STRFMT_Y,
-                       ETO_OPAQUE,
+                       0,
                        0,
                        str_tmp,
                        _tcslen(str_tmp),
@@ -888,7 +868,7 @@ WndProc(HWND hWnd,
             ExtTextOut(hdc,
                        STRCHAN_X,
                        STRCHAN_Y,
-                       ETO_OPAQUE,
+                       0,
                        0,
                        str_tmp,
                        _tcslen(str_tmp),