-rw-r--r-- | demo-init.lua | 46 |
diff --git a/demo-init.lua b/demo-init.lua new file mode 100644 index 00000000..19881949 --- /dev/null +++ b/demo-init.lua @@ -0,0 +1,46 @@ + +local demo_list = {} + +local function load_demo(name) + local group, info = dofile('demos/' .. name .. '.lua') + local section = demo_list[group] + if not section then + section = {} + demo_list[group] = section + end + local i = #section + for k, v in ipairs(info) do + section[i+k] = v + end +end + +local demo_files = {'fft', 'bspline', 'wave-particle', 'plot'} + +for i, name in ipairs(demo_files) do + load_demo(name) +end + +local function print_demos_list() + for group, t in pairs(demo_list) do + echo('*** ', group) + for k, v in ipairs(t) do + echo(v.name .. ' - ' .. v.description) + end + echo '' + end +end + +local function load_demo(name) + for group, t in pairs(demo_list) do + for k, entry in ipairs(t) do + if entry.name == name then + return entry + end + end + end +end + +return { + list = print_demos_list, + load = load_demo, +} |