40#ifndef __EST_WAVEFILE_H__
41#define __EST_WAVEFILE_H__
43#include "EST_TNamedEnum.h"
44#include "EST_String.h"
46#include "EST_rw_status.h"
48#include "EST_wave_aux.h"
50typedef enum EST_WaveFileType{
71#define LoadWaveFileArgs const EST_String filename, \
73 int rate, EST_sample_type_t stype, \
75 int offset, int length
77#define SaveWaveFileArgs const EST_String filename, \
79 EST_sample_type_t stype, int bo
81#define LoadWave_TokenStreamArgs EST_TokenStream &ts, \
83 int rate, EST_sample_type_t stype, \
85 int offset, int length
87#define SaveWave_TokenStreamArgs FILE *fp, \
89 EST_sample_type_t stype, int bo
91 typedef EST_read_status Load_TokenStream(LoadWave_TokenStreamArgs);
93 typedef EST_write_status Save_TokenStream(SaveWave_TokenStreamArgs);
97 Load_TokenStream *load;
98 Save_TokenStream *save;
99 Save_TokenStream *save_header;
100 Save_TokenStream *save_data;
101 const char *description;
104 static EST_write_status save_nist(SaveWave_TokenStreamArgs);
105 static EST_write_status save_nist_header(SaveWave_TokenStreamArgs);
106 static EST_write_status save_nist_data(SaveWave_TokenStreamArgs);
107 static EST_read_status load_nist(LoadWave_TokenStreamArgs);
109 static EST_write_status save_est(SaveWave_TokenStreamArgs);
110 static EST_write_status save_est_header(SaveWave_TokenStreamArgs);
111 static EST_write_status save_est_data(SaveWave_TokenStreamArgs);
112 static EST_read_status load_est(LoadWave_TokenStreamArgs);
114 static EST_write_status save_esps(SaveWave_TokenStreamArgs);
115 static EST_write_status save_esps_header(SaveWave_TokenStreamArgs);
116 static EST_write_status save_esps_data(SaveWave_TokenStreamArgs);
117 static EST_read_status load_esps(LoadWave_TokenStreamArgs);
119 static EST_write_status save_audlab(SaveWave_TokenStreamArgs);
120 static EST_write_status save_audlab_header(SaveWave_TokenStreamArgs);
121 static EST_write_status save_audlab_data(SaveWave_TokenStreamArgs);
122 static EST_read_status load_audlab(LoadWave_TokenStreamArgs);
124 static EST_write_status save_snd(SaveWave_TokenStreamArgs);
125 static EST_write_status save_snd_header(SaveWave_TokenStreamArgs);
126 static EST_write_status save_snd_data(SaveWave_TokenStreamArgs);
127 static EST_read_status load_snd(LoadWave_TokenStreamArgs);
129 static EST_write_status save_aiff(SaveWave_TokenStreamArgs);
130 static EST_write_status save_aiff_header(SaveWave_TokenStreamArgs);
131 static EST_write_status save_aiff_data(SaveWave_TokenStreamArgs);
132 static EST_read_status load_aiff(LoadWave_TokenStreamArgs);
134 static EST_write_status save_riff(SaveWave_TokenStreamArgs);
135 static EST_write_status save_riff_header(SaveWave_TokenStreamArgs);
136 static EST_write_status save_riff_data(SaveWave_TokenStreamArgs);
137 static EST_read_status load_riff(LoadWave_TokenStreamArgs);
139 static EST_write_status save_raw(SaveWave_TokenStreamArgs);
140 static EST_write_status save_raw_header(SaveWave_TokenStreamArgs);
141 static EST_write_status save_raw_data(SaveWave_TokenStreamArgs);
142 static EST_read_status load_raw(LoadWave_TokenStreamArgs);
144 static EST_write_status save_ulaw(SaveWave_TokenStreamArgs);
145 static EST_write_status save_ulaw_header(SaveWave_TokenStreamArgs);
146 static EST_write_status save_ulaw_data(SaveWave_TokenStreamArgs);
147 static EST_read_status load_ulaw(LoadWave_TokenStreamArgs);
149 static EST_write_status save_alaw(SaveWave_TokenStreamArgs);
150 static EST_write_status save_alaw_header(SaveWave_TokenStreamArgs);
151 static EST_write_status save_alaw_data(SaveWave_TokenStreamArgs);
152 static EST_read_status load_alaw(LoadWave_TokenStreamArgs);