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

MIDI thru 'full' applies to active channel only #13

Closed
brendanclarke opened this issue Apr 17, 2014 · 8 comments
Closed

MIDI thru 'full' applies to active channel only #13

brendanclarke opened this issue Apr 17, 2014 · 8 comments
Assignees
Labels
Milestone

Comments

@brendanclarke
Copy link

MIDI Thru seems to apply to the active channel only, rather than all MIDI channels. For example:

#include <MIDI.h>
void setup() {
  MIDI.begin();
  MIDI.setThruFilterMode(Full);
}
void loop() {
  MIDI.read();
}

will correctly send all MIDI messages received on channel 1 to the output, but no messages received on other channels. Calling setThruFilterMode(DifferentChannel) seems to disable MIDI thru entirely.

@franky47 franky47 self-assigned this Apr 18, 2014
@franky47 franky47 added this to the 4.2 milestone Apr 18, 2014
@franky47 franky47 added the bug label Apr 18, 2014
@franky47
Copy link
Member

Thanks for the report !
I'll look into it.

franky47 pushed a commit that referenced this issue Apr 18, 2014
@brendanclarke
Copy link
Author

Thanks! Not sure if I'm understanding the library usage fully, if there's something else I need to do with setThruFilterMode() to get messages passed on the non-active channels let me know!

@franky47
Copy link
Member

No, you used it correctly, it was a bug indeed !
I pushed a fix on the dev branch, can you give it a try please?

@brendanclarke
Copy link
Author

I tried re-adding the library with the new files from the dev branch, but now I'm getting an error " 'Full' was not declared in this scope". I get this even if I re-add the master through Arduino's automated 'add library...' tool (which, admittedly, is new to me) - are there other files I need to put in place?
Thanks!

@franky47
Copy link
Member

You just need to change Full into midi::Full, and that should do the trick. I guess you were using a version <4.0 before?

@brendanclarke
Copy link
Author

Aha, yes, I have been using 3.2. I checked the bug with the latest version (4.1) to confirm that it was still present (it was) and then installed the dev branch. The dev branch does indeed seem to fix the issue! Thanks! I did have to manually replace the library files rather than using the Arduino menu. I've tested it with note and CC data, but can't check sysex at the moment. Thanks again!

@franky47
Copy link
Member

If you're running MacOS or Linux, you can use the script packaging.command in res/ to create a .zip archive that Arduino can import (it will appear in a build directory at the root of the repository).
Unfortunately on Windows there is no command line zip tool natively available..

@brendanclarke
Copy link
Author

Thanks Franky! The thru function works very smoothly now - I've got my project up and running, if you'd like to check it out, at:
http://www.brendanclarke.com/wp/2014/04/23/arduino-based-midi-sequencer/
Thanks again!

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

No branches or pull requests

2 participants