jeudi 8 mars 2018

contrôleur midi

J'utilise un contrôleur midi pour m'aider dans les logiciels de mao. c'est un plus pour l'ergonomie.

Mais ça fait brique sur le bureau dés que je quitte mon daw.

Comment utiliser mon contrôleur midi dans les logiciels que j'utilise tous les jours?

Premier cas : Gimp supporte nativement le midi. Lien en anglais :



https://www.gimp.org/unix/howtos/gimp-midi.html

J'ai eu quelques difficultés de compréhensions, donc pour rappel : menu Édition / Préférences puis périphériques d'entrée / Contrôleurs d'entrée, déplacer "MIDI" dans la colonne des contrôleurs actifs puis double cliquer dessus.

Le nom, on s'en fiche, et renseigner "/dev/midi" comme périphérique.
ensuite affeter une action aux touches (notes) ou potards (contrôleurs) du contrôleur.
Le bouton "capturer événement" permet de détecter facilement à quelle touche on va affecter une fonction.

A partir de là, l'imagination est la limite!
Une limitation cependant, je n'ai pas trouvé comment interagir avec les sliders  qui sont dans des boites de dialogues. Par exemple j'aurais trouvé ça utile de pouvoir modifier la luminosité/contraste avec un potard...



Ce n'est pas suffisant

Deuxième cas : utiliser mon contrôleur midi avec n'importe quelle application. Lien :

https://superuser.com/questions/1170136/translating-midi-input-into-computer-keystrokes-on-linux#1170232


Là aussi, petit résumé au cas ou la page sus-liée disparaisse ou pour les nuls en Englais Anglish langue pas française couramment utilisée en informatique.

aseqdump -l
pour trouver le nom sous lequel le terminal midi est connu dans le système.
aseqdump -p "NOM DU CONTRÔLEUR"

et ensuite on tripote son contrôleur midi pour repérer le nom des touches potards du contrôleur (note X ou controller X).

nouvelle étape : associer un événement midi a une action. pour ça on se sert de xdotool. C'est un outil qui à l'air assez puissant et qui simule des événement souris/clavier. Liens

http://www.tux-planet.fr/xdotool-simulation-du-clavier-et-de-la-souris-sous-linux/
et le manuel de xdotool
http://www.linuxcertif.com/man/1/xdotool/ ou man xdotool
De tout ça j'en ai tiré le petit script suivant inspiré de la page de superuser que j'ai partagé plus haut :
#!/bin/bash
aseqdump -p "LPD8" | \
while IFS=" ," read src ev1 ev2 ch label1 data1 label2 data2 rest; do
    case "$ev1 $ev2 $data1" in
        "Control change 1" ) xdotool key Down ;;
        "Control change 2" ) xdotool key Up ;;
        "Note on 41" ) xdotool  type caca' ';;
        "Note on 42" ) xdotool  ;;
        "Note on 43" ) xdotool  ;;
        "Note on 36" ) xdotool key ctrl+c ;;
        "Note on 37" ) xdotool key ctrl+v ;;
        "Note on 38" ) xdotool  ;;
        "Note on 39" ) xdotool  ;;

    esac
done
Et je peut donc m'économiser une tendinite à force de faire des copier-coller * depuis les sites de geek linuxiens anglais, j'ai un raccourcis pour prévenir sur mon compte tweeter que je part déféquer et... j'ai un potard qui fait défiler ma page vers le haut quand je le tourne ds un sens ou un autre, un autre potard qui fait défiler la page vers le bas **.

* A noter qu'on peut aussi s'économiser la tendinite sous GNU/Linux en utilisant le clique milieu de la souris sous GNU/Linux.
** A noter qu'il existe des souris, comme la mienne, équipées d'une mollette.

Conclusion : C'est pas forcément super utile pour l'instant, il faut que je trouve des applications plus utiles à cette nouvelle utilisation de mon contrôleur midi. Pour Gimp il y a des utilisation super utiles.
Pour affiner il faudrait que peaufine le script bash pour que les actions ne soient effectuées que pour les logiciels où elles sont utiles.