From 43c41a34f043adda734ce44b19951c9e14fe496e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 19 Sep 2007 16:17:57 +0000 Subject: Note node dynamic poly. git-svn-id: http://svn.drobilla.net/lad/ingen@727 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/MidiNoteNode.hpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/libs/engine/MidiNoteNode.hpp') 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* _voices; + Raul::Array* _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; -- cgit v1.2.1