Qui utilise Live API
- 96 réponses
- 17 participants
- 16 589 vues
- 8 followers
Anonyme
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
ton contrôleur doit envoyer un certain message quand tu le tournes vers la droite et un autre quand tu le tournes vers la gauche. il suffit de créer une structure conditionnelle (if/elif) en relation avec les 2 messages pour augmenter ou diminuer la valeur de ton pan.
pour la méthode dans l'api , regarde les scripts trackcontroler.py de l'alesis photon que je donne en lien , une méthode a déjà été écrite pour accéder au pan
si tu veux plus d'aide publie l'implémentation midi complète de ton contrôleur.
RG4
32 Encodeurs: encoderMapMode est LinearBinaryOffset
Enc1:CC31 Enc5:CC35 Enc9:CC39 Enc13:43 Enc17:47 Enc21:51 Enc25:55 Enc29:59
Enc2:CC32 Enc6:CC36 Enc10:CC40 Enc14:44 Enc18:48 Enc22:52 Enc26:56 Enc30:60
Enc3:CC33 Enc7:CC37 Enc11:CC41 Enc15:45 Enc19:49 Enc23:53 Enc27:57 Enc31:61
Enc4:CC34 Enc8:CC38 Enc12:CC42 Enc16:46 Enc20:50 Enc24:54 Enc28:58 Enc32:62
Comme tu peux voir j'ai 8 colonnes de 4 encodeurs, les CC je peux les assigner comme je veux.
Pourrait-on partir du dossir Mackie Control et de rajouter les 32 encodeurs.
La Mackie Control me convient très bien, si on pouvait implémenter les 32 encodeurs ça serait le TOP
Anonyme
Après tout le code concernant le volume , pan , sends , etc... est déja dans les scripts du alesis photon dont j'ai donné le lien.
RG4
Track1:note 24
Track2:note 25
Track3:note 26
Track4:note 27
Track5:note 28
Track6:note 29
Track7:note 30
Track8:note 31
Puis 8 boutons pour les 8 premier Mute
Mute1: note 16
Mute2: note 17
Mute3: note 18
Mute4: note 19
Mute5: note 20
Mute6: note 21
Mute7: note 22
Mute8: note 23
Puis 8 boutons pour les 8 premier Solo
Solo1: note 8
Solo2: note 9
Solo3: note 10
Solo4: note 11
Solo5: note 12
Solo6: note 13
Solo7: note 14
Solo8: note 15
Puis 8 boutons pour les 8 premier Armement
Arm1: note 0
Arm2: note 1
Arm3: note 2
Arm4: note 3
Arm5: note 4
Arm6: note 5
Arm7: note 6
Arm8: note 7
Puis 8 fader motorisé pour les 8 premier volume
Vol1: PitchBend canal 1
Vol2: PitchBend canal 2
Vol3: PitchBend canal 3
Vol4: PitchBend canal 4
Vol5: PitchBend canal 5
Vol6: PitchBend canal 6
Vol7: PitchBend canal 7
Vol8: PitchBend canal 8
Là j'ai repris la même configuration de la Mackie Control
Puis il y a le transport: Rew-FFwd-Stop-Play-Rec
les flèches haut-bas-gauche-droit pour naviguer dans les clips
un bouton pour déclencher les clips
un bouton pour déclencher les Scènes
Puch in
puch out
Loop
Arrangemnt/session
Afficher/masquer le navigatuer
Bank+ et Bank- pour passer au 8 pistes suivantes
Bon tout ça avec mon contrôleur ça marche nickel en mode Mackie
RG4
Citation : Ca veut dire quoi LinearBinaryOffset ? quel message précis envoie ton controleur? un message de combiens de bytes et avec quel comportement quand tu le tournes, c'est ça que tu dois savoir.
Où là comment savoir ça, ce que je sais mes encodeurs font 24 impulsions par rotations.
Pour les bytes je vais voir sur ucapps.de
Je me demande si c'est pas 7 bit
RG4
Citation : class MapMode(Boost.Python.enum)
Method resolution order:
MapMode
Boost.Python.enum
__builtin__.int
__builtin__.object
Data and non-method functions defined here:
__doc__ = None
__getstate__ = <built-in function __getstate__>
__slots__ = ()
tuple() -> an empty tuple
tuple(sequence) -> tuple initialized from sequence's items
If the argument is a tuple, the return value is the same object.
absolute = MidiMap.MapMode.absolute
absolute_14_bit = MidiMap.MapMode.absolute_14_bit
relative_binary_offset = MidiMap.MapMode.relative_binary_offset
relative_signed_bit = MidiMap.MapMode.relative_signed_bit
relative_signed_bit2 = MidiMap.MapMode.relative_signed_bit2
relative_smooth_binary_offset = MidiMap.MapMode.relative_smooth_binary_offset
relative_smooth_signed_bit = MidiMap.MapMode.relative_smooth_signed_bit
relative_smooth_signed_bit2 = MidiMap.MapMode.relative_smooth_signed_bit2
relative_smooth_two_compliment = MidiMap.MapMode.relative_smooth_two_compliment
relative_two_compliment = MidiMap.MapMode.relative_two_compliment
values = {0: MidiMap.MapMode.absolute, 1: MidiMap.MapMode.relative_signed_bit, 2: MidiMap.MapMode.relative_binary_offset, 3: MidiMap.MapMode.relative_two_compliment, 4: MidiMap.MapMode.relative_signed_bit2, 5: MidiMap.MapMode.absolute_14_bit, 6: MidiMap.MapMode.relative_smooth_signed_bit, 7: MidiMap.MapMode.relative_smooth_binary_offset, 8: MidiMap.MapMode.relative_smooth_two_compliment, 9: MidiMap.MapMode.relative_smooth_signed_bit2}
dict() -> new empty dictionary.
dict(mapping) -> new dictionary initialized from a mapping object's
(key, value) pairs.
dict(seq) -> new dictionary initialized as if via:
d = {}
for k, v in seq:
d[k] = v
Anonyme
Il suffit d'adapter les données du fichiers const.py aux infos qu'envoie ton controleur , tu n'as rien à faire de plus.
tu dois changer le map mod uniquement quand ton contrôleur envoie un message complexe (genre CC43 vers la droite et CC44 vers la gauche) , ce qui n'est absolument pas le cas si on se base sur ce que tu viens d'écrire.
RG4
RG4
une info pour ceux qui ne savent pas la différence entre un encodeur et un potentiomètre
L'avantage des encodeurs c'est qu'il n'y a pas de saut quand on bouge un paramètre.
Alors qu'avec un potentiomètre, si ton paramètre dans Live (ex: PAN) est complètement à droite et que ton pot de ton contrôleur est à gauche ( mode de reprise: Graduer dans les option MIDI ), il faut tourner ton pot à droite et puis seulement régler ton paramètre.
- < Liste des sujets
- Charte