VVSDK  1.0
The VVAmbisonic Library
WavFile.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 David McGriffy, all rights reserved
3  */
4 
5 #ifndef wavfile_h_included
6 #define wavfile_h_included
7 
8 #include <string>
9 
10 typedef unsigned short int WORD;
11 typedef unsigned int DWORD;
12 
13 typedef struct {
14  char chunkID[4];
16  char format[4];
17 } RIFFHEADER;
18 
19 typedef struct {
20  char subChunkID[4];
29 
30 typedef struct {
31  char chunkID[4];
33 } CHUNKHEADER;
34 
35 
36 typedef long sf_count_t;
37 
41 class WavFile
42 {
43 public:
44  WavFile(std::string fileName);
45  WavFile(char* fileName);
46  ~WavFile();
48  bool error();
49  int samplerate();
50  int frames();
51  int channels();
52  void* dataPtr();
54 private:
55  std::string fileName;
56  FILE *f;
57  myWAVEFORMATEX wavStruct;
58  void* data;
59  int dataFrames;
60  int errorCode;
61  char errorMsg[1024];
62 };
63 
64 #endif
long sf_count_t
Definition: WavFile.h:36
DWORD nSamplesPerSec
Definition: WavFile.h:24
int frames()
Definition: WavFile.cpp:185
WavFile(std::string fileName)
Definition: WavFile.cpp:19
DWORD nAvgBytesPerSec
Definition: WavFile.h:25
Definition: WavFile.h:41
WORD wFormatTag
Definition: WavFile.h:22
Definition: WavFile.h:19
WORD nBlockAlign
Definition: WavFile.h:26
DWORD subChunkSize
Definition: WavFile.h:21
bool error()
Definition: WavFile.cpp:175
DWORD chunkSize
Definition: WavFile.h:15
unsigned int DWORD
Definition: WavFile.h:11
unsigned short int WORD
Definition: WavFile.h:10
~WavFile()
Definition: WavFile.cpp:169
int channels()
Definition: WavFile.cpp:190
Definition: WavFile.h:30
WORD wBitsPerSample
Definition: WavFile.h:27
DWORD chunkSize
Definition: WavFile.h:32
int samplerate()
Definition: WavFile.cpp:180
WORD nChannels
Definition: WavFile.h:23
void * dataPtr()
Definition: WavFile.cpp:195
Definition: WavFile.h:13