X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fosc%2Fosc_global_observer.h;h=ef9637274f261efcac2128ddcbb91a1855b63239;hb=da467cf39b73e2a4ddc243bfa1791306625b5302;hp=845b9b981e1cc1339764026ae2772f1ae3ebd341;hpb=b77b3cbe224a17fdb7e00ed14d003dbd5dd571f8;p=ardour.git diff --git a/libs/surfaces/osc/osc_global_observer.h b/libs/surfaces/osc/osc_global_observer.h index 845b9b981e..ef9637274f 100644 --- a/libs/surfaces/osc/osc_global_observer.h +++ b/libs/surfaces/osc/osc_global_observer.h @@ -33,34 +33,51 @@ class OSCGlobalObserver { public: - OSCGlobalObserver (ARDOUR::Session& s, lo_address addr, uint32_t gainmode, std::bitset<32> feedback); + OSCGlobalObserver (ArdourSurface::OSC& o, ARDOUR::Session& s, ArdourSurface::OSC::OSCSurface* su); ~OSCGlobalObserver (); lo_address address() const { return addr; }; void tick (void); + void clear_observer (void); private: + ArdourSurface::OSC& _osc; PBD::ScopedConnectionList strip_connections; PBD::ScopedConnectionList session_connections; + enum STRIP { + Master, + Monitor, + }; + ArdourSurface::OSC::OSCSurface* sur; + bool _init; + float _last_master_gain; + float _last_master_trim; + float _last_monitor_gain; lo_address addr; std::string path; uint32_t gainmode; std::bitset<32> feedback; ARDOUR::Session* session; - framepos_t _last_frame; + samplepos_t _last_sample; uint32_t _heartbeat; float _last_meter; + uint32_t master_timeout; + uint32_t monitor_timeout; + uint32_t last_punchin; + uint32_t last_punchout; + uint32_t last_click; void send_change_message (std::string path, 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); - void send_transport_state_changed(void); + void send_transport_state_changed (void); void send_record_state_changed (void); - void send_session_saved (std::string name); void solo_active (bool active); + void session_name (std::string path, std::string name); + void extra_check (void); }; #endif /* __osc_oscglobalobserver_h__ */