- sigc::signal<void> Changed;
- sigc::signal<void> LinkStateChanged;
- sigc::signal<void> StateChanged; /* for bypass */
-
- /* only StreamPanner should call these */
-
- void set_position (float x, StreamPanner& orig);
- void set_position (float x, float y, StreamPanner& orig);
- void set_position (float x, float y, float z, StreamPanner& orig);
-
- /* old school automation */
-
- int load ();
-
- struct PanControllable : public AutomationControl {
- PanControllable (Session& s, std::string name, Panner& p, Evoral::Parameter param)
- : AutomationControl (s, param,
- boost::shared_ptr<AutomationList>(new AutomationList(param)), name)
- , panner (p)
- { assert(param.type() != NullAutomation); }
-
- AutomationList* alist() { return (AutomationList*)_list.get(); }
- Panner& panner;
-
- void set_value (float);
- float get_value (void) const;
- };
-
- boost::shared_ptr<AutomationControl> pan_control (int id, int chan=0) {
- return automation_control(Evoral::Parameter (PanAutomation, chan, id));