From 77fc40827ed8d713e9cbd8eded2db46aa47ce2d9 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 16 Nov 2008 18:20:28 +0000 Subject: Shut down JACK cleanly. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1729 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/JackAudioDriver.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'src/engine/JackAudioDriver.cpp') diff --git a/src/engine/JackAudioDriver.cpp b/src/engine/JackAudioDriver.cpp index 23577e33..3f39f363 100644 --- a/src/engine/JackAudioDriver.cpp +++ b/src/engine/JackAudioDriver.cpp @@ -185,18 +185,11 @@ void JackAudioDriver::deactivate() { if (_is_activated) { - - //for (Raul::List::iterator i = _ports.begin(); i != _ports.end(); ++i) - // jack_port_unregister(_client, (*i)->jack_port()); - - jack_deactivate(_client); _is_activated = false; - + jack_deactivate(_client); + _jack_thread->stop(); _ports.clear(); - cout << "[JackAudioDriver] Deactivated Jack client." << endl; - - //_engine.post_processor()->stop(); } } @@ -327,14 +320,15 @@ JackAudioDriver::_process_cb(jack_nframes_t nframes) (*i)->prepare_buffer(nframes); } - assert(_engine.midi_driver()); - _engine.midi_driver()->pre_process(_process_context); + if (_engine.midi_driver()) + _engine.midi_driver()->pre_process(_process_context); // Run root patch if (_root_patch) _root_patch->process(_process_context); - _engine.midi_driver()->post_process(_process_context); + if (_engine.midi_driver()) + _engine.midi_driver()->post_process(_process_context); _engine.post_processor()->set_end_time(_process_context.end()); -- cgit v1.2.1