Closed SteveCooling closed 4 years ago
Thanks for the report, @lathoub can you have a look at the incorrect data being passed to the callbacks ?
As for the reflection, it might be due to SoftThru being enabled by default, while this makes sense for hardware MIDI, it does not for USB and probably other transports.
Hi, I tried to reproduce the issue, but can't.. I have used the updated NoteOnOffEverySec.ino
demo.
Here is my setup: Leonardo with Sparkfun MIDI shield, the shield is connected to an M-Audio MIDI USB device.
Not sure what is happening
@SteveCooling have you cloned the repo or used the IDE to download the USBMIDI library?
I have issued a new release of the USB-MIDI library (v1.1.0)
I used the Library Manager in the IDE22. apr. 2020 21:15 skrev lathoub notifications@github.com: @SteveCooling have you cloned the repo or used the IDE to download the USBMIDI library?
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.
The Arduino has picked up on the new release (v1.1.0) and should be fine now (I forgot to make a Release version of USB-MIDI when 5.0.0 of the MIDI Lib came out 🙈). @SteveCooling please test again
Tested and works fine.
Version 1.1.0 of USB-MIDI got rid of the corrupted data.
MIDI.turnThruOff();
removed the unexpected "reflection".
👍
Thanks, we might need to disable Thru by default for non-serial transports then.
Yes it was very unexpected behaviour, and created a loop when I routed MIDI traffic from Ableton to it 😄
How about adding a method in the Transport layer:
...
bool thruActivated()
{
return true;
}
...
in MIDI.hpp
template<class Transport, class Settings, class Platform>
void MidiInterface<Transport, Settings, Platform>::begin(Channel inChannel)
{
...
mMessage.data2 = 0;
mMessage.length = 0;
mThruFilterMode = Thru::Full;
mThruActivated = mTransport.thruActivated();
}
Good idea, it could be a static bool member rather than a function though.
Ah, good!
static const bool thruActivated = false;
...
mThruFilterMode = Thru::Full;
mThruActivated = mTransport.thruActivated;
}
pr #148
Just tried to move a synth project over to versjon 5.0.0.
I have Arduino Leonardo (clone.. a Pro micro) connected via USB. It is supposed to take MIDI messages and convert them to CV/Gate ++ for an analog synth.
Compiling using Arduino 1.8.12 on macOS 10.15.4
Two failures occur on version 5.0.0 (confirmed not a problem on version 4.3.1)
See attached .ino example and screenshot of MIDI messages passed.