View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0009984 | ardour | documentation | public | 2025-08-19 08:57 | 2025-09-13 10:45 |
| Reporter | castilma | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | no change required | ||
| Platform | GNU | OS | Linux | OS Version | (any) |
| Product Version | 8.12 | ||||
| Summary | 0009984: Ardour doesn't list custom lua session script in ~/.config/ardour8/scripts | ||||
| Description | I have a custom lua script in `~/.config/ardour8/scripts/run_on_record.lua ` which is not listed in the script manager under session scripts, even though the documentation [1] says, by default ardour looks in `$HOME/.config/ardour8/scripts`. [1] https://manual.ardour.org/lua-scripting/ under "Managing Scripts" | ||||
| Steps To Reproduce | 1. save this script in your personal script folder: ``` $ cat ~/.config/ardour8/scripts/run_on_record.lua ardour { ["type"] = "Session", name = "Auto Record and Play", description = "Automatically starts transport when Global Record is enabled" -- comment = "Generated by grok. Usefull for remote starting record from X32" } function factory () return function () -- Prüft, ob Global Record aktiviert wird Session:RecordStateChanged:connect(function () if Session:record_enabled() then -- Starte Transport, wenn Record aktiviert ist Session:request_transport_speed(1.0) end end) end end ``` 2. Open the lua script-manager. 3. Go to the "Session Scripts"-tab. 4. Click refresh. 5. Search for "Auto Record and Play". It does not appear. | ||||
| Additional Information | /usr/bin/ardour8 contains ``` export ARDOUR_DATA_PATH=/usr/share/ardour8 ``` which overwrites unconditonally any path the user might have set. This kinda contradicts, what the documentation suggests. I'd expect it to be something like ``` export ARDOUR_DATA_PATH="$ARDOUR_DATA_PATH:/usr/share/ardour8:$HOME/.config/ardour8" # or export ARDOUR_DATA_PATH="$ARDOUR_DATA_PATH:/usr/share/ardour8:${XDG_CONFIG_HOME:-$HOME/.config}/ardour8" ``` Also, right under that part in the documentation, it lists wrong places, where scripts are managed, e.g. The Session menu has no entry Scripting. The documentation seems to be out of date (as is mentioned there at the top). | ||||
| Tags | No tags attached. | ||||
|
|
Ok, it seems I judged to quickly: In the log window (but not in stdout/stderr output) I found: ``` 2025-09-13T11:42:47 [INFO]: Lua: Error: /home/me/.config/ardour8/scripts/run_on_record.lua:11: function arguments expected near ':' Skript '/home/me/.config/ardour8/scripts/run_on_record.lua' hat keinen gültigen Deskriptor. ``` I cannot really read lua, so I guess grok forgot to add some function arguments for RecordStateChanged:connect(). |
|
|
The script was not listed because of a syntax error. See my other note in this issue. |