Hi
my project is a Midi-controller with a fake nano (one of those with CH340). Midi is transferred over Serial with a USB cable and the loop MIDI and Hairless Midi Serial bridge.
Beside triggering midi notes I want it to cover other options. Just like a Overall STOP of all notes that are played. (transferring midi notes works fine)
I tried different ways to achieve this. At the very beginning it worked one time, since then it gives the message "Serial In: System Message #12" in the hairless midi monitor.
Serial.write(0xFC); -> I think that is the one which worked, but I'm not sure at this point. When It worked I saw in the hairless monitor sendNoteOff messages for (all?) midi notes
MIDI.sendRealTime(midi::Stop);
MIDI.sendStop();
My code is relatively complex but I wrote code to just do that one thing. Nothing changes.
For example like this:
I also ran that code on a different computer on which I just installed windows yesterday. Loop Midi, Hairless Midi, Arduino. That's all there is. Same Problem. Still the "Serial In: System Message #12" which apparently never ever someone wrote into the whole internet.
After hours of trying this I made CC messages like - MIDI.sendControlChange(21, value, 1); - and tried to map it to the stop button in ableton. Ableton does recognize the CC but I cant get it to actually trigger the stop button. When I do it with sendNoteOn it works. But that is not the way I want it.
Can somebody help and tell me why the nano does not send the proper command (anymore)?
I do not recall changing anything when it was working for that one time in the beginning. And I think my code can not be the problem, because the simple version does not work aswell.
where you want to send this text? to HairlessMIDI ?
MIDI-Clock und Song Position Pointer
MIDI-Clock (MC)
Die MIDI-Clock basiert auf Takt- und Notenebene. Die Einheit ist ein Tick, ein 96tel eines Schlages (bei vielen Liedern Viertelnote). Die Dichte, mit der die Clock-Informationen gesendet werden, ergibt sich daher aus der gewählten BPM-Einstellung des Liedes. Folgende Messages sind möglich:
F2 Noten Position innerhalb eines Liedes 0–16383 (zwei Datenbytes)
F3 Liedauswahl 0–127 (ein Datenbyte)
F8 wird (während des Abspielens) 24-mal je Viertelnote gesendet
FA Start
FB Von der aktuellen Position aus fortsetzen
FC Stopp <<------------------------------------------------------------------------------------ <<<<
Durch diese Signale starten alle Sequenzer gleichzeitig, folgen dem gegebenen Tempo und stoppen auch wieder gleichzeitig.
Hey, thanks for your answer!
As I said, that was only the test code. In my real code of course I included the midi library.
I edited the code I provided in my post so now it is even simpler and it should work now, right? But it doesn't.
Why would I need the MIDI-Clock for this? (later in my project I want to include this because of BPM control but just for a Stop command I don't need it, right?)
Shall I provide my actual Code? It is 330 lines long, so I thought it would be more helpful to post a simpler version of the problem here.
EDIT: I tried different baud-rates and do it with MIDI.begin(1); - nothing changed.
i never hear about some MIDI command that acting as NoteOff for all active notes.
if i want stop playing my notes i will send NoteOff for all 127 existing notes, or i will notice which note is played and not stopped and then send NoteOff for that particular notes.