Mercurial > hg > svapp
comparison 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 |
comparison
equal
deleted
inserted
replaced
10:b6dc944128da | 11:8dc0ae8fccdd |
---|---|
10 #ifndef _AUDIO_GENERATOR_H_ | 10 #ifndef _AUDIO_GENERATOR_H_ |
11 #define _AUDIO_GENERATOR_H_ | 11 #define _AUDIO_GENERATOR_H_ |
12 | 12 |
13 class Model; | 13 class Model; |
14 class ViewManager; | 14 class ViewManager; |
15 class NoteModel; | |
15 class DenseTimeValueModel; | 16 class DenseTimeValueModel; |
16 class SparseOneDimensionalModel; | 17 class SparseOneDimensionalModel; |
17 class RealTimePluginInstance; | 18 class RealTimePluginInstance; |
18 | 19 |
19 #include <QMutex> | 20 #include <QMutex> |
84 return n1.frame < n2.frame; | 85 return n1.frame < n2.frame; |
85 } | 86 } |
86 }; | 87 }; |
87 }; | 88 }; |
88 | 89 |
89 typedef std::map<SparseOneDimensionalModel *, | 90 typedef std::map<Model *, RealTimePluginInstance *> PluginMap; |
90 RealTimePluginInstance *> PluginMap; | |
91 | 91 |
92 typedef std::set<NoteOff, NoteOff::Comparator> NoteOffSet; | 92 typedef std::set<NoteOff, NoteOff::Comparator> NoteOffSet; |
93 typedef std::map<SparseOneDimensionalModel *, NoteOffSet> NoteOffMap; | 93 typedef std::map<Model *, NoteOffSet> NoteOffMap; |
94 | 94 |
95 QMutex m_mutex; | 95 QMutex m_mutex; |
96 PluginMap m_synthMap; | 96 PluginMap m_synthMap; |
97 NoteOffMap m_noteOffs; | 97 NoteOffMap m_noteOffs; |
98 | |
99 virtual RealTimePluginInstance *loadPlugin(QString id, QString program); | |
98 | 100 |
99 virtual size_t mixDenseTimeValueModel | 101 virtual size_t mixDenseTimeValueModel |
100 (DenseTimeValueModel *model, size_t startFrame, size_t frameCount, | 102 (DenseTimeValueModel *model, size_t startFrame, size_t frameCount, |
101 float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut); | 103 float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut); |
102 | 104 |
103 virtual size_t mixSparseOneDimensionalModel | 105 virtual size_t mixSparseOneDimensionalModel |
104 (SparseOneDimensionalModel *model, size_t startFrame, size_t frameCount, | 106 (SparseOneDimensionalModel *model, size_t startFrame, size_t frameCount, |
105 float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut); | 107 float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut); |
106 | 108 |
109 virtual size_t mixNoteModel | |
110 (NoteModel *model, size_t startFrame, size_t frameCount, | |
111 float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut); | |
112 | |
107 static const size_t m_pluginBlockSize; | 113 static const size_t m_pluginBlockSize; |
108 }; | 114 }; |
109 | 115 |
110 #endif | 116 #endif |
111 | 117 |