Introduce global default-fade-shape configuration variable
[ardour.git] / libs / ardour / ardour / port_manager.h
index 6d45597a413e5f6155f72e9366eae0c8a0e09226..b36e98fe64504526426a5ef8aa179a668a257a5e 100644 (file)
 #include "ardour/chan_count.h"
 #include "ardour/midiport_manager.h"
 #include "ardour/port.h"
-#include "ardour/port_engine.h"
 
 namespace ARDOUR {
 
-class PortManager 
+class PortEngine;
+class AudioBackend;
+
+class LIBARDOUR_API PortManager 
 {
   public:
     typedef std::map<std::string,boost::shared_ptr<Port> > Ports;
@@ -47,8 +49,7 @@ class PortManager
     PortManager ();
     virtual ~PortManager() {}
 
-    void set_port_engine (PortEngine& pe);
-    PortEngine& port_engine() { return *_impl; }
+    PortEngine& port_engine();
 
     uint32_t port_name_size() const;
     std::string my_name() const;
@@ -134,7 +135,7 @@ class PortManager
     PBD::Signal5<void, boost::weak_ptr<Port>, std::string, boost::weak_ptr<Port>, std::string, bool> PortConnectedOrDisconnected;
 
   protected:
-    boost::shared_ptr<PortEngine> _impl;
+    boost::shared_ptr<AudioBackend> _backend;
     SerializedRCUManager<Ports> ports;
     bool _port_remove_in_progress;