- Session& _session;
- Panner* _panner;
- gain_t _gain;
- gain_t _effective_gain;
- gain_t _desired_gain;
- Glib::Mutex declick_lock;
- vector<Port*> _outputs;
- vector<Port*> _inputs;
- vector<float> _peak_power;
- vector<float> _visible_peak_power;
- string _name;
- Connection* _input_connection;
- Connection* _output_connection;
- bool no_panner_reset;
- XMLNode* deferred_state;
- DataType _default_type;
- bool _ignore_gain_on_deliver;
-
-
- virtual void set_deferred_state() {}
-
- void reset_peak_meters();
- void reset_panner ();
-
- virtual uint32_t pans_required() const { return _ninputs; }
-
- static void apply_declick (vector<Sample*>&, uint32_t nbufs, nframes_t nframes,
- gain_t initial, gain_t target, bool invert_polarity);
-
- struct GainControllable : public PBD::Controllable {
- GainControllable (std::string name, IO& i) : Controllable (name), io (i) {}
-
- void set_value (float val);
- float get_value (void) const;
-
- IO& io;
- };
-
- GainControllable _gain_control;
-
- nframes_t last_automation_snapshot;
- static nframes_t _automation_interval;
-
- AutoState _gain_automation_state;
- AutoStyle _gain_automation_style;
-
- bool apply_gain_automation;
- Curve _gain_automation_curve;
-
- Glib::Mutex automation_lock;
-
- virtual int set_automation_state (const XMLNode&);
- virtual XMLNode& get_automation_state ();
- virtual int load_automation (std::string path);
-
- /* AudioTrack::deprecated_use_diskstream_connections() needs these */
-
- int set_inputs (const string& str);
- int set_outputs (const string& str);
-
- static bool connecting_legal;
- static bool ports_legal;