X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fdelivery.h;h=63d423b8fb6320165f51a8b43909a71eaa1b85e1;hb=f27ca29d6c7e294a71c46d2e3390331aa72ad1d0;hp=e19eef719fca280f7e2b0d5d75306ce244eee7b8;hpb=36c233fe6ce570ce85224626ce7aba4a2607537f;p=ardour.git diff --git a/libs/ardour/ardour/delivery.h b/libs/ardour/ardour/delivery.h index e19eef719f..63d423b8fb 100644 --- a/libs/ardour/ardour/delivery.h +++ b/libs/ardour/ardour/delivery.h @@ -48,7 +48,9 @@ public: /* listen - internal send used only to deliver to control/monitor bus */ Listen = 0x8, /* aux - internal send used to deliver to any bus, by user request */ - Aux = 0x10 + Aux = 0x10, + /* foldback - internal send used only to deliver to a personal monitor bus */ + Foldback = 0x20 }; static bool role_requires_output_ports (Role r) { return r == Main || r == Send || r == Insert; } @@ -71,20 +73,19 @@ public: bool can_support_io_configuration (const ChanCount& in, ChanCount& out); bool configure_io (ChanCount in, ChanCount out); - void run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, bool); + void run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes, bool); /* supplemental method used with MIDI */ - void flush_buffers (framecnt_t nframes); + void flush_buffers (samplecnt_t nframes); void no_outs_cuz_we_no_monitor(bool); - void transport_stopped (framepos_t frame); + void non_realtime_transport_stop (samplepos_t now, bool flush); void realtime_locate (); BufferSet& output_buffers() { return *_output_buffers; } PBD::Signal0 MuteChange; - XMLNode& state (bool full); int set_state (const XMLNode&, int version); /* Panning */ @@ -103,7 +104,9 @@ public: uint32_t pans_required() const { return _configured_input.n_audio(); } virtual uint32_t pan_outs() const; - protected: +protected: + XMLNode& state (); + Role _role; BufferSet* _output_buffers; gain_t _current_gain; @@ -111,10 +114,10 @@ public: gain_t target_gain (); - private: +private: bool _no_outs_cuz_we_no_monitor; boost::shared_ptr _mute_master; - + static bool panners_legal; static PBD::Signal0 PannersLegal;