Merge branch 'master' into cairocanvas
[ardour.git] / libs / ardour / ardour / port.h
index 6186ce7748bd7c2a660903b24b64db1d458c1d0b..5fb9a7efc3bd321213eb112914611fcc28dda76e 100644 (file)
@@ -31,6 +31,7 @@
 
 #include "ardour/data_type.h"
 #include "ardour/port_engine.h"
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
 
 namespace ARDOUR {
@@ -38,7 +39,7 @@ namespace ARDOUR {
 class AudioEngine;
 class Buffer;
 
-class Port : public boost::noncopyable
+class LIBARDOUR_API Port : public boost::noncopyable
 {
 public:
        virtual ~Port ();
@@ -97,13 +98,13 @@ public:
 
         PortEngine::PortHandle port_handle() { return _port_handle; }
 
-       void get_connected_latency_range (jack_latency_range_t& range, bool playback) const;
+        void get_connected_latency_range (LatencyRange& range, bool playback) const;
 
-       void set_private_latency_range (jack_latency_range_t& range, bool playback);
-       const jack_latency_range_t&  private_latency_range (bool playback) const;
+       void set_private_latency_range (LatencyRange& range, bool playback);
+       const LatencyRange&  private_latency_range (bool playback) const;
 
-       void set_public_latency_range (jack_latency_range_t& range, bool playback) const;
-       jack_latency_range_t public_latency_range (bool playback) const;
+       void set_public_latency_range (LatencyRange& range, bool playback) const;
+       LatencyRange public_latency_range (bool playback) const;
 
        virtual void reset ();
 
@@ -135,6 +136,11 @@ public:
 
        virtual void increment_port_buffer_offset (pframes_t n);
 
+       virtual XMLNode& get_state (void) const;
+       virtual int set_state (const XMLNode&, int version);
+
+        static std::string state_node_name;
+
 protected:
 
        Port (std::string const &, DataType, PortFlags);
@@ -147,8 +153,8 @@ protected:
 
        framecnt_t _port_buffer_offset; /* access only from process() tree */
 
-       jack_latency_range_t _private_playback_latency;
-       jack_latency_range_t _private_capture_latency;
+       LatencyRange _private_playback_latency;
+       LatencyRange _private_capture_latency;
 
 private:
        std::string _name;  ///< port short name