mirror of
https://github.com/reactos/reactos.git
synced 2024-11-11 01:04:11 +00:00
c424146e2c
svn path=/branches/cmake-bringup/; revision=48236
145 lines
2.3 KiB
C
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 );
|