audiofile support + improved sample rate support + results of a -Wall -Werr
[terminatorX.git] / src / tX_audiofile.h
index 83ebb31d093e831b911735f25d946144cbc5165b..637714ae040869adcf41a6b624debab5e3f18e32 100644 (file)
@@ -74,7 +74,10 @@ enum tX_audio_error {
        TX_AUDIO_ERR_MAD_DECODE,
        TX_AUDIO_ERR_MAD_MMAP,
        TX_AUDIO_ERR_MAD_MUNMAP,
-       TX_AUDIO_ERR_VORBIS_OPEN
+       TX_AUDIO_ERR_VORBIS_OPEN,
+       TX_AUDIO_ERR_VORBIS_NODATA,
+       TX_AUDIO_ERR_AF_OPEN,
+       TX_AUDIO_ERR_AF_NODATA  
 };
 
 enum tX_audio_storage_type {
@@ -105,7 +108,7 @@ class tx_audiofile
        int16_t *mem;
        size_t memsize;
        long no_samples;        
-       unsigned int sample_rate; //in HZ
+       unsigned int sample_rate; //in HZ       
 
 #ifdef USE_BUILTIN_WAV
        tX_audio_error load_wav();
@@ -116,6 +119,10 @@ class tx_audiofile
 #define NEED_PIPED 1   
 #endif
 
+#ifdef USE_AUDIOFILE_INPUT
+       tX_audio_error load_af();
+#endif
+
 #ifdef USE_MAD_INPUT
        tX_audio_error load_mad();
        int mad_decode(unsigned char const *start, unsigned long length);       
@@ -142,6 +149,7 @@ class tx_audiofile
        
        public:
        tx_audiofile();
+       unsigned int get_sample_rate() { return sample_rate; }
        
        tX_audio_error load(char *p_file_name);
        int16_t *get_buffer() { return mem; };