You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm sending a Unity 2019.4.29 MacOS Build to a colleague with MacOS Catalina 10.15. The Build should be controlled with an electronic drumset, the Alesis Nitro Mesh Mit. It is recognized as a Midi Device, but the Midi Messages that are detected look like this:
s(F8) d(00,00) from 6A39D778
and this message is received multiple times independent from any input on the drumset.
The input itself is not detected by the function MidiMaster.GetKeyDown(notenumber). I'm iterating through all notenumbervalues between 0 and 127, but the return is always false.
When I use a Windows 10 build and a AKAI LPD8 Midi Controller I get the following Midi Message when I play the Notenumber 36 for example:
s(90) d(24,21) from 341BFC90
s(80) d(24,7F) from 341BFC90
The MidiMaster.GetKeyDown(36) returns true.
Does anyone have any suggestions how to approach and solve this problem?
Any help is appreciated.
The text was updated successfully, but these errors were encountered:
Yes you're right thank you! The status F8 Messages are System Real Time Messages that are sent permanently by the drumset.
I was now able to filter them out by only allowing messages with status 9 and 8 to enter the MidiMessage Queue.
But the core problem still exists. The Midi Messages that the drumset sends are s(99) d(xx,xx) for noteOn and s(99) d(xx,00) for noteOff. So it means, they are sent on MidiChannel 10.
When I send a midiMessage on Channel 1 / s(90) ), everything is fine. But when I send the same Message on Channel 10 / s(99), the GetKeyDown()-function (that I run permantently in a Update()-function of a Unity MonoBehaviour Script) gets evaluated too late. Too late means after the update()-function part of the MidiDriver.cs, which decreases the _channelArray._noteArray X-value to a value X<1. Therefore GetKeyDown never returns true, as it never encounters the small period in time, where X>1 is true.
Good catch. I'd recommend using that solution on your side. I'm not actively maintaining this project any more (because I'm working on a new MIDI plugin called Minis), so DIY is recommended.
I'm sending a Unity 2019.4.29 MacOS Build to a colleague with MacOS Catalina 10.15. The Build should be controlled with an electronic drumset, the Alesis Nitro Mesh Mit. It is recognized as a Midi Device, but the Midi Messages that are detected look like this:
s(F8) d(00,00) from 6A39D778
and this message is received multiple times independent from any input on the drumset.
The input itself is not detected by the function MidiMaster.GetKeyDown(notenumber). I'm iterating through all notenumbervalues between 0 and 127, but the return is always false.
When I use a Windows 10 build and a AKAI LPD8 Midi Controller I get the following Midi Message when I play the Notenumber 36 for example:
s(90) d(24,21) from 341BFC90
s(80) d(24,7F) from 341BFC90
The MidiMaster.GetKeyDown(36) returns true.
Does anyone have any suggestions how to approach and solve this problem?
Any help is appreciated.
The text was updated successfully, but these errors were encountered: