#include "i18n.h"
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
width_hide_box.pack_start (top_event_box, true, true);
width_hide_box.pack_end (hide_button, false, true);
+ number_label.set_text ("-");
+ number_label.set_no_show_all ();
+ number_label.set_name ("tracknumber label");
+ number_label.set_fixed_colors (0x80808080, 0x80808080);
+ number_label.set_elements (ArdourButton::Element(ArdourButton::Body | ArdourButton::Text));
+ number_label.set_alignment (.5, .5);
+ top_event_box.add (number_label);
+
whvbox.pack_start (width_hide_box, true, true);
global_vpacker.set_spacing (2);
/* ditto for this button and busses */
+ number_label.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::name_button_button_press), false);
name_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::name_button_button_press), false);
group_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::select_route_group), false);
parameter_changed (X_("mixer-strip-visibility"));
Config->ParameterChanged.connect (_config_connection, MISSING_INVALIDATOR, boost::bind (&MixerStrip::parameter_changed, this, _1), gui_context());
+ _session->config.ParameterChanged.connect (_config_connection, MISSING_INVALIDATOR, boost::bind (&MixerStrip::parameter_changed, this, _1), gui_context());
gpm.LevelMeterButtonPress.connect_same_thread (_level_meter_connection, boost::bind (&MixerStrip::level_meter_button_press, this, _1));
}
if (!route()->is_master() && !route()->is_monitor()) {
/* we don't allow master or control routes to be hidden */
hide_button.show();
+ number_label.show();
}
gpm.reset_peak_display ();
gpm.gain_display.show ();
gpm.peak_display.show ();
+ top_event_box.show();
width_button.show();
width_hide_box.show();
whvbox.show ();
{
name_button.modify_bg (STATE_NORMAL, color());
top_event_box.modify_bg (STATE_NORMAL, color());
+ number_label.set_fixed_colors (gdk_color_to_rgba (color()), gdk_color_to_rgba (color()));
reset_strip_style ();
}
items.push_back (CheckMenuElem (_("Active")));
Gtk::CheckMenuItem* i = dynamic_cast<Gtk::CheckMenuItem *> (&items.back());
i->set_active (_route->active());
+ i->set_sensitive(! _session->transport_rolling());
i->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::set_route_active), !_route->active(), false));
items.push_back (SeparatorElem());
{
switch (_width) {
case Wide:
+ if (_session->config.get_track_name_number()) {
+ const int64_t track_number = _route->track_number ();
+ if (track_number == 0) {
+ number_label.set_text ("-");
+ number_label.hide();
+ } else {
+ number_label.set_text (PBD::to_string (abs(_route->track_number ()), std::dec));
+ number_label.show();
+ }
+ } else {
+ number_label.hide();
+ }
name_button.set_text (_route->name());
break;
case Narrow:
- name_button.set_text (PBD::short_version (_route->name(), 5));
+ number_label.hide();
+ if (_session->config.get_track_name_number()) {
+ name_button.set_markup(track_number_to_string (_route->track_number (), " ",
+ PBD::short_version (_route->name (), 5)));
+ } else {
+ name_button.set_text (PBD::short_version (_route->name(), 5));
+ }
break;
}
panner_ui().set_panner (_current_delivery->panner_shell(), _current_delivery->panner());
panner_ui().set_available_panners(PannerManager::instance().PannerManager::get_available_panners(in, out));
panner_ui().setup_pan ();
+ panner_ui().set_send_drawing_mode (true);
panner_ui().show_all ();
input_button.set_sensitive (false);
panner_ui().set_panner (_route->main_outs()->panner_shell(), _route->main_outs()->panner());
update_panner_choices();
panner_ui().setup_pan ();
+ panner_ui().set_send_drawing_mode (false);
if (has_audio_outputs ()) {
panners.show_all ();
*/
_visibility.set_state (Config->get_mixer_strip_visibility ());
}
+ else if (p == "track-name-number") {
+ name_changed ();
+ }
}
/** Called to decide whether the solo isolate / solo lock button visibility should