Mercurial > hg > svapp
comparison audioio/AudioGenerator.h @ 299:ae1eedd6951f tonioni
Use NoteExportable, now in svcore, to generate note data
author | Chris Cannam |
---|---|
date | Mon, 02 Dec 2013 17:12:27 +0000 |
parents | cba1e2a3d14b |
children | 9716c75499ef |
comparison
equal
deleted
inserted
replaced
298:e22642bcb07b | 299:ae1eedd6951f |
---|---|
101 size_t m_targetChannelCount; | 101 size_t m_targetChannelCount; |
102 | 102 |
103 bool m_soloing; | 103 bool m_soloing; |
104 std::set<Model *> m_soloModelSet; | 104 std::set<Model *> m_soloModelSet; |
105 | 105 |
106 struct NoteData { | |
107 | |
108 NoteData(size_t _start, size_t _dur, int _mp, int _vel) : | |
109 start(_start), duration(_dur), midiPitch(_mp), frequency(0), | |
110 isMidiPitchQuantized(true), velocity(_vel) { }; | |
111 | |
112 size_t start; // audio sample frame | |
113 size_t duration; // in audio sample frames | |
114 int midiPitch; // 0-127 | |
115 int frequency; // Hz, to be used if isMidiPitchQuantized false | |
116 bool isMidiPitchQuantized; | |
117 int velocity; // MIDI-style 0-127 | |
118 }; | |
119 | |
120 typedef std::vector<NoteData> NoteList; | |
121 | |
122 struct NoteOff { | 106 struct NoteOff { |
123 | 107 |
124 NoteOff(int _p, size_t _f) : pitch(_p), frame(_f) { } | 108 NoteOff(int _p, size_t _f) : pitch(_p), frame(_f) { } |
125 | 109 |
126 int pitch; | 110 int pitch; |
154 | 138 |
155 virtual size_t mixSyntheticNoteModel | 139 virtual size_t mixSyntheticNoteModel |
156 (Model *model, size_t startFrame, size_t frameCount, | 140 (Model *model, size_t startFrame, size_t frameCount, |
157 float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut); | 141 float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut); |
158 | 142 |
159 NoteList getNotes(Model *model, size_t startFrame, size_t endFrame); | |
160 | |
161 static const size_t m_pluginBlockSize; | 143 static const size_t m_pluginBlockSize; |
162 }; | 144 }; |
163 | 145 |
164 #endif | 146 #endif |
165 | 147 |