Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN
Ableton Live 8
(30)
Déposer un avis
Où acheter Live 8 ?
Moins
Aucun revendeur ne propose ce produit pour le moment.
Alerte disponibilité
Il n’y a pas de petite annonce pour ce produit.
Alerte nouvelle annonce

Qui utilise Live API

  • 96 réponses
  • 17 participants
  • 17 059 vues
  • 8 followers
Sujet de la discussion Qui 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
Afficher le sujet de la discussion
26
C'est complètement fesable, on peut imaginer une fonction qui déplace les pads assignés aux clips de 4 en 4 sur 4 pistes , avec les boutons << et >> par exemple sans problème.
27
:bravo: :mdr: :bravo:

ça c'est super cool, ça pourrait permettre un contrôle super intuitif sans me ruiner pour un apc (de toute façon je n'ai pas les moyens)

Est ce que tu as des liens pour apprendre à programmer (je veux bien essayer mais je commence vraiment à 0). je me débrouille en anglais mais je sais pas si je peux gérer le vocabulaire de programmation.

moi je voyais par exemple la banque A qui contrôle 4 scènes des pistes 1 à 4, la banque B qui controle 4 scènes des pistes 5 à 8 par exemple.

Tu peux me contacter par MP pour les liens et si t'a des tutos sous la main...

merci :D:

http://soundcloud.com/tipsy-sub

http://www.jamendo.com/fr/album/74123

 

 

28
Ou meme les mettre ici, que j'en profite aussi!
29
Pour info "max for live" devrait sortir cette année, un genre de live api officiel signé ableton live et max msp (donc payant 3fois, live+max+m4live).

dans le genre gratuit moi j'utilise la demo fonctionnelle de sensomusic usine avec midiyoke (et asio4all pour pc portable)
30
En fait max for live n'a rien à voir en terme de fonctionnalités avec l'api python de live.
Max for live c'est pour développer des plugins audios ou midi interne à live , l'api python gère la communication entre live et des applications et protocoles externes
31

Citation : En fait max for live n'a rien à voir en terme de fonctionnalités avec l'api python de live.
Max for live c'est pour développer des plugins audios ou midi interne à live , l'api python gère la communication entre live et des applications et protocoles externes



ben M4L comme tu le dis va entres autres permettre de créer des plugins midi, donc dans un sens aider à interragir avec tes controleurs.
Non surtout M4L va normalement enfin permettre d'utiliser la norme OSC (ok peu de contrôleur l'utilise pour le moment) dans Live et j'attend ça avec impatience.
J'ai testé LiveAPI avec Live et le Lemur, amusant mais pas toujours stable (bug incompréhensible) pour le moment.
32

Citation : ben M4L comme tu le dis va entres autres permettre de créer des plugins midi, donc dans un sens aider à interragir avec tes controleurs.
Non surtout M4L va normalement enfin permettre d'utiliser la norme OSC (ok peu de contrôleur l'utilise pour le moment) dans Live et j'attend ça avec impatience.
J'ai testé LiveAPI avec Live et le Lemur, amusant mais pas toujours stable (bug incompréhensible) pour le moment.

non ça n'a rien à voir, et live va gerer OSC nativement sans avoir besoin de MAX et MAX4Live. dans max 4 live , c'est max qui jouera le role de proxy pour les applications externes , et non python/
pour ce qui est des bugs, si ton script est buggé, c'est normal , à toi d'écrire un script sans bugs. Mais python fonctionne très bien chez moi et tout les scripts remote ainsi que celui de l'APC sont écrits en python.
33

Citation : non ça n'a rien à voir, et live va gerer OSC nativement sans avoir besoin de MAX et MAX4Live.



Source? Jusqu'à preuve du contraire l'introduction de l'OSC se fera par le biais de M4L.


Citation : pour ce qui est des bugs, si ton script est buggé, c'est normal , à toi d'écrire un script sans bugs. Mais python fonctionne très bien chez moi et tout les scripts remote ainsi que celui de l'APC sont écrits en python.




...
je sais très bien que le python fonctionne très bien puisque effectivement la plupart l'utilise je te dis juste que le script que l'on utilise (pas le mien en particulier, d'autres savent programmer 100 fois mieux que moi) est sympa mais parfois bug de façon étrange, c'est tout (note: le passage sous Live 8 n'a pas arrangé les choses d'ailleurs). Et c'est pas juste moi dans mon coin qui le constate ok?
Pour le script APC il nous tarde pas mal de voir ce qu'il se passe derrière d'ailleurs...
34

Citation : Pour le script APC il nous tarde pas mal de voir ce qu'il se passe derrière d'ailleurs...



Donc si je comprends bien, il faut attendre de savoir cela pour écrire le même pour un mpd32 (par exemple).

a part ça, votre débat c'est comme si je vous disais vbghinjlkgbtùrjziù*$hb!^nfzemoiughjreim uibjgmre iojhgtmzea jgomirea5985 gragrea...

mais ça a l'air interessant quand même. en tout cas, si c'est possible, j'aimerais bien que quelqu'un poste des liens pour moi et tout ceux que ça interesse (j'ai utilisé mon ami google mais rien trouvé de spécial ou alors je me perds vite). :oo:

http://soundcloud.com/tipsy-sub

http://www.jamendo.com/fr/album/74123

 

 

35
C interréssant camus

bon jveux vraiment pas faire de jaloux, mais j'ai l'APC, et pour l'instant je trouve l'utilisation assez limité, j'attend M4L pour le configurer

est ce que je peux aussi modifier le comportement de l'APC via script Python ?

j'ai vus des vidéos sur le net ou le gars utilisait la rangée de boutons "stop clips" comme un indiquateur de mesure, d'aprés toi ya moyen de faire ce genre de truc ?
36
Pimp my controlleur midi :bravo:

A quand les néons???

Citation : bon jveux vraiment pas faire de jaloux, mais j'ai l'APC



même pas jaloux
Désolé j'ai fait baissé le niveau du topic d'un niveau..

http://soundcloud.com/tipsy-sub

http://www.jamendo.com/fr/album/74123

 

 

37
Xno> juste pour info, je n'ai pas l'APC et je ne sais pas exactement ce que tu veux faire mais par exemple sur cette video
https://www.youtube.com/watch?v=D4YIGfhbCtw

le gars te montre que déjà, sans entrer dans le langage python, on peut commencer à customizer son APC. Après tout dépend de ce que tu veux faire of course!!
38
Alors voilà, j'ai dl live API, j'ai fouillé dans le dossier mais je comprends pas trop ce que je dois faire.

0. Place dumpObj.py in your LiveTelnet directory
1. Telnet into LiveTelnet, and in the CLI type 'import dumpObj'
2. Then you can dump an object into XML by typing 'dumpObj.dumpXML(OBJECT, "C:\path\to\save.xml")'


Ou se trouve le LiveTelnet directory?

Et une fois que j'ai réalisé tout ça, comment je fais pour essayer de programmer mon controlleur avec des fonctions qui n'existe pas dans live (notamment celle dont j'ai parlé précédemment).

Je suis aussi à la recherche de tuto pour comprendre ce qu'il est possible de réaliser et comment le réaliser. en français de préférence mais si ils n'existent pas je ne suis pas complètement anglophobe.

merci

http://soundcloud.com/tipsy-sub

http://www.jamendo.com/fr/album/74123

 

 

39
Tu trouveras les bases et la plupart des infos ici (en anglais):

http://www.assembla.com/wiki/show/live-api/cD0bua8Dqr3ixOabIlDkbG
40
Tu pars du script suivant ce que j'ai fait:

http://motscousus.com/stuff/2007-09_ALESIS_Photon_X25_Ableton_LIVE_Scripts/#config

tu dezippes, et tu places les fichiers *.py dans le répertoire des scripts remote script de live(tu crées un repertoire "custom" par exemple)

ya un fichier qui s'appelle const.py , la tu peux commencer par changer les numéros de notes et CC préconfigurés

quand tu vas ouvrir live , live va compiler les fichiers py en pyc

il faut ouvrir les points py avec l'IDLE python , en téléchargeant python pour windows

python n'est pas très compliqué comme language, un bouquin gratuit pour les 6e 5e (niveau collège donc) en français traine sur le net à ce propos ( google taper apprendre python)

maintenant en gros ça fonctionne de cette manière.

le fichier const.py regroupe les assignations de CC et notes

tu as après d'autres fichiers qui sont des classes et appellent le fichier const.py

chaque action dans live correspond à une fonction

si tu modifies les autres fichiers.

tu dois d'abord déclarer chaque action dans la fonction buildmidimap

puis déclarer quel control appelle quel action dans la fonction receivemidicc ou la fonction receivemidinote

enfin tu dois écrire une fonction qui va réaliser concrètement l'action demandée.

mais il est possible de s'en sortir en éditant uniquement le fichier const.py
41
par exemple , je veux assigner 2 controleurs au changement de vue arrangement

session.


je télécharge et installe pyhton

https://www.python.org/ftp/python/2.6.2/python-2.6.2.msi

je télécharge ce fichier :

http://motscousus.com/stuff/2007-09_ALESIS_Photon_X25_Ableton_LIVE_Scripts/Photon_X25_Mixer.zip

je dézippe et renomme le dossier custom

je place le dossier dans

C:/Program Files/Ableton/Live 8.0.1/Resources/MIDI/Remote Scripts

clique droit sur const.py dans le dossier custom "edit with idle"

ajoutons une variable dans const.py

Citation : SWAP_ARRANGEMENT = 104
SWAP_SESSION = 105



104 et 105 sont des numéros de controleur

déclarons une midimap, qui est une liste d'assignation de controleur

Citation : MYMIDIMAP_CC = [SWAP_ARRANGEMENT,SWAP_SESSION]



déclarons les canaux midi utilisés dans une liste

Citation : MYMIDIMAP_CHANNELS =[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]



il vaut mieux séparer CC et notes dans 2 listes

enregistrer et dans l'idle cliquer sur menu RUN->CHECK MODULE pour verifier si il n'y a pas d'erreurs dans le script. Si rien ne se passe c'est bon, sinon lire le message d'erreur pour savoir ce qui ne va pas.

maintenant il s'agit de savoir comment acceder à la fonction désirée dans live , c'est ça le principe d'une API.



Chaque fonction a une sorte d'adresse à laquelle il faut acceder

Selon Assembla

http://www.assembla.com/wiki/show/live-api/How_to_Manipulate_Views

pour manipuler les vues on a 2 méthodes ou fonctions :

self.application().view.show_view("Session" ) #sets view to session

self.application().view.show_view("Arranger" ) #sets view to arranger

il faut donc relier les controleurs déclarés dans const.py à ces fonctions

premièrement il nous faut déclarer la midimap qu'on a crée (MYMIDIMAP_CC)

on peut prendre le fichier PhotonX25BankController.py

ATTENTION , python est sensible à l'indentation ( tabulations ) si elles ne sont pas correct , le script ne fonctionnera pas)

chercher la fonction build_midi_map dans PhotonX25BankController.py

regarder le code suivant , on va le reproduire avec le nom des maps crées précedemment

Citation : for channel in BTN_CHANNELS:
for cc_no in BANK_BTNS:
forward_cc(channel, cc_no)



devient donc ( à ajouter sous le code précedant en respectant les tabulations précedantes

!!!! )

Citation : for channel in MYMIDIMAP_CHANNELS:
for cc_no in MYMIDIMAP_CC:
forward_cc(channel, cc_no)



on va maintenant relier les CC déclarés aux fonctions que l'on veut modifier

cherche la fonction ou méthode receive_midi_cc dans PhotonX25BankController.py

on va comme tout à l'heure reproduire le code déja écrit tout en l'adaptant à ce qu'on veut

faire :

voici le code à trouver :

Citation : if(channel in BTN_CHANNELS and cc_no in BANK_BTNS):
if(cc_no == BANK_NEXT and cc_value == BTN_ON):
self.select_right_bank()
elif(cc_no == BANK_PREV and cc_value == BTN_ON):
self.select_left_bank()


on va ajouter notre propre code , attention aux tabulations encore une fois , sinon ça ne

marche pas.

Citation : if(channel in MYMIDIMAP_CHANNELS and cc_no in MYMIDIMAP_CC):
if(cc_no == SWAP_ARRANGEMENT ):
self.view_arrangement()
elif(cc_no == SWAP_SESSION ):
self.view_session()



remarquez j'ai enlevé une condition , cc_value == BTN_ON , qui correspond au fait que le

controleur envoie une valeur de 127 ou non.
BTN_ON est déclaré dans const.py

ok , il nous reste maintenant à créer 2 fonctions view_arrangement() et view_session() qui vont appeler l'API de live. juste avant la fonction disconnect en bas de page, inserer ce code en respectant encore une fois les tabulations comme dans le reste du code sinon ça ne

marchera pas !!!

Citation : def view_arrangement(self):
self.application().view.show_view("Arranger" )

def view_session(self):
self.application().view.show_view("Session" )





enregistrer et faire un CHECK MODULE comme pour const.py

si pas d'erreur ouvrir live/

A l'ouverture de live si les fichiers py sont tous compilés en pyc ( des fichiers pyc sont crées pour chaque py ) , cela veut dire pas d'erreur de syntaxe ( mais peut être d'autres erreurs de code !!!)

dans option preference midi choisir "custom" dans la liste des surfaces de controle ( c'est comme ça qu'on a nommé le dossier qui contient les fichiers py et placé dans le dossier remote script).

choisir les ports midi in et out correspondants.

déja si votre midimap est correctement implémentée , vous devez voir que live réagit ( carrés en haut à droite à l'appui des controleur 104 et 105).
si tout va bien , live change sa vue en session à l'appui du CC 105 et en arrangement à l'appui du CC 104.

maintenant comment savoir quel fonction commande quoi dans live API? ableton n'a pas divulgué l'API complete donc seul des API incomplètes sont dispo , ici par exemple :

http://www.assembla.com/spaces/live-api/documents/cLla_S1V4r3zamab7jnrAJ/download/LivePyDoc.zip

il n'existe pas de doc de l'api en français à priori.
42
Merci beaucoup pour ce tutoriel, j'étudierai ça après mes exams et la fête de fin d'exam, donc la semaine prochaine.

J'ai pas mal fouillé sur le net et j'ai trouvé cette vidéo ou on voit un peu jusqu'ou on peut programmer un mpd32. ça peut peut être donner des idées à quelqu'un qui gère déjà pas mal.

cette config est en vente sur le site de native kontrol. Personellement, j'aimerais bien construire quelque chose qui ne limiterait pas l'utilisation des pads (ou il pourrait servir comme pour l'apc). donc il faut trouver l'api qui permet cela. en attendant, je vais déjà essayer de faire quelque chose de simple uniquement pour le live (je compose avec un autre soft).

encore merci pour avoir pris du temps pour nous expliquer tout ça! :D: :clin:

http://soundcloud.com/tipsy-sub

http://www.jamendo.com/fr/album/74123

 

 

43
Merci beaucoup pour les details, je vais essayer de voir les intereactions entre les differents fichiers, mais tu m'as vraiment aidé avec ton post!
44
Salut,
Je viens de lire le forum, très intéressant.
J'aurais une question, j'ai DL liveapi a cette adresse http://code.google.com/p/liveapi/

dans le fichier text INSTALL.TXT il est écrit
"If you are up to date with your Ableton version, it will probably be:

C:\Program Files\Ableton\Live 6.0.7\Resources\MIDI Remote\Scripts"

Je suppose donc que cela marche seulement sous windows, y as t il une version pour MAC?
La panique, elle montait le long de ma colone vertébrale comme les premières vibrations d'une frénésie d'acide. #anti-bush#anarchi can help
45
Salut,

SI tu veux aller au chemin équivalent sous Mac
click droit sur ton Live.app puis Show Package Contents
Ensuite App-Ressources et enfin MIDI Remote scripts

N.B.: Python est déjà installé sous Mac (vérifie qd même dans un terminal)

Good Luck
46
Python est bien installé (2.5 sur OSX), c'est déjas ça.
Pour ce qui est de liveapi, si je comprend bien il n'y as qu'une seul version (pour mac et PC)?
Car c'est Live qui se charge de l'exécuter?

En cherchant sur internet j'ai trouvé à cette adresse :

http://post.monome.org/comments.php?DiscussionID=4607

une version de LiveOSC live 8 only.

En ouvrant le fichier avec l'éditeur de texte, je trouve des différences avec l'autre.
Au début du script il n'y as pas les même imports????

Si quelqu'un qui connaît peut regarder, moi je n'y connaît que dalle et j'ai un peu peur de me bugger live.

Ouai je sais je suis frileux.........

THX
La panique, elle montait le long de ma colone vertébrale comme les premières vibrations d'une frénésie d'acide. #anti-bush#anarchi can help
47
Si t'as peur de te bugger Live, installe toi 2 versions (genre 8.0.3 et 8.0.4). 1 que tu utiliseras avec Live API (histoire d'apprendre au début), et une autre pour l'utiliser normalement.
48
Ha ben j'y avais pas pensé, je v tester ça et je vous tient au jus.
Merki.
La panique, elle montait le long de ma colone vertébrale comme les premières vibrations d'une frénésie d'acide. #anti-bush#anarchi can help
49
Comment fait-on pour ouvrir python dans Mac puisqu'il est déjà installer, je ne le trouve pas
50
Je suis un vrai newby mais d'aprés le post de flanger13 tu peut avoir accés à Python depuis "terminal" dans Application/utiliaires, je me suis pas encore vraiment penché sur la question mais
si tu tape "python" dans "terminal" il te donne les commande pour avoir accés à l'aide ect...
Je suppose donc que tu dois écrire t ligne de code là.
A vérifier.
t'as un tutorial à cette adresse.

https://www.python.org/doc/tut/
La panique, elle montait le long de ma colone vertébrale comme les premières vibrations d'une frénésie d'acide. #anti-bush#anarchi can help