Clean up State API:
[ardour.git] / libs / ardour / ardour / luascripting.h
index 52ef85aaa3dddde323351e8a9a8a5d3a4d48a3cc..a184c4058b91cd7d989b954e85c5e35e8fc868ec 100644 (file)
@@ -38,6 +38,14 @@ class LIBARDOUR_API LuaScriptInfo {
                EditorHook,
                EditorAction,
                Snippet,
+               SessionInit,
+       };
+
+       /* binary flags, valid for ActionScripts */
+       enum ScriptSubType {
+               None          = 0x00,
+               RouteSetup    = 0x01,
+               SessionSetup  = 0x02,
        };
 
        static std::string type2str (const ScriptType t);
@@ -45,6 +53,7 @@ class LIBARDOUR_API LuaScriptInfo {
 
        LuaScriptInfo (ScriptType t, const std::string &n, const std::string &p, const std::string &uid)
        : type (t)
+       , subtype (0)
        , name (n)
        , path (p)
        , unique_id (uid)
@@ -53,6 +62,8 @@ class LIBARDOUR_API LuaScriptInfo {
        virtual ~LuaScriptInfo () { }
 
        ScriptType type;
+       uint32_t   subtype;
+
        std::string name;
        std::string path;
        std::string unique_id;
@@ -123,6 +134,8 @@ private:
        LuaScriptList *_sl_hook;
        LuaScriptList *_sl_action;
        LuaScriptList *_sl_snippet;
+       LuaScriptList *_sl_setup;
+       LuaScriptList *_sl_tracks;
        LuaScriptList  _empty_script_info;
 
        Glib::Threads::Mutex _lock;