diff data/fileio/AudioFileReaderFactory.cpp @ 157:c03ec31005e1

* Add zoom thumbwheels to Pane. Implement horizontal thumbwheel, and vertical depending on layer type (supported for waveform and spectrogram, though wrong for log-scale spectrogram at the moment). * Add bare bones of a spectrum layer. * Add window icon * Add shortcut for "insert time instant" on laptops without keypad enter (";") * Delete FFT processing thread when it exits (at least, next time we're asked for something interesting) * Get audio file extensions from the file readers, and thus from libsndfile for the wave file reader -- leads to rather a wide combo box in file dialog though * Better refresh order for spectrogram (redraw centre section first)
author Chris Cannam
date Fri, 04 Aug 2006 17:01:37 +0000
parents 1a42221a1522
children 91fdc752e540
line wrap: on
line diff
--- a/data/fileio/AudioFileReaderFactory.cpp	Thu Aug 03 16:04:00 2006 +0000
+++ b/data/fileio/AudioFileReaderFactory.cpp	Fri Aug 04 17:01:37 2006 +0000
@@ -24,17 +24,26 @@
 QString
 AudioFileReaderFactory::getKnownExtensions()
 {
-    return
-	"*.wav *.aiff *.aif"
+    std::set<QString> extensions;
+
+    WavFileReader::getSupportedExtensions(extensions);
 #ifdef HAVE_MAD
-	" *.mp3"
+    MP3FileReader::getSupportedExtensions(extensions);
 #endif
 #ifdef HAVE_OGGZ
 #ifdef HAVE_FISHSOUND
-	" *.ogg"
+    OggVorbisFileReader::getSupportedExtensions(extensions);
 #endif
 #endif
-	;
+
+    QString rv;
+    for (std::set<QString>::const_iterator i = extensions.begin();
+         i != extensions.end(); ++i) {
+        if (i != extensions.begin()) rv += " ";
+        rv += "*." + *i;
+    }
+
+    return rv;
 }
 
 AudioFileReader *