diff options
author | David Robillard <d@drobilla.net> | 2007-09-19 16:17:57 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-09-19 16:17:57 +0000 |
commit | 43c41a34f043adda734ce44b19951c9e14fe496e (patch) | |
tree | 3bc19edc4891311d46571cfa9dcf04f98d411724 /src/libs/engine/MidiNoteNode.hpp | |
parent | cfbcb812e96b740e16510bf736cef688d8ebe986 (diff) | |
download | ingen-43c41a34f043adda734ce44b19951c9e14fe496e.tar.gz ingen-43c41a34f043adda734ce44b19951c9e14fe496e.tar.bz2 ingen-43c41a34f043adda734ce44b19951c9e14fe496e.zip |
Note node dynamic poly.
git-svn-id: http://svn.drobilla.net/lad/ingen@727 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/MidiNoteNode.hpp')
-rw-r--r-- | src/libs/engine/MidiNoteNode.hpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libs/engine/MidiNoteNode.hpp b/src/libs/engine/MidiNoteNode.hpp index e67df8a7..c7110f91 100644 --- a/src/libs/engine/MidiNoteNode.hpp +++ b/src/libs/engine/MidiNoteNode.hpp @@ -42,6 +42,9 @@ class MidiNoteNode : public InternalNode public: MidiNoteNode(const string& path, uint32_t poly, Patch* parent, SampleRate srate, size_t buffer_size); ~MidiNoteNode(); + + bool prepare_poly(uint32_t poly); + bool apply_poly(Raul::Maid& maid, uint32_t poly); void process(SampleCount nframes, FrameTime start, FrameTime end); @@ -70,9 +73,11 @@ private: float note_to_freq(int num); void free_voice(size_t voice, FrameTime time, SampleCount nframes, FrameTime start, FrameTime end); - Voice* _voices; - Key _keys[128]; - bool _sustain; ///< Whether or not hold pedal is depressed + Raul::Array<Voice>* _voices; + Raul::Array<Voice>* _prepared_voices; + uint32_t _prepared_poly; + Key _keys[128]; + bool _sustain; ///< Whether or not hold pedal is depressed InputPort* _midi_in_port; OutputPort* _freq_port; |