diff options
author | David Robillard <d@drobilla.net> | 2007-09-18 00:59:38 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-09-18 00:59:38 +0000 |
commit | c7c29dfbbd6b237aada410ed36d5dcaaed8efbc8 (patch) | |
tree | 56af8996e3f98954433929c9465a885f905e3b72 /src/libs/engine/Patch.cpp | |
parent | 89f56f276b9dc16fec03725f73f7df12260cd246 (diff) | |
download | ingen-c7c29dfbbd6b237aada410ed36d5dcaaed8efbc8.tar.gz ingen-c7c29dfbbd6b237aada410ed36d5dcaaed8efbc8.tar.bz2 ingen-c7c29dfbbd6b237aada410ed36d5dcaaed8efbc8.zip |
Fix MIDI buffer reading error, fixes reading of multiple MIDI events per cycle (including stuck notes, fixes ticket 86).
git-svn-id: http://svn.drobilla.net/lad/ingen@717 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/Patch.cpp')
-rw-r--r-- | src/libs/engine/Patch.cpp | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/libs/engine/Patch.cpp b/src/libs/engine/Patch.cpp index 8e0b8862..78184a82 100644 --- a/src/libs/engine/Patch.cpp +++ b/src/libs/engine/Patch.cpp @@ -120,7 +120,7 @@ Patch::process(SampleCount nframes, FrameTime start, FrameTime end) /* Prepare input ports */ - // This breaks MIDI input, somehow (?) + // FIXME: This breaks MIDI input, somehow? OK disabled? //for (Raul::List<Port*>::iterator i = _input_ports.begin(); i != _input_ports.end(); ++i) // (*i)->pre_process(nframes, start, end); for (Raul::List<Port*>::iterator i = _output_ports.begin(); i != _output_ports.end(); ++i) @@ -171,7 +171,6 @@ Patch::process_parallel(SampleCount nframes, FrameTime start, FrameTime end) */ size_t index = 0; - //size_t run_count = 0; size_t num_finished = 0; // Number of consecutive finished nodes hit while (num_finished < cp->size()) { @@ -180,16 +179,12 @@ Patch::process_parallel(SampleCount nframes, FrameTime start, FrameTime end) if (n.node()->process_lock()) { if (n.node()->n_inputs_ready() == n.n_providers()) { - //cout << "************ Main running " << n.node()->path() << " at index " << index << endl; n.node()->process(nframes, start, end); - //cerr << n.node()->path() << " @ " << &n << " dependants: " << n.dependants().size() << endl; - /* Signal dependants their input is ready */ for (size_t i=0; i < n.dependants().size(); ++i) n.dependants()[i]->signal_input_ready(); - //++run_count; ++num_finished; } else { n.node()->process_unlock(); @@ -205,8 +200,6 @@ Patch::process_parallel(SampleCount nframes, FrameTime start, FrameTime end) index = (index + 1) % cp->size(); } - //cout << "Main Thread ran \t" << run_count << " nodes this cycle." << endl; - /* Tell slaves we're done in case we beat them, and pray they're * really done by the start of next cycle. * FIXME: This probably breaks (race) at extremely small nframes. |