diff options
author | Robin Gareus <robin@gareus.org> | 2016-04-17 14:01:09 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-04-17 14:01:09 +0200 |
commit | bb090c0012340b637508e0930376b3d5afba5f5c (patch) | |
tree | d641fb6e6945f51ad39f112a37d4838e5b6d30f0 /libs/ardour/ardour/send.h | |
parent | 514765631b67080432faad5850528b720edab2b6 (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.h | 6 |
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 |