/* Delivery to an existing output */
Delivery (Session& s, boost::shared_ptr<IO> io, boost::shared_ptr<MuteMaster> mm, const std::string& name, Role);
- Delivery (Session& s, boost::shared_ptr<IO> io, boost::shared_ptr<MuteMaster> mm, const XMLNode&);
/* Delivery to a new output owned by this object */
Delivery (Session& s, boost::shared_ptr<MuteMaster> mm, const std::string& name, Role);
- Delivery (Session&, boost::shared_ptr<MuteMaster> mm, const XMLNode&);
~Delivery ();
bool set_name (const std::string& name);
bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const;
bool configure_io (ChanCount in, ChanCount out);
- void run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes, bool);
+ void run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, nframes_t nframes, bool);
/* supplemental method used with MIDI */
- void flush (nframes_t nframes, nframes64_t time);
- void transport_stopped ();
-
+ void flush_buffers (nframes_t nframes, framepos_t time);
void no_outs_cuz_we_no_monitor(bool);
-
- void set_solo_level (int32_t sl) { _solo_level = sl; }
- void set_solo_isolated (bool yn) { _solo_isolated = yn; }
-
void cycle_start (nframes_t);
void increment_output_offset (nframes_t);
- void transport_stopped (sframes_t frame);
+ void transport_stopped (framepos_t frame);
BufferSet& output_buffers() { return *_output_buffers; }
void allow_pan_reset ();
uint32_t pans_required() const { return _configured_input.n_audio(); }
- void start_pan_touch (uint32_t which);
- void end_pan_touch (uint32_t which);
+ void start_pan_touch (uint32_t which, double when);
+ void end_pan_touch (uint32_t which, bool mark, double when);
protected:
Role _role;
gain_t _current_gain;
nframes_t _output_offset;
bool _no_outs_cuz_we_no_monitor;
- uint32_t _solo_level;
- bool _solo_isolated;
boost::shared_ptr<MuteMaster> _mute_master;
bool no_panner_reset;
boost::shared_ptr<Panner> _panner;