Move special-cased FP8 mute-state into libardour
[ardour.git] / libs / ardour / ardour / session.h
index 8088858917ec5f146673d232c7d34c31b245a39e..dfeb1d0834cb2cdc04b633c877fe1bf95a542530 100644 (file)
@@ -472,6 +472,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
        void set_auto_punch_location (Location *);
        void set_auto_loop_location (Location *);
        void set_session_extents (framepos_t start, framepos_t end);
+       bool end_is_free () const { return _session_range_end_is_free; }
        void set_end_is_free (bool);
        int location_name(std::string& result, std::string base = std::string(""));
 
@@ -835,6 +836,9 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
 
        /* session-wide solo/mute/rec-enable */
 
+       bool muted() const;
+       std::vector<boost::weak_ptr<AutomationControl> > cancel_all_mute ();
+
        bool soloing() const { return _non_soloed_outs_muted; }
        bool listening() const { return _listen_cnt > 0; }
        bool solo_isolated() const { return _solo_isolated_cnt > 0; }
@@ -853,6 +857,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
 
        PBD::Signal1<void,bool> SoloActive;
        PBD::Signal0<void> SoloChanged;
+       PBD::Signal0<void> MuteChanged;
        PBD::Signal0<void> IsolatedChanged;
        PBD::Signal0<void> MonitorChanged;
 
@@ -1442,7 +1447,6 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
        static const PostTransportWork ProcessCannotProceedMask =
                PostTransportWork (
                        PostTransportInputChange|
-                       PostTransportSpeed|
                        PostTransportReverse|
                        PostTransportCurveRealloc|
                        PostTransportAudition|
@@ -1896,6 +1900,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
        typedef std::list<Click*> Clicks;
        Clicks                  clicks;
        bool                   _clicking;
+       bool                   _click_rec_only;
        boost::shared_ptr<IO>  _click_io;
        boost::shared_ptr<Amp> _click_gain;
        Sample*                 click_data;