, gm (sess, true, 75, 14)
, _ignore_set_layer_display (false)
{
- number_label.set_name("route button");
+ number_label.set_name("tracknumber label");
number_label.set_elements((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text|ArdourButton::Inactive));
number_label.set_alignment(.5, .5);
number_label.set_fallthrough_to_parent (true);
+ track_number_v_size_group->add_widget(number_label);
sess->config.ParameterChanged.connect (*this, invalidator (*this), boost::bind (&RouteTimeAxisView::parameter_changed, this, _1), gui_context());
}
if (is_track()) {
- /* use icon */
-
- switch (track()->mode()) {
- case ARDOUR::Normal:
- case ARDOUR::NonLayered:
- rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton));
- break;
- case ARDOUR::Destructive:
- rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton|ArdourButton::RecTapeMode));
- break;
- }
-
if (ARDOUR::Profile->get_mixbus()) {
controls_table.attach (*rec_enable_button, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
} else {
controls_table.attach (*mute_button, 3, 4, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
}
controls_button_size_group->add_widget(*mute_button);
+ track_number_v_size_group->add_widget(*mute_button);
if (!_route->is_master()) {
if (ARDOUR::Profile->get_mixbus()) {
ARDOUR_UI::instance()->set_tip(*mute_button,_("Mute"));
ARDOUR_UI::instance()->set_tip(route_group_button, _("Route Group"));
+ mute_button->set_tweaks(ArdourButton::Square);
+ solo_button->set_tweaks(ArdourButton::Square);
+ rec_enable_button->set_tweaks(ArdourButton::Square);
+ playlist_button.set_tweaks(ArdourButton::Square);
+ automation_button.set_tweaks(ArdourButton::Square);
+ route_group_button.set_tweaks(ArdourButton::Square);
+
if (is_midi_track()) {
ARDOUR_UI::instance()->set_tip(automation_button, _("MIDI Controllers and Automation"));
} else {
route_group_menu = new RouteGroupMenu (_session, plist);
- gm.get_gain_slider().signal_scroll_event().connect(sigc::mem_fun(*this, &RouteTimeAxisView::controls_ebox_scroll), false);
-
gm.get_level_meter().signal_scroll_event().connect (sigc::mem_fun (*this, &RouteTimeAxisView::controls_ebox_scroll), false);
}
} else {
controls_table.attach (number_label, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 1, 0);
}
- const int tnw = 9 + std::max(2u, _session->track_number_decimals()) * number_label.char_pixel_width();
+ // see ArdourButton::on_size_request(), we should probably use a global size-group here instead.
+ // except the width of the number label is subtracted from the name-hbox, so we
+ // need to explictly calculate it anyway until the name-label & entry become ArdourWidgets.
+ int tnw = (2 + std::max(2u, _session->track_number_decimals())) * number_label.char_pixel_width();
+ if (tnw & 1) --tnw;
number_label.set_size_request(tnw, -1);
number_label.show ();
- name_hbox.set_size_request(TimeAxisView::name_width_px - 2 - tnw, 0); // -2 = cellspacing
+ name_hbox.set_size_request(TimeAxisView::name_width_px - 2 - tnw, -1); // -2 = cellspacing
} else {
number_label.hide ();
- name_hbox.set_size_request(TimeAxisView::name_width_px, 0);
+ name_hbox.set_size_request(TimeAxisView::name_width_px, -1);
}
}
}
track()->set_mode (mode);
-
- rec_enable_button->remove ();
-
- switch (mode) {
- case ARDOUR::NonLayered:
- case ARDOUR::Normal:
- rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton));
- break;
- case ARDOUR::Destructive:
- rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton|ArdourButton::RecTapeMode));
- break;
- }
-
- rec_enable_button->show_all ();
}
}