Fixes to bundle manager to make it vaguely usable.
[ardour.git] / libs / ardour / ardour / port_insert.h
index 5d9cd583cbd5cae7b2852bcdf3a9c31d7b428434..72f02ff9c746de036923f8dd01de3092104ff995 100644 (file)
@@ -26,8 +26,7 @@
 
 #include <sigc++/signal.h>
 #include <ardour/ardour.h>
-#include <ardour/redirect.h>
-#include <ardour/plugin_state.h>
+#include <ardour/io_processor.h>
 #include <ardour/types.h>
 
 class XMLNode;
@@ -37,10 +36,8 @@ namespace ARDOUR {
 class Session;
 
 /** Port inserts: send output to a Jack port, pick up input at a Jack port
- *
- * PortInsert IS-A Redirect IS-A Insert, IO
  */
-class PortInsert : public Redirect
+class PortInsert : public IOProcessor
 {
   public:
        PortInsert (Session&, Placement);
@@ -54,16 +51,15 @@ class PortInsert : public Redirect
 
        void init ();
        
-       void run (BufferSet& bufs, nframes_t start_frame, nframes_t end_frame, nframes_t nframes, nframes_t offset);
+       void run_in_place (BufferSet& bufs, nframes_t start_frame, nframes_t end_frame, nframes_t nframes, nframes_t offset);
 
-       nframes_t latency();
+       nframes_t signal_latency() const;
        
        ChanCount output_streams() const;
        ChanCount input_streams() const;
 
-       virtual bool      can_support_input_configuration (ChanCount in) const;
-       virtual ChanCount output_for_input_configuration (ChanCount in) const;
-       virtual bool      configure_io (ChanCount in, ChanCount out);
+       bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const { return true; }
+       bool configure_io (ChanCount in, ChanCount out);
 
        uint32_t bit_slot() const { return bitslot; }