summaryrefslogtreecommitdiffstats
path: root/src/libs/engine
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-20 03:33:33 +0000
committerDavid Robillard <d@drobilla.net>2007-09-20 03:33:33 +0000
commitc4a88de11f5a4c08418523a1f0fd0634b2f56857 (patch)
treebd94411c87e5c2b8cdb25bad49141cfcf08f97d8 /src/libs/engine
parent8e747504412c62f27c599f3f5e001ff3e2e36a82 (diff)
downloadingen-c4a88de11f5a4c08418523a1f0fd0634b2f56857.tar.gz
ingen-c4a88de11f5a4c08418523a1f0fd0634b2f56857.tar.bz2
ingen-c4a88de11f5a4c08418523a1f0fd0634b2f56857.zip
Fix serialization of node polyphonic value.
Fix loading of patches with more than one node (whoops...). git-svn-id: http://svn.drobilla.net/lad/ingen@738 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine')
-rw-r--r--src/libs/engine/MidiNoteNode.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/libs/engine/MidiNoteNode.cpp b/src/libs/engine/MidiNoteNode.cpp
index 03dc01b3..fac654f0 100644
--- a/src/libs/engine/MidiNoteNode.cpp
+++ b/src/libs/engine/MidiNoteNode.cpp
@@ -94,9 +94,13 @@ MidiNoteNode::apply_poly(Raul::Maid& maid, uint32_t poly)
{
NodeBase::apply_poly(maid, poly);
- maid.push(_voices);
- _voices = _prepared_voices;
- _prepared_voices = NULL;
+ if (_prepared_voices) {
+ assert(poly <= _prepared_poly);
+ maid.push(_voices);
+ _voices = _prepared_voices;
+ _prepared_voices = NULL;
+ }
+
_polyphony = poly;
return true;