mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
113 lines
2.2 KiB
C
113 lines
2.2 KiB
C
/* PROJECT: ReactOS sndrec32
|
|
* LICENSE: GPL - See COPYING in the top level directory
|
|
* FILE: base/applications/sndrec32/sndrec32.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);
|