OSC: allow setting of marker name
[ardour.git] / libs / surfaces / osc / osc_cue_observer.h
index 4ade6c0e91b4e3c5cec0d8148f27eb83a5b6ab13..576314e04cec50975a2d6d64b278e3c534e45f5f 100644 (file)
@@ -33,7 +33,7 @@ class OSCCueObserver
 {
 
   public:
-       OSCCueObserver (boost::shared_ptr<ARDOUR::Stripable>, std::vector<boost::shared_ptr<ARDOUR::Stripable>>& sends, lo_address addr);
+       OSCCueObserver (ArdourSurface::OSC& o, ArdourSurface::OSC::OSCSurface* sur);
        ~OSCCueObserver ();
 
        boost::shared_ptr<ARDOUR::Stripable> strip () const { return _strip; }
@@ -41,28 +41,31 @@ class OSCCueObserver
        void tick (void);
        typedef std::vector<boost::shared_ptr<ARDOUR::Stripable> > Sorted;
        Sorted sends;
+       void clear_observer (void);
+       void refresh_strip (boost::shared_ptr<ARDOUR::Stripable> new_strip, Sorted new_sends, bool force);
 
   private:
 
        boost::shared_ptr<ARDOUR::Stripable> _strip;
+       ArdourSurface::OSC& _osc;
 
        PBD::ScopedConnectionList strip_connections;
        PBD::ScopedConnectionList send_connections;
 
        lo_address addr;
        std::string path;
+       ArdourSurface::OSC::OSCSurface* sur;
        float _last_meter;
        std::vector<uint32_t> gain_timeout;
        bool tick_enable;
+       std::vector<float> _last_gain;
 
        void name_changed (const PBD::PropertyChange& what_changed, uint32_t id);
        void send_change_message (std::string path, uint32_t id, boost::shared_ptr<PBD::Controllable> controllable);
-       void text_with_id (std::string path, uint32_t id, std::string val);
-       void send_gain_message (uint32_t id, boost::shared_ptr<PBD::Controllable> controllable);
-       void send_enabled_message (std::string path, uint32_t id, bool enabled);
-       void clear_strip (std::string path, float val);
+       void send_gain_message (uint32_t id, boost::shared_ptr<PBD::Controllable> controllable, bool force);
+       void send_enabled_message (std::string path, uint32_t id, boost::shared_ptr<ARDOUR::Processor> proc);
        void send_init (void);
-       void send_end (void);
+       void send_end (uint32_t new_sends_size);
        void send_restart (void);
 };