summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-04-24 05:16:44 +0200
committerRobin Gareus <robin@gareus.org>2020-04-24 05:16:44 +0200
commitfcf4e3e9eb7182fea29fa36c0817cc51c5319bcb (patch)
tree302b4f01c50c3106ce691b1bba4c5c4f0a6b19e7 /tools
parentf1ec99865368f2f9b3fe1c57cd7d00b013fe178b (diff)
Add script to list Lua scripts for a html news page.
Diffstat (limited to 'tools')
-rwxr-xr-xtools/list_scripts.lua36
1 files changed, 36 insertions, 0 deletions
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 ("<dt>" .. v['name'] .. "<dt><dd>" .. v['description'] .. "</dd>")
+ end
+ end
+
+ print ("<h2>" .. h .. "</h2>")
+ print ("<dl>")
+ for script in scripts () do
+ loadfile (script)()
+ end
+ print ("</dl>")
+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")