summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-02-27 22:16:37 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:38 -0400
commit99d251de7d36d074f36ba5e8b549b0bf6a39016b (patch)
tree0c9a58ee02a8050bba676274c597e41d08276f62 /libs
parent3819d4f9eda7e7dc827f3c97a6e12c0385e4579b (diff)
first pass at making the GUI for a VCA visible
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/types.h3
-rw-r--r--libs/ardour/ardour/vca_manager.h5
-rw-r--r--libs/ardour/session.cc2
-rw-r--r--libs/ardour/vca_manager.cc10
4 files changed, 15 insertions, 5 deletions
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h
index 8c47666873..626109557f 100644
--- a/libs/ardour/ardour/types.h
+++ b/libs/ardour/ardour/types.h
@@ -52,6 +52,7 @@ namespace ARDOUR {
class AudioSource;
class Route;
class Region;
+ class VCA;
typedef float Sample;
typedef float pan_t;
@@ -565,6 +566,8 @@ namespace ARDOUR {
typedef std::list<boost::shared_ptr<Route> > RouteList;
typedef std::list<boost::weak_ptr <Route> > WeakRouteList;
+ typedef std::list<boost::shared_ptr<VCA> > VCAList;
+
class Bundle;
typedef std::vector<boost::shared_ptr<Bundle> > BundleList;
diff --git a/libs/ardour/ardour/vca_manager.h b/libs/ardour/ardour/vca_manager.h
index 14a044070a..54cc14b572 100644
--- a/libs/ardour/ardour/vca_manager.h
+++ b/libs/ardour/ardour/vca_manager.h
@@ -30,6 +30,7 @@
#include "pbd/signals.h"
#include "ardour/session_handle.h"
+#include "ardour/types.h"
namespace ARDOUR {
@@ -47,8 +48,8 @@ class VCAManager : public SessionHandleRef
typedef std::list<boost::shared_ptr<VCA> > VCAS;
VCAS vcas() const;
- PBD::Signal1<void,boost::shared_ptr<VCA> > VCAAdded;
- PBD::Signal1<void,boost::shared_ptr<VCA> > VCARemoved;
+ PBD::Signal1<void,VCAList&> VCAAdded;
+ PBD::Signal1<void,VCAList&> VCARemoved;
private:
mutable Glib::Threads::Mutex lock;
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index da370181ce..4ff42730ca 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -312,7 +312,7 @@ Session::Session (AudioEngine &eng,
, _scene_changer (0)
, _midi_ports (0)
, _mmc (0)
- , _vca_manager (0)
+ , _vca_manager (new VCAManager (*this))
{
uint32_t sr = 0;
diff --git a/libs/ardour/vca_manager.cc b/libs/ardour/vca_manager.cc
index 2350f4df61..c5164982c3 100644
--- a/libs/ardour/vca_manager.cc
+++ b/libs/ardour/vca_manager.cc
@@ -50,7 +50,10 @@ VCAManager::create_vca (std::string const & name)
_vcas.push_back (vca);
}
- VCAAdded (vca); /* EMIT SIGNAL */
+ VCAList vcal;
+ vcal.push_back (vca);
+
+ VCAAdded (vcal); /* EMIT SIGNAL */
return vca;
}
@@ -64,6 +67,9 @@ VCAManager::remove_vca (boost::shared_ptr<VCA> vca)
_vcas.remove (vca);
}
- VCARemoved (vca); /* EMIT SIGNAL */
+ VCAList vcal;
+ vcal.push_back (vca);
+
+ VCARemoved (vcal); /* EMIT SIGNAL */
}