diff audioio/AudioTargetFactory.h @ 126:d615d0220828

* Add audio device selection to preferences * Add (not yet functional) insert, delete, edit buttons to data edit window * Add proper set methods for time fields in data edit window (using general sparse model base class)
author Chris Cannam
date Fri, 13 Jun 2008 21:09:43 +0000
parents 3c5756fb6a68
children 67cea66bd588
line wrap: on
line diff
--- a/audioio/AudioTargetFactory.h	Thu Jun 12 14:33:45 2008 +0000
+++ b/audioio/AudioTargetFactory.h	Fri Jun 13 21:09:43 2008 +0000
@@ -16,13 +16,29 @@
 #ifndef _AUDIO_TARGET_FACTORY_H_
 #define _AUDIO_TARGET_FACTORY_H_
 
+#include <vector>
+#include <QString>
+
 class AudioCallbackPlaySource;
 class AudioCallbackPlayTarget;
 
 class AudioTargetFactory 
 {
 public:
-    static AudioCallbackPlayTarget *createCallbackTarget(AudioCallbackPlaySource *);
+    static AudioTargetFactory *getInstance();
+
+    std::vector<QString> getCallbackTargetNames(bool includeAuto = true) const;
+    QString getCallbackTargetDescription(QString name) const;
+    QString getDefaultCallbackTarget() const;
+    bool isAutoCallbackTarget(QString name) const;
+    void setDefaultCallbackTarget(QString name);
+
+    AudioCallbackPlayTarget *createCallbackTarget(AudioCallbackPlaySource *);
+
+protected:
+    AudioTargetFactory();
+    static AudioTargetFactory *m_instance;
+    QString m_default;
 };
 
 #endif