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