2010-10-26 10 views
13

¿Cómo puedo ver errores de script para mis secuencias de comandos MIDI remotas de Python en Ableton Live? He visto references online to a hidden Python console, pero no hay documentación sobre cómo abrirlo, ¡si me ayudara!Depuración de Python dentro de Ableton Live

Actualmente escribo el código, vuelvo a cargar el script y veo qué sucede. Si no ocurre nada, entonces algo está mal. Muy tedioso ...

Editar: También debo señalar que no hay nada útil en el archivo Log.txt bien, sin embargo, ese archivo se siendo actualizado.

+0

estoy concesión de la recompensa a slomojo, ya que podría ser que también vaya a otra por sus esfuerzos. Por favor, si sabes cómo subir esa consola, publica la respuesta aquí. – Brad

+0

Volveré a ejecutar mi instalación de Ableton e intentaré encontrarla. – ocodo

+0

Gracias slomojo! Si tiene alguna idea sobre cómo podría buscarla, también la excavaría. Simplemente no tengo ni idea. No sé casi nada de Python. Normalmente soy un tipo .NET. Gracias de nuevo. – Brad

Respuesta

3

Para depurar la superficie de control, puede definir su propio método de registro de este modo:

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

Uso:

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

Esto añadirá

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

a su Log.txt.

Además, puede valer la pena saber que (al menos a partir de Live 9.1) los archivos de superficie de control editados se vuelven a compilar cada vez que carga una nueva canción, sin necesidad de reiniciar la aplicación.

EDIT: cambió el método de escritura stderr para que no escribe dos líneas y un rendimiento extra por cada ingrese

+1

Al cargar una nueva canción, ¿te refieres al nuevo proyecto Live, ¿verdad? – Brad

+0

Eso es correcto @Brad – Mattijs

1

Esto ciertamente ha cambiado a lo largo de los años con diferentes versiones de Ableton Live.

estoy corriendo Live 8 y el primer tratado de conseguir las cosas LiveAPI escupir información de depuración: http://post.monome.org/comments.php?DiscussionID=4607&page=1

Empecé con una versión más antigua que no funciona con OSX, informó aquí: http://code.google.com/p/liveapi/issues/detail?id=4 I don' Creo que la nueva versión incluye la consola telnet.

tanto, la mejor respuesta es encontrar un archivo de registro aquí, que contiene información de depuración en una problemática secuencias de comandos MIDI Remote:

Library/Preferences/Ableton/en vivo 8.2.1/Log.txt

4

Utilizo log.txt para una gran cantidad de depuración. Es un poco difícil de leer, pero aquí están mis consejos.

el registro escribe de arriba hacia abajo (la información nueva está en la línea siguiente) y registra todos los eventos, más o menos.

Si se produce un error obtendrá un gran bloque hexagonal mirando - a unos 20 + líneas con este aspecto:

280 ms. Exception: 0x00495580:0x00000000 

Justo encima de ese bloque es el error o lo que pueden haber tirado la secuencia de comandos en el Ableton tiempo de ejecución

Al viajar ARRIBA de esa excepción, verá algo así como un rastro.

también - se puede utilizar:

self.log_message("STUFF") 

para escribir en el registro (hay otros métodos).

He visto algunos analizadores de archivos de registro (en tiempo real) en mi trabajo. No los he probado todavía.

Espero que hleps un poco. O fue capaz de escribir una aplicación de PHP para la pitón (sí, pecaminoso lo sé). http://modrn.dj/app

-1

También puede utilizar http://julienbayle.net/ableton-live-9-midi-remote-scripts para Ableton Live 9

+1

Gracias por el enlace, pero esto no responde mi pregunta en absoluto. Estaba interesado en depurar mis propios scripts. – Brad

+0

Aún no subí esa parte. – gluon

+0

Aún no subí esa parte. Hay un archivo llamado Log.txt en/Users//Library/Preferences/Ableton/Live x x x/ Hay TODA la información de depuración de Live. Si desea depurar su python a través del método framework log_message, puede usar algo como self.log_message() ... Eso debería responder ... – gluon

2

En aras de la exhaustividad: en Mac OS X 10.9, el archivo se encuentra en Log.txt

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

La carpeta Live 9.1 puede, por supuesto, ser diferente para diferentes versiones de Live.

Nota la carpeta Biblioteca está oculta. Me tomó un tiempo darme cuenta de eso. Una manera fácil de acceder a él con el Finder: haga clic en el elemento de menú Ir, a continuación, mantenga Alt y la carpeta de la biblioteca aparecerá en el menú