summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-04-24 00:25:24 +0200
committerRobin Gareus <robin@gareus.org>2020-04-24 00:57:15 +0200
commit135814cf0db708421e784c10a4cf9bbba104e7e1 (patch)
treeabf5d295f032ba03918f0951f9fb4d901b346581 /libs
parent0719df9d21334ad1415b5e9712bb343b884233ea (diff)
Expose pan-link via Send API, emit signal on change
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/send.h4
-rw-r--r--libs/ardour/send.cc24
2 files changed, 28 insertions, 0 deletions
diff --git a/libs/ardour/ardour/send.h b/libs/ardour/ardour/send.h
index fe66053c02..1957c19a50 100644
--- a/libs/ardour/ardour/send.h
+++ b/libs/ardour/ardour/send.h
@@ -84,6 +84,10 @@ public:
void set_remove_on_disconnect (bool b) { _remove_on_disconnect = b; }
bool remove_on_disconnect () const { return _remove_on_disconnect; }
+ bool has_panner () const;
+ bool panner_linked_to_route () const;
+ void set_panner_linked_to_route (bool);
+
uint32_t pans_required() const { return _configured_input.n_audio(); }
void run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes, bool);
diff --git a/libs/ardour/send.cc b/libs/ardour/send.cc
index d96bc2db58..283e8d3259 100644
--- a/libs/ardour/send.cc
+++ b/libs/ardour/send.cc
@@ -434,6 +434,30 @@ Send::set_state_2X (const XMLNode& node, int /* version */)
}
bool
+Send::has_panner () const
+{
+ /* see InternalSend::run() and Delivery::run */
+ if (_panshell && role () != Listen && _panshell->panner()) {
+ return true; // !_panshell->bypassed ()
+ }
+ return false;
+}
+
+bool
+Send::panner_linked_to_route () const
+{
+ return _panshell ? _panshell->is_linked_to_route() : false;
+}
+
+void
+Send::set_panner_linked_to_route (bool onoff) {
+ if (_panshell) {
+ _panshell->set_linked_to_route (onoff);
+ PropertyChanged (PBD::PropertyChange ()); /* EMIT SIGNAL */
+ }
+}
+
+bool
Send::can_support_io_configuration (const ChanCount& in, ChanCount& out)
{
/* sends have no impact at all on the channel configuration of the