From b37ec38d867038c6eeac40d75d64206431bcd5e5 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 8 Jul 2016 11:43:34 -0400 Subject: [PATCH] change VCA number to signed. Allows for more robust out-of-band (negative) value --- libs/ardour/ardour/vca.h | 14 +++++++------- libs/ardour/vca.cc | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/libs/ardour/ardour/vca.h b/libs/ardour/ardour/vca.h index de0117ae8c..710447fb93 100644 --- a/libs/ardour/ardour/vca.h +++ b/libs/ardour/ardour/vca.h @@ -52,10 +52,10 @@ class LIBARDOUR_API VCA : public Stripable, public Monitorable, public boost::enable_shared_from_this { public: - VCA (Session& session, uint32_t num, const std::string& name); + VCA (Session& session, int32_t num, const std::string& name); ~VCA(); - uint32_t number () const { return _number; } + int32_t number () const { return _number; } int init (); XMLNode& get_state(); @@ -94,12 +94,12 @@ class LIBARDOUR_API VCA : public Stripable, MonitorState monitoring_state() const; static std::string default_name_template (); - static uint32_t next_vca_number (); + static int32_t next_vca_number (); static std::string xml_node_name; /* used by Session to save/restore the atomic counter */ - static uint32_t get_next_vca_number (); - static void set_next_vca_number (uint32_t); + static int32_t get_next_vca_number (); + static void set_next_vca_number (int32_t); boost::shared_ptr gain_control() const { return _gain_control; } boost::shared_ptr solo_control() const { return _solo_control; } @@ -142,14 +142,14 @@ class LIBARDOUR_API VCA : public Stripable, boost::shared_ptr monitoring_control() const { return boost::shared_ptr(); } private: - uint32_t _number; + int32_t _number; boost::shared_ptr _gain_control; boost::shared_ptr _solo_control; boost::shared_ptr _mute_control; - static uint32_t next_number; + static int32_t next_number; static Glib::Threads::Mutex number_lock; void solo_target_going_away (boost::weak_ptr); diff --git a/libs/ardour/vca.cc b/libs/ardour/vca.cc index 36ed09cf25..abc74fbdc6 100644 --- a/libs/ardour/vca.cc +++ b/libs/ardour/vca.cc @@ -34,7 +34,7 @@ using namespace PBD; using std::string; Glib::Threads::Mutex VCA::number_lock; -uint32_t VCA::next_number = 1; +int32_t VCA::next_number = 1; string VCA::xml_node_name (X_("VCA")); string @@ -43,7 +43,7 @@ VCA::default_name_template () return _("VCA %n"); } -uint32_t +int32_t VCA::next_vca_number () { /* we could use atomic inc here, but elsewhere we need more complete @@ -54,20 +54,20 @@ VCA::next_vca_number () } void -VCA::set_next_vca_number (uint32_t n) +VCA::set_next_vca_number (int32_t n) { Glib::Threads::Mutex::Lock lm (number_lock); next_number = n; } -uint32_t +int32_t VCA::get_next_vca_number () { Glib::Threads::Mutex::Lock lm (number_lock); return next_number; } -VCA::VCA (Session& s, uint32_t num, const string& name) +VCA::VCA (Session& s, int32_t num, const string& name) : Stripable (s, name, PresentationInfo (num, PresentationInfo::VCA)) , Muteable (s, name) , Automatable (s) -- 2.30.2