Chargement...
 
Skip to main content

6 - Le MIDI


LZK 4 > Evenement midi pour lancer un logiciel + sa sauvegarde .

Salut ,
comme indiqué dans le titre je recherche une solution pour pourvoir lancer un logiciel et sa sauvegarde depuis un évènement midi comme un program change ..

Par exemple lancer "carla + exemple.carpx" grâce a un évènement midi envoyé par un séquenceur .

Je sais qu'en théorie , on peu faire ça avec mididings mais il n'est plus empaqueté pour LZK4 et de toute façon quand il l'était pour LZK3 j'ai jamais réussi a m'en servir .
Et je pense que c'est un gros truc a faire tourner en arrière plan .

Si quelqu'un a idée d'un script qui pourrait faire ça je suis preneur .

Mais j'ai cherché une solution à ma porté et j'en suis pas si loin :

De mon coté pour l'instant j'ai créer un fichier texte exécutable qui me permet de lancer un logiciel + sa sauvegarde .

J'ai trouvé xdotools qui permet de transformer un évènement midi en raccourci clavier et ça fonctionne nickel pour lancer un logiciel depuis n'importe quel évènement midi ( mais ça le lance avec une session vierge )

Finalement si je pouvais définir un raccourci clavier qui exécute mon fichier texte ça serai parfait mais je ne sais pas comment faire ça , je suis sur que c'est possible ..

Du coup ça donnerait ça :

évènement midi > conversion en combinaison de touches par xdotools > lance mon fichier texte exécutable grâce au raccourci clavier qui y serait lié .

Je sais pas si vous m'avez suivi mais j'espère .

Merci et A +
Salut du coup j'ai continuer mes investigations et j'en suis a peu prêts arrivé à mes fin .

je me suis basé sur cette méthode ( décrit ici ) : https://superuser.com/questions/1170136/translating-midi-input-into-computer-keystrokes-on-linux


Dans mon cas comme indiqué sur la page pointé par le lien ci dessus :
j'ai utilisé la commande :
Copy to clipboard
aseqdump -l

Pour voir la liste de tout les port midi matériel ou virtuel .

une fois qu'on a trouvé le port par lequel on veux envoyer des donnés midi pour lancer sa session d'un logiciel sauvegarder , on fait :
Copy to clipboard
aseqdump -p "nom du port midi"

Pour lire les données qui passe par ce port et relever les n° de contrôle qu'on veux utilisé ..

la suite utilise xdotool qu'on trouve dans Synaptic sur toute les ditribution basé sur Debian .

Sur la page qui est visé par le lien plus haut il est expliqué comment transfomer des évènement midi en raccourci clavier .
Cette fonction de xdotool est beaucoup utilisé pour contrôler l'ouverture et fermeture des fenêtres ou n'importe quelle fonction accessible via un raccourci clavier grace a un contrôleur midi ..
Mais ça ne fonctionné par pour ce que je voulais faire .

En fouinant sur xdotool je suis aperçut qu'on pouvait aussi exécuter des commandes ou des fichier texte exécutable .

Du coup je mets l'exemple de ce qui fonctionne chez moi avec carla .

au préalable obligé de créer des fichier text exécutable qu'on va faire lancer par xdotool depuis un contrôleur midi :
exemple du fichier texte a rendre exécutable ( nomé fichier1 dans l'exemple )
Copy to clipboard
killall carla carla /home/moi/session.carxp

A priori si je mets pas la première ligne killall carla ça fait bugué la patch bay .

exemple du script qui me permet de lancer carla+une session sauvegardé en appuyant simplement sur une touche de mon contrôleur midi .

Copy to clipboard
aseqdump -p "Midi Through" | \ while IFS=" ," read src ev1 ev2 ch label1 data1 label2 data2 rest; do case "$ev1 $ev2 $data1" in "Control change 30" ) xdotool exec /home/olivier/Bureau/fichier1 ;; "Control change 31" ) xdotool exec /home/olivier/Bureau/fichier2 ;; esac done

A modifié selon besoin et a copier dans un fichier texte a rendre exécutable .
Au cas ou une fois le sript lancer il continue d'être actif tant qu'on l'a pas stoppé .
Pour l’arrêter j'ai pas trouvé mieux que
Copy to clipboard
killall aseqdump


Tout ça ça reste quand même à prendre avec des pincettes car c'est loin d'êtres ma spécialité ..
D'ailleurs j'ai juste modifié le script pour mon besoin .

A+
Merci pour le lien, ça va me servir pour un projet en cours
Tant mieux c'est là pour ça , c'est quoi ton projet par curiosité ?