OSC: change group sharing to individual commands
[ardour.git] / libs / surfaces / osc / osc_select_observer.h
index 81e6a75256bc36745684d2ff437c83594202b315..3f5bf963dcf61410ea2dbdbfd82ea0d46f246ee9 100644 (file)
@@ -37,7 +37,7 @@ class OSCSelectObserver
 {
 
   public:
-       OSCSelectObserver (ArdourSurface::OSC& o, ArdourSurface::OSC::OSCSurface* sur);
+       OSCSelectObserver (ArdourSurface::OSC& o, ARDOUR::Session& s, ArdourSurface::OSC::OSCSurface* sur);
        ~OSCSelectObserver ();
 
        boost::shared_ptr<ARDOUR::Stripable> strip () const { return _strip; }
@@ -47,7 +47,7 @@ class OSCSelectObserver
        void renew_plugin (void);
        void eq_restart (int);
        void clear_observer (void);
-       void refresh_strip (boost::shared_ptr<ARDOUR::Stripable> new_strip, uint32_t nsends, bool force);
+       void refresh_strip (boost::shared_ptr<ARDOUR::Stripable> new_strip, uint32_t nsends, uint32_t g_mode, bool force);
        void set_expand (uint32_t expand);
        void set_send_page (uint32_t page);
        void set_send_size (uint32_t size);
@@ -92,10 +92,17 @@ class OSCSelectObserver
        uint32_t plug_size;
        std::vector<int> plug_params;
        int eq_bands;
-       bool _tick_busy;
        uint32_t _expand;
+       std::string _group_name;
+       std::bitset<16> _group_sharing;
+       bool _tick_busy;
+       ARDOUR::Session* session;
 
        void name_changed (const PBD::PropertyChange& what_changed);
+       void group_name ();
+       void group_sharing (ARDOUR::RouteGroup *rg_c);
+       void comment_changed ();
+       void pi_changed (PBD::PropertyChange const&);
        void change_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
        void enable_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
        void comp_mode (void);
@@ -117,6 +124,7 @@ class OSCSelectObserver
        void eq_init (void);
        void eq_end (void);
        void no_strip ();
+       void slaved_changed (boost::shared_ptr<ARDOUR::VCA> vca, bool state);
 };
 
 #endif /* __osc_oscselectobserver_h__ */