Fix broken whitespace. I'd apologize for the compile times if it was my fault :D
[ardour.git] / libs / ardour / ardour / delivery.h
index e1aa389df7dac724a2135c5a18495f502d47715a..0e55356928fc259f640b93d7859e8c58b082fea0 100644 (file)
@@ -30,7 +30,9 @@ namespace ARDOUR {
 class BufferSet;
 class IO;
 class MuteMaster;
+class PannerShell;
 class Panner;
+class Pannable;
 
 class Delivery : public IOProcessor
 {
@@ -52,11 +54,11 @@ public:
 
        /* 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<Pannable>, boost::shared_ptr<MuteMaster> mm, const std::string& name, Role);
 
        /* Delivery to a new output owned by this object */
 
-       Delivery (Session& s, boost::shared_ptr<MuteMaster> mm, const std::string& name, Role);
+       Delivery (Session& s, boost::shared_ptr<Pannable>, boost::shared_ptr<MuteMaster> mm, const std::string& name, Role);
        ~Delivery ();
 
        bool set_name (const std::string& name);
@@ -73,8 +75,8 @@ public:
        void flush_buffers (framecnt_t nframes, framepos_t time);
        void no_outs_cuz_we_no_monitor(bool);
        void cycle_start (pframes_t);
-       void increment_output_offset (framecnt_t);
        void transport_stopped (framepos_t frame);
+       void realtime_locate ();
 
        BufferSet& output_buffers() { return *_output_buffers; }
 
@@ -90,25 +92,24 @@ public:
        static int  disable_panners (void);
        static int  reset_panners (void);
 
-       boost::shared_ptr<Panner> panner() const { return _panner; }
+       boost::shared_ptr<PannerShell> panner_shell() const { return _panshell; }
+       boost::shared_ptr<Panner> panner() const;
 
        void reset_panner ();
        void defer_pan_reset ();
        void allow_pan_reset ();
 
        uint32_t pans_required() const { return _configured_input.n_audio(); }
-       void start_pan_touch (uint32_t which, double when);
-       void end_pan_touch (uint32_t which, bool mark, double when);
 
   protected:
        Role        _role;
        BufferSet*  _output_buffers;
        gain_t      _current_gain;
-       framecnt_t  _output_offset;
        bool        _no_outs_cuz_we_no_monitor;
        boost::shared_ptr<MuteMaster> _mute_master;
        bool         no_panner_reset;
-       boost::shared_ptr<Panner> _panner;
+       boost::shared_ptr<PannerShell> _panshell;
+       framecnt_t   scnt;
 
        static bool panners_legal;
        static PBD::Signal0<int>            PannersLegal;