void flush_buffers (framecnt_t nframes, framepos_t time);
void no_outs_cuz_we_no_monitor(bool);
- void cycle_start (pframes_t);
+ virtual void cycle_start (pframes_t);
void transport_stopped (framepos_t frame);
+ void realtime_locate ();
BufferSet& output_buffers() { return *_output_buffers; }
boost::shared_ptr<PannerShell> panner_shell() const { return _panshell; }
boost::shared_ptr<Panner> panner() const;
+ void unpan ();
void reset_panner ();
void defer_pan_reset ();
void allow_pan_reset ();
uint32_t pans_required() const { return _configured_input.n_audio(); }
+ virtual uint32_t pan_outs() const;
protected:
Role _role;
BufferSet* _output_buffers;
gain_t _current_gain;
- bool _no_outs_cuz_we_no_monitor;
- boost::shared_ptr<MuteMaster> _mute_master;
- bool no_panner_reset;
boost::shared_ptr<PannerShell> _panshell;
- framecnt_t scnt;
+ gain_t target_gain ();
+
+ private:
+ bool _no_outs_cuz_we_no_monitor;
+ boost::shared_ptr<MuteMaster> _mute_master;
+
static bool panners_legal;
- static PBD::Signal0<int> PannersLegal;
+ static PBD::Signal0<int> PannersLegal;
int panners_became_legal ();
PBD::ScopedConnection panner_legal_c;
void output_changed (IOChange, void*);
- gain_t target_gain ();
+ bool _no_panner_reset;
};