Make it more obvious when a track is Inactive

Inactive tracks will now hide all controls and display only the track name
 in parenthesis.

Color-change is not sufficient by itself to distinguish an inactive track
 from an active one  (consider the case of just 2 tracks...)
This commit is contained in:
Ben Loftis 2020-01-20 16:03:22 -06:00
parent 7966d02534
commit d8d737adc4
5 changed files with 34 additions and 0 deletions

View file

@ -290,6 +290,15 @@ void
AudioTimeAxisView::route_active_changed ()
{
update_control_names ();
if (!_route->active()) {
controls_table.hide();
inactive_table.show_all();
RouteTimeAxisView::hide_all_automation();
} else {
inactive_table.hide();
controls_table.show();
}
}
void

View file

@ -28,6 +28,7 @@
#include <boost/unordered_map.hpp>
#include <gtkmm/label.h>
#include <gtkmm/table.h>
#include <gdkmm/color.h>
#include "pbd/xml++.h"
@ -123,6 +124,9 @@ protected:
Gtk::Label name_label;
Gtk::Label inactive_label;
Gtk::Table inactive_table;
mutable boost::unordered_map<std::string, std::string> property_hashtable;
}; /* class AxisView */

View file

@ -1361,6 +1361,15 @@ MidiTimeAxisView::route_active_changed ()
{
RouteUI::route_active_changed ();
update_control_names();
if (!_route->active()) {
controls_table.hide();
inactive_table.show_all();
RouteTimeAxisView::hide_all_automation();
} else {
inactive_table.hide();
controls_table.show();
}
}
void

View file

@ -288,6 +288,7 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
}
update_track_number_visibility();
route_active_changed();
label_view ();
if (ARDOUR::Profile->get_mixbus()) {
@ -424,6 +425,9 @@ RouteTimeAxisView::label_view ()
if (x != name_label.get_text ()) {
name_label.set_text (x);
}
inactive_label.set_text (string_compose("(%1)", x));
const int64_t track_number = _route->track_number ();
if (track_number == 0) {
number_label.set_text ("");

View file

@ -158,6 +158,10 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
name_label.set_width_chars (12);
set_tooltip (name_label, _("Track/Bus name (double click to edit)"));
inactive_label.set_name (X_("TrackNameEditor"));
inactive_label.set_alignment (0.0, 0.5);
set_tooltip (inactive_label, _("This track is inactive. (right-click to activate)"));
{
boost::scoped_ptr<Gtk::Entry> an_entry (new FocusEntry);
an_entry->set_name (X_("TrackNameEditor"));
@ -185,6 +189,10 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
controls_table.show_all ();
controls_table.set_no_show_all ();
inactive_table.set_border_width (4); //try to match the offset of the label on an "active" track
inactive_table.attach (inactive_label, 0, 1, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::SHRINK, 0, 0);
controls_vbox.pack_start (inactive_table, false, false);
controls_vbox.pack_start (controls_table, false, false);
controls_vbox.show ();