OSC: Make sure group name for select gets updated
[ardour.git] / libs / surfaces / osc / osc_global_observer.h
index ef9637274f261efcac2128ddcbb91a1855b63239..2f6972fce089914bdad2489150ef2fa5d5dd28dd 100644 (file)
@@ -39,6 +39,7 @@ class OSCGlobalObserver
        lo_address address() const { return addr; };
        void tick (void);
        void clear_observer (void);
+       void jog_mode (uint32_t jogmode);
 
   private:
        ArdourSurface::OSC& _osc;
@@ -58,9 +59,11 @@ class OSCGlobalObserver
        float _last_monitor_gain;
        lo_address addr;
        std::string path;
+       std::string mark_text;
        uint32_t gainmode;
        std::bitset<32> feedback;
        ARDOUR::Session* session;
+       uint32_t _jog_mode;
        samplepos_t _last_sample;
        uint32_t _heartbeat;
        float _last_meter;
@@ -69,6 +72,22 @@ class OSCGlobalObserver
        uint32_t last_punchin;
        uint32_t last_punchout;
        uint32_t last_click;
+       samplepos_t prev_mark;
+       samplepos_t next_mark;
+       struct LocationMarker {
+               LocationMarker (const std::string& l, samplepos_t w)
+                       : label (l), when (w) {}
+               std::string label;
+               samplepos_t  when;
+       };
+       std::vector<LocationMarker> lm;
+
+       struct LocationMarkerSort {
+               bool operator() (const LocationMarker& a, const LocationMarker& b) {
+                       return (a.when < b.when);
+               }
+       };
+
 
        void send_change_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
        void send_gain_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
@@ -78,6 +97,10 @@ class OSCGlobalObserver
        void solo_active (bool active);
        void session_name (std::string path, std::string name);
        void extra_check (void);
+       void marks_changed (void);
+       void mark_update (void);
+       void group_changed (ARDOUR::RouteGroup*);
+       void group_changed (void);
 };
 
 #endif /* __osc_oscglobalobserver_h__ */