[0.4.14][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 2021-10-16 23:14:45 +02:00
parent 2b9e32878c
commit 7e979e4c97
26 changed files with 94 additions and 313 deletions

View 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 */

View 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;

View 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;

View 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;

View 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;

View 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;

View 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"

View 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"

View 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"

View 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"

View 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"

View 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 "קובץ"

View 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"

View 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 "ファイル"

View 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"

View 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"

View 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 "&Файл"

View 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"

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
*/
@ -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"

View 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"

View 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"

View 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 "Файл"

View 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 "文件"

View 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 "屬性", 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 "內容(&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 "與檔混合...(&M)", ID_EDIT_MIXFILE
MENUITEM "插入檔案(&I)...", ID_EDIT_INSERTFILE
MENUITEM "與檔混合(&M)...", ID_EDIT_MIXFILE
MENUITEM SEPARATOR
MENUITEM "刪除當前位置之前(&B)",ID_EDIT_DELETEBEFORE, GRAYED
MENUITEM "刪除當前位置之後(&A)",ID_EDIT_DELETEAFTER, GRAYED
MENUITEM "刪除目前位置之前的內容(&B)",ID_EDIT_DELETEBEFORE, GRAYED
MENUITEM "刪除目前位置之後的內容(&A)",ID_EDIT_DELETEAFTER, GRAYED
MENUITEM SEPARATOR
MENUITEM "音訊屬性(&U)", ID_EDIT_AUDIOPROPS
MENUITEM "音訊內容(&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 "添加回音(&A)", ID_EFFECTS_ECHO
MENUITEM "反(&R)", ID_EFFECTS_REVERSE
MENUITEM "新增回音(&A)", ID_EFFECTS_ECHO
MENUITEM "反(&R)", ID_EFFECTS_REVERSE
END
POPUP "說明"
POPUP "說明(&?)"
BEGIN
MENUITEM "關於", ID_ABOUT
MENUITEM "關於(&A)", ID_ABOUT
END
END

View 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

View 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),