#include "ardour/session_handle.h"
#include "ardour/types.h"
+#include "ardour/libardour_visibility.h"
namespace ARDOUR {
class VCA;
-class VCAManager : public SessionHandleRef, public PBD::StatefulDestructible
+class LIBARDOUR_API VCAManager : public SessionHandleRef, public PBD::StatefulDestructible
{
- public:
+public:
VCAManager (ARDOUR::Session&);
~VCAManager ();
- int create_vca (uint32_t n, std::string const & name = std::string());
+ int create_vca (uint32_t how_many, std::string const & name = std::string());
void remove_vca (boost::shared_ptr<VCA>);
- boost::shared_ptr<VCA> vca_by_number(uint32_t) const;
+ boost::shared_ptr<VCA> vca_by_number(int32_t) const;
+ boost::shared_ptr<VCA> vca_by_name (std::string const&) const;
VCAList vcas() const;
+ VCAList::size_type n_vcas() const { return _vcas.size(); }
PBD::Signal1<void,VCAList&> VCAAdded;
static std::string xml_node_name;
- private:
+private:
mutable Glib::Threads::Mutex lock;
VCAList _vcas;
bool _vcas_loaded;