2010-10-26 21 views
13

Comment puis-je voir des erreurs de script pour mes scripts python MIDI Remote dans Ableton Live? J'ai vu references online to a hidden Python console, mais aucune documentation sur la façon de l'ouvrir, si cela pouvait même m'aider!Déboguer Python dans Ableton Live

Actuellement, je tape du code, recharger le script, et voir ce qui se passe. Si rien ne se passe, alors quelque chose ne va pas. Très fastidieux ...

Edit: Je tiens également à souligner qu'il n'y a pas quelque chose d'utile dans le fichier Log.txt soit, mais ce fichier est mise à jour.

+0

J'attribue la prime à slomojo, car il pourrait aussi bien aller à quelqu'un pour leurs efforts. S'il vous plaît cependant, si vous savez comment obtenir cette console, postez la réponse ici. – Brad

+0

Je vais redémarrer mon installation Ableton et essayer de le trouver. – ocodo

+0

Merci slomojo! Si vous avez des idées sur la façon dont je pourrais le rechercher, je creuserais aussi. Je n'ai juste pas la moindre idée. Je ne sais presque rien de Python. Je suis typiquement un gars .NET. Merci encore. – Brad

Répondre

3

Pour déboguer la surface de contrôle, vous pouvez définir votre propre méthode de journal comme ceci:

def log(self, message): 
    sys.stderr.write("LOG: " + message.encode("utf-8")) 

exemple d'utilisation:

year = 1999 
self.log("I'm gonna party like it's " + str(year)) 

Ceci ajoutera

21179419 ms. RemoteScriptError: LOG: Tonight I'm gonna party like it's 1999 

à votre fichier Log.txt.

En outre, il peut être utile de savoir que (au moins à partir de Live 9.1) les fichiers de surface de contrôle édités sont recompilés chaque fois que vous chargez un nouveau morceau, pas besoin de redémarrer l'application.

EDIT: a modifié la méthode d'écriture stderr afin qu'il ne pas écrire deux lignes et un rendement supplémentaire pour chaque journal

+1

En chargeant une nouvelle chanson, vous voulez dire nouveau projet Live, non? – Brad

+0

C'est vrai @Brad – Mattijs

1

Cela a certainement changé au fil des ans avec différentes versions d'Ableton Live.

Je suis en Live 8 et d'abord essayé d'obtenir les trucs de LiveAPI pour cracher des informations de débogage: http://post.monome.org/comments.php?DiscussionID=4607&page=1

J'ai commencé avec une ancienne version qui ne fonctionnait pas avec OSX, a rapporté ici: http://code.google.com/p/liveapi/issues/detail?id=4 Je ne Je pense que la nouvelle version inclut la console Telnet.

SO, la meilleure réponse est de trouver un fichier journal ici, qui contient des informations de débogage sur un Scripts à distance MIDI problématiques:

Bibliothèque/Préférences/Ableton/direct 8.2.1/Log.txt

4

J'utilise le fichier log.txt pour une tonne de débogage. C'est un peu difficile à lire, mais voici mes conseils. Log écrit de haut en bas (les nouvelles informations sont sur la ligne suivante) et enregistre tous les événements, plus ou moins.

Si vous obtenez une erreur, vous obtiendrez un grand bloc à la recherche hexagonale - sur 20+ lignes ressemblant à ceci:

280 ms. Exception: 0x00495580:0x00000000 

juste au-dessus de ce bloc est l'erreur ou ce qui peut avoir jeté le script dans le Ableton temps d'exécution.

Lorsque vous voyagez à partir de cette exception, vous verrez quelque chose comme une trace.

aussi - vous pouvez utiliser:

self.log_message("STUFF") 

à écrire dans le journal (il y a d'autres méthodes).

J'ai vu des analyseurs de fichiers journaux (en temps réel) dans mon travail. Pas encore essayé.

Espérons que hleps un peu. O était capable d'écrire une application PHP pour le python (ouais, pécheur je sais). http://modrn.dj/app

-1

Vous pouvez également utiliser http://julienbayle.net/ableton-live-9-midi-remote-scripts pour Ableton Live 9

+1

Merci pour le lien, mais cela ne répond pas du tout à ma question. Je voulais déboguer mes propres scripts. – Brad

+0

Je n'ai toujours pas téléchargé cette partie. – gluon

+0

Je n'ai toujours pas téléchargé cette partie. Il existe un fichier nommé Log.txt dans/Users//Library/Preferences/Ableton/Live x x x/ Il existe toutes les informations de débogage de Live. Si vous voulez déboguer votre python via la méthode Framework log_message, vous pouvez utiliser quelque chose comme self.log_message() ... Cela devrait répondre .. – gluon

2

Par souci d'exhaustivité: sous Mac OS X 10.9, le fichier est dans Log.txt

/Utilisateurs/-username-/Library/Preferences/Ableton/Live 9.1/

Le dossier Live 9.1 peut bien sûr être différent pour différentes versions de Live.

Remarque Le dossier Bibliothèque est masqué. Il m'a fallu du temps pour comprendre cela. Un moyen facile d'y accéder avec le Finder: cliquez sur l'élément de menu Aller, puis maintenez la touche Alt et le dossier de la bibliothèque s'affiche dans le menu