summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/send.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-17 14:01:09 +0200
committerRobin Gareus <robin@gareus.org>2016-04-17 14:01:09 +0200
commitbb090c0012340b637508e0930376b3d5afba5f5c (patch)
treed641fb6e6945f51ad39f112a37d4838e5b6d30f0 /libs/ardour/ardour/send.h
parent514765631b67080432faad5850528b720edab2b6 (diff)
add self-removing Sends (remove on disconnect)
The idea is to dynamically add/remove sends for feeding a sidechain and re-use all existing "External Send" infrastructure in particular latency compensation.
Diffstat (limited to 'libs/ardour/ardour/send.h')
-rw-r--r--libs/ardour/ardour/send.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/ardour/send.h b/libs/ardour/ardour/send.h
index 3b0e8a4309..967957d854 100644
--- a/libs/ardour/ardour/send.h
+++ b/libs/ardour/ardour/send.h
@@ -55,6 +55,10 @@ class LIBARDOUR_API Send : public Delivery
XMLNode& get_state ();
int set_state(const XMLNode&, int version);
+ PBD::Signal0<void> SelfDestruct;
+ void set_remove_on_disconnect (bool b) { _remove_on_disconnect = b; }
+ bool remove_on_disconnect () const { return _remove_on_disconnect; }
+
uint32_t pans_required() const { return _configured_input.n_audio(); }
void run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, bool);
@@ -89,6 +93,7 @@ class LIBARDOUR_API Send : public Delivery
/* disallow copy construction */
Send (const Send&);
void panshell_changed ();
+ void snd_output_changed (IOChange, void*);
int set_state_2X (XMLNode const &, int);
@@ -96,6 +101,7 @@ class LIBARDOUR_API Send : public Delivery
framecnt_t _delay_in;
framecnt_t _delay_out;
+ bool _remove_on_disconnect;
};
} // namespace ARDOUR