diff options
author | Robin Gareus <robin@gareus.org> | 2014-01-13 15:13:37 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-01-13 15:13:37 +0100 |
commit | 291618fe7116424448da5f7029e567d655526521 (patch) | |
tree | e8399ce25f46634a7a75670e8c97ac3747f99002 /gtk2_ardour/send_ui.cc | |
parent | 9c595f8131967541808ae77bae842bd905db9caa (diff) |
allow to custom select panner-type for each delivery.
Diffstat (limited to 'gtk2_ardour/send_ui.cc')
-rw-r--r-- | gtk2_ardour/send_ui.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gtk2_ardour/send_ui.cc b/gtk2_ardour/send_ui.cc index 90ee52b3ad..cdd8673da9 100644 --- a/gtk2_ardour/send_ui.cc +++ b/gtk2_ardour/send_ui.cc @@ -20,6 +20,7 @@ #include <gtkmm2ext/doi.h> #include "ardour/io.h" +#include "ardour/panner_manager.h" #include "ardour/send.h" #include "ardour/rc_configuration.h" @@ -70,7 +71,11 @@ SendUI::SendUI (Gtk::Window* parent, boost::shared_ptr<Send> s, Session* session _send->output()->changed.connect (connections, invalidator (*this), boost::bind (&SendUI::outs_changed, this, _1, _2), gui_context()); + uint32_t const in = _send->pans_required(); + uint32_t const out = _send->pan_outs(); + _panners.set_width (Wide); + _panners.set_available_panners(PannerManager::instance().PannerManager::get_available_panners(in, out)); _panners.setup_pan (); _gpm.setup_meters (); @@ -97,7 +102,14 @@ SendUI::outs_changed (IOChange change, void* /*ignored*/) { ENSURE_GUI_THREAD (*this, &SendUI::outs_changed, change, ignored) if (change.type & IOChange::ConfigurationChanged) { + uint32_t const in = _send->pans_required(); + uint32_t const out = _send->pan_outs(); + if (_panners._panner == 0) { + _panners.set_panner (_send->panner_shell(), _send->panner()); + } + _panners.set_available_panners(PannerManager::instance().PannerManager::get_available_panners(in, out)); _panners.setup_pan (); + _panners.show_all (); _gpm.setup_meters (); } } |