diff options
author | David Robillard <d@drobilla.net> | 2007-09-19 21:16:18 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-09-19 21:16:18 +0000 |
commit | 0b8415c61e321d032d62b5b1cbda65bab6f178d7 (patch) | |
tree | 7ed101634641999660e697cf2e6a5f1415b9b438 /src/libs/engine/MidiNoteNode.cpp | |
parent | a054212abbdb26e03ca42c91d0c86819d445bc5f (diff) | |
download | ingen-0b8415c61e321d032d62b5b1cbda65bab6f178d7.tar.gz ingen-0b8415c61e321d032d62b5b1cbda65bab6f178d7.tar.bz2 ingen-0b8415c61e321d032d62b5b1cbda65bab6f178d7.zip |
Tidy up OSC namespace to use OSC true/false instead of C style boolean integers.
Fully separate concept of "polyphonic" (boolean node property) from "polyphony" (integer patch/node property).
Ability to add "polyphonic" nodes to poly=1 patches (in case poly is changed later).
git-svn-id: http://svn.drobilla.net/lad/ingen@732 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/MidiNoteNode.cpp')
-rw-r--r-- | src/libs/engine/MidiNoteNode.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libs/engine/MidiNoteNode.cpp b/src/libs/engine/MidiNoteNode.cpp index 4e93d917..91c9d542 100644 --- a/src/libs/engine/MidiNoteNode.cpp +++ b/src/libs/engine/MidiNoteNode.cpp @@ -95,7 +95,7 @@ MidiNoteNode::apply_poly(Raul::Maid& maid, uint32_t poly) maid.push(_voices); _voices = _prepared_voices; _prepared_voices = NULL; - _poly = poly; + _polyphony = poly; return true; } @@ -177,7 +177,7 @@ MidiNoteNode::note_on(uchar note_num, uchar velocity, FrameTime time, SampleCoun uint32_t voice_num = 0; // Look for free voices - for (uint32_t i=0; i < _poly; ++i) { + for (uint32_t i=0; i < _polyphony; ++i) { if ((*_voices)[i].state == Voice::Voice::FREE) { voice = &(*_voices)[i]; voice_num = i; @@ -190,7 +190,7 @@ MidiNoteNode::note_on(uchar note_num, uchar velocity, FrameTime time, SampleCoun voice_num = 0; voice = &(*_voices)[0]; jack_nframes_t oldest_time = (*_voices)[0].time; - for (uint32_t i=1; i < _poly; ++i) { + for (uint32_t i=1; i < _polyphony; ++i) { if ((*_voices)[i].time < oldest_time) { voice = &(*_voices)[i]; voice_num = i; @@ -331,7 +331,7 @@ MidiNoteNode::all_notes_off(FrameTime time, SampleCount nframes, FrameTime start // FIXME: set all keys to Key::OFF? - for (uint32_t i=0; i < _poly; ++i) { + for (uint32_t i=0; i < _polyphony; ++i) { ((AudioBuffer*)_gate_port->buffer(i))->set(0.0f, time - start); (*_voices)[i].state = Voice::FREE; } @@ -363,7 +363,7 @@ MidiNoteNode::sustain_off(FrameTime time, SampleCount nframes, FrameTime start, _sustain = false; - for (uint32_t i=0; i < _poly; ++i) + for (uint32_t i=0; i < _polyphony; ++i) if ((*_voices)[i].state == Voice::HOLDING) free_voice(i, time, nframes, start, end); } |