summaryrefslogtreecommitdiff
path: root/libs/ardour/audioengine.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r--libs/ardour/audioengine.cc12
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);