summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/amp.cc10
-rw-r--r--libs/ardour/ardour/amp.h2
-rw-r--r--libs/ardour/ardour/delivery.h2
-rw-r--r--libs/ardour/ardour/processor.h2
-rw-r--r--libs/ardour/delivery.cc19
-rw-r--r--libs/ardour/meter.cc4
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());