OSC: Fix select fader automation play feedback as well fixes issue #7160
[ardour.git] / libs / surfaces / osc / osc_select_observer.h
index d751ec2b3e29cfbb9d87bff911c886326a52261b..a603d12fd46c3f72814b6f918b4c0ec59ec139df 100644 (file)
@@ -29,6 +29,7 @@
 #include "pbd/controllable.h"
 #include "pbd/stateful.h"
 #include "ardour/types.h"
+#include "ardour/processor.h"
 
 class OSCSelectObserver
 {
@@ -53,24 +54,31 @@ class OSCSelectObserver
        std::string path;
        uint32_t gainmode;
        std::bitset<32> feedback;
+       std::vector<int> send_timeout;
+       uint32_t gain_timeout;
        float _last_meter;
        uint32_t nsends;
-
+       float _last_gain;
+       ARDOUR::AutoState as;
 
        void name_changed (const PBD::PropertyChange& what_changed);
        void change_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
+       void enable_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
        void comp_mode (void);
        void change_message_with_id (std::string path, uint32_t id, boost::shared_ptr<PBD::Controllable> controllable);
+       void enable_message_with_id (std::string path, uint32_t id, boost::shared_ptr<PBD::Controllable> controllable);
        void text_message (std::string path, std::string text);
        void text_with_id (std::string path, uint32_t id, std::string name);
        void monitor_status (boost::shared_ptr<PBD::Controllable> controllable);
        void gain_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
+       void gain_automation (std::string path);
        void trim_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
        // sends stuff
        void send_init (void);
        void send_end (void);
        void send_restart (int);
        void send_gain (uint32_t id, boost::shared_ptr<PBD::Controllable> controllable);
+       void send_enable (std::string path, uint32_t id, boost::shared_ptr<ARDOUR::Processor> proc);
        void eq_init (void);
        void eq_end (void);
        void eq_restart (int);