2010-10-26 16 views
13

Come posso vedere gli errori di script per i miei script MIDI Remote di Python in Ableton Live? Ho visto references online to a hidden Python console, ma nessuna documentazione su come aprirlo, se mi aiuterebbe anche!Debug di Python in Ableton Live

Attualmente digito il codice, ricarico lo script e vedo cosa succede. Se non succede niente, allora qualcosa non va. Molto noioso ...

Edit: Vorrei anche sottolineare che non c'è nulla di utile nel file Log.txt sia, eppure quel file è fase di aggiornamento.

+0

sto assegnazione del premio a slomojo, come potrebbe anche andare a qualcuno per i loro sforzi. Per favore, se sai come ottenere quella console, pubblica qui la risposta. – Brad

+0

Avrò di nuovo in esecuzione il mio setup Ableton e cercherò di trovarlo. – ocodo

+0

Grazie slomojo! Se hai qualche idea su come potrei cercarlo, scaverei anche io. Non ne ho idea. Non conosco quasi nulla di Python. Sono tipicamente un ragazzo di .NET. Grazie ancora. – Brad

risposta

3

Per eseguire il debug della superficie di controllo, è possibile definire il proprio metodo di log in questo modo:

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

Usage:

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

Questo aggiungerà

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

nel file Log.txt.

Inoltre, potrebbe essere utile sapere che (almeno fino a Live 9.1) i file di superficie di controllo modificati vengono ricompilati ogni volta che si carica una nuova canzone, non è necessario riavviare l'applicazione.

EDIT: cambiato il metodo di stderr scrittura in modo che non scrive due righe e un rendimento in più per ogni registro

+1

Caricando una nuova canzone, intendi un nuovo progetto Live, giusto? – Brad

+0

Questo è corretto @Brad – Mattijs

1

Questo ha sicuramente cambiato nel corso degli anni con diverse versioni di Ableton Live.

Io corro Live 8 e la prima ha cercato di ottenere la roba LiveAPI a sputare fuori le informazioni di debug: http://post.monome.org/comments.php?DiscussionID=4607&page=1

Ho iniziato con una versione precedente che non ha funzionato con OSX, riportato qui: http://code.google.com/p/liveapi/issues/detail?id=4 I don' Penso che la nuova versione includa la console telnet.

Quindi, la risposta migliore è quello di trovare un file di log qui, che contiene le informazioni di debug su una problematica MIDI Remote Scripts:

Library/Preferences/Ableton/live 8.2.1/Log.txt

4

Io uso log.txt per un sacco di debug. È un po 'difficile da leggere, ma ecco i miei consigli.

Il registro scrive dall'alto in basso (le nuove informazioni sono sulla riga successiva) e registra tutti gli eventi, più o meno.

Se si ottiene un errore si otterrà un blocco grande esagono cercando - circa 20+ linee simile a questo:

280 ms. Exception: 0x00495580:0x00000000 

Proprio sopra quel blocco è l'errore o che cosa possono aver gettato lo script nel Ableton tempo di esecuzione.

Mentre viaggi da questa eccezione, vedrai qualcosa come una traccia.

anche - è possibile utilizzare:

self.log_message("STUFF") 

a scrivere nel registro (ci sono altri metodi).

Ho visto alcuni parser di file di registro (in tempo reale) nel mio lavoro. Non li ho ancora provati.

Spero che si inghiottisca un po '. O è stato in grado di scrivere un'app per PHP per Python (sì, peccaminoso lo so). http://modrn.dj/app

-1

È inoltre possibile utilizzare http://julienbayle.net/ableton-live-9-midi-remote-scripts per Ableton Live 9

+1

Grazie per il link, ma questo non risponde alla mia domanda. Ero interessato a eseguire il debug dei miei script. – Brad

+0

Non ho ancora caricato quella parte. – gluon

+0

Non ho ancora caricato quella parte. C'è un file denominato Log.txt in/Users//Library/Preferences/Ableton/Live x x x/ Ci sono TUTTE le informazioni di debug di Live. Se vuoi eseguire il debug del tuo python tramite il metodo log log_message, puoi usare qualcosa come self.log_message() ... Che dovrebbe rispondere .. – gluon

2

Per ragioni di completezza: su Mac OS X 10.9, il file Log.txt è in

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

La cartella Live 9.1 può ovviamente essere diversa per le diverse versioni di Live.

Nota la cartella Libreria è nascosta. Mi ci è voluto un po 'per capirlo. Un modo semplice per accedervi con Finder: cliccare sulla voce di menu Vai, quindi tenere Alt e la cartella Libreria apparirà nel menu