OSC: add /select/plugin/activate cause some add deactivated
[ardour.git] / libs / surfaces / osc / osc.h
index b1b561149989234f4ebe7896334455848ea9b0ac..0d02d25cdbcd9254288f807721eed74469d89ef5 100644 (file)
@@ -152,6 +152,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
                std::vector<int> plugins;       // stores allowable plugins with index (work around MB strip PIs)
                int send_page;                          // current send page
                uint32_t send_page_size;        // send page size in channels
+               uint32_t nsends;                        // number of sends select has
                PBD::ScopedConnection proc_connection; // for processor signal monitoring
                // cue
                bool cue;                                       // is this a cue surface
@@ -317,11 +318,12 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
        // end cue
 
        // link
+       LinkSet * get_linkset (uint32_t set, lo_address addr);
        int parse_link (const char *path, const char* types, lo_arg **argv, int argc, lo_message msg);
        int link_check (uint32_t linkset);
-
-       int select_plugin_parameter (const char *path, const char* types, lo_arg **argv, int argc, lo_message msg);
-       int surface_parse (const char *path, const char* types, lo_arg **argv, int argc, lo_message msg);
+       int set_link (uint32_t set, uint32_t id, lo_address addr);
+       void surface_link_state (LinkSet * set);
+       void link_strip_types (uint32_t linkset, uint32_t striptypes);
 
 #define OSC_DEBUG \
        if (_debugmode == All) { \
@@ -492,6 +494,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
        PATH_CALLBACK1_MSG(sel_send_page,f);
        PATH_CALLBACK1_MSG(sel_plug_page,f);
        PATH_CALLBACK1_MSG(sel_plugin,f);
+       PATH_CALLBACK1_MSG(sel_plugin_activate,f);
        PATH_CALLBACK1_MSG(sel_comp_enable,f);
        PATH_CALLBACK1_MSG(sel_comp_threshold,f);
        PATH_CALLBACK1_MSG(sel_comp_speed,f);
@@ -644,18 +647,23 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
        int bank_delta (float delta, lo_message msg);
        int use_group (float value, lo_message msg);
        int bank_down (lo_message msg);
+       // surface set up
+       int surface_parse (const char *path, const char* types, lo_arg **argv, int argc, lo_message msg);
        int set_surface (uint32_t b_size, uint32_t strips, uint32_t fb, uint32_t gmode, uint32_t se_size, uint32_t pi_size, lo_message msg);
        int set_surface_bank_size (uint32_t bs, lo_message msg);
        int set_surface_strip_types (uint32_t st, lo_message msg);
        int set_surface_feedback (uint32_t fb, lo_message msg);
        int set_surface_gainmode (uint32_t gm, lo_message msg);
        int refresh_surface (lo_message msg);
+       // select
        int sel_send_pagesize (uint32_t size, lo_message msg);
        int sel_send_page (int page, lo_message msg);
        int sel_plug_pagesize (uint32_t size, lo_message msg);
        int sel_plug_page (int page, lo_message msg);
        int sel_plugin (int delta, lo_message msg);
        int _sel_plugin (int id, lo_address addr);
+       int sel_plugin_activate (float state, lo_message msg);
+       int select_plugin_parameter (const char *path, const char* types, lo_arg **argv, int argc, lo_message msg);
        void processor_changed (lo_address addr);
 
        int scrub (float delta, lo_message msg);