summaryrefslogtreecommitdiff
path: root/libs/ardour/auto_bundle.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/auto_bundle.cc')
-rw-r--r--libs/ardour/auto_bundle.cc47
1 files changed, 47 insertions, 0 deletions
diff --git a/libs/ardour/auto_bundle.cc b/libs/ardour/auto_bundle.cc
new file mode 100644
index 0000000000..9da32bbb7a
--- /dev/null
+++ b/libs/ardour/auto_bundle.cc
@@ -0,0 +1,47 @@
+#include <cassert>
+#include "ardour/auto_bundle.h"
+
+ARDOUR::AutoBundle::AutoBundle (bool i)
+ : Bundle (i)
+{
+
+}
+
+ARDOUR::AutoBundle::AutoBundle (std::string const & n, bool i)
+ : Bundle (n, i)
+{
+
+}
+
+uint32_t
+ARDOUR::AutoBundle::nchannels () const
+{
+ Glib::Mutex::Lock lm (_ports_mutex);
+ return _ports.size ();
+}
+
+const ARDOUR::PortList&
+ARDOUR::AutoBundle::channel_ports (uint32_t c) const
+{
+ assert (c < nchannels());
+
+ Glib::Mutex::Lock lm (_ports_mutex);
+ return _ports[c];
+}
+
+void
+ARDOUR::AutoBundle::set_channels (uint32_t n)
+{
+ Glib::Mutex::Lock lm (_ports_mutex);
+ _ports.resize (n);
+}
+
+void
+ARDOUR::AutoBundle::set_port (uint32_t c, std::string const & p)
+{
+ assert (c < nchannels ());
+
+ Glib::Mutex::Lock lm (_ports_mutex);
+ _ports[c].resize (1);
+ _ports[c][0] = p;
+}