diff audioio/AudioGenerator.h @ 108:e25e8f5d785b

* Fix #1628781 changes to layer visibility and mute should use a command * Also use a command for changes to layer playback pan, gain, plugin settings * Refactor PlayParameterRepository to remove dependency on audioio from base * Fix failure to save play parameters for main model in session file
author Chris Cannam
date Thu, 13 Mar 2008 14:06:03 +0000
parents 3c5756fb6a68
children e81c1ea227ee
line wrap: on
line diff
--- a/audioio/AudioGenerator.h	Thu Mar 13 10:12:14 2008 +0000
+++ b/audioio/AudioGenerator.h	Thu Mar 13 14:06:03 2008 +0000
@@ -21,6 +21,7 @@
 class DenseTimeValueModel;
 class SparseOneDimensionalModel;
 class RealTimePluginInstance;
+class Playable;
 
 #include <QObject>
 #include <QMutex>
@@ -37,22 +38,10 @@
     virtual ~AudioGenerator();
 
     /**
-     * Return true if the given model is of a type that we generally
-     * know how to play.  This doesn't guarantee that a specific
-     * AudioGenerator will actually produce sounds for it (for
-     * example, it may turn out that a vital plugin is missing).
-     */
-    static bool canPlay(const Model *model);
-
-    static QString getDefaultPlayPluginId(const Model *model);
-    static QString getDefaultPlayPluginConfiguration(const Model *model);
-
-    /**
      * Add a data model to be played from and initialise any necessary
      * audio generation code.  Returns true if the model will be
-     * played.  (The return value test here is stricter than that for
-     * canPlay, above.)  The model will be added regardless of the
-     * return value.
+     * played.  The model will be added regardless of the return
+     * value.
      */
     virtual bool addModel(Model *model);
 
@@ -102,8 +91,8 @@
     virtual void clearSoloModelSet();
 
 protected slots:
-    void playPluginIdChanged(const Model *, QString);
-    void playPluginConfigurationChanged(const Model *, QString);
+    void playPluginIdChanged(const Playable *, QString);
+    void playPluginConfigurationChanged(const Playable *, QString);
 
 protected:
     size_t       m_sourceSampleRate;
@@ -136,7 +125,7 @@
 
     virtual RealTimePluginInstance *loadPluginFor(const Model *model);
     virtual RealTimePluginInstance *loadPlugin(QString id, QString program);
-    static QString getSampleDir();
+    static void initialiseSampleDir();
     static void setSampleDir(RealTimePluginInstance *plugin);
 
     virtual size_t mixDenseTimeValueModel