diff options
-rw-r--r-- | libs/ardour/amp.cc | 10 | ||||
-rw-r--r-- | libs/ardour/ardour/amp.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/delivery.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/processor.h | 2 | ||||
-rw-r--r-- | libs/ardour/delivery.cc | 19 | ||||
-rw-r--r-- | libs/ardour/meter.cc | 4 |
6 files changed, 38 insertions, 1 deletions
diff --git a/libs/ardour/amp.cc b/libs/ardour/amp.cc index d6c6f00ee5..34ea20addf 100644 --- a/libs/ardour/amp.cc +++ b/libs/ardour/amp.cc @@ -47,6 +47,12 @@ Amp::Amp(Session& s, boost::shared_ptr<MuteMaster> mm) add_control(_gain_control); } +std::string +Amp::display_name() const +{ + return _("Fader"); +} + bool Amp::can_support_io_configuration (const ChanCount& in, ChanCount& out) const { @@ -69,6 +75,10 @@ Amp::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t { gain_t mute_gain; + if (!_active) { + return; + } + if (_mute_master) { mute_gain = _mute_master->mute_gain_at (MuteMaster::PreFader); } else { diff --git a/libs/ardour/ardour/amp.h b/libs/ardour/ardour/amp.h index ad67751bf6..822d7a2d6d 100644 --- a/libs/ardour/ardour/amp.h +++ b/libs/ardour/ardour/amp.h @@ -37,6 +37,8 @@ class Amp : public Processor { public: Amp(Session& s, boost::shared_ptr<MuteMaster> m); + std::string display_name() const; + bool visible () const { return false; } bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const; diff --git a/libs/ardour/ardour/delivery.h b/libs/ardour/ardour/delivery.h index 7f1d964264..1d01acad5f 100644 --- a/libs/ardour/ardour/delivery.h +++ b/libs/ardour/ardour/delivery.h @@ -51,6 +51,8 @@ public: Delivery (Session&, boost::shared_ptr<MuteMaster> mm, const XMLNode&); bool set_name (const std::string& name); + std::string display_name() const; + bool visible() const; Role role() const { return _role; } bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const; diff --git a/libs/ardour/ardour/processor.h b/libs/ardour/ardour/processor.h index 248f485c4f..d49c3a206b 100644 --- a/libs/ardour/ardour/processor.h +++ b/libs/ardour/ardour/processor.h @@ -53,6 +53,8 @@ class Processor : public SessionObject, public AutomatableControls, public Laten Processor(Session&, const XMLNode& node); virtual ~Processor() { } + + virtual std::string display_name() const { return SessionObject::name(); } virtual bool visible() const { return true; } virtual void set_visible (bool) {} diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc index f8bba4c8e7..1d86542100 100644 --- a/libs/ardour/delivery.cc +++ b/libs/ardour/delivery.cc @@ -145,6 +145,23 @@ Delivery::Delivery (Session& s, boost::shared_ptr<IO> out, boost::shared_ptr<Mut CycleStart.connect (mem_fun (*this, &Delivery::cycle_start)); } +std::string +Delivery::display_name () const +{ + switch (_role) { + case Main: + return _("main outs"); + break; + case Listen: + return _("listen"); + break; + case Send: + case Insert: + default: + return name(); + } +} + void Delivery::cycle_start (nframes_t nframes) { @@ -194,7 +211,7 @@ Delivery::configure_io (ChanCount in, ChanCount out) void Delivery::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes) { - if (_output->n_ports ().get (_output->default_type()) == 0) { + if (!_active || _output->n_ports ().get (_output->default_type()) == 0) { return; } diff --git a/libs/ardour/meter.cc b/libs/ardour/meter.cc index 50bd290754..7f05cf103d 100644 --- a/libs/ardour/meter.cc +++ b/libs/ardour/meter.cc @@ -73,6 +73,10 @@ Metering::update_meters() void PeakMeter::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes) { + if (!_active) { + return; + } + const uint32_t n_audio = min(_configured_input.n_audio(), bufs.count().n_audio()); const uint32_t n_midi = min(_configured_input.n_midi(), bufs.count().n_midi()); |