Move MMCSS related utility functions into PBD namespace
In preparation for moving to libpbd
This commit is contained in:
parent
f58e3abdbe
commit
d76fe212b7
@ -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
|
||||
|
@ -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 <windows.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user