Re-work Port construction slightly so that _flags is always initialised before reset...
[ardour.git] / libs / ardour / port.cc
index c5c03d0a05948255066a4dccda538db478324228..f65ce9906bda96eaa5b7c7319a183e6b721b85c7 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2002 Paul Davis 
+    Copyright (C) 2002-2006 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
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id$
 */
 
-#include "ardour/port.h"
+#include <ardour/port.h>
 
 using namespace ARDOUR;
 using namespace std;
 
-Port::Port (jack_port_t *p) 
-       : port (p)
+Port::Port (Flags flags)
+       : _flags (flags)
+       , _metering (0)
+       , _last_monitor (false)
 {
-       if (port == 0) {
-               throw failed_constructor();
-       }
-       
-       _flags = JackPortFlags (jack_port_flags (port));
-       _type  = jack_port_type (port); 
-       _name = jack_port_name (port);
-
-       reset ();
 }
 
 void
 Port::reset ()
 {
-       reset_buffer ();
-       
-       last_monitor = false;
-       silent = false;
-       metering = 0;
-       
-       reset_meters ();
-}
-
-int 
-Port::set_name (string str)
-{
-       int ret;
-
-       if ((ret = jack_port_set_name (port, str.c_str())) == 0) {
-               _name = str;
-       }
-       
-       return ret;
+       _last_monitor = false;
 }
-
-