Browse Source

Fix crash on windows 64bit when receiving winmme MIDI messages

Signed-off-by: falkTX <falktx@falktx.com>
pull/854/merge
falkTX 1 year ago
parent
commit
0d730dd356
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
3 changed files with 14 additions and 7 deletions
  1. +4
    -3
      windows/winmme/JackWinMMEInputPort.cpp
  2. +5
    -3
      windows/winmme/JackWinMMEInputPort.h
  3. +5
    -1
      windows/winmme/JackWinMMEPort.cpp

+ 4
- 3
windows/winmme/JackWinMMEInputPort.cpp View File

@@ -35,8 +35,9 @@ using Jack::JackWinMMEInputPort;

void CALLBACK
JackWinMMEInputPort::HandleMidiInputEvent(HMIDIIN handle, UINT message,
DWORD port, DWORD param1,
DWORD param2)
DWORD_PTR port,
DWORD_PTR param1,
DWORD_PTR param2)
{
((JackWinMMEInputPort *) port)->ProcessWinMME(message, param1, param2);
}
@@ -201,7 +202,7 @@ JackWinMMEInputPort::ProcessJack(JackMidiBuffer *port_buffer,
}

void
JackWinMMEInputPort::ProcessWinMME(UINT message, DWORD param1, DWORD param2)
JackWinMMEInputPort::ProcessWinMME(UINT message, DWORD_PTR param1, DWORD_PTR param2)
{
set_threaded_log_function();
switch (message) {


+ 5
- 3
windows/winmme/JackWinMMEInputPort.h View File

@@ -33,8 +33,10 @@ namespace Jack {
private:

static void CALLBACK
HandleMidiInputEvent(HMIDIIN handle, UINT message, DWORD port,
DWORD param1, DWORD param2);
HandleMidiInputEvent(HMIDIIN handle, UINT message,
DWORD_PTR port,
DWORD_PTR param1,
DWORD_PTR param2);

void
EnqueueMessage(DWORD timestamp, size_t length, jack_midi_data_t *data);
@@ -43,7 +45,7 @@ namespace Jack {
GetInErrorString(MMRESULT error, LPTSTR text);

void
ProcessWinMME(UINT message, DWORD param1, DWORD param2);
ProcessWinMME(UINT message, DWORD_PTR param1, DWORD_PTR param2);

void
WriteInError(const char *jack_func, const char *mm_func,


+ 5
- 1
windows/winmme/JackWinMMEPort.cpp View File

@@ -31,7 +31,11 @@ using Jack::JackWinMMEPort;
///////////////////////////////////////////////////////////////////////////////

JackWinMMEPort::JackWinMMEPort()
{}
{
memset(alias, 0, sizeof(alias));
memset(name, 0, sizeof(name));
memset(device_name, 0, sizeof(device_name));
}

JackWinMMEPort::~JackWinMMEPort()
{}


Loading…
Cancel
Save