From d76fe212b7e949fabcfede612f6edc2ebb4f87cc Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Mon, 14 Sep 2015 12:18:05 +1000 Subject: [PATCH] Move MMCSS related utility functions into PBD namespace In preparation for moving to libpbd --- libs/backends/portaudio/mmcss.cc | 9 ++++++--- libs/backends/portaudio/mmcss.h | 13 ++++++++----- libs/backends/portaudio/portaudio_backend.cc | 10 +++++----- libs/backends/portaudio/winmmemidi_input_device.cc | 4 ++-- libs/backends/portaudio/winmmemidi_output_device.cc | 6 +++--- 5 files changed, 24 insertions(+), 18 deletions(-) diff --git a/libs/backends/portaudio/mmcss.cc b/libs/backends/portaudio/mmcss.cc index e986fe965e..406345df34 100644 --- a/libs/backends/portaudio/mmcss.cc +++ b/libs/backends/portaudio/mmcss.cc @@ -28,7 +28,7 @@ typedef HANDLE (WINAPI* AvSetMmThreadCharacteristicsA_t)(LPCSTR TaskName, typedef BOOL (WINAPI* AvRevertMmThreadCharacteristics_t)(HANDLE AvrtHandle); typedef BOOL (WINAPI* AvSetMmThreadPriority_t)( - HANDLE AvrtHandle, mmcss::AVRT_PRIORITY Priority); + HANDLE AvrtHandle, PBD::MMCSS::AVRT_PRIORITY Priority); static HMODULE avrt_dll = NULL; @@ -36,8 +36,9 @@ static AvSetMmThreadCharacteristicsA_t AvSetMmThreadCharacteristicsA = NULL; static AvRevertMmThreadCharacteristics_t AvRevertMmThreadCharacteristics = NULL; static AvSetMmThreadPriority_t AvSetMmThreadPriority = NULL; +namespace PBD { -namespace mmcss { +namespace MMCSS { bool initialize () @@ -174,4 +175,6 @@ set_thread_priority (HANDLE task_handle, AVRT_PRIORITY priority) return true; } -} // namespace mmcss +} // namespace MMCSS + +} // namespace PBD diff --git a/libs/backends/portaudio/mmcss.h b/libs/backends/portaudio/mmcss.h index 7c77f463a5..28dc737c4d 100644 --- a/libs/backends/portaudio/mmcss.h +++ b/libs/backends/portaudio/mmcss.h @@ -16,14 +16,16 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#ifndef MMCSS_H -#define MMCSS_H +#ifndef PBD_WINDOWS_MMCSS_H +#define PBD_WINDOWS_MMCSS_H #include #include -namespace mmcss { +namespace PBD { + +namespace MMCSS { enum AVRT_PRIORITY { AVRT_PRIORITY_VERYLOW = -2, @@ -48,7 +50,8 @@ bool revert_thread_characteristics (HANDLE task_handle); bool set_thread_priority (HANDLE, AVRT_PRIORITY); +} // namespace MMCSS -} // namespace mmcss +} // namespace PBD -#endif // MMCSS_H +#endif // PBD_WINDOWS_MMCSS_H diff --git a/libs/backends/portaudio/portaudio_backend.cc b/libs/backends/portaudio/portaudio_backend.cc index 2275c44276..973180f37f 100644 --- a/libs/backends/portaudio/portaudio_backend.cc +++ b/libs/backends/portaudio/portaudio_backend.cc @@ -83,7 +83,7 @@ PortAudioBackend::PortAudioBackend (AudioEngine& e, AudioBackendInfo& info) _instance_name = s_instance_name; pthread_mutex_init (&_port_callback_mutex, 0); - mmcss::initialize (); + PBD::MMCSS::initialize (); _pcmio = new PortAudioIO (); _midiio = new WinMMEMidiIO (); @@ -94,7 +94,7 @@ PortAudioBackend::~PortAudioBackend () delete _pcmio; _pcmio = 0; delete _midiio; _midiio = 0; - mmcss::deinitialize (); + PBD::MMCSS::deinitialize (); pthread_mutex_destroy (&_port_callback_mutex); } @@ -702,7 +702,7 @@ PortAudioBackend::name_to_id(std::string device_name) const { bool PortAudioBackend::set_mmcss_pro_audio (HANDLE* task_handle) { - bool mmcss_success = mmcss::set_thread_characteristics ("Pro Audio", task_handle); + bool mmcss_success = PBD::MMCSS::set_thread_characteristics ("Pro Audio", task_handle); if (!mmcss_success) { PBD::warning << get_error_string(SettingAudioThreadPriorityError) << endmsg; @@ -712,7 +712,7 @@ PortAudioBackend::set_mmcss_pro_audio (HANDLE* task_handle) } bool mmcss_priority = - mmcss::set_thread_priority(*task_handle, mmcss::AVRT_PRIORITY_NORMAL); + PBD::MMCSS::set_thread_priority(*task_handle, PBD::MMCSS::AVRT_PRIORITY_NORMAL); if (!mmcss_priority) { PBD::warning << get_error_string(SettingAudioThreadPriorityError) << endmsg; @@ -727,7 +727,7 @@ PortAudioBackend::set_mmcss_pro_audio (HANDLE* task_handle) bool PortAudioBackend::reset_mmcss (HANDLE task_handle) { - if (!mmcss::revert_thread_characteristics(task_handle)) { + if (!PBD::MMCSS::revert_thread_characteristics(task_handle)) { DEBUG_THREADS("Unable to reset process thread characteristics\n"); return false; } diff --git a/libs/backends/portaudio/winmmemidi_input_device.cc b/libs/backends/portaudio/winmmemidi_input_device.cc index 4e5d2da257..324306db12 100644 --- a/libs/backends/portaudio/winmmemidi_input_device.cc +++ b/libs/backends/portaudio/winmmemidi_input_device.cc @@ -198,8 +198,8 @@ WinMMEMidiInputDevice::winmm_input_callback(HMIDIIN handle, HANDLE task_handle; if (!priority_boosted) { - mmcss::set_thread_characteristics ("Pro Audio", &task_handle); - mmcss::set_thread_priority (task_handle, mmcss::AVRT_PRIORITY_HIGH); + PBD::MMCSS::set_thread_characteristics ("Pro Audio", &task_handle); + PBD::MMCSS::set_thread_priority (task_handle, PBD::MMCSS::AVRT_PRIORITY_HIGH); priority_boosted = true; } #endif diff --git a/libs/backends/portaudio/winmmemidi_output_device.cc b/libs/backends/portaudio/winmmemidi_output_device.cc index f8071dd9b1..89f76f29d0 100644 --- a/libs/backends/portaudio/winmmemidi_output_device.cc +++ b/libs/backends/portaudio/winmmemidi_output_device.cc @@ -354,8 +354,8 @@ WinMMEMidiOutputDevice::midi_output_thread () #ifdef USE_MMCSS_THREAD_PRIORITIES HANDLE task_handle; - mmcss::set_thread_characteristics ("Pro Audio", &task_handle); - mmcss::set_thread_priority (task_handle, mmcss::AVRT_PRIORITY_HIGH); + PBD::MMCSS::set_thread_characteristics ("Pro Audio", &task_handle); + PBD::MMCSS::set_thread_priority (task_handle, PBD::MMCSS::AVRT_PRIORITY_HIGH); #endif while (!m_thread_quit) { @@ -481,7 +481,7 @@ WinMMEMidiOutputDevice::midi_output_thread () } #ifdef USE_MMCSS_THREAD_PRIORITIES - mmcss::revert_thread_characteristics (task_handle); + PBD::MMCSS::revert_thread_characteristics (task_handle); #endif m_thread_running = false;