diff options
-rw-r--r-- | gtk2_ardour/panner_ui.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/send_ui.cc | 46 | ||||
-rw-r--r-- | gtk2_ardour/send_ui.h | 3 |
3 files changed, 27 insertions, 24 deletions
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index 65cae757e6..79aba88397 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -220,6 +220,8 @@ PannerUI::setup_pan () int const nouts = _panner ? _panner->out().n_audio() : -1; int const nins = _panner ? _panner->in().n_audio() : -1; + assert (_panshell); + if (nouts == _current_nouts && nins == _current_nins && _current_uri == _panshell->panner_gui_uri() diff --git a/gtk2_ardour/send_ui.cc b/gtk2_ardour/send_ui.cc index 113ca51014..5270692897 100644 --- a/gtk2_ardour/send_ui.cc +++ b/gtk2_ardour/send_ui.cc @@ -45,39 +45,41 @@ SendUI::SendUI (Gtk::Window* parent, boost::shared_ptr<Send> s, Session* session { assert (_send); + 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.set_panner (s->panner_shell (), s->panner ()); + + _send->set_metering (true); + _send->output ()->changed.connect (connections, invalidator (*this), boost::bind (&SendUI::outs_changed, this, _1, _2), gui_context ()); + + _gpm.setup_meters (); + _gpm.set_fader_name (X_("SendUIFader")); + _gpm.set_controls (boost::shared_ptr<Route> (), s->meter (), s->amp (), s->gain_control ()); + + _io = Gtk::manage (new IOSelector (parent, session, s->output ())); + + set_name (X_("SendUIFrame")); + + _hbox.pack_start (_gpm, true, true); + + _vbox.set_spacing (5); + _vbox.set_border_width (5); _vbox.pack_start (_hbox, false, false, false); _vbox.pack_start (_panners, false, false); - io = Gtk::manage (new IOSelector (parent, session, s->output())); - pack_start (_vbox, false, false); + pack_start (*_io, true, true); - pack_start (*io, true, true); - - io->show (); + _io->show (); _gpm.show_all (); _panners.show_all (); _vbox.show (); _hbox.show (); - _send->set_metering (true); - - _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 (); - _gpm.set_fader_name (X_("SendUIFader")); - - // screen_update_connection = Timers::rapid_connect ( - // sigc::mem_fun (*this, &SendUI::update)); fast_screen_update_connection = Timers::super_rapid_connect ( - sigc::mem_fun (*this, &SendUI::fast_update)); + sigc::mem_fun (*this, &SendUI::fast_update)); } SendUI::~SendUI () diff --git a/gtk2_ardour/send_ui.h b/gtk2_ardour/send_ui.h index 9e07f96931..f760702d11 100644 --- a/gtk2_ardour/send_ui.h +++ b/gtk2_ardour/send_ui.h @@ -42,8 +42,6 @@ class SendUI : public Gtk::HBox void update (); void fast_update (); - IOSelector* io; - boost::shared_ptr<ARDOUR::Send>& send() { return _send; } private: @@ -52,6 +50,7 @@ class SendUI : public Gtk::HBox PannerUI _panners; Gtk::VBox _vbox; Gtk::VBox _hbox; + IOSelector* _io; sigc::connection screen_update_connection; sigc::connection fast_screen_update_connection; |