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
This commit is contained in:
Nick Mainsbridge 2006-05-21 13:21:25 +00:00
parent 479ee9cc00
commit 60f5fc321b
3 changed files with 38 additions and 36 deletions

View File

@ -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;
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_astyle_menu.items().push_back (MenuElem (_("Trim")));
gain_astyle_menu.items().push_back (MenuElem (_("Abs")));
Route* _route = dynamic_cast<Route*>(&_io);
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);
_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));
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);
Route* r;
if ((r = dynamic_cast<Route*> (&_io)) != 0) {
using namespace Menu_Helpers;
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")));
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);
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);
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 ();

View File

@ -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;

View File

@ -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