diff options
| author | Gary Scavone <gary@music.mcgill.ca> | 2014-03-28 15:34:59 -0400 |
|---|---|---|
| committer | Gary Scavone <gary@music.mcgill.ca> | 2014-03-28 15:34:59 -0400 |
| commit | 03e665c78e2d2dace24cb15d0126564ad7309045 (patch) | |
| tree | ec6993a67c69d71c09edf6cf32d959aa4e6e744f /RtMidi.cpp | |
| parent | 9a0454ce1a7e8e6feb3be58e9c275c859f743a36 (diff) | |
Bug fix to WinMM API in MidiIn destructor.
Diffstat (limited to 'RtMidi.cpp')
| -rw-r--r-- | RtMidi.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -2019,9 +2019,9 @@ static void CALLBACK midiInputCallback( HMIDIIN /*hmin*/, // one or two minutes. if ( apiData->sysexBuffer[sysex->dwUser]->dwBytesRecorded > 0 ) { //if ( sysex->dwBytesRecorded > 0 ) { - EnterCriticalSection( &apiData->_mutex ); + EnterCriticalSection( &(apiData->_mutex) ); MMRESULT result = midiInAddBuffer( apiData->inHandle, apiData->sysexBuffer[sysex->dwUser], sizeof(MIDIHDR) ); - LeaveCriticalSection( &apiData->_mutex ); + LeaveCriticalSection( &(apiData->_mutex) ); if ( result != MMSYSERR_NOERROR ) std::cerr << "\nRtMidiIn::midiInputCallback: error sending sysex to Midi device!!\n\n"; @@ -2057,12 +2057,12 @@ MidiInWinMM :: MidiInWinMM( const std::string clientName, unsigned int queueSize MidiInWinMM :: ~MidiInWinMM() { - WinMidiData *data = static_cast<WinMidiData *> (apiData_); - DeleteCriticalSection( &(data->_mutex) ); - // Close a connection if it exists. closePort(); + WinMidiData *data = static_cast<WinMidiData *> (apiData_); + DeleteCriticalSection( &(data->_mutex) ); + // Cleanup. delete data; } @@ -2172,7 +2172,7 @@ void MidiInWinMM :: closePort( void ) { if ( connected_ ) { WinMidiData *data = static_cast<WinMidiData *> (apiData_); - EnterCriticalSection( &data->_mutex ); + EnterCriticalSection( &(data->_mutex) ); midiInReset( data->inHandle ); midiInStop( data->inHandle ); @@ -2190,7 +2190,7 @@ void MidiInWinMM :: closePort( void ) midiInClose( data->inHandle ); connected_ = false; - LeaveCriticalSection( &data->_mutex ); + LeaveCriticalSection( &(data->_mutex) ); } } |
