在Ableton Live中调试Python

时间:2010-10-26 01:17:13

标签: python debugging script-debugging ableton-live

如何在Ableton Live中查看我的python MIDI Remote Scripts的脚本错误?我见过references online to a hidden Python console,但没有关于如何打开它的文档,如果它甚至可以帮助我的话!

目前我输入代码,重新加载脚本,看看会发生什么。如果没有任何反应,那就是错误的。很乏味......

编辑:我还应该指出Log.txt文件中没有任何有用的内容,但 文件正在更新。

6 个答案:

答案 0 :(得分:4)

我使用log.txt进行大量调试。这有点难以阅读,但这是我的提示。

日志自上而下写入(新信息在下一行)并记录所有事件,或多或少。

如果您收到错误,您将获得一个大的十六进制块 - 大约20多行看起来像这样:

280 ms. Exception: 0x00495580:0x00000000

正好在该块之上是错误或可能在Ableton运行时抛出脚本的内容。

当你从那个例外旅行时,你会看到类似痕迹的东西。

也 - 你可以使用:

self.log_message("STUFF")

写入日志(还有其他方法)。

我在工作中看到了一些日志文件解析器(实时)。尚未尝试过。

希望能有所收获。 O是为python写一个PHP应用程序(是的,我知道有罪)。 http://modrn.dj/app

答案 1 :(得分:3)

要调试控制界面,您可以像这样定义自己的日志方法:

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写入方法,使其不会写入两行并为每个日志添加额外的返回

答案 2 :(得分:2)

答案 3 :(得分:2)

为了完整起见:在Mac OS X 10.9上,Log.txt文件位于

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

对于不同版本的Live,Live 9.1文件夹当然可能有所不同。

注意 隐藏了Library文件夹。我花了一段时间来弄清楚这一点。使用Finder访问它的简单方法:单击Go菜单项,然后按住Alt,Library文件夹将弹出菜单

答案 4 :(得分:1)

多年来,随着不同版本的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远程脚本的调试信息:

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

答案 5 :(得分:-1)