make sure that rec-enable changes get to do their non-RT stuff before being queued...
[ardour.git] / libs / ardour / ardour / delivery.h
index cb2f37d1f085c536b7c2644ce0c4213755231404..80b8431737bdfd2046e2cf94f6d6b63ad5d418a0 100644 (file)
@@ -21,6 +21,7 @@
 
 #include <string>
 
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
 #include "ardour/chan_count.h"
 #include "ardour/io_processor.h"
@@ -34,7 +35,7 @@ class PannerShell;
 class Panner;
 class Pannable;
 
-class Delivery : public IOProcessor
+class LIBARDOUR_API Delivery : public IOProcessor
 {
 public:
        enum Role {
@@ -67,14 +68,14 @@ public:
        std::string display_name() const;
 
        Role role() const { return _role; }
-       bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const;
+       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, framepos_t start_frame, framepos_t end_frame, double speed, pframes_t nframes, bool);
 
        /* supplemental method used with MIDI */
 
-       void flush_buffers (framecnt_t nframes, framepos_t time);
+       void flush_buffers (framecnt_t nframes);
        void no_outs_cuz_we_no_monitor(bool);
        void transport_stopped (framepos_t frame);
        void realtime_locate ();
@@ -89,7 +90,7 @@ public:
        /* Panning */
 
        static int  disable_panners (void);
-       static int  reset_panners (void);
+       static void reset_panners ();
 
        boost::shared_ptr<PannerShell> panner_shell() const { return _panshell; }
        boost::shared_ptr<Panner> panner() const;
@@ -113,11 +114,11 @@ public:
   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<void> PannersLegal;
 
-       int panners_became_legal ();
+       void panners_became_legal ();
        PBD::ScopedConnection panner_legal_c;
        void output_changed (IOChange, void*);