OSC: add delta controls to master, monitor and select as well
[ardour.git] / libs / surfaces / osc / osc.h
index faa5f79c2e20d0511703b33a3c7ee5d1ad222ff9..343526fcf90d722ff8c9834b6b720689c22d6af7 100644 (file)
@@ -163,6 +163,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
 
 
 // storage for  each surface's settings
+       mutable Glib::Threads::Mutex surfaces_lock;
        typedef std::vector<OSCSurface> Surface;
        Surface _surface;
 
@@ -393,10 +394,12 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
        PATH_CALLBACK1(jump_by_seconds,f,);
        PATH_CALLBACK1(master_set_gain,f,);
        PATH_CALLBACK1(master_set_fader,f,);
+       PATH_CALLBACK1(master_delta_gain,f,);
        PATH_CALLBACK1(master_set_trim,f,);
        PATH_CALLBACK1(master_set_mute,i,);
        PATH_CALLBACK1(monitor_set_gain,f,);
        PATH_CALLBACK1(monitor_set_fader,f,);
+       PATH_CALLBACK1(monitor_delta_gain,f,);
        PATH_CALLBACK1(monitor_set_mute,i,);
        PATH_CALLBACK1(monitor_set_dim,i,);
        PATH_CALLBACK1(monitor_set_mono,i,);
@@ -419,9 +422,11 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
        PATH_CALLBACK1_MSG(scrub,f);
        PATH_CALLBACK1_MSG(jog,f);
        PATH_CALLBACK1_MSG(jog_mode,f);
+       PATH_CALLBACK1_MSG(bank_delta,f);
        PATH_CALLBACK1_MSG(sel_recenable,i);
        PATH_CALLBACK1_MSG(sel_recsafe,i);
        PATH_CALLBACK1_MSG(sel_mute,i);
+       PATH_CALLBACK1_MSG(sel_master_send_enable,i);
        PATH_CALLBACK1_MSG(sel_solo,i);
        PATH_CALLBACK1_MSG(sel_solo_iso,i);
        PATH_CALLBACK1_MSG(sel_solo_safe,i);
@@ -430,6 +435,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
        PATH_CALLBACK1_MSG(sel_phase,i);
        PATH_CALLBACK1_MSG(sel_gain,f);
        PATH_CALLBACK1_MSG(sel_fader,f);
+       PATH_CALLBACK1_MSG(sel_dB_delta,f);
        PATH_CALLBACK1_MSG(sel_trim,f);
        PATH_CALLBACK1_MSG(sel_pan_position,f);
        PATH_CALLBACK1_MSG(sel_pan_width,f);
@@ -588,6 +594,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
        int set_bank (uint32_t bank_start, lo_message msg);
        int _set_bank (uint32_t bank_start, lo_address addr);
        int bank_up (lo_message msg);
+       int bank_delta (float delta, lo_message msg);
        int bank_down (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);
@@ -608,11 +615,13 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
        int jog_mode (float mode, lo_message msg);
        int master_set_gain (float dB);
        int master_set_fader (float position);
+       int master_delta_gain (float delta);
        int master_set_trim (float dB);
        int master_set_pan_stereo_position (float position, lo_message msg);
        int master_set_mute (uint32_t state);
        int monitor_set_gain (float dB);
        int monitor_set_fader (float position);
+       int monitor_delta_gain (float delta);
        int monitor_set_mute (uint32_t state);
        int monitor_set_dim (uint32_t state);
        int monitor_set_mono (uint32_t state);
@@ -627,12 +636,14 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
        int sel_phase (uint32_t state, lo_message msg);
        int sel_gain (float state, lo_message msg);
        int sel_fader (float state, lo_message msg);
+       int sel_dB_delta (float delta, lo_message msg);
        int sel_trim (float val, lo_message msg);
        int sel_pan_position (float val, lo_message msg);
        int sel_pan_width (float val, lo_message msg);
        int sel_sendgain (int id, float dB, lo_message msg);
        int sel_sendfader (int id, float pos, lo_message msg);
        int sel_sendenable (int id, float pos, lo_message msg);
+       int sel_master_send_enable (int state, lo_message msg);
        int sel_expand (uint32_t state, lo_message msg);
        int sel_pan_elevation (float val, lo_message msg);
        int sel_pan_frontback (float val, lo_message msg);