Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serial Midi In double triggering notes #214

Closed
miotislucifugis opened this issue May 11, 2022 · 7 comments
Closed

Serial Midi In double triggering notes #214

miotislucifugis opened this issue May 11, 2022 · 7 comments
Labels
bug Something isn't working

Comments

@miotislucifugis
Copy link

miotislucifugis commented May 11, 2022

Just discovering that with the last few builds (from today) midi In via Serial is causing a double trigger of notes... both on Note On (when key is pressed) and Note off (key is released)... eventually this causes the pi/ minidexed to stop responding altogether.
Perhaps this may be why Ive been having difficulty sending sysex parameter changes.

I just installed an older version of MiniDexed (before sysex stuff was added) and it behaves normally

The problem is only with Serial Midi In. usb Midi works fine

@probonopd probonopd added the bug Something isn't working label May 11, 2022
@probonopd
Copy link
Owner

probonopd commented May 11, 2022

Thanks for reporting this @miotislucifugis. Does this one work?
MiniDexed_2022-05-05-76620d1

It is the build from 76620d1.

If yes, does MiniDexed_2022-05-09-3894cb3? MiniDexed_2022-05-11-b6df892? MiniDexed_2022-05-11-6d14da8?

@miotislucifugis
Copy link
Author

Sure thing!

MiniDexed_2022-05-05-76620d1 - yes working

MiniDexed_2022-05-09-3894cb3
no

MiniDexed_2022-05-11-b6df892
no
I didnt bother trying the last one

@probonopd
Copy link
Owner

Looks like it might have to do with #195 then?

cc @dcoredump

@dcoredump
Copy link
Contributor

dcoredump commented May 12, 2022

Looks like it might have to do with #195 then?

cc @dcoredump

Umpf... Have to take a deeper look at this. I hope my scope is arriving today, so I can fix my MiniDexed. After Superbooth I will have some more time for this and fix it - sorry for delay!

(BTW: Delay -> I started the framework for a delay class... comming after the fixes)

@diyelectromusic
Copy link
Collaborator

I'm not entirely sure, but I notice that m_SerialMIDI.Process() is called twice from CMiniDexed.Process()?

And there might also be something odd in the RunningStatus handling in CSerialMIDIDevice.Process as a consequence of the SysEx additions. m_nSerialState/case 4 has lost it's else statement that reset MIDI handling in the case of receiving a CMD message (it has moved to cases 1,2 which are already processing data bytes...)... but this might be a "red herring" as I'm getting a little lost following the two goto statement's logic...

@dcoredump
Copy link
Contributor

dcoredump commented May 12, 2022

I'm not entirely sure, but I notice that m_SerialMIDI.Process() is called twice from CMiniDexed.Process()?

And there might also be something odd in the RunningStatus handling in CSerialMIDIDevice.Process as a consequence of the SysEx additions. m_nSerialState/case 4 has lost it's else statement that reset MIDI handling in the case of receiving a CMD message (it has moved to cases 1,2 which are already processing data bytes...)... but this might be a "red herring" as I'm getting a little lost following the two goto statement's logic...

Yes, you are totaly right! Thanks for reporting. Will fix this in an hour or two.

I think this happend due to my excessive debugging when implementing SYSEX until I found that the problems was my MIDI input circuit...

@probonopd
Copy link
Owner

Thanks @dcoredump

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants