#include "pbd/controllable.h"
#include "pbd/stateful.h"
#include "ardour/types.h"
+#include "ardour/processor.h"
class OSCSelectObserver
{
public:
- OSCSelectObserver (boost::shared_ptr<ARDOUR::Stripable>, lo_address addr, uint32_t sid, uint32_t gainmode, std::bitset<32> feedback);
+ OSCSelectObserver (boost::shared_ptr<ARDOUR::Stripable>, lo_address addr, uint32_t gainmode, std::bitset<32> feedback);
~OSCSelectObserver ();
boost::shared_ptr<ARDOUR::Stripable> strip () const { return _strip; }
boost::shared_ptr<ARDOUR::Stripable> _strip;
PBD::ScopedConnectionList strip_connections;
+ // sends and eq need their own
+ PBD::ScopedConnectionList send_connections;
+ PBD::ScopedConnectionList eq_connections;
lo_address addr;
std::string path;
- uint32_t ssid;
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 send_change_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
- void send_monitor_status (boost::shared_ptr<PBD::Controllable> controllable);
- void send_gain_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
- void send_trim_message (std::string path, boost::shared_ptr<PBD::Controllable> controllable);
- std::string set_path (std::string path);
+ 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);
+ std::string set_path (std::string path, uint32_t id);
void clear_strip (std::string path, float val);
+ void clear_strip_with_id (std::string path, uint32_t id, float val);
};
#endif /* __osc_oscselectobserver_h__ */