2017-02-02 07:49:15 -05:00
|
|
|
ardour {
|
|
|
|
["type"] = "EditorHook",
|
|
|
|
name = "Save Snapshot after Export",
|
|
|
|
author = "Ardour Lua Task Force",
|
2017-03-13 22:29:03 -04:00
|
|
|
description = "Save a session-snapshot on export, named after the export-timespan",
|
2017-02-02 07:49:15 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
-- 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
|