13
0
livetrax/scripts/post_export_save_hook.lua

27 lines
909 B
Lua

ardour {
["type"] = "EditorHook",
name = "Save Snapshot after Export",
author = "Ardour Lua Task Force",
description = "Save a session-snapshot on export, named after the export-timespan",
}
-- subscribe to signals
-- http://manual.ardour.org/lua-scripting/class_reference/#LuaSignal.LuaSignal
function signals ()
s = LuaSignal.Set()
s:add ({[LuaSignal.Exported] = true})
return s
end
-- create callback functions
function factory ()
-- callback function which invoked when signal is emitted
return function (signal, ref, ...)
-- 'Exported' passes 2 strings: current time-span name, path to exported file
-- (see C++ libs/ardour/export_handler.cc Session::Exported )
local timespan_name, file_path = ...
-- save session -- http://manual.ardour.org/lua-scripting/class_reference/#ARDOUR:Session
Session:save_state ("export-" .. timespan_name, false, false, false)
end
end