template <typename T, typename C1, typename C2> void connect_2 (enum LuaSignal::LuaSignal, T, PBD::Signal2<void, C1, C2>*);
template <typename T, typename C1, typename C2> void proxy_2 (enum LuaSignal::LuaSignal, T, C1, C2);
+
+ template <typename T, typename C1, typename C2, typename C3> void connect_3 (enum LuaSignal::LuaSignal, T, PBD::Signal3<void, C1, C2, C3>*);
+ template <typename T, typename C1, typename C2, typename C3> void proxy_3 (enum LuaSignal::LuaSignal, T, C1, C2, C3);
};
typedef boost::shared_ptr<LuaCallback> LuaCallbackPtr;
static void register_classes (lua_State* L);
static void register_hooks (lua_State* L);
static void bind_cairo (lua_State* L);
+ static void bind_dialog (lua_State* L);
static void render_action_icon (cairo_t* cr, int w, int h, uint32_t c, void* i);
XMLNode& get_action_state (void);
XMLNode& get_hook_state (void);
+ int load_state ();
+ int save_state ();
+
bool interactive_add (ARDOUR::LuaScriptInfo::ScriptType, int);
/* actions */
bool lua_slot (const PBD::ID&, std::string&, std::string&, ActionHook&, ARDOUR::LuaScriptParamList&);
sigc::signal<void,PBD::ID,std::string,ActionHook> SlotChanged;
+ static PBD::Signal0<void> LuaTimerS; // deci-seconds (Timer every 1s)
static PBD::Signal0<void> LuaTimerDS; // deci-seconds (Timer every .1s)
+ static PBD::Signal0<void> SetSession; // emitted when a session is loaded
private:
LuaInstance();
static LuaInstance* _instance;
void init ();
+ void set_dirty ();
void session_going_away ();
LuaState lua;
LuaCallbackMap _callbacks;
PBD::ScopedConnectionList _slotcon;
+ void every_second ();
+ sigc::connection second_connection;
+
void every_point_one_seconds ();
sigc::connection point_one_second_connection;
};