OSC link: first working commit for linking two surfaces as one
[ardour.git] / libs / surfaces / osc / osc_route_observer.h
index 770d3118a484349a31bfee530fc13ba265c39ce6..88a5f211fbd98125dc75c8ba36dd15ded076c526 100644 (file)
@@ -36,41 +36,48 @@ class OSCRouteObserver
 {
 
   public:
-       OSCRouteObserver (boost::shared_ptr<ARDOUR::Stripable>, lo_address addr, uint32_t sid, ArdourSurface::OSC::OSCSurface* sur);
+       OSCRouteObserver (ArdourSurface::OSC& o, uint32_t sid, ArdourSurface::OSC::OSCSurface* sur);
        ~OSCRouteObserver ();
 
        boost::shared_ptr<ARDOUR::Stripable> strip () const { return _strip; }
-       lo_address address() const { return addr; };
+       uint32_t strip_id () const { return ssid; }
+       lo_address address () const { return addr; };
        void tick (void);
        void send_select_status (const PBD::PropertyChange&);
+       void refresh_strip (bool force);
+       void clear_strip ();
 
   private:
        boost::shared_ptr<ARDOUR::Stripable> _strip;
 
        PBD::ScopedConnectionList strip_connections;
 
+       ArdourSurface::OSC& _osc;
        lo_address addr;
        std::string path;
-       uint32_t ssid;
        uint32_t gainmode;
        std::bitset<32> feedback;
+       uint32_t ssid;
        ArdourSurface::OSC::OSCSurface* sur;
        float _last_meter;
        uint32_t gain_timeout;
        uint32_t trim_timeout;
        float _last_gain;
+       float _last_trim;
+       bool _init;
+       bool _expand;
+       bool in_line;
        ARDOUR::AutoState as;
+       bool _tick_busy;
 
 
        void name_changed (const PBD::PropertyChange& what_changed);
        void send_change_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
-       void text_with_id (std::string path, uint32_t id, std::string name);
        void send_monitor_status (boost::shared_ptr<PBD::Controllable> controllable);
-       void send_gain_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
-       void gain_automation (std::string path);
-       void send_trim_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
-       std::string set_path (std::string path);
-       void clear_strip (std::string path, float val);
+       void send_gain_message ();
+       void gain_automation ();
+       void send_trim_message ();
+       void no_strip ();
 };
 
 #endif /* __osc_oscrouteobserver_h__ */