[RÉSOLU] Mididings - NoteOn avec Velocity=0?
Rebonjour !
Comme promis dans mon post de présentation, je démarre avec un post sur mididings que j'ai commencé à utiliser hier pour configurer ma surface de contrôle Akai APC mini, pour laquelle très peu de documentation est dispo en ligne. J'ai passé beaucoup de temps cette semaine à chercher ce qui était dispo, aussi j'ai bien l'intention d'en faire une jolie page sur le wiki lorsque j'aurai des infos plus complètes.
Mon problème du moment, c'est les LEDs des boutons. L'APC demande qu'on lui envoie un signal MIDI
En utilisant sendmidi j'y arrive bien:
En mettant ça dans le script Python pour mididings ça allume bien les loupiottes, quelle que soit la couleur, et je peux le voir dans aseqdump aussi:
Pour éteindre la LED en revanche, le code suivant n'a aucun effet:
Question 1: J'ai beaucoup googlé, mais quelqu'un ici sait-il comment envoyer un NoteOn avec une vélocité de 0 par mididings?
QUestion 2: Alternativement, je suppose qu'envoyer un signal qui veut dire la même chose en raw midi ou en SysEx devrait passer (sauf si mididings l'interprète/filtre avant de l'envoyer). J'ai beaucoup de mal à comprendre exactement quel doit être le contenu du message SysEx,
Voilou pour le moment, j'espère que quelqu'un peut me donner des pistes
Merci d'avance !
Comme promis dans mon post de présentation, je démarre avec un post sur mididings que j'ai commencé à utiliser hier pour configurer ma surface de contrôle Akai APC mini, pour laquelle très peu de documentation est dispo en ligne. J'ai passé beaucoup de temps cette semaine à chercher ce qui était dispo, aussi j'ai bien l'intention d'en faire une jolie page sur le wiki lorsque j'aurai des infos plus complètes.
Mon problème du moment, c'est les LEDs des boutons. L'APC demande qu'on lui envoie un signal MIDI
NoteOn kk vv (kk=ID de la touche, vv=velocity)où la vélocité définit la couleur de la LED: 01 pour solid green, 02 blinking green, 03 solid red, 05 solid orange, etc. et 00 pour l'éteindre (voir ici)
En utilisant sendmidi j'y arrive bien:
sendmidi dev "APC MINI MIDI 1" on 56 01va illuminer le premier bouton (touche 56) en vert solide. Pour l'éteindre, un petit
sendmidi dev "APC MINI MIDI 1" on 56 00et voilà - NoteOff n'a aucun effet, quelle que soit la vélocité (en tout cas de ce que j'ai testé).
En mettant ça dans le script Python pour mididings ça allume bien les loupiottes, quelle que soit la couleur, et je peux le voir dans aseqdump aussi:
run( [ Filter(NOTEON) >> NoteOn(EVENT_NOTE, 01) >> Channel(16) >> Port(2), # noteOn sur la même touche, avec une velocity de 01, sur le output port 2 de mididings qui est connecté à l'APC dans Qjackctl ] )
Pour éteindre la LED en revanche, le code suivant n'a aucun effet:
run( [ Filter(NOTEON) >> NoteOn(EVENT_NOTE, 00) >> Channel(16) >> Port(2), # noteOn sur la même touche, avec une velocity de 00 ] )et aseqdump ne montre rien non plus.
Question 1: J'ai beaucoup googlé, mais quelqu'un ici sait-il comment envoyer un NoteOn avec une vélocité de 0 par mididings?
QUestion 2: Alternativement, je suppose qu'envoyer un signal qui veut dire la même chose en raw midi ou en SysEx devrait passer (sauf si mididings l'interprète/filtre avant de l'envoyer). J'ai beaucoup de mal à comprendre exactement quel doit être le contenu du message SysEx,
amidi -dme donnant uniquement les bytes associés à NoteOn/NoteOff (90 ou 80), l'ID de la note, et la vélocité. Je suppose qu'il faut commencer le message SysEx par F0 et finir par F7, mais
sendmidi dev "APC MINI MIDI 1" syx F0 90 26 7F F7ou l'équivalent en mididings n'ont pas l'air de marcher (aucun retour). Quid du "manufacturer ID" qui devrait former le 2e byte? Je n'ai pas eu beaucoup de succès en essayant de dumper les messages SysEx avec sysexxer-ng (aucun dump du tout), simplesysexxer (aucun dump), ou Jsynthlib (qui lui ne me donne toujours que les même 3 bytes, sans F0, F7, ou manufacturer ID...)
Voilou pour le moment, j'espère que quelqu'un peut me donner des pistes
Merci d'avance !