reactos/base/applications/sndrec32/sndrec32.h
Amine Khaldi c424146e2c Create a branch for cmake bringup.
svn path=/branches/cmake-bringup/; revision=48236
2010-07-24 18:52:44 +00:00

145 lines
2.3 KiB
C

/* PROJECT: ReactOS sndrec32
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/sndrec32/sndrec.h
* PURPOSE: Sound recording
* PROGRAMMERS: Marco Pagliaricci (irc: rendar)
*/
#pragma once
#include "resource.h"
#include "audio_api.hpp"
#define MAX_LOADSTRING 100
#define MAINWINDOW_W 350
#define MAINWINDOW_H 190
#define CONTROLS_CX 10
#define INITIAL_BUFREC_SECONDS 30.0f
#define BUTSTART_ID 0
#define BUTEND_ID 1
#define BUTPLAY_ID 2
#define BUTSTOP_ID 3
#define BUTREC_ID 4
#define SLIDER_ID 5
#define WAVEBAR_ID 6
#define BUTTONS_H 30
#define BUTTONS_W 60
#define BUTTONS_CY 100
#define BUTTONS_CX ( CONTROLS_CX )
#define BUTTONS_SPACE 5
#define SLIDER_CX CONTROLS_CX
#define SLIDER_CY 65
#define SLIDER_H 30
#define SLIDER_W 320
#define STRPOS_X 240
#define STRPOS_Y 5
#define STRDUR_X ( STRPOS_X )
#define STRDUR_Y ( STRPOS_Y + 13 )
#define STRBUF_X ( STRDUR_X )
#define STRBUF_Y ( STRDUR_Y + 13 )
#define STRFMT_X 10
#define STRFMT_Y ( STRPOS_Y )
#define STRCHAN_X ( STRFMT_X )
#define STRCHAN_Y ( STRFMT_Y + 13 )
#define WAVEBAR_X ( CONTROLS_CX + 90 )
#define WAVEBAR_Y ( STRPOS_Y )
#define WAVEBAR_CX 130
#define WAVEBAR_CY 50
#define WAVEBAR_TIMERID 2
#define WAVEBAR_TIMERTIME 80
#define WAVEBAR_COLOR ( RGB( 0, 0, 255 ))
#define REFRESHA_X ( STRPOS_X )
#define REFRESHA_Y ( STRPOS_Y )
#define REFRESHA_CX ( REFRESHA_X + 100 )
#define REFRESHA_CY ( REFRESHA_Y + 55 )
#define REFRESHB_X ( STRFMT_X )
#define REFRESHB_Y ( STRFMT_Y )
#define REFRESHB_CX ( REFRESHB_X + 85 )
#define REFRESHB_CY ( REFRESHB_Y + 55 )
struct riff_hdr
{
DWORD magic;
DWORD chunksize;
DWORD format;
};
struct wave_hdr
{
DWORD Subchunkid;
DWORD Subchunk1Size;
WORD AudioFormat;
WORD NumChannels;
DWORD SampleRate;
DWORD ByteRate;
WORD BlockAlign;
WORD BitsPerSample;
};
struct data_chunk
{
DWORD subc;
DWORD subc_size;
//unsigned char data[];
};
//
// Functions prototypes
//
LRESULT CALLBACK
Buttons_proc(HWND, UINT, WPARAM, LPARAM);
BOOL
write_wav( TCHAR * );
BOOL
open_wav( TCHAR * );
VOID enable_but( DWORD );
VOID disable_but( DWORD );
void
l_play_finished ( void );
void
l_audio_arrival ( unsigned int );
void
l_buffer_resized ( unsigned int );