diff options
Diffstat (limited to 'libs/backends/portaudio/winmmemidi_output_device.cc')
-rw-r--r-- | libs/backends/portaudio/winmmemidi_output_device.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/backends/portaudio/winmmemidi_output_device.cc b/libs/backends/portaudio/winmmemidi_output_device.cc index bb52b2da4f..7dec08e594 100644 --- a/libs/backends/portaudio/winmmemidi_output_device.cc +++ b/libs/backends/portaudio/winmmemidi_output_device.cc @@ -27,6 +27,7 @@ #include "win_utils.h" #include "midi_util.h" +#include "mmcss.h" #include "debug.h" // remove dup with input_device @@ -349,6 +350,13 @@ WinMMEMidiOutputDevice::midi_output_thread () DEBUG_MIDI ("WinMMEMidiOut: MIDI output thread started\n"); +#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); +#endif + while (!m_thread_quit) { if (!wait (m_queue_semaphore)) { break; @@ -471,6 +479,10 @@ WinMMEMidiOutputDevice::midi_output_thread () #endif } +#ifdef USE_MMCSS_THREAD_PRIORITIES + mmcss::revert_thread_characteristics (task_handle); +#endif + m_thread_running = false; } |