diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-12-19 02:41:19 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-12-19 02:41:19 +0000 |
commit | 486020b4032da9bbb20fafd83ec6f10263c892e5 (patch) | |
tree | ec7b4a43e25f628a64ccd56afbca5b556c8f268f /libs/ardour/audioengine.cc | |
parent | 575c7974ebddffe71b1fc673c1463221f134bc16 (diff) |
save keybindings to file used at startup; allow keybindings file to be cmdline-specified; remove some GTK2FIX comments; fix feedback based on john anderson's patch; apply scons patches; fix crash when taking MIDI ports online+offline; try to prevent aborts when shutting down due to metering thread; start work on reconstructing GlobalFOOCommand commands; use ftruncate to hint at peakfile preallocation to reduce fragmentation
git-svn-id: svn://localhost/ardour2/trunk@1223 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r-- | libs/ardour/audioengine.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc index e68dc718d9..b68235171f 100644 --- a/libs/ardour/audioengine.cc +++ b/libs/ardour/audioengine.cc @@ -156,6 +156,7 @@ AudioEngine::stop (bool forever) jack_client_t* foo = _jack; _jack = 0; jack_client_close (foo); + stop_metering_thread (); } else { jack_deactivate (_jack); } @@ -379,9 +380,9 @@ AudioEngine::stop_metering_thread () { if (m_meter_thread) { g_atomic_int_set (&m_meter_exit, 1); + m_meter_thread->join (); + m_meter_thread = 0; } - m_meter_thread->join (); - m_meter_thread = 0; } void @@ -395,8 +396,11 @@ AudioEngine::start_metering_thread () void AudioEngine::meter_thread () { - while (g_atomic_int_get(&m_meter_exit) != true) { + while (true) { Glib::usleep (10000); /* 1/100th sec interval */ + if (g_atomic_int_get(&m_meter_exit)) { + break; + } IO::update_meters (); } } |