Skip to content

Commit a58564f

Browse files
author
itmuckel
committed
Repurpose track numbers as color bars
1 parent 13a233f commit a58564f

File tree

3 files changed

+29
-34
lines changed

3 files changed

+29
-34
lines changed

gtk2_ardour/mixer_strip.cc

-1
Original file line numberDiff line numberDiff line change
@@ -2045,7 +2045,6 @@ MixerStrip::set_meter_type (MeterType t)
20452045
void
20462046
MixerStrip::update_track_number_visibility ()
20472047
{
2048-
DisplaySuspender ds;
20492048
bool show_label = _session->config.get_track_name_number();
20502049

20512050
if (_route && _route->is_master()) {

gtk2_ardour/route_time_axis.cc

+29-32
Original file line numberDiff line numberDiff line change
@@ -105,23 +105,23 @@ sigc::signal<void, bool> RouteTimeAxisView::signal_ctrl_touched;
105105
RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, ArdourCanvas::Canvas& canvas)
106106
: RouteUI(sess)
107107
, StripableTimeAxisView(ed, sess, canvas)
108-
, _view (0)
108+
, _view (nullptr)
109109
, button_table (3, 3)
110110
, route_group_button (S_("RTAV|G"))
111111
, playlist_button (S_("RTAV|P"))
112112
, automation_button (S_("RTAV|A"))
113-
, automation_action_menu (0)
114-
, plugins_submenu_item (0)
115-
, route_group_menu (0)
116-
, overlaid_menu_item (0)
117-
, stacked_menu_item (0)
113+
, automation_action_menu (nullptr)
114+
, route_group_menu (nullptr)
115+
, overlaid_menu_item (nullptr)
116+
, stacked_menu_item (nullptr)
118117
, gm (sess, true, 75, 14)
119118
, _ignore_set_layer_display (false)
120-
, pan_automation_item(NULL)
119+
, pan_automation_item(nullptr)
121120
{
122121
subplugin_menu.set_name ("ArdourContextMenu");
123122
number_label.set_name("tracknumber label");
124-
number_label.set_elements((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text|ArdourButton::Inactive));
123+
number_label.set_elements((ArdourButton::Element)(ArdourButton::Body|ArdourButton::Text|ArdourButton::Inactive));
124+
number_label.set_angle (-90.);
125125
number_label.set_alignment(.5, .5);
126126
number_label.set_fallthrough_to_parent (true);
127127

@@ -258,7 +258,7 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
258258
controls_table.attach (gm.get_gain_slider(), 3, 5, 2, 3, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 1, 0);
259259
} else {
260260
controls_table.attach (route_group_button, 4, 5, 2, 3, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
261-
controls_table.attach (gm.get_gain_slider(), 0, 2, 2, 3, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 1, 0);
261+
controls_table.attach (gm.get_gain_slider(), 2, 2, 2, 3, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 1, 0);
262262
}
263263

264264
set_tooltip(*solo_button,_("Solo"));
@@ -434,7 +434,8 @@ RouteTimeAxisView::label_view ()
434434
inactive_label.show ();
435435

436436
const int64_t track_number = _route->track_number ();
437-
if (track_number == 0) {
437+
bool show_label = _session->config.get_track_name_number();
438+
if (track_number == 0 || !show_label) {
438439
number_label.set_text ("");
439440
} else {
440441
number_label.set_text (PBD::to_string (abs(_route->track_number ())));
@@ -444,34 +445,30 @@ RouteTimeAxisView::label_view ()
444445
void
445446
RouteTimeAxisView::update_track_number_visibility ()
446447
{
447-
DisplaySuspender ds;
448-
bool show_label = _session->config.get_track_name_number();
449-
450-
if (_route && _route->is_master()) {
451-
show_label = false;
452-
}
453-
454448
if (number_label.get_parent()) {
455449
number_label.get_parent()->remove (number_label);
456450
}
451+
452+
if (!_route->active ()) {
453+
inactive_table.attach (number_label, 0, 1, 0, 3, Gtk::SHRINK, Gtk::EXPAND | Gtk::FILL, 1, 0);
454+
} else if (ARDOUR::Profile->get_mixbus ()) {
455+
controls_table.attach (number_label, 3, 4, 0, 1, Gtk::SHRINK, Gtk::EXPAND | Gtk::FILL, 1, 0);
456+
} else {
457+
controls_table.attach (number_label, 0, 1, 0, 3, Gtk::SHRINK, Gtk::FILL, 1, 0);
458+
}
459+
460+
// see ArdourButton::on_size_request(), we should probably use a global size-group here instead.
461+
// except the width of the number label is subtracted from the name-hbox, so we
462+
// need to explicitly calculate it anyway until the name-label & entry become ArdourWidgets.
463+
bool show_label = _session->config.get_track_name_number();
457464
if (show_label) {
458-
if (!_route->active()) {
459-
inactive_table.attach (number_label, 0, 1, 0, 1, Gtk::SHRINK, Gtk::EXPAND|Gtk::FILL, 1, 0);
460-
} else if (ARDOUR::Profile->get_mixbus()) {
461-
controls_table.attach (number_label, 3, 4, 0, 1, Gtk::SHRINK, Gtk::EXPAND|Gtk::FILL, 1, 0);
462-
} else {
463-
controls_table.attach (number_label, 0, 1, 0, 1, Gtk::SHRINK, Gtk::EXPAND|Gtk::FILL, 1, 0);
464-
}
465-
// see ArdourButton::on_size_request(), we should probably use a global size-group here instead.
466-
// except the width of the number label is subtracted from the name-hbox, so we
467-
// need to explicitly calculate it anyway until the name-label & entry become ArdourWidgets.
468-
int tnw = (2 + std::max(2u, _session->track_number_decimals())) * number_label.char_pixel_width();
469-
if (tnw & 1) --tnw;
470-
number_label.set_size_request(tnw, -1);
471-
number_label.show ();
465+
number_label.set_size_request (static_cast<int>(15 * UIConfiguration::instance().get_ui_scale()), -1);
472466
} else {
473-
number_label.hide ();
467+
number_label.set_size_request (static_cast<int>(3 * UIConfiguration::instance().get_ui_scale()), -1);
474468
}
469+
number_label.show ();
470+
471+
label_view ();
475472
}
476473

477474
void

gtk2_ardour/route_time_axis.h

-1
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,6 @@ class RouteTimeAxisView : public RouteUI, public StripableTimeAxisView
260260

261261
Gtk::Menu subplugin_menu;
262262
Gtk::Menu* automation_action_menu;
263-
Gtk::MenuItem* plugins_submenu_item;
264263
RouteGroupMenu* route_group_menu;
265264
Gtk::MenuItem* overlaid_menu_item;
266265
Gtk::MenuItem* stacked_menu_item;

0 commit comments

Comments
 (0)