comparison audioio/AudioGenerator.h @ 180:98ba77e0d897

* Merge from sv-match-alignment branch (excluding alignment-specific document). - add aggregate wave model (not yet complete enough to be added as a true model in a layer, but there's potential) - add play solo mode - add alignment model -- unused in plain SV - fix two plugin leaks - add m3u playlist support (opens all files at once, potentially hazardous) - fix retrieval of pre-encoded URLs - add ability to resample audio files on import, so as to match rates with other files previously loaded; add preference for same - add preliminary support in transform code for range and rate of transform input - reorganise preferences dialog, move dark-background option to preferences, add option for temporary directory location
author Chris Cannam
date Fri, 28 Sep 2007 13:56:38 +0000
parents cd5d7ff8ef38
children
comparison
equal deleted inserted replaced
179:dab257bd9d2d 180:98ba77e0d897
88 * Mix a single model into an output buffer. 88 * Mix a single model into an output buffer.
89 */ 89 */
90 virtual size_t mixModel(Model *model, size_t startFrame, size_t frameCount, 90 virtual size_t mixModel(Model *model, size_t startFrame, size_t frameCount,
91 float **buffer, size_t fadeIn = 0, size_t fadeOut = 0); 91 float **buffer, size_t fadeIn = 0, size_t fadeOut = 0);
92 92
93 /**
94 * Specify that only the given set of models should be played.
95 */
96 virtual void setSoloModelSet(std::set<Model *>s);
97
98 /**
99 * Specify that all models should be played as normal (if not
100 * muted).
101 */
102 virtual void clearSoloModelSet();
103
93 protected slots: 104 protected slots:
94 void playPluginIdChanged(const Model *, QString); 105 void playPluginIdChanged(const Model *, QString);
95 void playPluginConfigurationChanged(const Model *, QString); 106 void playPluginConfigurationChanged(const Model *, QString);
96 107
97 protected: 108 protected:
98 size_t m_sourceSampleRate; 109 size_t m_sourceSampleRate;
99 size_t m_targetChannelCount; 110 size_t m_targetChannelCount;
111
112 bool m_soloing;
113 std::set<Model *> m_soloModelSet;
100 114
101 struct NoteOff { 115 struct NoteOff {
102 116
103 int pitch; 117 int pitch;
104 size_t frame; 118 size_t frame;