~jack_backend(void) { if (audio_is_active()) deactivate_audio(); close_client(); }
~portaudio_backend(void) { if (audio_is_active()) deactivate_audio(); close_stream(); int err = Pa_Terminate(); report_error(err); }
void close_stream(void) { if (stream == NULL) return; deactivate_audio(); int err = Pa_CloseStream(stream); report_error(err); stream = NULL; }
nova_server::~nova_server(void) { #if defined(JACK_BACKEND) if (audio_is_active()) deactivate_audio(); close_client(); #endif scheduler<scheduler_hook, thread_init_functor>::terminate(); io_interpreter.join_thread(); instance = 0; }