return 0;
}
+ if (session_remove_pending) {
+ /* perform the actual session removal */
+ _session = 0;
+ session_remove_pending = false;
+ session_removed.signal();
+ }
+
if (_session == 0) {
if (!_freewheeling) {
MIDI::Manager::instance()->cycle_start(nframes);
MIDI::Manager::instance()->cycle_end();
+
+ boost::shared_ptr<Ports> p = ports.reader();
+
+ for (Ports::iterator i = p->begin(); i != p->end(); ++i) {
+
+ if (i->second->sends_output()) {
+ i->second->get_buffer (nframes).silence (nframes);
+ }
+ }
}
- _processed_frames = next_processed_frames;
- return 0;
- }
- if (session_remove_pending) {
- /* perform the actual session removal */
- _session = 0;
- session_remove_pending = false;
- session_removed.signal();
_processed_frames = next_processed_frames;
+
return 0;
}