diff options
author | Carl Hetherington <carl@carlh.net> | 2010-05-17 23:28:13 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-05-17 23:28:13 +0000 |
commit | f35dc8b35da3dc11cbb1076193657f8335722041 (patch) | |
tree | c816fe23d59070e08821dc5e577b6e750af07bb1 /libs/ardour/ardour | |
parent | 6d9c1201cc6c9adf866fb7769037c79decf2e5b0 (diff) |
Remove muting behaviour from the Amp processor. Fix some small
bugs with delivery muting. The upshot being that muting now definitely
happens in a channel's deliveries, and not really in the channel strip
at all. When the channel is muted, those deliveries described by
the MuteMaster settings are muted. Should fix #3141.
git-svn-id: svn://localhost/ardour2/branches/3.0@7115 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/amp.h | 4 | ||||
-rw-r--r-- | libs/ardour/ardour/mute_master.h | 9 | ||||
-rw-r--r-- | libs/ardour/ardour/processor.h | 5 | ||||
-rw-r--r-- | libs/ardour/ardour/route.h | 5 |
4 files changed, 13 insertions, 10 deletions
diff --git a/libs/ardour/ardour/amp.h b/libs/ardour/ardour/amp.h index 4db2292653..c1f6172de1 100644 --- a/libs/ardour/ardour/amp.h +++ b/libs/ardour/ardour/amp.h @@ -28,14 +28,13 @@ namespace ARDOUR { class BufferSet; class IO; -class MuteMaster; /** Applies a declick operation to all audio inputs, passing the same number of * audio outputs, and passing through any other types unchanged. */ class Amp : public Processor { public: - Amp(Session& s, boost::shared_ptr<MuteMaster> m); + Amp(Session& s); std::string display_name() const; @@ -101,7 +100,6 @@ private: float _current_gain; boost::shared_ptr<GainControl> _gain_control; - boost::shared_ptr<MuteMaster> _mute_master; }; diff --git a/libs/ardour/ardour/mute_master.h b/libs/ardour/ardour/mute_master.h index 2a90a0284e..c219ce3ec3 100644 --- a/libs/ardour/ardour/mute_master.h +++ b/libs/ardour/ardour/mute_master.h @@ -34,11 +34,12 @@ class Session; class MuteMaster : public SessionHandleRef, public PBD::Stateful { public: + /** deliveries to mute when the channel is "muted" */ enum MutePoint { - PreFader = 0x1, - PostFader = 0x2, - Listen = 0x4, - Main = 0x8 + PreFader = 0x1, ///< mute all pre-fader sends + PostFader = 0x2, ///< mute all post-fader sends + Listen = 0x4, ///< mute listen out + Main = 0x8 ///< mute main out }; static const MutePoint AllPoints; diff --git a/libs/ardour/ardour/processor.h b/libs/ardour/ardour/processor.h index 4e13338ac1..ea468f92be 100644 --- a/libs/ardour/ardour/processor.h +++ b/libs/ardour/ardour/processor.h @@ -97,6 +97,8 @@ class Processor : public SessionObject, public AutomatableControls, public Laten void *get_gui () const { return _gui; } void set_gui (void *p) { _gui = p; } + void set_pre_fader (bool); + PBD::Signal0<void> ActiveChanged; PBD::Signal2<void,ChanCount,ChanCount> ConfigurationChanged; @@ -108,7 +110,8 @@ protected: ChanCount _configured_input; ChanCount _configured_output; void* _gui; /* generic, we don't know or care what this is */ - bool _display_to_user; + bool _display_to_user; + bool _pre_fader; private: int set_state_2X (const XMLNode&, int version); diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index e371059a74..44ee04781a 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -123,7 +123,7 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou void inc_gain (gain_t delta, void *src); void set_mute_points (MuteMaster::MutePoint); - MuteMaster::MutePoint mute_points() const { return _mute_points; } + MuteMaster::MutePoint mute_points () const; bool muted () const; void set_mute (bool yn, void* src); @@ -423,7 +423,6 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou boost::shared_ptr<SoloControllable> _solo_control; boost::shared_ptr<MuteControllable> _mute_control; boost::shared_ptr<MuteMaster> _mute_master; - MuteMaster::MutePoint _mute_points; std::string _comment; bool _have_internal_generator; @@ -477,6 +476,8 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou void set_self_solo (bool yn); void set_mute_master_solo (); + + void set_processor_positions (); }; } // namespace ARDOUR |