BlackPhlox / bevy_midi

Send and receive MIDI data to and from bevy using DAWS or MIDI Controllers
Apache License 2.0
56 stars 10 forks source link

all messages are 'Other' #7

Closed adsick closed 3 years ago

adsick commented 3 years ago

https://github.com/Boddlnagg/midir/issues/89#issue-941309769 I'm not sure, but maybe it is something wrong with my keyboard (its support on Linux).

BlackPhlox commented 3 years ago

The reason is that the midi-keyboard you are using does not use the standard midi NoteOn and NoteOff channel (144 and 128) but by the looks of it 156 and 140.

I'm not an expert, but my suggestion is to look at the manual that comes with the keyboard and check if there is a setting to change the channel of the notes on the keyboard. Might be called remap or the like. Otherwise you might need to use a 3th-party midi software to map it to the correct channels. That is if you want it to work with SunVox (Guessing, haven't used SunVox before).

BlackPhlox commented 3 years ago

If you're out of luck with any of it, I can implement a midi channel remap override. Which would be a good feature to have nonetheless.

adsick commented 3 years ago

Some debug view on those 'channel' things would be nice I guess

if there is a setting to change the channel of the notes on the keyboard. Might be called remap or the like.

there is a possibility to switch midi channel on the keyboard (1-16) but I don't think that that's what we need (mb I'm wrong)

BlackPhlox commented 3 years ago

Yeah, my mistake, the correct term is Midi Event Message. Though, I haven't seen many midi keyboards that can to change it.

BlackPhlox commented 3 years ago

@adsick If you checkout to the adsick branch, then see if it works with the adsick example that I made :)

adsick commented 3 years ago

I'll try

adsick commented 3 years ago

image does it duplicating messages or smth?

BlackPhlox commented 3 years ago

That is most likely just a bug due to the way input is handled via threading currently. Implementing crossbeam (See issue #5) should fix it.