4 ms·
> "Would be interested to know how Ableton’s scriptability compares to some other DAWs… I know Tracktion and Bitwig have some degree of JS support, and Reaper h
by gavinray 5y ago
> "Would be interested to know how Ableton’s scriptability compares to some other DAWs… I know Tracktion and Bitwig have some degree of JS support, and Reaper has its own scripting language. Personally I’d love it Ableton made the Python API etc. a bit more official but I can of course understand why they don’t."
There's nothing that really holds a candle to REAPER's scripting API.
For interpreted scripts, it supports Lua/Python/Eel (simple C-like language):
https://mespotin.uber.space/Ultraschall/Reaper_Api_Documentation.html https://mespotin.uber.space/Ultraschall/Reaper_Api_Documenta...
It also has a C/C++ native extension API, and a community Rust API. I have translated the API into C# and D.
https://github.com/justinfrankel/reaper-sdk/blob/main/sdk/reaper_plugin_functions.h https://github.com/justinfrankel/reaper-sdk/blob/main/sdk/re...
https://github.com/helgoboss/reaper-rs https://github.com/helgoboss/reaper-rs
The total number of (stock) API functions is ~1,000. Some core parts of REAPER itself like it's piano roll and media browser are written using it's own plugin API.
It supports making audio plugins with GUI's that hot-reload and have a realtime variable + debugger panel using the Eel language (called "JSFX"). Many of the user-created JSFX are better than paid plugins I've used.
https://www.reaper.fm/sdk/js/js.php https://www.reaper.fm/sdk/js/js.php
The scripting community is very large and active.
https://forum.cockos.com/forumdisplay.php?f=3 https://forum.cockos.com/forumdisplay.php?f=3
It has an in-DAW IDE with intellisense. There are multiple community GUI frameworks, including bindings to ImGui, etc.
https://forum.cockos.com/showthread.php?p=2416501 https://forum.cockos.com/showthread.php?p=2416501
https://github.com/cfillion/reaimgui https://github.com/cfillion/reaimgui
Really blows your mind.
(I am familiar with the docs for Tracktion's JS API, know about Studio One's hush-hush JS scripting, Renoise's Lua scripting, Ardour's scripting, etc.)
- tomduncalf 5y agoWow, impressive, I had no idea the scripting capability was quite so deep. I’ll be reading up on this some more, many thanks for the great post and all the links!