renice connection button labels
* pango ellipsize text * use pretty-names if available
This commit is contained in:
parent
087b5dc43b
commit
0272c4f749
@ -316,9 +316,14 @@ MixerStrip::init ()
|
|||||||
|
|
||||||
input_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::input_press), false);
|
input_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::input_press), false);
|
||||||
input_button.signal_button_release_event().connect (sigc::mem_fun(*this, &MixerStrip::input_release), false);
|
input_button.signal_button_release_event().connect (sigc::mem_fun(*this, &MixerStrip::input_release), false);
|
||||||
|
input_button.signal_size_allocate().connect (sigc::mem_fun (*this, &MixerStrip::input_button_resized));
|
||||||
|
|
||||||
|
input_button.set_text_ellipsize (Pango::ELLIPSIZE_MIDDLE);
|
||||||
|
output_button.set_text_ellipsize (Pango::ELLIPSIZE_MIDDLE);
|
||||||
|
|
||||||
output_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::output_press), false);
|
output_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::output_press), false);
|
||||||
output_button.signal_button_release_event().connect (sigc::mem_fun(*this, &MixerStrip::output_release), false);
|
output_button.signal_button_release_event().connect (sigc::mem_fun(*this, &MixerStrip::output_release), false);
|
||||||
|
output_button.signal_size_allocate().connect (sigc::mem_fun (*this, &MixerStrip::output_button_resized));
|
||||||
|
|
||||||
number_label.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::number_button_button_press), false);
|
number_label.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::number_button_button_press), false);
|
||||||
|
|
||||||
@ -1148,7 +1153,6 @@ MixerStrip::update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width widt
|
|||||||
uint32_t other_connection_count = 0;
|
uint32_t other_connection_count = 0;
|
||||||
|
|
||||||
ostringstream label;
|
ostringstream label;
|
||||||
string label_string;
|
|
||||||
|
|
||||||
bool have_label = false;
|
bool have_label = false;
|
||||||
bool each_io_has_one_connection = true;
|
bool each_io_has_one_connection = true;
|
||||||
@ -1193,12 +1197,20 @@ MixerStrip::update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width widt
|
|||||||
|
|
||||||
if (!port_connections.empty()) {
|
if (!port_connections.empty()) {
|
||||||
for (vector<string>::iterator i = port_connections.begin(); i != port_connections.end(); ++i) {
|
for (vector<string>::iterator i = port_connections.begin(); i != port_connections.end(); ++i) {
|
||||||
|
string pn = "";
|
||||||
string& connection_name (*i);
|
string& connection_name (*i);
|
||||||
|
|
||||||
|
if (connection_name.find("system:") == 0) {
|
||||||
|
pn = AudioEngine::instance()->get_pretty_name_by_name (connection_name);
|
||||||
|
}
|
||||||
|
|
||||||
if (io_connection_count == 0) {
|
if (io_connection_count == 0) {
|
||||||
tooltip << endl << Glib::Markup::escape_text(port->name().substr(port->name().find("/") + 1)) << " -> " << Glib::Markup::escape_text(connection_name);
|
tooltip << endl << Glib::Markup::escape_text(port->name().substr(port->name().find("/") + 1))
|
||||||
|
<< " -> "
|
||||||
|
<< Glib::Markup::escape_text( pn.empty() ? connection_name : pn );
|
||||||
} else {
|
} else {
|
||||||
tooltip << ", " << Glib::Markup::escape_text(connection_name);
|
tooltip << ", "
|
||||||
|
<< Glib::Markup::escape_text( pn.empty() ? connection_name : pn );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (connection_name.find("ardour:") == 0) {
|
if (connection_name.find("ardour:") == 0) {
|
||||||
@ -1213,6 +1225,32 @@ MixerStrip::update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width widt
|
|||||||
if (connection_name.find(ardour_track_name) == 0) {
|
if (connection_name.find(ardour_track_name) == 0) {
|
||||||
++ardour_connection_count;
|
++ardour_connection_count;
|
||||||
}
|
}
|
||||||
|
} else if (!pn.empty()) {
|
||||||
|
if (system_ports.empty()) {
|
||||||
|
system_ports += pn;
|
||||||
|
} else {
|
||||||
|
system_ports += "/" + pn;
|
||||||
|
}
|
||||||
|
if (connection_name.find("system:") == 0) {
|
||||||
|
++system_connection_count;
|
||||||
|
}
|
||||||
|
} else if (connection_name.find("system:midi_") == 0) {
|
||||||
|
if (for_input) {
|
||||||
|
// "system:midi_capture_123" -> "123"
|
||||||
|
system_port = connection_name.substr(20);
|
||||||
|
} else {
|
||||||
|
// "system:midi_playback_123" -> "123"
|
||||||
|
system_port = connection_name.substr(21);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (system_ports.empty()) {
|
||||||
|
system_ports += system_port;
|
||||||
|
} else {
|
||||||
|
system_ports += "/" + system_port;
|
||||||
|
}
|
||||||
|
|
||||||
|
++system_connection_count;
|
||||||
|
|
||||||
} else if (connection_name.find("system:") == 0) {
|
} else if (connection_name.find("system:") == 0) {
|
||||||
if (for_input) {
|
if (for_input) {
|
||||||
// "system:capture_123" -> "123"
|
// "system:capture_123" -> "123"
|
||||||
@ -1296,19 +1334,10 @@ MixerStrip::update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width widt
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (width) {
|
|
||||||
case Wide:
|
|
||||||
label_string = label.str().substr(0, 7);
|
|
||||||
break;
|
|
||||||
case Narrow:
|
|
||||||
label_string = label.str().substr(0, 3);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (for_input) {
|
if (for_input) {
|
||||||
input_button.set_text (label_string);
|
input_button.set_text (label.str());
|
||||||
} else {
|
} else {
|
||||||
output_button.set_text (label_string);
|
output_button.set_text (label.str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1625,6 +1654,18 @@ MixerStrip::name_changed ()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MixerStrip::input_button_resized (Gtk::Allocation& alloc)
|
||||||
|
{
|
||||||
|
input_button.set_layout_ellisize_width (alloc.get_width() * PANGO_SCALE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MixerStrip::output_button_resized (Gtk::Allocation& alloc)
|
||||||
|
{
|
||||||
|
output_button.set_layout_ellisize_width (alloc.get_width() * PANGO_SCALE);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MixerStrip::name_button_resized (Gtk::Allocation& alloc)
|
MixerStrip::name_button_resized (Gtk::Allocation& alloc)
|
||||||
{
|
{
|
||||||
|
@ -183,6 +183,9 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
|
|||||||
ArdourButton input_button;
|
ArdourButton input_button;
|
||||||
ArdourButton output_button;
|
ArdourButton output_button;
|
||||||
|
|
||||||
|
void input_button_resized (Gtk::Allocation&);
|
||||||
|
void output_button_resized (Gtk::Allocation&);
|
||||||
|
|
||||||
ArdourButton* midi_input_enable_button;
|
ArdourButton* midi_input_enable_button;
|
||||||
Gtk::HBox input_button_box;
|
Gtk::HBox input_button_box;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user