audiofile support + improved sample rate support + results of a -Wall -Werr
[terminatorX.git] / src / tX_audiofile.h
index 8208c8648086c9cf3949294abeecd47474c3ec87..637714ae040869adcf41a6b624debab5e3f18e32 100644 (file)
@@ -73,7 +73,11 @@ enum tX_audio_error {
        TX_AUDIO_ERR_MAD_STAT,
        TX_AUDIO_ERR_MAD_DECODE,
        TX_AUDIO_ERR_MAD_MMAP,
-       TX_AUDIO_ERR_MAD_MUNMAP
+       TX_AUDIO_ERR_MAD_MUNMAP,
+       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 {
@@ -104,6 +108,7 @@ class tx_audiofile
        int16_t *mem;
        size_t memsize;
        long no_samples;        
+       unsigned int sample_rate; //in HZ       
 
 #ifdef USE_BUILTIN_WAV
        tX_audio_error load_wav();
@@ -114,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);       
@@ -124,6 +133,10 @@ class tx_audiofile
 #define NEED_PIPED 1   
 #endif
 
+#ifdef USE_VORBIS_INPUT
+       tX_audio_error load_vorbis();
+#endif
+
 #ifdef USE_OGG123_INPUT
        tX_audio_error load_ogg123();
 #define NEED_PIPED 1
@@ -136,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; };