diff options
author | Nick Mainsbridge <beatroute@iprimus.com.au> | 2006-05-21 13:21:25 +0000 |
---|---|---|
committer | Nick Mainsbridge <beatroute@iprimus.com.au> | 2006-05-21 13:21:25 +0000 |
commit | 60f5fc321bbe91db05cfe680a24b5a87d6f640ef (patch) | |
tree | 4f47289bda55343c0433fda7eb1ee4aa425d4b6e /gtk2_ardour | |
parent | 479ee9cc008750074a10b94902e3dcc20f05de3a (diff) |
This should fix the options editor crasher i just made.. thanks Nostar
git-svn-id: svn://localhost/trunk/ardour2@520 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/gain_meter.cc | 54 | ||||
-rw-r--r-- | gtk2_ardour/gain_meter.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/panner_ui.cc | 14 |
3 files changed, 36 insertions, 34 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index 2357739396..7d54cfa99c 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -147,35 +147,39 @@ GainMeter::GainMeter (IO& io, Session& s) gain_automation_state_button.set_size_request(10, -1); gain_automation_style_button.set_size_request(10, -1); - using namespace Menu_Helpers; + fader_vbox = manage (new Gtk::VBox()); + fader_vbox->set_spacing (0); + fader_vbox->pack_start (*gain_slider, false, false, 0); + + Route* r; + + if ((r = dynamic_cast<Route*> (&_io)) != 0) { + using namespace Menu_Helpers; - gain_astate_menu.items().push_back (MenuElem (_("Manual"), - bind (mem_fun (dynamic_cast<Route*>(&_io), &IO::set_gain_automation_state), (AutoState) Off))); - gain_astate_menu.items().push_back (MenuElem (_("Play"), - bind (mem_fun (dynamic_cast<Route*>(&_io), &IO::set_gain_automation_state), (AutoState) Play))); - gain_astate_menu.items().push_back (MenuElem (_("Write"), - bind (mem_fun (dynamic_cast<Route*>(&_io), &IO::set_gain_automation_state), (AutoState) Write))); - gain_astate_menu.items().push_back (MenuElem (_("Touch"), - bind (mem_fun (dynamic_cast<Route*>(&_io), &IO::set_gain_automation_state), (AutoState) Touch))); + gain_astate_menu.items().push_back (MenuElem (_("Manual"), + bind (mem_fun (&_io, &IO::set_gain_automation_state), (AutoState) Off))); + gain_astate_menu.items().push_back (MenuElem (_("Play"), + bind (mem_fun (&_io, &IO::set_gain_automation_state), (AutoState) Play))); + gain_astate_menu.items().push_back (MenuElem (_("Write"), + bind (mem_fun (&_io, &IO::set_gain_automation_state), (AutoState) Write))); + gain_astate_menu.items().push_back (MenuElem (_("Touch"), + bind (mem_fun (&_io, &IO::set_gain_automation_state), (AutoState) Touch))); - gain_astyle_menu.items().push_back (MenuElem (_("Trim"))); - gain_astyle_menu.items().push_back (MenuElem (_("Abs"))); - - Route* _route = dynamic_cast<Route*>(&_io); + gain_astyle_menu.items().push_back (MenuElem (_("Trim"))); + gain_astyle_menu.items().push_back (MenuElem (_("Abs"))); - gain_astate_menu.set_name ("ArdourContextMenu"); - gain_astyle_menu.set_name ("ArdourContextMenu"); - - gain_automation_style_button.signal_button_press_event().connect (mem_fun(*this, &GainMeter::gain_automation_style_button_event), false); - gain_automation_state_button.signal_button_press_event().connect (mem_fun(*this, &GainMeter::gain_automation_state_button_event), false); + gain_astate_menu.set_name ("ArdourContextMenu"); + gain_astyle_menu.set_name ("ArdourContextMenu"); - _route->gain_automation_curve().automation_state_changed.connect (mem_fun(*this, &GainMeter::gain_automation_state_changed)); - _route->gain_automation_curve().automation_style_changed.connect (mem_fun(*this, &GainMeter::gain_automation_style_changed)); + gain_automation_style_button.signal_button_press_event().connect (mem_fun(*this, &GainMeter::gain_automation_style_button_event), false); + gain_automation_state_button.signal_button_press_event().connect (mem_fun(*this, &GainMeter::gain_automation_state_button_event), false); + + r->gain_automation_curve().automation_state_changed.connect (mem_fun(*this, &GainMeter::gain_automation_state_changed)); + r->gain_automation_curve().automation_style_changed.connect (mem_fun(*this, &GainMeter::gain_automation_style_changed)); + fader_vbox->pack_start (gain_automation_state_button, false, false, 0); - fader_vbox = manage (new Gtk::VBox()); - fader_vbox->set_spacing (0); - fader_vbox->pack_start (*gain_slider, false, false, 0); - fader_vbox->pack_start (gain_automation_state_button, false, false, 0); + gain_automation_state_changed (); + } hbox.set_spacing (0); hbox.pack_start (*fader_vbox, false, false, 2); @@ -193,8 +197,6 @@ GainMeter::GainMeter (IO& io, Session& s) peak_display.signal_button_release_event().connect (mem_fun(*this, &GainMeter::peak_button_release)); _session.MeterHoldChanged.connect (mem_fun(*this, &GainMeter::meter_hold_changed)); - - gain_automation_state_changed (); gain_changed (0); update_gain_sensitive (); diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h index 5113407de5..ddf93b579f 100644 --- a/gtk2_ardour/gain_meter.h +++ b/gtk2_ardour/gain_meter.h @@ -142,7 +142,7 @@ class GainMeter : public Gtk::VBox vector<MeterInfo> meters; float max_peak; -Gtk::VBox* fader_vbox; + Gtk::VBox* fader_vbox; Gtk::HBox hbox; Gtk::HBox meter_packer; diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index 6c10137548..e799083e13 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -103,13 +103,6 @@ PannerUI::PannerUI (IO& io, Session& s) pan_automation_style_button.signal_button_press_event().connect (mem_fun(*this, &PannerUI::pan_automation_style_button_event), false); pan_automation_state_button.signal_button_press_event().connect (mem_fun(*this, &PannerUI::pan_automation_state_button_event), false); - Gtk::HBox* pan_button_hbox = manage (new Gtk::HBox()); - - panning_link_box.pack_start (panning_link_button, true, true); - panning_link_box.pack_start (panning_link_direction_button, true, true); - pan_button_hbox->pack_start (panning_link_box, true, true); - pan_button_hbox->pack_start (pan_automation_state_button, true, true); - panning_link_button.set_name (X_("PanningLinkButton")); panning_link_direction_button.set_name (X_("PanningLinkDirectionButton")); @@ -117,6 +110,13 @@ PannerUI::PannerUI (IO& io, Session& s) we need a pixmap in the button just to get started. */ + Gtk::HBox* pan_button_hbox = manage (new Gtk::HBox()); + + panning_link_box.pack_start (panning_link_button, true, true); + panning_link_box.pack_start (panning_link_direction_button, true, true); + pan_button_hbox->pack_start (panning_link_box, true, true); + pan_button_hbox->pack_start (pan_automation_state_button, true, true); + panning_link_direction_button.add (*(manage (new Image (get_xpm("forwardblarrow.xpm"))))); panning_link_direction_button.signal_clicked().connect |