diff options
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r-- | libs/ardour/audioengine.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc index 322365fb9f..2035265c46 100644 --- a/libs/ardour/audioengine.cc +++ b/libs/ardour/audioengine.cc @@ -134,9 +134,7 @@ _thread_init_callback (void * /*arg*/) knows about it. */ - char* c = new char[12]; - strcpy (c, X_("audioengine")); - pthread_set_name (c); + pthread_set_name (X_("audioengine")); PBD::notify_gui_about_thread_creation ("gui", pthread_self(), X_("Audioengine"), 4096); PBD::notify_gui_about_thread_creation ("midiui", pthread_self(), X_("Audioengine"), 128); @@ -209,8 +207,6 @@ AudioEngine::start () // error << _("cannot activate JACK client") << endmsg; } - start_metering_thread(); - _raw_buffer_sizes[DataType::AUDIO] = blocksize * sizeof(float); } @@ -550,6 +546,8 @@ AudioEngine::start_metering_thread () void AudioEngine::meter_thread () { + pthread_set_name (X_("meter")); + while (true) { Glib::usleep (10000); /* 1/100th sec interval */ if (g_atomic_int_get(&m_meter_exit)) { @@ -567,6 +565,8 @@ AudioEngine::set_session (Session *s) SessionHandlePtr::set_session (s); if (_session) { + + start_metering_thread (); nframes_t blocksize = jack_get_buffer_size (_jack); @@ -602,6 +602,8 @@ AudioEngine::remove_session () if (_running) { + stop_metering_thread (); + if (_session) { session_remove_pending = true; session_removed.wait(_process_lock); |