X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fbackends%2Fportaudio%2Fwinmmemidi_input_device.cc;h=9fcee83efb4aa9dec47926bd1068f693f47f1b31;hb=eb4c9b022aee1f8a6fdf6392b074dd53122067e9;hp=3b52bcefd213c5b647e78092b0919aa36bbb97da;hpb=acd17a9b5300a38c4d61ecc0af32974d3b5113f5;p=ardour.git diff --git a/libs/backends/portaudio/winmmemidi_input_device.cc b/libs/backends/portaudio/winmmemidi_input_device.cc index 3b52bcefd2..9fcee83efb 100644 --- a/libs/backends/portaudio/winmmemidi_input_device.cc +++ b/libs/backends/portaudio/winmmemidi_input_device.cc @@ -22,12 +22,11 @@ #include #include "pbd/compose.h" +#include "pbd/windows_timer_utils.h" +#include "pbd/windows_mmcss.h" -#include "win_utils.h" #include "midi_util.h" -#include "mmcss.h" - #include "debug.h" static const uint32_t MIDI_BUFFER_SIZE = 32768; @@ -37,6 +36,7 @@ namespace ARDOUR { WinMMEMidiInputDevice::WinMMEMidiInputDevice (int index) : m_handle(0) + , m_started(false) , m_midi_buffer(new RingBuffer(MIDI_BUFFER_SIZE)) , m_sysex_buffer(new uint8_t[SYSEX_BUFFER_SIZE]) { @@ -182,6 +182,7 @@ WinMMEMidiInputDevice::winmm_input_callback(HMIDIIN handle, static HANDLE input_thread = GetCurrentThread (); static bool priority_boosted = false; +#if 0 // GetThreadId() is Vista or later only. if (input_thread != GetCurrentThread ()) { DWORD otid = GetThreadId (input_thread); DWORD ntid = GetThreadId (GetCurrentThread ()); @@ -191,12 +192,13 @@ WinMMEMidiInputDevice::winmm_input_callback(HMIDIIN handle, DEBUG_THREADS (string_compose ( "WinMME input Thread ID Changed: was %1, now %2\n", otid, ntid)); } +#endif 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 @@ -245,7 +247,6 @@ void WinMMEMidiInputDevice::handle_sysex_msg (MIDIHDR* const midi_header, uint32_t timestamp) { -#ifdef ENABLE_SYSEX LPMIDIHDR header = (LPMIDIHDR)midi_header; size_t byte_count = header->dwBytesRecorded; @@ -267,7 +268,6 @@ WinMMEMidiInputDevice::handle_sysex_msg (MIDIHDR* const midi_header, if (result != MMSYSERR_NOERROR) { DEBUG_MIDI (get_error_string (result)); } -#endif } // fix param order @@ -343,7 +343,7 @@ WinMMEMidiInputDevice::enqueue_midi_msg (const uint8_t* midi_data, } // don't use winmme timestamps for now - uint64_t ts = utils::get_microseconds (); + uint64_t ts = PBD::get_microseconds (); DEBUG_TIMING (string_compose ( "Enqueing MIDI data device: %1 with timestamp: %2 and size %3\n",