diff --git a/tools/list_scripts.lua b/tools/list_scripts.lua new file mode 100755 index 0000000000..3c123a4bf5 --- /dev/null +++ b/tools/list_scripts.lua @@ -0,0 +1,36 @@ +#!/usr/bin/lua5.3 + +top = arg[1] or "./" + +function scripts () + local out = io.popen ( + string.format ("find '%s' -maxdepth 1 -type f -iname \"[^_]*.lua\" 2>/dev/null | grep -v '/s_'", top .. "share/scripts/") + ) + return function() + for file in out:lines() do + return file + end + return nil + end +end + +function list_script_types (h, t) + function ardour (v) + if v['type'] == t then + print ("
" .. v['name'] .. "
" .. v['description'] .. "
") + end + end + + print ("

" .. h .. "

") + print ("
") + for script in scripts () do + loadfile (script)() + end + print ("
") +end + +list_script_types ("DSP Plugins", "dsp") +list_script_types ("Session Wide Realtime", "session") +list_script_types ("Editor Actions", "EditorAction") +list_script_types ("Editor Callbacks", "EditorHook") +list_script_types ("Session Templates", "SessionInit")