Qui utilise Live API
- 96 réponses
- 17 participants
- 16 597 vues
- 8 followers
Anonyme
1100
Sujet de la discussion Posté le 07/06/2009 à 20:23:05Qui utilise Live API
Hello,
qui utilise Live API et Python ici?
je me suis mis à Python il y a 2 jours pour réaliser une set up perso de mon controleur MPD32 , je cherche à utiliser les control change mais j'ai un peu de mal.
Pour les pads pas de probleme il suffit de modifier le fichier const.py
J'utilise la classe TRACE fournie pour reperer les bugs et autres , est ce que quelqu'un a déja écrit un script perso pour son controleur , en partant du script python pour le MPD16 dispo merci.
Si ça fonctionne , plus besoin d'acheter une APC lol...
Je suis sur live 7 pour le moment.
Merci
qui utilise Live API et Python ici?
je me suis mis à Python il y a 2 jours pour réaliser une set up perso de mon controleur MPD32 , je cherche à utiliser les control change mais j'ai un peu de mal.
Pour les pads pas de probleme il suffit de modifier le fichier const.py
J'utilise la classe TRACE fournie pour reperer les bugs et autres , est ce que quelqu'un a déja écrit un script perso pour son controleur , en partant du script python pour le MPD16 dispo merci.
Si ça fonctionne , plus besoin d'acheter une APC lol...
Je suis sur live 7 pour le moment.
Merci
Anonyme
1100
71 Posté le 24/06/2009 à 01:29:13
Dans ce cas ton "encoder" n'envoie pas un contrôle change mais un autre type de message en fait 2 messages différents selon la direction de 'révolution' du contrôleur , donc l'implémentation que tu décrit ci dessus n'est pas bonne.
quoiqu'il en soit, je t'ai proposé une solution avec une structure conditionnelle, ou alors l'utilisation de la classe midimap avec les dictionnaires en python, faut que tu te plonges un minimum dans le code sinon tu n'iras pas loin.
tu as la classe trace fournie avec le script de départ , à toi de regarder dans le fichier log qui sera crée quel message exact envoie ton contrôleur , parce que la on n'en sait toujours rien.
quoiqu'il en soit, je t'ai proposé une solution avec une structure conditionnelle, ou alors l'utilisation de la classe midimap avec les dictionnaires en python, faut que tu te plonges un minimum dans le code sinon tu n'iras pas loin.
tu as la classe trace fournie avec le script de départ , à toi de regarder dans le fichier log qui sera crée quel message exact envoie ton contrôleur , parce que la on n'en sait toujours rien.
RG4
143
Posteur·euse AFfiné·e
Membre depuis 16 ans
72 Posté le 24/06/2009 à 23:01:37
J'ai fait un test de mes encodeurs avec le logiciel MIDI Monitior sur Mac pour voir ce que les encodeurs envoient.
voici les messages en tournant l'encodeur 22 vers la gauche, c'est toujours le chiffre 63 qu'envoie l'encodeur
Time Source Messge Chan DATA
22:35:15.394 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:15.544 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:15.654 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:16.137 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:16.288 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:16.511 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:16.690 From YAMAHA UX96 Port1 Control 1 Controller 22 63
En tournant vers la droite, c'est toujours 65 qu'envoie l'encodeur
22:47:41.528 From YAMAHA UX96 Port1 Control 1 Controller 22 65
22:47:41.688 From YAMAHA UX96 Port1 Control 1 Controller 22 65
22:47:41.823 From YAMAHA UX96 Port1 Control 1 Controller 22 65
22:47:41.970 From YAMAHA UX96 Port1 Control 1 Controller 22 65
22:47:42.358 From YAMAHA UX96 Port1 Control 1 Controller 22 65
22:47:42.528 From YAMAHA UX96 Port1 Control 1 Controller 22 65
C'est bien comme tu disais, il y a 2 valeurs différentes quand on tourne à gauche et à droite
Un autre test avec mon contrrôleur PCP-300 d'Edirol.
Ici j'utilise des potentiomètres
quand je tourne le potentiomètre vers la droite, on voit défiler des chiffres de 0 à 127
22:53:57.845 From EDIROL PCR 1 Control 1 Controller 22 1
22:53:57.881 From EDIROL PCR 1 Control 1 Controller 22 2
22:53:57.899 From EDIROL PCR 1 Control 1 Controller 22 3
22:53:57.935 From EDIROL PCR 1 Control 1 Controller 22 4
22:53:57.953 From EDIROL PCR 1 Control 1 Controller 22 5
22:53:57.971 From EDIROL PCR 1 Control 1 Controller 22 6
22:53:58.007 From EDIROL PCR 1 Control 1 Controller 22 7
22:53:58.025 From EDIROL PCR 1 Control 1 Controller 22 8
22:53:58.061 From EDIROL PCR 1 Control 1 Controller 22 9
22:53:58.079 From EDIROL PCR 1 Control 1 Controller 22 10
22:53:58.097 From EDIROL PCR 1 Control 1 Controller 22 11
22:53:58.116 From EDIROL PCR 1 Control 1 Controller 22 12
22:53:58.170 From EDIROL PCR 1 Control 1 Controller 22 13
22:53:58.224 From EDIROL PCR 1 Control 1 Controller 22 14
22:53:58.278 From EDIROL PCR 1 Control 1 Controller 22 15
22:53:58.404 From EDIROL PCR 1 Control 1 Controller 22 16
22:53:58.476 From EDIROL PCR 1 Control 1 Controller 22 17
Et vers la gauche de 127 à 0
23:00:47.018 From EDIROL PCR 1 Control 1 Controller 22 126
23:00:47.072 From EDIROL PCR 1 Control 1 Controller 22 125
23:00:47.198 From EDIROL PCR 1 Control 1 Controller 22 124
23:00:47.740 From EDIROL PCR 1 Control 1 Controller 22 123
23:00:47.812 From EDIROL PCR 1 Control 1 Controller 22 122
23:00:47.938 From EDIROL PCR 1 Control 1 Controller 22 121
23:00:47.956 From EDIROL PCR 1 Control 1 Controller 22 120
23:00:47.992 From EDIROL PCR 1 Control 1 Controller 22 119
23:00:48.028 From EDIROL PCR 1 Control 1 Controller 22 118
23:00:48.064 From EDIROL PCR 1 Control 1 Controller 22 117
23:00:48.082 From EDIROL PCR 1 Control 1 Controller 22 116
23:00:48.118 From EDIROL PCR 1 Control 1 Controller 22 115
23:00:48.136 From EDIROL PCR 1 Control 1 Controller 22 114
23:00:48.172 From EDIROL PCR 1 Control 1 Controller 22 113
voici les messages en tournant l'encodeur 22 vers la gauche, c'est toujours le chiffre 63 qu'envoie l'encodeur
Time Source Messge Chan DATA
22:35:15.394 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:15.544 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:15.654 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:16.137 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:16.288 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:16.511 From YAMAHA UX96 Port1 Control 1 Controller 22 63
22:35:16.690 From YAMAHA UX96 Port1 Control 1 Controller 22 63
En tournant vers la droite, c'est toujours 65 qu'envoie l'encodeur
22:47:41.528 From YAMAHA UX96 Port1 Control 1 Controller 22 65
22:47:41.688 From YAMAHA UX96 Port1 Control 1 Controller 22 65
22:47:41.823 From YAMAHA UX96 Port1 Control 1 Controller 22 65
22:47:41.970 From YAMAHA UX96 Port1 Control 1 Controller 22 65
22:47:42.358 From YAMAHA UX96 Port1 Control 1 Controller 22 65
22:47:42.528 From YAMAHA UX96 Port1 Control 1 Controller 22 65
C'est bien comme tu disais, il y a 2 valeurs différentes quand on tourne à gauche et à droite
Un autre test avec mon contrrôleur PCP-300 d'Edirol.
Ici j'utilise des potentiomètres
quand je tourne le potentiomètre vers la droite, on voit défiler des chiffres de 0 à 127
22:53:57.845 From EDIROL PCR 1 Control 1 Controller 22 1
22:53:57.881 From EDIROL PCR 1 Control 1 Controller 22 2
22:53:57.899 From EDIROL PCR 1 Control 1 Controller 22 3
22:53:57.935 From EDIROL PCR 1 Control 1 Controller 22 4
22:53:57.953 From EDIROL PCR 1 Control 1 Controller 22 5
22:53:57.971 From EDIROL PCR 1 Control 1 Controller 22 6
22:53:58.007 From EDIROL PCR 1 Control 1 Controller 22 7
22:53:58.025 From EDIROL PCR 1 Control 1 Controller 22 8
22:53:58.061 From EDIROL PCR 1 Control 1 Controller 22 9
22:53:58.079 From EDIROL PCR 1 Control 1 Controller 22 10
22:53:58.097 From EDIROL PCR 1 Control 1 Controller 22 11
22:53:58.116 From EDIROL PCR 1 Control 1 Controller 22 12
22:53:58.170 From EDIROL PCR 1 Control 1 Controller 22 13
22:53:58.224 From EDIROL PCR 1 Control 1 Controller 22 14
22:53:58.278 From EDIROL PCR 1 Control 1 Controller 22 15
22:53:58.404 From EDIROL PCR 1 Control 1 Controller 22 16
22:53:58.476 From EDIROL PCR 1 Control 1 Controller 22 17
Et vers la gauche de 127 à 0
23:00:47.018 From EDIROL PCR 1 Control 1 Controller 22 126
23:00:47.072 From EDIROL PCR 1 Control 1 Controller 22 125
23:00:47.198 From EDIROL PCR 1 Control 1 Controller 22 124
23:00:47.740 From EDIROL PCR 1 Control 1 Controller 22 123
23:00:47.812 From EDIROL PCR 1 Control 1 Controller 22 122
23:00:47.938 From EDIROL PCR 1 Control 1 Controller 22 121
23:00:47.956 From EDIROL PCR 1 Control 1 Controller 22 120
23:00:47.992 From EDIROL PCR 1 Control 1 Controller 22 119
23:00:48.028 From EDIROL PCR 1 Control 1 Controller 22 118
23:00:48.064 From EDIROL PCR 1 Control 1 Controller 22 117
23:00:48.082 From EDIROL PCR 1 Control 1 Controller 22 116
23:00:48.118 From EDIROL PCR 1 Control 1 Controller 22 115
23:00:48.136 From EDIROL PCR 1 Control 1 Controller 22 114
23:00:48.172 From EDIROL PCR 1 Control 1 Controller 22 113
RG4
143
Posteur·euse AFfiné·e
Membre depuis 16 ans
73 Posté le 24/06/2009 à 23:19:08
Dans Live avec tout ce qui est generic Encoder, mes encodeurs ne répondent pas
avec photon_X25 marche pas non plus.
Il y a qu'avec Mackie Control et Mackie Control Classic que mes encodeurs répondent, mais quand je tourne à gauche le Pan piste 1 tourne vite vers la droite et quand je tourne l'encodeur vers la droite le Pan tourne tout doucement vers la gauche.
dansle dossier Mackie Control, fichier Mackie Control.py il y a
def suggest_map_mode(self, cc_no, channel):
result = Live.MidiMap.MapMode.absolute
if (cc_no in range(FID_PANNING_BASE, (FID_PANNING_BASE + NUM_CHANNEL_STRIPS))):
result = Live.MidiMap.MapMode.relative_signed_bit
return result
J'ai changé result=Live.MidiMap.MapMode.relative_signed_bit
par
result=Live.MidiMap.MapMode.relative_binary_offset
Mais là, mes encodeurs ne répondent plus???
J'y comprend rien
avec photon_X25 marche pas non plus.
Il y a qu'avec Mackie Control et Mackie Control Classic que mes encodeurs répondent, mais quand je tourne à gauche le Pan piste 1 tourne vite vers la droite et quand je tourne l'encodeur vers la droite le Pan tourne tout doucement vers la gauche.
dansle dossier Mackie Control, fichier Mackie Control.py il y a
def suggest_map_mode(self, cc_no, channel):
result = Live.MidiMap.MapMode.absolute
if (cc_no in range(FID_PANNING_BASE, (FID_PANNING_BASE + NUM_CHANNEL_STRIPS))):
result = Live.MidiMap.MapMode.relative_signed_bit
return result
J'ai changé result=Live.MidiMap.MapMode.relative_signed_bit
par
result=Live.MidiMap.MapMode.relative_binary_offset
Mais là, mes encodeurs ne répondent plus???
J'y comprend rien
Anonyme
1100
74 Posté le 25/06/2009 à 09:21:02
Ou à tu trouvé le fichier Mackie Control.py puisque les fichiers livrés avec Live sont compilés?
Pour faire marcher ton controleur avec le script photon il faut au minimum changer les numéros de CC dans le fichier const et surtout changer les canaux midi du midi channel mal sachant que le canal 1 = 0 , canal 2 = 1 , etc...
Pour faire marcher ton controleur avec le script photon il faut au minimum changer les numéros de CC dans le fichier const et surtout changer les canaux midi du midi channel mal sachant que le canal 1 = 0 , canal 2 = 1 , etc...
RG4
143
Posteur·euse AFfiné·e
Membre depuis 16 ans
75 Posté le 25/06/2009 à 20:41:58
J'ai tous les dossiers des contrôleurs en .py ,je ne sais plus où je les est téléchargés, je peux te les envoyer par mail.
RG4
143
Posteur·euse AFfiné·e
Membre depuis 16 ans
76 Posté le 25/06/2009 à 23:52:24
ça y est !!!!!!!
Mes encodeurs fonctionnent , le problème c'est que j'oubliais d'indiquer le canal midi.
Merci Camus .
J'ai fait le test avec Photon_X25
Pour que ça fonctionne je doit assigner mes encodeurs en mode absolute.
L'inconvénient en mode absolute, j'ai des saut brutaux des paramètres.
C'est pour ça que j'aimerai integrer le Live.MidiMap.MapMode.relative_binary_offset.
Mes encodeurs fonctionnent , le problème c'est que j'oubliais d'indiquer le canal midi.
Merci Camus .
J'ai fait le test avec Photon_X25
Pour que ça fonctionne je doit assigner mes encodeurs en mode absolute.
L'inconvénient en mode absolute, j'ai des saut brutaux des paramètres.
C'est pour ça que j'aimerai integrer le Live.MidiMap.MapMode.relative_binary_offset.
[ Dernière édition du message le 27/06/2009 à 00:35:05 ]
RG4
143
Posteur·euse AFfiné·e
Membre depuis 16 ans
77 Posté le 27/06/2009 à 00:41:50
J'ai réussi à faire fonctinner mes encodeurs en Live.MidiMap.MapMode.relative_binary_offset.
Dans le dossier MPD32
Dans le fichier init
Et là je n'est plus de saut brusque quand je change les paramètres
Dans le dossier MPD32
Dans le fichier init
def create_instance(c_instance):
""" The generic script can be customised by using parameters (see config.py). """
return GenericScript(c_instance, Live.MidiMap.MapMode.relative_binary_offset, Live.MidiMap.MapMode.relative_binary_offset, DEVICE_CONTROLS, TRANSPORT_CONTROLS, VOLUME_CONTROLS, TRACKARM_CONTROLS, BANK_CONTROLS, CONTROLLER_DESCRIPTION, MIXER_OPTIONS) Et là je n'est plus de saut brusque quand je change les paramètres
RG4
143
Posteur·euse AFfiné·e
Membre depuis 16 ans
78 Posté le 02/07/2009 à 07:25:03
Salut camus,
j'ai le dossier _Generic avec les fichier en py, dans Device on peut modifier les Bank de 1 à 8 de tous les périphérique de Live.
Mais en remplaçant ce dossier _Generic par le dossier d'origine _Generic de Live ça ne fonctionne plus, même sans modifier aucun fichier.
Saurais-tu me dire pourquoi ?
j'ai le dossier _Generic avec les fichier en py, dans Device on peut modifier les Bank de 1 à 8 de tous les périphérique de Live.
Mais en remplaçant ce dossier _Generic par le dossier d'origine _Generic de Live ça ne fonctionne plus, même sans modifier aucun fichier.
Anonyme
1100
79 Posté le 02/07/2009 à 18:56:46
aucune idée.chez moi tout les fichiers pythons sont en pyc donc déja compilés.
- < Liste des sujets
- Charte