X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fosc%2Fosc_route_observer.h;h=2fb040bedb80efb92c347ba1ff11644cbb43c21c;hb=f549fcfb7663ec0c37b1e176a742fbe6616fdab3;hp=220eb176ffd54c5c93d69632f628983e8625b9ed;hpb=9ff3c55e34a9303ea1530aec7f48c27dbfc370f2;p=ardour.git diff --git a/libs/surfaces/osc/osc_route_observer.h b/libs/surfaces/osc/osc_route_observer.h index 220eb176ff..2fb040bedb 100644 --- a/libs/surfaces/osc/osc_route_observer.h +++ b/libs/surfaces/osc/osc_route_observer.h @@ -30,37 +30,57 @@ #include "pbd/stateful.h" #include "ardour/types.h" +#include "osc.h" + class OSCRouteObserver { public: - OSCRouteObserver (boost::shared_ptr, lo_address addr, uint32_t sid, uint32_t gainmode, std::bitset<32> feedback); + OSCRouteObserver (ArdourSurface::OSC& o, uint32_t sid, ArdourSurface::OSC::OSCSurface* sur); ~OSCRouteObserver (); boost::shared_ptr 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 (boost::shared_ptr strip, bool force); + void set_expand (uint32_t expand); + void set_link_ready (uint32_t not_ready); + void clear_strip (); private: boost::shared_ptr _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; + float _last_gain; + float _last_trim; + bool _init; + uint32_t _expand; + bool in_line; + ARDOUR::AutoState as; + bool _tick_busy; void name_changed (const PBD::PropertyChange& what_changed); + void group_name (); + void pi_changed (PBD::PropertyChange const&); void send_change_message (std::string path, boost::shared_ptr controllable); void send_monitor_status (boost::shared_ptr controllable); - void send_gain_message (std::string path, boost::shared_ptr controllable); - void send_trim_message (std::string path, boost::shared_ptr 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__ */