Center fader in its (left hand side) mixer strip column.
Attempt to center meter in its as well, but this doesn't seem to be working. Perhaps this whole section should be layed out as a table to ensure the split down the middle is aligned no matter what? git-svn-id: svn://localhost/ardour2/branches/3.0@9555 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
a5870e4f96
commit
a54f10d861
|
@ -803,9 +803,9 @@ GainMeterBase::on_theme_changed()
|
|||
|
||||
GainMeter::GainMeter (Session* s, int fader_length)
|
||||
: GainMeterBase (s, slider, false, fader_length)
|
||||
, gain_display_box(true, 2)
|
||||
, hbox(true, 2)
|
||||
{
|
||||
gain_display_box.set_homogeneous (true);
|
||||
gain_display_box.set_spacing (2);
|
||||
gain_display_box.pack_start (gain_display, true, true);
|
||||
|
||||
meter_metric_area.set_name ("AudioTrackMetrics");
|
||||
|
@ -825,17 +825,23 @@ GainMeter::GainMeter (Session* s, int fader_length)
|
|||
|
||||
fader_vbox = manage (new Gtk::VBox());
|
||||
fader_vbox->set_spacing (0);
|
||||
fader_vbox->pack_start (*gain_slider, false, false, 0);
|
||||
fader_vbox->pack_start (*gain_slider, true, true);
|
||||
|
||||
hbox.set_spacing (2);
|
||||
hbox.pack_start (*fader_vbox, false, false, 4);
|
||||
fader_alignment.set (0.5, 0.5, 0.0, 1.0);
|
||||
fader_alignment.add (*fader_vbox);
|
||||
|
||||
hbox.pack_start (fader_alignment, true, true);
|
||||
|
||||
set_spacing (2);
|
||||
|
||||
pack_start (gain_display_box, Gtk::PACK_SHRINK);
|
||||
pack_start (hbox, Gtk::PACK_SHRINK);
|
||||
|
||||
meter_metric_area.signal_expose_event().connect (sigc::mem_fun(*this, &GainMeter::meter_metrics_expose));
|
||||
meter_alignment.set (0.5, 0.5, 0.0, 1.0);
|
||||
meter_alignment.add (*level_meter);
|
||||
|
||||
meter_metric_area.signal_expose_event().connect (
|
||||
sigc::mem_fun(*this, &GainMeter::meter_metrics_expose));
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -843,8 +849,8 @@ GainMeter::set_controls (boost::shared_ptr<Route> r,
|
|||
boost::shared_ptr<PeakMeter> meter,
|
||||
boost::shared_ptr<Amp> amp)
|
||||
{
|
||||
if (level_meter->get_parent()) {
|
||||
hbox.remove (*level_meter);
|
||||
if (meter_alignment.get_parent()) {
|
||||
hbox.remove (meter_alignment);
|
||||
}
|
||||
|
||||
if (peak_display.get_parent()) {
|
||||
|
@ -872,7 +878,7 @@ GainMeter::set_controls (boost::shared_ptr<Route> r,
|
|||
*/
|
||||
|
||||
gain_display_box.pack_end (peak_display, true, true);
|
||||
hbox.pack_start (*level_meter, true, true);
|
||||
hbox.pack_start (meter_alignment, true, true);
|
||||
|
||||
if (r && !r->is_hidden()) {
|
||||
fader_vbox->pack_start (gain_automation_state_button, false, false, 0);
|
||||
|
|
|
@ -212,6 +212,8 @@ class GainMeter : public GainMeterBase, public Gtk::VBox
|
|||
Gtk::HBox fader_box;
|
||||
Gtk::VBox* fader_vbox;
|
||||
Gtk::HBox hbox;
|
||||
Gtk::Alignment fader_alignment;
|
||||
Gtk::Alignment meter_alignment;
|
||||
std::vector<ARDOUR::DataType> _types;
|
||||
|
||||
static Glib::RefPtr<Gdk::Pixbuf> slider;
|
||||
|
|
|
@ -247,7 +247,7 @@ MixerStrip::init ()
|
|||
ARDOUR_UI::instance()->set_tip (&group_button, _("Mix group"), "");
|
||||
group_button.add (group_label);
|
||||
group_button.set_name ("MixerGroupButton");
|
||||
Gtkmm2ext::set_size_request_to_display_given_text (group_button, "Group", 2, 2);
|
||||
Gtkmm2ext::set_size_request_to_display_given_text (group_button, "Group", 2, 2);
|
||||
group_label.set_name ("MixerGroupButtonLabel");
|
||||
|
||||
global_vpacker.set_border_width (0);
|
||||
|
@ -263,19 +263,17 @@ MixerStrip::init ()
|
|||
width_hide_box.pack_start (width_button, false, true);
|
||||
width_hide_box.pack_start (top_event_box, true, true);
|
||||
width_hide_box.pack_end (hide_button, false, true);
|
||||
gain_meter_alignment.set_padding(0, 4, 0, 0);
|
||||
gain_meter_alignment.add(gpm);
|
||||
|
||||
whvbox.pack_start (width_hide_box, true, true);
|
||||
|
||||
global_vpacker.pack_start (whvbox, Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (button_table,Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (button_table, Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (processor_box, true, true);
|
||||
global_vpacker.pack_start (panners, Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (below_panner_box, Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (middle_button_table,Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (gain_meter_alignment,Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (bottom_button_table,Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (middle_button_table, Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (gpm, Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (bottom_button_table, Gtk::PACK_SHRINK);
|
||||
global_vpacker.pack_start (output_button, Gtk::PACK_SHRINK);
|
||||
|
||||
global_frame.add (global_vpacker);
|
||||
|
@ -380,13 +378,13 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
|
|||
set_color (unique_random_color());
|
||||
}
|
||||
|
||||
if (route()->is_master()) {
|
||||
solo_button->hide ();
|
||||
below_panner_box.hide ();
|
||||
} else {
|
||||
solo_button->show ();
|
||||
below_panner_box.show ();
|
||||
}
|
||||
if (route()->is_master()) {
|
||||
solo_button->hide ();
|
||||
below_panner_box.hide ();
|
||||
} else {
|
||||
solo_button->show ();
|
||||
below_panner_box.show ();
|
||||
}
|
||||
|
||||
if (_mixer_owned && (route()->is_master() || route()->is_monitor())) {
|
||||
|
||||
|
@ -428,7 +426,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
|
|||
}
|
||||
}
|
||||
|
||||
meter_point_label.set_text (meter_point_string (_route->meter_point()));
|
||||
meter_point_label.set_text (meter_point_string (_route->meter_point()));
|
||||
|
||||
delete route_ops_menu;
|
||||
route_ops_menu = 0;
|
||||
|
@ -452,7 +450,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
|
|||
/* now force an update of all the various elements */
|
||||
|
||||
mute_changed (0);
|
||||
update_solo_display ();
|
||||
update_solo_display ();
|
||||
name_changed ();
|
||||
comment_changed (0);
|
||||
route_group_changed ();
|
||||
|
@ -482,7 +480,6 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
|
|||
middle_button_table.show();
|
||||
bottom_button_table.show();
|
||||
gpm.show_all ();
|
||||
gain_meter_alignment.show ();
|
||||
gain_unit_button.show();
|
||||
gain_unit_label.show();
|
||||
meter_point_button.show();
|
||||
|
@ -631,9 +628,9 @@ struct RouteCompareByName {
|
|||
gint
|
||||
MixerStrip::output_press (GdkEventButton *ev)
|
||||
{
|
||||
using namespace Menu_Helpers;
|
||||
using namespace Menu_Helpers;
|
||||
if (!_session->engine().connected()) {
|
||||
MessageDialog msg (_("Not connected to JACK - no I/O changes are possible"));
|
||||
MessageDialog msg (_("Not connected to JACK - no I/O changes are possible"));
|
||||
msg.run ();
|
||||
return true;
|
||||
}
|
||||
|
@ -689,7 +686,7 @@ MixerStrip::output_press (GdkEventButton *ev)
|
|||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -746,7 +743,7 @@ MixerStrip::input_press (GdkEventButton *ev)
|
|||
citems.clear();
|
||||
|
||||
if (!_session->engine().connected()) {
|
||||
MessageDialog msg (_("Not connected to JACK - no I/O changes are possible"));
|
||||
MessageDialog msg (_("Not connected to JACK - no I/O changes are possible"));
|
||||
msg.run ();
|
||||
return true;
|
||||
}
|
||||
|
@ -800,7 +797,7 @@ MixerStrip::input_press (GdkEventButton *ev)
|
|||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -934,10 +931,10 @@ MixerStrip::connect_to_pan ()
|
|||
return;
|
||||
}
|
||||
|
||||
boost::shared_ptr<Pannable> p = _route->pannable ();
|
||||
boost::shared_ptr<Pannable> p = _route->pannable ();
|
||||
|
||||
p->automation_state_changed.connect (panstate_connection, invalidator (*this), boost::bind (&PannerUI::pan_automation_state_changed, &panners), gui_context());
|
||||
p->automation_style_changed.connect (panstyle_connection, invalidator (*this), boost::bind (&PannerUI::pan_automation_style_changed, &panners), gui_context());
|
||||
p->automation_state_changed.connect (panstate_connection, invalidator (*this), boost::bind (&PannerUI::pan_automation_state_changed, &panners), gui_context());
|
||||
p->automation_style_changed.connect (panstyle_connection, invalidator (*this), boost::bind (&PannerUI::pan_automation_style_changed, &panners), gui_context());
|
||||
|
||||
panners.panshell_changed ();
|
||||
}
|
||||
|
@ -1300,7 +1297,7 @@ MixerStrip::route_group_changed ()
|
|||
RouteGroup *rg = _route->route_group();
|
||||
|
||||
if (rg) {
|
||||
group_label.set_text (PBD::short_version (rg->name(), 5));
|
||||
group_label.set_text (PBD::short_version (rg->name(), 5));
|
||||
} else {
|
||||
switch (_width) {
|
||||
case Wide:
|
||||
|
@ -1372,7 +1369,7 @@ MixerStrip::build_route_ops_menu ()
|
|||
if (!Profile->get_sae()) {
|
||||
items.push_back (SeparatorElem());
|
||||
items.push_back (MenuElem (_("Remote Control ID..."), sigc::mem_fun (*this, &RouteUI::open_remote_control_id_dialog)));
|
||||
}
|
||||
}
|
||||
|
||||
items.push_back (SeparatorElem());
|
||||
items.push_back (MenuElem (_("Remove"), sigc::bind (sigc::mem_fun(*this, &RouteUI::remove_this_route), false)));
|
||||
|
@ -1389,8 +1386,8 @@ MixerStrip::name_button_button_press (GdkEventButton* ev)
|
|||
route_ops_menu->popup (1, ev->time);
|
||||
|
||||
} else if (ev->button == 1) {
|
||||
revert_to_default_display ();
|
||||
}
|
||||
revert_to_default_display ();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -1424,7 +1421,7 @@ MixerStrip::name_changed ()
|
|||
RouteUI::property_changed (PropertyChange (ARDOUR::Properties::name));
|
||||
break;
|
||||
case Narrow:
|
||||
name_label.set_text (PBD::short_version (_route->name(), 5));
|
||||
name_label.set_text (PBD::short_version (_route->name(), 5));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1569,24 +1566,24 @@ MixerStrip::meter_point_string (MeterPoint mp)
|
|||
{
|
||||
switch (mp) {
|
||||
case MeterInput:
|
||||
return _("in");
|
||||
return _("in");
|
||||
break;
|
||||
|
||||
case MeterPreFader:
|
||||
return _("pre");
|
||||
return _("pre");
|
||||
break;
|
||||
|
||||
case MeterPostFader:
|
||||
return _("post");
|
||||
return _("post");
|
||||
break;
|
||||
|
||||
case MeterOutput:
|
||||
return _("out");
|
||||
return _("out");
|
||||
break;
|
||||
|
||||
case MeterCustom:
|
||||
default:
|
||||
return _("custom");
|
||||
default:
|
||||
return _("custom");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1595,7 +1592,7 @@ MixerStrip::meter_point_string (MeterPoint mp)
|
|||
void
|
||||
MixerStrip::meter_changed ()
|
||||
{
|
||||
meter_point_label.set_text (meter_point_string (_route->meter_point()));
|
||||
meter_point_label.set_text (meter_point_string (_route->meter_point()));
|
||||
gpm.setup_meters ();
|
||||
// reset peak when meter point changes
|
||||
gpm.reset_peak_display();
|
||||
|
@ -1649,14 +1646,14 @@ MixerStrip::drop_send ()
|
|||
send_gone_connection.disconnect ();
|
||||
input_button.set_sensitive (true);
|
||||
output_button.set_sensitive (true);
|
||||
group_button.set_sensitive (true);
|
||||
set_invert_sensitive (true);
|
||||
meter_point_button.set_sensitive (true);
|
||||
mute_button->set_sensitive (true);
|
||||
solo_button->set_sensitive (true);
|
||||
rec_enable_button->set_sensitive (true);
|
||||
solo_isolated_led->set_sensitive (true);
|
||||
solo_safe_led->set_sensitive (true);
|
||||
group_button.set_sensitive (true);
|
||||
set_invert_sensitive (true);
|
||||
meter_point_button.set_sensitive (true);
|
||||
mute_button->set_sensitive (true);
|
||||
solo_button->set_sensitive (true);
|
||||
rec_enable_button->set_sensitive (true);
|
||||
solo_isolated_led->set_sensitive (true);
|
||||
solo_safe_led->set_sensitive (true);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1685,14 +1682,14 @@ MixerStrip::show_send (boost::shared_ptr<Send> send)
|
|||
panner_ui().setup_pan ();
|
||||
|
||||
input_button.set_sensitive (false);
|
||||
group_button.set_sensitive (false);
|
||||
set_invert_sensitive (false);
|
||||
meter_point_button.set_sensitive (false);
|
||||
mute_button->set_sensitive (false);
|
||||
solo_button->set_sensitive (false);
|
||||
rec_enable_button->set_sensitive (false);
|
||||
solo_isolated_led->set_sensitive (false);
|
||||
solo_safe_led->set_sensitive (false);
|
||||
group_button.set_sensitive (false);
|
||||
set_invert_sensitive (false);
|
||||
meter_point_button.set_sensitive (false);
|
||||
mute_button->set_sensitive (false);
|
||||
solo_button->set_sensitive (false);
|
||||
rec_enable_button->set_sensitive (false);
|
||||
solo_isolated_led->set_sensitive (false);
|
||||
solo_safe_led->set_sensitive (false);
|
||||
|
||||
if (boost::dynamic_pointer_cast<InternalSend>(send)) {
|
||||
output_button.set_sensitive (false);
|
||||
|
@ -1724,46 +1721,46 @@ MixerStrip::revert_to_default_display ()
|
|||
void
|
||||
MixerStrip::set_button_names ()
|
||||
{
|
||||
switch (_width) {
|
||||
switch (_width) {
|
||||
case Wide:
|
||||
rec_enable_button_label.set_text (_("Rec"));
|
||||
mute_button_label.set_text (_("Mute"));
|
||||
if (_route && _route->solo_safe()) {
|
||||
solo_button_label.set_text (X_("!"));
|
||||
} else {
|
||||
if (!Config->get_solo_control_is_listen_control()) {
|
||||
solo_button_label.set_text (_("Solo"));
|
||||
} else {
|
||||
switch (Config->get_listen_position()) {
|
||||
case AfterFaderListen:
|
||||
solo_button_label.set_text (_("AFL"));
|
||||
break;
|
||||
case PreFaderListen:
|
||||
solo_button_label.set_text (_("PFL"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (_route && _route->solo_safe()) {
|
||||
solo_button_label.set_text (X_("!"));
|
||||
} else {
|
||||
if (!Config->get_solo_control_is_listen_control()) {
|
||||
solo_button_label.set_text (_("Solo"));
|
||||
} else {
|
||||
switch (Config->get_listen_position()) {
|
||||
case AfterFaderListen:
|
||||
solo_button_label.set_text (_("AFL"));
|
||||
break;
|
||||
case PreFaderListen:
|
||||
solo_button_label.set_text (_("PFL"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
rec_enable_button_label.set_text (_("R"));
|
||||
mute_button_label.set_text (_("M"));
|
||||
if (_route && _route->solo_safe()) {
|
||||
solo_button_label.set_text (X_("!"));
|
||||
if (!Config->get_solo_control_is_listen_control()) {
|
||||
solo_button_label.set_text (_("S"));
|
||||
} else {
|
||||
switch (Config->get_listen_position()) {
|
||||
case AfterFaderListen:
|
||||
solo_button_label.set_text (_("A"));
|
||||
break;
|
||||
case PreFaderListen:
|
||||
solo_button_label.set_text (_("P"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (_route && _route->solo_safe()) {
|
||||
solo_button_label.set_text (X_("!"));
|
||||
if (!Config->get_solo_control_is_listen_control()) {
|
||||
solo_button_label.set_text (_("S"));
|
||||
} else {
|
||||
switch (Config->get_listen_position()) {
|
||||
case AfterFaderListen:
|
||||
solo_button_label.set_text (_("A"));
|
||||
break;
|
||||
case PreFaderListen:
|
||||
solo_button_label.set_text (_("P"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
@ -1842,7 +1839,7 @@ MixerStrip::on_key_release_event (GdkEventKey* ev)
|
|||
break;
|
||||
|
||||
case GDK_r:
|
||||
cerr << "Stole that r\n";
|
||||
cerr << "Stole that r\n";
|
||||
rec_enable_release (&fake);
|
||||
return true;
|
||||
break;
|
||||
|
@ -1866,7 +1863,7 @@ MixerStrip::on_key_release_event (GdkEventKey* ev)
|
|||
bool
|
||||
MixerStrip::on_enter_notify_event (GdkEventCrossing*)
|
||||
{
|
||||
Keyboard::magic_widget_grab_focus ();
|
||||
Keyboard::magic_widget_grab_focus ();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -147,7 +147,6 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
|
|||
Gtk::VBox whvbox;
|
||||
Gtk::EventBox top_event_box;
|
||||
Gtk::EventBox* spacer;
|
||||
Gtk::Alignment gain_meter_alignment;
|
||||
|
||||
void hide_clicked();
|
||||
void width_clicked ();
|
||||
|
@ -156,11 +155,11 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
|
|||
Gtk::VBox global_vpacker;
|
||||
|
||||
ProcessorBox processor_box;
|
||||
GainMeter gpm;
|
||||
PannerUI panners;
|
||||
GainMeter gpm;
|
||||
PannerUI panners;
|
||||
|
||||
Gtk::Table button_table;
|
||||
Gtk::Table solo_led_table;
|
||||
Gtk::Table solo_led_table;
|
||||
Gtk::HBox below_panner_box;
|
||||
Gtk::Table middle_button_table;
|
||||
Gtk::Table bottom_button_table;
|
||||
|
@ -286,7 +285,7 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
|
|||
void update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width width, bool input_button);
|
||||
void port_connected_or_disconnected (ARDOUR::Port *, ARDOUR::Port *);
|
||||
|
||||
static std::string meter_point_string (ARDOUR::MeterPoint);
|
||||
static std::string meter_point_string (ARDOUR::MeterPoint);
|
||||
};
|
||||
|
||||
#endif /* __ardour_mixer_strip__ */
|
||||
|
|
Loading…
Reference in New Issue
Block a user