+ monitor_input_button->set_diameter (3);
+ monitor_disk_button->set_diameter (3);
+
+ solo_isolated_led = manage (new ArdourButton (ArdourButton::led_default_elements));
+ solo_isolated_led->show ();
+ solo_isolated_led->set_diameter (3);
+ solo_isolated_led->set_no_show_all (true);
+ solo_isolated_led->set_name (X_("solo isolate"));
+ solo_isolated_led->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
+ solo_isolated_led->signal_button_release_event().connect (sigc::mem_fun (*this, &RouteUI::solo_isolate_button_release));
+ UI::instance()->set_tip (solo_isolated_led, _("Isolate Solo"), "");
+
+ solo_safe_led = manage (new ArdourButton (ArdourButton::led_default_elements));
+ solo_safe_led->show ();
+ solo_safe_led->set_diameter (3);
+ solo_safe_led->set_no_show_all (true);
+ solo_safe_led->set_name (X_("solo safe"));
+ solo_safe_led->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
+ solo_safe_led->signal_button_release_event().connect (sigc::mem_fun (*this, &RouteUI::solo_safe_button_release));
+ UI::instance()->set_tip (solo_safe_led, _("Lock Solo Status"), "");
+
+ solo_safe_led->set_text (_("lock"));
+ solo_isolated_led->set_text (_("iso"));
+
+ top_button_table.set_homogeneous (true);
+ top_button_table.set_spacings (2);
+ top_button_table.attach (*monitor_input_button, 0, 1, 0, 1);
+ top_button_table.attach (*monitor_disk_button, 1, 2, 0, 1);
+ top_button_table.show ();
+
+ rec_solo_table.set_homogeneous (true);
+ rec_solo_table.set_row_spacings (2);
+ rec_solo_table.set_col_spacings (2);
+ rec_solo_table.attach (*solo_isolated_led, 1, 2, 0, 1);
+ rec_solo_table.attach (*solo_safe_led, 1, 2, 1, 2);
+ rec_solo_table.show ();
+
+ button_table.set_homogeneous (false);
+ button_table.set_spacings (2);
+
+ if (solo_isolated_led) {
+ button_size_group->add_widget (*solo_isolated_led);
+ }
+ if (solo_safe_led) {
+ button_size_group->add_widget (*solo_safe_led);
+ }
+ if (rec_enable_button) {
+ button_size_group->add_widget (*rec_enable_button);
+ }
+ if (monitor_disk_button) {
+ button_size_group->add_widget (*monitor_disk_button);
+ }
+ if (monitor_input_button) {
+ button_size_group->add_widget (*monitor_input_button);
+ }
+
+ button_table.attach (name_button, 0, 1, 0, 1);
+ button_table.attach (input_button_box, 0, 1, 1, 2);
+ button_table.attach (_invert_button_box, 0, 1, 2, 3);
+
+ middle_button_table.set_homogeneous (true);
+ middle_button_table.set_spacings (2);
+
+ bottom_button_table.set_spacings (2);
+ bottom_button_table.set_homogeneous (true);
+// bottom_button_table.attach (group_button, 0, 1, 0, 1);
+ bottom_button_table.attach (gpm.gain_automation_state_button, 0, 1, 0, 1);
+
+ name_button.set_name ("mixer strip button");
+ name_button.set_text (" "); /* non empty text, forces creation of the layout */
+ name_button.set_text (""); /* back to empty */
+ name_button.layout()->set_ellipsize (Pango::ELLIPSIZE_END);
+ name_button.signal_size_allocate().connect (sigc::mem_fun (*this, &MixerStrip::name_button_resized));
+ Gtkmm2ext::set_size_request_to_display_given_text (name_button, longest_label.c_str(), 2, 2);
+ name_button.set_size_request (-1, 20);
+
+ ARDOUR_UI::instance()->set_tip (&group_button, _("Mix group"), "");
+ group_button.set_name ("mixer strip button");
+ Gtkmm2ext::set_size_request_to_display_given_text (group_button, "Group", 2, 2);
+
+ _comment_button.set_name (X_("mixer strip button"));
+ _comment_button.signal_clicked.connect (sigc::mem_fun (*this, &MixerStrip::toggle_comment_editor));