summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorNick Mainsbridge <beatroute@iprimus.com.au>2006-05-21 13:21:25 +0000
committerNick Mainsbridge <beatroute@iprimus.com.au>2006-05-21 13:21:25 +0000
commit60f5fc321bbe91db05cfe680a24b5a87d6f640ef (patch)
tree4f47289bda55343c0433fda7eb1ee4aa425d4b6e /gtk2_ardour
parent479ee9cc008750074a10b94902e3dcc20f05de3a (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.cc54
-rw-r--r--gtk2_ardour/gain_meter.h2
-rw-r--r--gtk2_ardour/panner_ui.cc14
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