1 /* PROJECT: ReactOS sndrec32
2 * LICENSE: GPL - See COPYING in the top level directory
3 * FILE: base/applications/sndrec32/sndrec32.h
4 * PURPOSE: Sound recording
5 * PROGRAMMERS: Marco Pagliaricci (irc: rendar)
11 #include "audio_api.hpp"
13 #define MAX_LOADSTRING 100
15 #define MAINWINDOW_W 350
16 #define MAINWINDOW_H 190
18 #define CONTROLS_CX 10
20 #define INITIAL_BUFREC_SECONDS 30.0f
32 #define BUTTONS_CY 100
33 #define BUTTONS_CX (CONTROLS_CX)
34 #define BUTTONS_SPACE 5
36 #define SLIDER_CX CONTROLS_CX
44 #define STRDUR_X (STRPOS_X)
45 #define STRDUR_Y (STRPOS_Y + 13)
47 #define STRBUF_X (STRDUR_X)
48 #define STRBUF_Y (STRDUR_Y + 13)
51 #define STRFMT_Y (STRPOS_Y)
53 #define STRCHAN_X (STRFMT_X)
54 #define STRCHAN_Y (STRFMT_Y + 13)
56 #define WAVEBAR_X (CONTROLS_CX + 90)
57 #define WAVEBAR_Y (STRPOS_Y)
58 #define WAVEBAR_CX 130
61 #define WAVEBAR_TIMERID 2
62 #define WAVEBAR_TIMERTIME 80
64 #define WAVEBAR_COLOR (RGB(0, 0, 255))
66 #define REFRESHA_X (STRPOS_X)
67 #define REFRESHA_Y (STRPOS_Y)
68 #define REFRESHA_CX (REFRESHA_X + 100)
69 #define REFRESHA_CY (REFRESHA_Y + 55)
71 #define REFRESHB_X (STRFMT_X)
72 #define REFRESHB_Y (STRFMT_Y)
73 #define REFRESHB_CX (REFRESHB_X + 85)
74 #define REFRESHB_CY (REFRESHB_Y + 55)
99 //unsigned char data[];
102 /* Functions prototypes */
104 LRESULT CALLBACK
Buttons_proc(HWND
, UINT
, WPARAM
, LPARAM
);
106 BOOL
write_wav(TCHAR
*);
107 BOOL
open_wav(TCHAR
*);
108 VOID
enable_but(DWORD
);
109 VOID
disable_but(DWORD
);
111 void l_play_finished(void);
112 void l_audio_arrival(unsigned int);
113 void l_buffer_resized(unsigned int);