summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/mixer_strip.cc55
-rw-r--r--gtk2_ardour/route_group_dialog.cc8
-rw-r--r--gtk2_ardour/route_group_dialog.h1
3 files changed, 42 insertions, 22 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 1b1e28cda9..073feaf339 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -540,17 +540,13 @@ MixerStrip::set_width_enum (Width w, void* owner)
xml_node->add_property ("strip-width", enum_2_string (_width));
}
+ set_button_names ();
+
switch (w) {
case Wide:
-
- if (rec_enable_button) {
- ((Gtk::Label*)rec_enable_button->get_child())->set_text (_("Record"));
- }
if (show_sends_button) {
((Gtk::Label*)show_sends_button->get_child())->set_text (_("Sends"));
}
- ((Gtk::Label*)mute_button->get_child())->set_text (_("Mute"));
- ((Gtk::Label*)solo_button->get_child())->set_text (_("Solo"));
if (_route->comment() == "") {
comment_button.unset_bg (STATE_NORMAL);
@@ -577,14 +573,9 @@ MixerStrip::set_width_enum (Width w, void* owner)
break;
case Narrow:
- if (rec_enable_button) {
- ((Gtk::Label*)rec_enable_button->get_child())->set_text (_("Rec"));
- }
if (show_sends_button) {
((Gtk::Label*)show_sends_button->get_child())->set_text (_("Snd"));
}
- ((Gtk::Label*)mute_button->get_child())->set_text (_("M"));
- ((Gtk::Label*)solo_button->get_child())->set_text (_("S"));
if (_route->comment() == "") {
comment_button.unset_bg (STATE_NORMAL);
@@ -1492,19 +1483,39 @@ MixerStrip::revert_to_default_display ()
void
MixerStrip::set_button_names ()
{
- rec_enable_button_label.set_text (_("Rec"));
- mute_button_label.set_text (_("Mute"));
-
- switch (Config->get_solo_model()) {
- case SoloInPlace:
- solo_button_label.set_text (_("Solo"));
- break;
- case SoloAFL:
- solo_button_label.set_text (_("AFL"));
+ switch (_width) {
+ case Wide:
+ rec_enable_button_label.set_text (_("Rec"));
+ mute_button_label.set_text (_("Mute"));
+ switch (Config->get_solo_model()) {
+ case SoloInPlace:
+ solo_button_label.set_text (_("Solo"));
+ break;
+ case SoloAFL:
+ solo_button_label.set_text (_("AFL"));
+ break;
+ case SoloPFL:
+ solo_button_label.set_text (_("PFL"));
+ break;
+ }
break;
- case SoloPFL:
- solo_button_label.set_text (_("PFL"));
+
+ default:
+ rec_enable_button_label.set_text (_("R"));
+ mute_button_label.set_text (_("M"));
+ switch (Config->get_solo_model()) {
+ case SoloInPlace:
+ solo_button_label.set_text (_("S"));
+ break;
+ case SoloAFL:
+ solo_button_label.set_text (_("A"));
+ break;
+ case SoloPFL:
+ solo_button_label.set_text (_("P"));
+ break;
+ }
break;
+
}
}
diff --git a/gtk2_ardour/route_group_dialog.cc b/gtk2_ardour/route_group_dialog.cc
index 3cd2a3508c..6a87ea3c95 100644
--- a/gtk2_ardour/route_group_dialog.cc
+++ b/gtk2_ardour/route_group_dialog.cc
@@ -11,6 +11,7 @@ RouteGroupDialog::RouteGroupDialog (RouteGroup* g, StockID const & s)
_group (g),
_active (_("Active")),
_gain (_("Gain")),
+ _relative (_("Relative")),
_mute (_("Muting")),
_solo (_("Soloing")),
_rec_enable (_("Record enable")),
@@ -21,6 +22,7 @@ RouteGroupDialog::RouteGroupDialog (RouteGroup* g, StockID const & s)
_active.set_active (_group->is_active ());
_gain.set_active (_group->property (RouteGroup::Gain));
+ _relative.set_active (_group->is_relative());
_mute.set_active (_group->property (RouteGroup::Mute));
_solo.set_active (_group->property (RouteGroup::Solo));
_rec_enable.set_active (_group->property (RouteGroup::RecEnable));
@@ -34,6 +36,11 @@ RouteGroupDialog::RouteGroupDialog (RouteGroup* g, StockID const & s)
get_vbox()->pack_start (*h);
get_vbox()->pack_start (_active);
get_vbox()->pack_start (_gain);
+
+ h = manage (new HBox);
+ h->pack_start (_relative, PACK_EXPAND_PADDING);
+ get_vbox()->pack_start (*h);
+
get_vbox()->pack_start (_mute);
get_vbox()->pack_start (_solo);
get_vbox()->pack_start (_rec_enable);
@@ -63,6 +70,7 @@ RouteGroupDialog::do_run ()
_group->set_property (RouteGroup::RecEnable, _rec_enable.get_active ());
_group->set_property (RouteGroup::Select, _select.get_active ());
_group->set_property (RouteGroup::Edit, _edit.get_active ());
+ _group->set_relative (_relative.get_active(), this);
}
return r;
diff --git a/gtk2_ardour/route_group_dialog.h b/gtk2_ardour/route_group_dialog.h
index 4deb5b56a2..3bcd2b762f 100644
--- a/gtk2_ardour/route_group_dialog.h
+++ b/gtk2_ardour/route_group_dialog.h
@@ -17,6 +17,7 @@ private:
Gtk::Entry _name;
Gtk::CheckButton _active;
Gtk::CheckButton _gain;
+ Gtk::CheckButton _relative;
Gtk::CheckButton _mute;
Gtk::CheckButton _solo;
Gtk::CheckButton _rec_enable;