]> lisas.de Git - terminatorX.git/blob - src/wav_file.h
Uploaded Version 3.2 into ther repository... Alex
[terminatorX.git] / src / wav_file.h
1 /*
2     wav_file.h - taken from wav-tools 1.1
3     Copyright (C) by Colin Ligertwood
4
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18     
19     Changes:
20     
21     11 Mar 1999: -added license hint
22                  -slight changes for use with terminatorX
23
24     20 Mar 1999: now includes sys/types.h and uses types
25                  defined there for interplatform compability. 
26                 
27     28 Apr 1999: switch from filedescriptors to FILE*
28     
29     29 Apr 1999: added sox and mpg123 support
30 */
31
32 #ifndef _H_WAVFILE
33 #define _H_WAVFILE
34
35 #ifdef HAVE_CONFIG_H
36 #include <config.h>
37 #endif
38
39 #ifdef USE_SOX_INPUT
40 #define SOX_STR "sox \"%s\" -t raw -c 1 -r 44100 -s -w -"
41 #endif
42
43 #ifdef USE_MPG123_INPUT
44 /*#include "endian.h"   // I don't think this is required
45 #ifdef BIG_ENDIAN_MACHINE
46 #define MPG123_STR "mpg123 -s \"%s\" | sox -t raw -r 44100 -c 2 -s -w -x - -t wav -c 1 -r 44100 -s -w -"
47 #else*/
48 #define MPG123_STR "mpg123 -qms \"%s\""
49 /*#else
50 #define MPG123_STR "mpg123 -qs \"%s\" | sox -t raw -r 44100 -c 2 -s -w - -t raw -c 1 -r 44100 -s -w -"
51 #endif
52 /*#endif*/
53 #endif
54
55
56 #include "tX_global.h"
57 #include "tX_types.h"
58
59 typedef struct{
60         int32_t srate;
61         int8_t  chans;
62         int8_t  depth;
63         int32_t bps;
64         int8_t  blkalign;
65         int32_t len;
66         int32_t sofar;
67         
68         FILE*   handle;
69         char    name[PATH_MAX];
70         char    head[43];
71 #ifdef USE_SOX_INPUT
72         int     has_host_order;
73 #endif  
74 } wav_sig;
75
76 FILE* init_wav_read(char file_name[], wav_sig *info);
77 FILE* open_wav_rec(wav_sig *info);
78 /*extern int rewrite_head(wav_sig *info);*/
79 extern void wav_close(FILE* wav);
80
81 #endif