add DeviceChanged signal to MCP and make surface lock mutable for use in const methods.
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 9 Oct 2015 01:54:40 +0000 (21:54 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 9 Oct 2015 01:55:38 +0000 (21:55 -0400)
Also add nth_surface() API to MackieControlProtocol

libs/surfaces/mackie/mackie_control_protocol.h

index 70b8f35ad2d2d1ef5338f7f88af16c0a95c42276..9b85c278b3c00518a31ab9466297ee562a7323cf 100644 (file)
@@ -115,7 +115,7 @@ class MackieControlProtocol
                PlugIn,
                EQ,
                Instrument,
-       };
+       };
 
        enum FlipMode {
                Normal, /* fader controls primary, vpot controls secondary */
@@ -132,6 +132,8 @@ class MackieControlProtocol
        const Mackie::DeviceInfo& device_info() const { return _device_info; }
        Mackie::DeviceProfile& device_profile() { return _device_profile; }
 
+       PBD::Signal0<void> DeviceChanged;
+
         void device_ready ();
 
        int set_active (bool yn);
@@ -158,10 +160,12 @@ class MackieControlProtocol
 
        static bool probe();
 
-        Glib::Threads::Mutex surfaces_lock;
+       mutable Glib::Threads::Mutex surfaces_lock;
        typedef std::list<boost::shared_ptr<Mackie::Surface> > Surfaces;
        Surfaces surfaces;
 
+       boost::shared_ptr<Mackie::Surface> nth_surface (uint32_t) const;
+
        std::list<boost::shared_ptr<ARDOUR::Bundle> > bundles ();
 
        void set_master_on_surface_strip (uint32_t surface, uint32_t strip);