SuperAPI AI 工具集

ableton-lom

编程与开发

查看项目

更新于 10-16 06:48

技能介绍

用途:为 Ableton Live 的 Python Remote Script 与控制面(control surface)开发提供 LOM API 参考,通过 _Framework.ControlSurface 基类以编程方式控制 Live Set 的各个方面。

主要能力:覆盖 Application、Song、Track、Clip、ClipSlot、Device、DeviceParameter、MixerDevice、Scene、CuePoint、GroovePool、TuningSystem、Browser 及各 View 等对象;支持读取与设置 tempo、播放、循环、节拍器、路由、arm/solo/mute、MIDI 音符编辑、设备参数、Rack 链与宏、场景启动等。提供按域划分的参考文件(screen.md、track.md、clip.md、device.md、specialized-devices.md、rack.md、session.md、views.md、browser.md、control-surface.md、grooves-tuning.md、lom-coverage.md)。

使用方式:继承 ControlSurface 并在 init(self, c_instance) 中调用 ControlSurface.init,随后用 self.song() 获取 Song、self.application() 获取 Application。对象可通过 live_set tracks 0 devices 1 parameters 2 这类规范路径访问,特殊根路径包括 live_set、live_app、control_surfaces N、this_device。属性分只读、读写、可观察三类,可观察属性用 add_<property>_listener(callback) 注册监听,用于构建响应式界面。

限制与注意:所有状态修改必须在 Ableton 主线程执行,需用 self.schedule_message(0, fn) 调度;从错误线程调用可能导致崩溃。该 API 未经 Ableton 官方文档化,参考资料基于 Cycling '74 Max for Live LOM 的社区文档。文档覆盖 Live 12.3,Live 11+ 需 Python 3,11.0+ 新增 GroovePool、Groove,12.3+ 新增 insert_device()、insert_chain()、AB Compare。建议始终在备份 Live Set 上测试 Remote Script。