diff audioio/AudioGenerator.h @ 11:8dc0ae8fccdd

* Add LED button * Add note model playback (currently assuming that value == MIDI pitch) * Reorganise PlayParameters and move repository from ViewManager to new PlayParameterRepository class
author Chris Cannam
date Wed, 15 Feb 2006 17:58:35 +0000
parents b6dc944128da
children 89bb89894ad6
line wrap: on
line diff
--- a/audioio/AudioGenerator.h	Thu Feb 09 18:01:52 2006 +0000
+++ b/audioio/AudioGenerator.h	Wed Feb 15 17:58:35 2006 +0000
@@ -12,6 +12,7 @@
 
 class Model;
 class ViewManager;
+class NoteModel;
 class DenseTimeValueModel;
 class SparseOneDimensionalModel;
 class RealTimePluginInstance;
@@ -86,16 +87,17 @@
 	};
     };
 
-    typedef std::map<SparseOneDimensionalModel *,
-		     RealTimePluginInstance *> PluginMap;
+    typedef std::map<Model *, RealTimePluginInstance *> PluginMap;
 
     typedef std::set<NoteOff, NoteOff::Comparator> NoteOffSet;
-    typedef std::map<SparseOneDimensionalModel *, NoteOffSet> NoteOffMap;
+    typedef std::map<Model *, NoteOffSet> NoteOffMap;
 
     QMutex m_mutex;
     PluginMap m_synthMap;
     NoteOffMap m_noteOffs;
 
+    virtual RealTimePluginInstance *loadPlugin(QString id, QString program);
+
     virtual size_t mixDenseTimeValueModel
     (DenseTimeValueModel *model, size_t startFrame, size_t frameCount,
      float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut);
@@ -104,6 +106,10 @@
     (SparseOneDimensionalModel *model, size_t startFrame, size_t frameCount,
      float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut);
 
+    virtual size_t mixNoteModel
+    (NoteModel *model, size_t startFrame, size_t frameCount,
+     float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut);
+
     static const size_t m_pluginBlockSize;
 };