From 70f0007154992c0bc89e11af4fe7dcc2c493aac3 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Fri, 10 Feb 2017 00:00:57 +0800 Subject: Fix building on Windows. Behavior changes: 1. DnD into the main window now causes the dropped file to play. 2. Switch back to w32usleep to increase bpm accuracy. 3. Scan for plugins in application folder (in Windows), not in the working directory. --- core/qmpmidiplay.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'core/qmpmidiplay.cpp') diff --git a/core/qmpmidiplay.cpp b/core/qmpmidiplay.cpp index 76c7d16..0bb73f9 100644 --- a/core/qmpmidiplay.cpp +++ b/core/qmpmidiplay.cpp @@ -212,7 +212,11 @@ void CMidiPlayer::playEvents() if(resumed)resumed=false; else if(sendtime.count()<(midiReaders->getEvent(tceptr)->time-ct)*dpt) +#ifdef _WIN32 + w32usleep(((midiReaders->getEvent(tceptr)->time-ct)*dpt-sendtime.count())/1000); +#else std::this_thread::sleep_for(std::chrono::nanoseconds((midiReaders->getEvent(tceptr)->time-ct)*dpt-sendtime.count())); +#endif if(tcstop||!midiReaders)break; ct=midiReaders->getEvent(tceptr)->time; } @@ -278,6 +282,8 @@ CMidiPlayer::CMidiPlayer(bool singleInst) memset(eventHandlerCBuserdata,0,sizeof(eventHandlerCBuserdata)); memset(eventReaderCB,0,sizeof(eventReaderCB)); memset(eventReaderCBuserdata,0,sizeof(eventReaderCBuserdata)); + memset(fileReadFinishCB,0,sizeof(fileReadFinishCB)); + memset(fileReadFinishCBuserdata,0,sizeof(fileReadFinishCBuserdata)); memset(mappedoutput,0,sizeof(mappedoutput)); memset(deviceusage,0,sizeof(deviceusage)); mapper=new qmpMidiMapperRtMidi(); -- cgit v1.2.3