- First version of ReactOS Sound Record Application by Marco Pagliaricci (IRC: rendar)
[reactos.git] / reactos / base / applications / sndrec32 / sndrec32.h
1 #pragma once
2
3 #include "resource.h"
4
5
6
7 #define MAX_LOADSTRING 100
8
9 #define MAINWINDOW_W 350
10 #define MAINWINDOW_H 190
11
12
13 #define CONTROLS_CX 10
14
15 #define INITIAL_BUFREC_SECONDS 30.0f
16
17
18 #define BUTSTART_ID 0
19 #define BUTEND_ID 1
20 #define BUTPLAY_ID 2
21 #define BUTSTOP_ID 3
22 #define BUTREC_ID 4
23 #define SLIDER_ID 5
24
25 #define BUTTONS_H 30
26 #define BUTTONS_W 60
27 #define BUTTONS_CY 100
28 #define BUTTONS_CX CONTROLS_CX
29 #define BUTTONS_SPACE 5
30
31
32 #define SLIDER_CX CONTROLS_CX
33 #define SLIDER_CY 65
34 #define SLIDER_H 30
35 #define SLIDER_W 320
36
37
38
39
40 struct riff_hdr
41 {
42 DWORD magic;
43 DWORD chunksize;
44 DWORD format;
45 };
46
47
48 struct wave_hdr
49 {
50
51 DWORD Subchunkid;
52 DWORD Subchunk1Size;
53 WORD AudioFormat;
54 WORD NumChannels;
55 DWORD SampleRate;
56 DWORD ByteRate;
57 WORD BlockAlign;
58 WORD BitsPerSample;
59 };
60
61 struct data_chunk
62 {
63 DWORD subc;
64 DWORD subc_size;
65 //unsigned char data[];
66 };
67
68
69
70 //
71 // Functions prototypes
72 //
73 LRESULT CALLBACK
74 Buttons_proc(HWND, UINT, WPARAM, LPARAM);
75
76
77 BOOL
78 write_wav( TCHAR * );
79
80 BOOL
81 open_wav( TCHAR * );
82
83
84 VOID enable_but( DWORD );
85 VOID disable_but( DWORD );
86
87
88
89 void
90 l_play_finished ( void );
91
92 void
93 l_audio_arrival ( unsigned int );
94
95 void
96 l_buffer_resized ( unsigned int );