Remove C++11'ism
[ardour.git] / libs / ardour / ardour / return.h
index 6dcd6ac2fccde200b839a1dddece8f30d603b700..0dbf5eb1d38151f27a6efdf0abb86479902c3ff4 100644 (file)
@@ -32,9 +32,9 @@ namespace ARDOUR {
 
 class Amp;
 class PeakMeter;
+class GainControl;
 
-
-class Return : public IOProcessor
+class LIBARDOUR_API Return : public IOProcessor
 {
 public:
        Return (Session&, bool internal = false);
@@ -42,16 +42,15 @@ public:
 
        uint32_t bit_slot() const { return _bitslot; }
 
-       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);
 
        boost::shared_ptr<Amp> amp() const { return _amp; }
        boost::shared_ptr<PeakMeter> meter() const { return _meter; }
+       boost::shared_ptr<GainControl> gain_control() const { return _gain_control; }
 
        bool metering() const { return _metering; }
        void set_metering (bool yn) { _metering = yn; }
 
-       XMLNode& state(bool full);
-       XMLNode& get_state(void);
        int      set_state(const XMLNode&, int version);
 
        uint32_t pans_required() const { return _configured_input.n_audio(); }
@@ -62,8 +61,11 @@ public:
        static uint32_t how_many_returns();
        static std::string name_and_id_new_return (Session&, uint32_t&);
 
-  protected:
+protected:
+       XMLNode& state();
+
        bool _metering;
+       boost::shared_ptr<GainControl> _gain_control;
        boost::shared_ptr<Amp> _amp;
        boost::shared_ptr<PeakMeter> _meter;