Trouble with Synthesia, your keyboard, or adapter? Think you found a bug?
When describing problems, always mention your OS
and game version
(shown at the bottom of the title screen).
- If your keyboard has USB or MIDI ports, there is a tremendously high chance (>99%) it will work with Synthesia. See what you'll need on the keyboards page.
- If you have a Logitech webcam and can't get your keyboard/adapter to work, see this post.
- Posts: 58
I noticed that Synthesia asks the driver to use an event callback (SetEvent) by setting the CALLBACK_EVENT flag in dwParam2, when initializing with midiOutOpen, but no valid address is given in dwCallback.
Code: Select all
02-12-2019 00:48:43.910 - Stage <<MODM_OPEN>> | HMIDI: 05CFDA48 - dwCallback: 00000000 - dwInstance: 00000000 - dwUser: 05CFDA50 - OMFlags: 00000005
This causes my driver to crash when it tries to set the event.
Code: Select all
02-12-2019 00:48:44.269 - Stage <<MODM_OPEN>> | Sending callback data to app. if needed...
(Error at "DoCallbackSE", Code 0x00000006) - Fatal error during the execution of the driver.
I can add a workaround that checks if the given address is valid, but since it looks like you're not using the callback at all, you should remove the flag in the next version of Synthesia.
- Posts: 12571
I just tracked it back to a commit from Aug-2007(!) where I appear to have been following the instructions on this Microsoft page
to the letter in an effort to add SysEx message sending. Notice there, they just say to change the dwFlags
parameter but not to actually pass in the event during midiOutOpen
Well... let's also pass in the event during open and see what happens!
(On my machine it still seems to be able to send SysEx messages just fine after the "fix". I wonder if that will remain the case out in the wild.)