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

In Midi Lock mode, pressing more than one key on the keyboard generates a note on event when the keys are released. #32

Open
dandelion-labs opened this issue Oct 18, 2016 · 4 comments

Comments

@dandelion-labs
Copy link

I have found a fix for this - the following change to arpie.ino is needed:
In the Midi Write function (about line 665) the code needs to be changed from this:

   // send channel message
   if(midiOutRunningStatus != statusByte)
    {
      Serial.write(statusByte);
      midiOutRunningStatus = statusByte;
    }
    if(numParams > 0)
      Serial.write(param1);
    if(numParams > 1)
      Serial.write(param2);    

to this:

    // send channel message
    if(midiOutRunningStatus != statusByte)
    {
      midiOutRunningStatus = statusByte;
    }
    Serial.write(statusByte);
    if(numParams > 0)
      Serial.write(param1);
    if(numParams > 1)
      Serial.write(param2);    

I hope that this helps for anyone else with this issue.

@hotchk155
Copy link
Owner

Thanks for that! I think this might be fixed in the newer firmware I'm working on (you can try it from Arpie trunk) since that enables MIDI pass through in MIDI lock mode, but I'll bear your idea in mind,

I think though you are disabling running status on output with your change (Running status can save a lot of MIDI traffic). The bug was really that the "last running status" could be updated in the variable even when it had not been send out to the synth, so they got out of step and a note off could become a note on.

@dandelion-labs
Copy link
Author

Hi, I'm fairly certain I'm using the latest firmware (VERSION_HI 7, VERSION_LO 7, with the accent velocity code etc). I must admit that I'm new to programming with MIDI and was unaware of what MIDI running status was until you mentioned it, and yes, you are right - my mod does appear to disable the running status. I'll have to dig a bit deeper into the code to see if I can find a better solution.
BTW - thanks for a great little project & good documentation - I've enjoyed building my own Arpie from scratch!

@hotchk155
Copy link
Owner

Ah, thats interesting... I might need to look at that again. Thanks for letting me know about it
Cheers
Jason

@dandelion-labs
Copy link
Author

I've been looking into this issue a bit more, and the problem, I think, lies with the cheap QinHeng CH345 USB to Midi adapter I'm using - it apparently does not correctly support midi running status. (see: https://audiodestrukt.wordpress.com/2012/11/18/inexpensive-usb-midi-interfaces/)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants