change VCA number to signed.
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 8 Jul 2016 15:43:34 +0000 (11:43 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 8 Jul 2016 15:46:01 +0000 (11:46 -0400)
Allows for more robust out-of-band (negative) value

libs/ardour/ardour/vca.h
libs/ardour/vca.cc

index de0117ae8c4c74c074a3ccaff0379a499ad07f8b..710447fb93839802231edc18945ad10da3af310a 100644 (file)
@@ -52,10 +52,10 @@ class LIBARDOUR_API VCA : public Stripable,
                           public Monitorable,
                           public boost::enable_shared_from_this<VCA> {
   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<GainControl> gain_control() const { return _gain_control; }
        boost::shared_ptr<SoloControl> solo_control() const { return _solo_control; }
@@ -142,14 +142,14 @@ class LIBARDOUR_API VCA : public Stripable,
        boost::shared_ptr<MonitorControl> monitoring_control() const { return boost::shared_ptr<MonitorControl>(); }
 
   private:
-       uint32_t _number;
+       int32_t _number;
 
        boost::shared_ptr<GainControl> _gain_control;
        boost::shared_ptr<SoloControl> _solo_control;
        boost::shared_ptr<MuteControl> _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<Route>);
index 36ed09cf258d088f8a8ecf8b5847163d2c70286d..abc74fbdc6b06985acbc66ff4f877dc573b5f1fa 100644 (file)
@@ -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)