Отладка Python в Ableton Live - PullRequest
       92

Отладка Python в Ableton Live

14 голосов
/ 26 октября 2010

Как я могу увидеть ошибки сценариев для моих Python MIDI Remote Scripts в Ableton Live? Я видел ссылки в Интернете на скрытую консоль Python , но нет документации о том, как ее открыть, если она мне даже поможет!

В настоящее время я набираю код, перезагружаю скрипт и вижу, что происходит. Если ничего не происходит, значит что-то не так. Очень утомительно ...

Редактировать: Следует также отметить, что в файле Log.txt также нет ничего полезного, но этот файл обновляется .

Ответы [ 6 ]

4 голосов
/ 16 июля 2016

Для отладки панели управления вы можете определить свой собственный метод регистрации следующим образом:

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

Пример использования:

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

Это добавит

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

в ваш Log.txt.

Также, возможно, стоит знать, что (по крайней мере, в Live 9.1) отредактированные файлы панели управления перекомпилируются каждый раз при загрузке новой песни, нет необходимости перезапускать приложение.

РЕДАКТИРОВАТЬ: изменил метод записи stderr, чтобы он не записывал две строки и дополнительный возврат для каждого журнала

4 голосов
/ 10 февраля 2012

Я использую log.txt для тонны отладки.Это немного трудно читать, но вот мои советы.

журнал записывает сверху вниз (новая информация находится на следующей строке) и записывает все события, более или менее.

Если вы получите ошибку, вы получите большой гекс, выглядящий как блок - около 20+ строки выглядят так:

280 ms. Exception: 0x00495580:0x00000000

Прямо над этим блоком находится ошибка или то, что, возможно, бросило скрипт во время выполнения Ableton.увидеть что-то вроде следа.

также - вы можете использовать:

self.log_message("STUFF")

для записи в журнал (есть другие методы).

Я видел некоторые парсеры файлов журнала (в режиме реального времени)в моей работе.Еще не попробовал их.

Надеюсь, что немного поможет.У меня была возможность написать PHP-приложение для Python (да, я знаю, греховно).http://modrn.dj/app

3 голосов
/ 17 января 2014

Для полноты: в Mac OS X 10.9 файл Log.txt находится в

/ Пользователи / -username- / Библиотека / Настройки / Ableton / Live 9.1 /

Папка Live 9.1, конечно, может отличаться для разных версий Live.

Примечание Папка библиотеки скрыта. Мне потребовалось время, чтобы понять это. Простой способ получить к нему доступ с помощью Finder: щелкните элемент меню «Перейти», затем удерживайте клавишу «Alt», и папка «Библиотека» появится в меню

2 голосов
/ 01 октября 2012
1 голос
/ 18 июня 2011

Это, безусловно, изменилось за эти годы с различными версиями Ableton Live.

Я запускаю Live 8 и сначала попытался заставить содержимое LiveAPI выдавать отладочную информацию: http://post.monome.org/comments.php?DiscussionID=4607&page=1

Я начал со старой версии, которая не работала с OSX, и сообщил здесь: http://code.google.com/p/liveapi/issues/detail?id=4 Не думаю, что новая версия включает консоль telnet.

ТАК, лучший ответ - найти файл журнала, который содержит отладочную информацию о проблемных скриптах MIDI Remote:

Библиотека / Предпочтения / Ableton / Live 8.2.1 / Log.txt

0 голосов
/ 06 марта 2013

Вы также можете использовать http://julienbayle.net/ableton-live-9-midi-remote-scripts для Ableton Live 9

...