Page 1 of 1

"Implantation" midi mapping...

Posted: Mon Jan 29, 2007 12:17 am
by TheraBylerm
Salut à tous,

Je suis en train de terminer un module; il me manque encore un truc.

Comment faire pour "implanter" la map midi dans le module, comme pour le module de la BCF qui a en implantation standard, le mapping de la BCF ? J'ai beau étudier le module de la BCF, je ne comprends pas. Et comme je ne suis pas bon en python, je galère un peu.

Y a t'il une fonction spéciale ?

Je précise que mon outils (le monome) n'a pas le retour midi, car il fonctionne conjointement avec un programme qui converti le signal de ce dernier en midi, mais qui ne fait pas l'inverse. Par contre, je lui ai assigné une sauvegarde interne du programme.

Du coup, je n'ai pas envie de "mapper" chaque fois le module lorsque je lance modul8, et je n'ai pas non plus envie d'utiliser une mappe que je charge...

Merci !

Posted: Mon Jan 29, 2007 3:05 am
by boris
Je suis pas sûr de comprendre ta question ?

Posted: Mon Jan 29, 2007 9:32 am
by TheraBylerm
boris wrote:Je suis pas sûr de comprendre ta question ?


Hello Boris,

Arf, j'me disais aussi que je risquais de ne pas être très clair.

En fait, ce que j'aimerai, j'adorerai... ce serait d'inclure le mappage midi dans le module, dans le script, et non pas assigner telle valeur midi à telle bouton du module en passant par l'édition midi du logiciel.

Un peu comme tu as fait pour la BCF qui marche parfaitement par défaut avec le module BCF2000... sans avoir rien à "faire".

Du coup, en lisant le code de ton module (mais comme je suis une quiche, j'ai pu tout comprendre de travers) j'ai supposé qu'il fallait le retour midi sur la machine en question; chose que le machine ne permet pas pour le moment. Je demandais donc s'il n'y avait pas un autre moyen pour mapper le module "de l'interieur"... ?

Merci !

Posted: Mon Jan 29, 2007 8:55 pm
by boris
Ok,

He bien le mapping a été "hardcodé" c'est à dire directement integré dans le code du module.

J'ai mis les valeurs a la main dans une listes, avec pour chaque informations le channel et la note midi :

Code: Select all

#knob 1-8 Group1 / knob 1-8 Group2 / slider 1-8 / button (in bottom) 1-4
   midi = [\
   [1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],\
   [1,81],[1,82],[1,83],[1,84],[1,85],[1,86],[1,87],[1,88],\
   [1,89],[1,90],[1,91],[1,92]]


Ensuite je teste (depuis le module) ce qui rentre en midi et le compare avec les element de la liste.
Une autre liste comprend les nom des élements de l'interface correspondent :

Code: Select all

controls = [\
   'knob_1','knob_2','knob_3','knob_4','knob_5','knob_6','knob_7','knob_8',\
   'slider_1','slider_2','slider_3','slider_4','slider_5','slider_6','slider_7','slider_8',\
   'bbutton_17','bbutton_18','bbutton_19','bbutton_20']


Et enfin une serie d'autres liste contiennent les keyword modul8 a appliquer suivant le pré-set actif.
J'aurais pu aussi le faire dans des dictionnaires, comme tu le vois ce n'est pas vraiment "automatique" et cela nécessite quelques notions de python pour le faire.
Mais ainsi tout est possible, bonne suite !

Voila...

Posted: Tue Jan 30, 2007 11:16 am
by TheraBylerm
Boris,

Merci pour ta réponse; c'est effectivement ce que j'avais compris en parcourant le module de la BCF. Mais ce fonctionnement est valable uniquement si le retour midi fonctionne, non ?

Par ailleurs, j'ai pas mal de soucis avec mon module, ne serait ce que pour l'interface graphique.

Lorsque j'agit avec ma souris dessus, tout fonctionne; lorsque je passe par la config midi (sans avoir hardcodé le mapping), j'ai des bugs dans tous les sens. Par exemple, je souhaiterai avec une série de touches, rappeler les layersets. Mais lorsque je clique sur ces touches, j'ai l'impression de me balader aléatoirement au sein du layerset. Ca me le fait uniquement dans le module, car lorsque je joue directement sur l'interface principale de modul8 avec, je n'ai aucun soucis.

J'ai l'impression que je me plante quelque part dans l'assignation de valeurs...

Dans l'interface graphique de l'éditeur pour changer de layerset, et me placer sur le layerset 3, j'ai:

Name: ls_2 (la valeur change en fonction du numéro de layerset)
Group: LSET

Down: 2
Cont: 0
Up: 0

Toggle actif

Caption: 1
Excl. group: LSET
Show media: 0

Pour le keyword : ctrl_master_layerSetGroupA


Tu vois quelque chose d'illogique, là dedans ?