1
//=========================================================
4
// $Id: wav.h,v 1.3 2002/02/13 11:42:56 muse Exp $
6
// (C) Copyright 2001 Werner Schweer (ws@seh.de)
7
// based on libsndfile:
8
// Copyright (C) 1999-2000 Erik de Castro Lopo <erikd@zip.com.au>
9
//=========================================================
11
#ifndef WAV_H_INCLUDED
12
#define WAV_H_INCLUDED
15
unsigned short format;
16
unsigned short channels;
17
unsigned int samplerate;
18
unsigned int bytespersec;
19
unsigned short blockalign;
20
unsigned short bitwidth;
23
struct WAV_FMT_SIZE20 {
24
unsigned short format;
25
unsigned short channels;
26
unsigned int samplerate;
27
unsigned int bytespersec;
28
unsigned short blockalign;
29
unsigned short bitwidth;
30
unsigned short extrabytes;
34
struct MS_ADPCM_WAV_FMT {
35
unsigned short format;
36
unsigned short channels;
37
unsigned int samplerate;
38
unsigned int bytespersec;
39
unsigned short blockalign;
40
unsigned short bitwidth;
41
unsigned short extrabytes;
42
unsigned short samplesperblock;
43
unsigned short numcoeffs;
50
struct IMA_ADPCM_WAV_FMT {
51
unsigned short format;
52
unsigned short channels;
53
unsigned int samplerate;
54
unsigned int bytespersec;
55
unsigned short blockalign;
56
unsigned short bitwidth;
57
unsigned short extrabytes;
58
unsigned short samplesperblock;
61
struct EXT_SUBFORMAT {
62
unsigned int esf_field1;
63
unsigned short esf_field2;
64
unsigned short esf_field3;
65
unsigned char esf_field4[8];
68
struct EXTENSIBLE_WAV_FMT {
69
unsigned short format;
70
unsigned short channels;
71
unsigned int samplerate;
72
unsigned int bytespersec;
73
unsigned short blockalign;
74
unsigned short bitwidth;
75
unsigned short extrabytes;
76
unsigned short validbits;
77
unsigned int channelmask;
81
struct GSM610_WAV_FMT {
82
unsigned short format;
83
unsigned short channels;
84
unsigned int samplerate;
85
unsigned int bytespersec;
86
unsigned short blockalign;
87
unsigned short bitwidth;
88
unsigned short extrabytes;
89
unsigned short samplesperblock;
93
unsigned short format;
95
IMA_ADPCM_WAV_FMT ima;
96
MS_ADPCM_WAV_FMT msadpcm;
97
EXTENSIBLE_WAV_FMT ext;
98
GSM610_WAV_FMT gsm610;
99
WAV_FMT_SIZE20 size20;
104
unsigned int samples;
107
//---------------------------------------------------------
109
//---------------------------------------------------------
111
class SndFileFormatWave : public SndFileFormat {
113
SndFileFormatWave(SndFile* s) : SndFileFormat(s) {}
114
virtual void close();