permit different sizes for audio playback & capture buffers
[ardour.git] / libs / ardour / ardour / jack_port.h
index 3fa0008e17ca664d9dee03c5e793c3628d5ece58..0bb0752d5590bbfcb3794b71479ec07f08da21b3 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2002 Paul Davis 
+    Copyright (C) 2002 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -20,9 +20,8 @@
 #ifndef __ardour_jack_port_h__
 #define __ardour_jack_port_h__
 
-#include <sigc++/signal.h>
-#include <pbd/failed_constructor.h>
-#include <ardour/port.h>
+#include "pbd/failed_constructor.h"
+#include "ardour/port.h"
 #include <jack/jack.h>
 
 namespace ARDOUR {
@@ -37,20 +36,23 @@ class JackPort : public virtual Port, public PortConnectableByName {
 
        ~JackPort();
 
-       std::string short_name() const { 
+       std::string short_name() const {
                return jack_port_short_name (_port);
        }
-       
+
        int set_name (const std::string& str);
-       
+
        bool connected () const {
                return jack_port_connected (_port);
        }
-       
+
        int reestablish ();
        int reconnect ();
 
        int connect (Port& other) {
+               if (_flags & IsOutput) {
+                       return 0;
+               }
                return connect (other.name());
        }
 
@@ -70,7 +72,7 @@ class JackPort : public virtual Port, public PortConnectableByName {
        }
 
        int get_connections (std::vector<std::string>& names) const;
-       
+
        bool monitoring_input () const {
                return jack_port_monitoring_input (_port);
        }
@@ -101,12 +103,12 @@ class JackPort : public virtual Port, public PortConnectableByName {
        JackPort (const std::string&, DataType type, Flags flags);
        jack_port_t*  _port;
 
-       int disconnect ();
+       int disconnect ();
        void recompute_total_latency() const;
 
        std::set<std::string> _named_connections;
 };
+
 } // namespace ARDOUR
 
 #endif /* __ardour_jack_port_h__ */