From 494009a6e28bafac071a3160fbf385c6a076ae8e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 20 Apr 2015 05:35:23 +0200 Subject: towards scaleable meter and mixer UI somewhat hacky solution, but there's no good central point to control this and get integer rounding/summing, is there? --- gtk2_ardour/ardour_button.cc | 8 +--- gtk2_ardour/ardour_ui2.cc | 4 -- gtk2_ardour/gain_meter.cc | 21 ++++++--- gtk2_ardour/level_meter.cc | 2 + gtk2_ardour/meter_patterns.cc | 41 ++++++++--------- gtk2_ardour/meter_strip.cc | 100 +++++++++++++++++++++++++----------------- gtk2_ardour/mixer_strip.cc | 6 ++- 7 files changed, 102 insertions(+), 80 deletions(-) diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc index 6381fbcb74..33f0a6852e 100644 --- a/gtk2_ardour/ardour_button.cc +++ b/gtk2_ardour/ardour_button.cc @@ -199,11 +199,7 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *) uint32_t text_color; uint32_t led_color; -#ifdef __APPLE__ - const double dpiscale = 1.0; -#else const double dpiscale = ARDOUR_UI::config()->get_font_scale () / 102400.; -#endif const double corner_radius = std::max(2.0, _corner_radius * dpiscale); if (_update_colors) { @@ -326,7 +322,7 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *) if ((_elements & VectorIcon) && _icon == RecTapeMode) { const double x = get_width() * .5; const double y = get_height() * .5; - const double r = std::min(10., std::min(x, y) * .6); // TODO we need a better way to limit max. radius. + const double r = std::min(x, y) * .6; const double slit = .11 * M_PI; cairo_save(cr); cairo_translate(cr, x, y); @@ -384,7 +380,7 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *) else if ((_elements & VectorIcon) && _icon == RecButton) { const double x = get_width() * .5; const double y = get_height() * .5; - const double r = std::min(10., std::min(x, y) * .55); // TODO we need a better way to limit max. radius. + const double r = std::min(x, y) * .55; cairo_arc (cr, x, y, r, 0, 2 * M_PI); if (active_state() == Gtkmm2ext::ExplicitActive) cairo_set_source_rgba (cr, .95, .1, .1, 1.); diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index 582d442ab8..497a379448 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -223,11 +223,7 @@ ARDOUR_UI::setup_transport () { RefPtr act; -#ifdef __APPLE__ - const double btn_scale = 1.0; -#else const double btn_scale = config()->get_font_scale () / 102400.; -#endif transport_tearoff_hbox.set_border_width (PX_SCALE(3,3)); transport_tearoff_hbox.set_spacing (PX_SCALE(3,3)); diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index 619cb349ed..3af9641070 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -63,7 +63,6 @@ using namespace std; using Gtkmm2ext::Keyboard; using namespace ArdourMeter; - static void reset_cursor_to_default (Gtk::Entry* widget) { @@ -102,6 +101,9 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int next_release_selects = false; _width = Wide; + fader_length = rint (fader_length * ARDOUR_UI::config()->get_font_scale() / 102400.); + fader_girth = rint (fader_girth * ARDOUR_UI::config()->get_font_scale() / 102400.); + if (horizontal) { gain_slider = manage (new HSliderController (&gain_adjustment, boost::shared_ptr(), fader_length, fader_girth)); } else { @@ -934,6 +936,8 @@ GainMeterBase::redraw_metrics() meter_ticks2_area.queue_draw (); } +#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * scale)) + GainMeter::GainMeter (Session* s, int fader_length) : GainMeterBase (s, false, fader_length, 24) , gain_display_box(true, 0) @@ -949,8 +953,10 @@ GainMeter::GainMeter (Session* s, int fader_length) } gain_display_box.pack_start (peak_display, true, true); + const double scale = ARDOUR_UI::config()->get_font_scale() / 102400.; + meter_metric_area.set_name ("AudioTrackMetrics"); - meter_metric_area.set_size_request(24, -1); + meter_metric_area.set_size_request(PX_SCALE(24, 24), -1); gain_automation_style_button.set_name ("mixer strip button"); gain_automation_state_button.set_name ("mixer strip button"); @@ -961,8 +967,8 @@ GainMeter::GainMeter (Session* s, int fader_length) gain_automation_style_button.unset_flags (Gtk::CAN_FOCUS); gain_automation_state_button.unset_flags (Gtk::CAN_FOCUS); - gain_automation_state_button.set_size_request(15, 15); - gain_automation_style_button.set_size_request(15, 15); + gain_automation_state_button.set_size_request (PX_SCALE(12, 15), PX_SCALE(12, 15)); + gain_automation_style_button.set_size_request (PX_SCALE(12, 15), PX_SCALE(12, 15)); fader_vbox = manage (new Gtk::VBox()); fader_vbox->set_spacing (0); @@ -973,7 +979,7 @@ GainMeter::GainMeter (Session* s, int fader_length) hbox.pack_start (fader_alignment, true, true); - set_spacing (2); + set_spacing (PX_SCALE(2, 2)); pack_start (gain_display_box, Gtk::PACK_SHRINK); pack_start (hbox, Gtk::PACK_SHRINK); @@ -984,8 +990,8 @@ GainMeter::GainMeter (Session* s, int fader_length) meter_metric_area.signal_expose_event().connect ( sigc::mem_fun(*this, &GainMeter::meter_metrics_expose)); - meter_ticks1_area.set_size_request(3,-1); - meter_ticks2_area.set_size_request(3,-1); + meter_ticks1_area.set_size_request (PX_SCALE(3, 3), -1); + meter_ticks2_area.set_size_request (PX_SCALE(3, 3), -1); meter_ticks1_area.signal_expose_event().connect ( sigc::mem_fun(*this, &GainMeter::meter_ticks1_expose)); @@ -997,6 +1003,7 @@ GainMeter::GainMeter (Session* s, int fader_length) meter_hbox.pack_start (meter_ticks2_area, false, false); meter_hbox.pack_start (meter_metric_area, false, false); } +#undef PX_SCALE GainMeter::~GainMeter () { } diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc index efa98bb434..8dc37a0134 100644 --- a/gtk2_ardour/level_meter.cc +++ b/gtk2_ardour/level_meter.cc @@ -258,6 +258,8 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width) width = thin_meter_width; } + width = rint (width * ARDOUR_UI::config()->get_font_scale() / 102400.); + while (meters.size() < nmeters) { meters.push_back (MeterInfo()); } diff --git a/gtk2_ardour/meter_patterns.cc b/gtk2_ardour/meter_patterns.cc index 25b709c827..38048e999e 100644 --- a/gtk2_ardour/meter_patterns.cc +++ b/gtk2_ardour/meter_patterns.cc @@ -289,23 +289,28 @@ meter_render_ticks (Gtk::Widget& w, MeterType type, vector typ float box_l=0; float box_w=0; + const double scale = ARDOUR_UI::config()->get_font_scale() / 102400.; +#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * scale)) if (tickleft) { if (w.get_name().substr(0, 3) == "Bar") { - box_l = width-2; box_w = 2; + box_w = PX_SCALE(2, 2); + box_l = width - box_w; } else if (w.get_name().substr(0, 4) == "Mark") { - box_l = width-2; box_w = 2; + box_w = PX_SCALE(2, 2); + box_l = width - box_w; background = false; } } else if (tickright) { if (w.get_name().substr(0, 3) == "Bar") { - box_l = 0; box_w = 2; + box_l = 0; box_w = PX_SCALE(2, 2); } else if (w.get_name().substr(0, 4) == "Mark") { - box_l = 0; box_w = 2; + box_l = 0; box_w = PX_SCALE(2, 2); background = false; } } else { - box_l = 0; box_w = 3; + box_l = 0; box_w = width; } +#undef PX_SCALE cairo_surface_t* surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width, height); cairo_t* cr = cairo_create (surface); @@ -557,7 +562,7 @@ meter_render_ticks (Gtk::Widget& w, MeterType type, vector typ pos = height - (gint) floor (height * fraction); pos = max (pos, 1); cairo_move_to(cr, 0, pos + .5); - cairo_line_to(cr, 3, pos + .5); + cairo_line_to(cr, width, pos + .5); cairo_stroke (cr); break; case DataType::MIDI: @@ -565,7 +570,7 @@ meter_render_ticks (Gtk::Widget& w, MeterType type, vector typ pos = 1 + height - (gint) floor (height * fraction); pos = min (pos, height); cairo_set_source_rgb (cr, c.get_red_p(), c.get_green_p(), c.get_blue_p()); - cairo_arc(cr, 1.5, pos + .5, 1.0, 0, 2 * M_PI); + cairo_arc(cr, width * .5, pos + .5, 1.0, 0, 2 * M_PI); cairo_fill(cr); break; } @@ -611,22 +616,27 @@ meter_render_metrics (Gtk::Widget& w, MeterType type, vector types) Pango::FontDescription font; font = Pango::FontDescription (ARDOUR_UI::config()->get_SmallMonospaceFont()); - double fixfontsize = 81920.0 / (double) ARDOUR_UI::config()->get_font_scale(); +#ifdef __APPLE__ + const double fixfontsize = 1.125; +#else + // counter-act global font-scaling. + const double fixfontsize = std::min(1.0, 1.0 / sqrt((double) ARDOUR_UI::config()->get_font_scale() / 102400.)); +#endif font.set_weight (Pango::WEIGHT_NORMAL); - font.set_size (9.0 * PANGO_SCALE * fixfontsize); + font.set_size (8.0 * fixfontsize * PANGO_SCALE); font_attr = new Pango::AttrFontDesc (Pango::Attribute::create_attr_font_desc (font)); audio_font_attributes.change (*font_attr); delete font_attr; font.set_weight (Pango::WEIGHT_ULTRALIGHT); font.set_stretch (Pango::STRETCH_ULTRA_CONDENSED); - font.set_size (8.0 * PANGO_SCALE * fixfontsize); + font.set_size (7.0 * fixfontsize * PANGO_SCALE); font_attr = new Pango::AttrFontDesc (Pango::Attribute::create_attr_font_desc (font)); midi_font_attributes.change (*font_attr); delete font_attr; - font.set_size (6.0 * PANGO_SCALE * fixfontsize); + font.set_size (6.0 * fixfontsize * PANGO_SCALE); font_attr = new Pango::AttrFontDesc (Pango::Attribute::create_attr_font_desc (font)); unit_font_attributes.change (*font_attr); delete font_attr; @@ -878,20 +888,11 @@ meter_render_metrics (Gtk::Widget& w, MeterType type, vector types) cairo_stroke (cr); } break; - case DataType::MIDI: align_center = false; // don't bleed into legend fraction = (j->first) / 127.0; pos = 1 + height - (gint) lrintf (height * fraction); pos = min (pos, height); - cairo_set_source_rgb (cr, c.get_red_p(), c.get_green_p(), c.get_blue_p()); - if (tickleft) { - cairo_arc(cr, width - 2.0, pos + .5, 1.0, 0, 2 * M_PI); - cairo_fill(cr); - } else if (tickright) { - cairo_arc(cr, 3, pos + .5, 1.0, 0, 2 * M_PI); - cairo_fill(cr); - } break; } diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc index bfba07d1cf..392149f593 100644 --- a/gtk2_ardour/meter_strip.cc +++ b/gtk2_ardour/meter_strip.cc @@ -59,6 +59,8 @@ PBD::Signal1 MeterStrip::CatchDeletion; PBD::Signal0 MeterStrip::MetricChanged; PBD::Signal0 MeterStrip::ConfigurationChanged; +#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * scale)) + MeterStrip::MeterStrip (int metricmode, MeterType mt) : AxisView(0) , RouteUI(0) @@ -68,15 +70,18 @@ MeterStrip::MeterStrip (int metricmode, MeterType mt) _tick_bar = 0; _metricmode = -1; metric_type = MeterPeak; - mtr_vbox.set_spacing(2); - nfo_vbox.set_spacing(2); - peakbx.set_size_request(-1, 14); - namebx.set_size_request(18, 52); - spacer.set_size_request(-1,0); + + const double scale = (double) ARDOUR_UI::config()->get_font_scale() / 102400.; + + mtr_vbox.set_spacing (PX_SCALE(2, 2)); + nfo_vbox.set_spacing (PX_SCALE(2, 2)); + peakbx.set_size_request (-1, PX_SCALE(14, 14)); + namebx.set_size_request (PX_SCALE(16, 18), PX_SCALE(32, 52)); + spacer.set_size_request (-1,0); set_metric_mode(metricmode, mt); - meter_metric_area.set_size_request(25, 10); + meter_metric_area.set_size_request (PX_SCALE(25, 25), 10); meter_metric_area.signal_expose_event().connect ( sigc::mem_fun(*this, &MeterStrip::meter_metrics_expose)); RedrawMetrics.connect (sigc::mem_fun(*this, &MeterStrip::redraw_metrics)); @@ -88,7 +93,7 @@ MeterStrip::MeterStrip (int metricmode, MeterType mt) mtr_vbox.pack_start (spacer, false, false); mtr_container.add(mtr_vbox); - mtr_hsep.set_size_request(-1,1); + mtr_hsep.set_size_request (-1, 1); mtr_hsep.set_name("BlackSeparator"); nfo_vbox.pack_start (mtr_hsep, false, false); @@ -119,8 +124,10 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr rt) , _route(rt) , peak_display() { - mtr_vbox.set_spacing(2); - nfo_vbox.set_spacing(2); + const double scale = (double) ARDOUR_UI::config()->get_font_scale() / 102400.; + + mtr_vbox.set_spacing (PX_SCALE(2, 2)); + nfo_vbox.set_spacing (PX_SCALE(2, 2)); SessionHandlePtr::set_session (sess); RouteUI::init (); RouteUI::set_route (rt); @@ -130,6 +137,7 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr rt) _metricmode = -1; metric_type = MeterPeak; + // note: level_meter->setup_meters() does the scaling int meter_width = 6; if (_route->shared_peak_meter()->input_streams().n_total() == 1) { meter_width = 12; @@ -157,27 +165,27 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr rt) ARDOUR_UI::instance()->set_tip (peak_display, _("Reset Peak")); max_peak = minus_infinity(); peak_display.unset_flags (Gtk::CAN_FOCUS); - peak_display.set_size_request(12, 8); - peak_display.set_corner_radius(2); + peak_display.set_size_request(PX_SCALE(12, 12), PX_SCALE(8, 8)); + peak_display.set_corner_radius(2); // ardour-button scales this peak_align.set(0.5, 1.0, 1.0, 0.8); peak_align.add(peak_display); - peakbx.pack_start(peak_align, true, true, 3); - peakbx.set_size_request(-1, 14); + peakbx.pack_start(peak_align, true, true, 2); + peakbx.set_size_request(-1, PX_SCALE(14, 14)); // add track-name & -number label number_label.set_text("-"); - number_label.set_size_request(18, 18); + number_label.set_size_request(PX_SCALE(18, 18), PX_SCALE(18, 18)); name_changed(); - name_label.set_corner_radius(2); + name_label.set_corner_radius(2); // ardour button scales radius name_label.set_elements((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text|ArdourButton::Inactive)); name_label.set_name("meterbridge label"); name_label.set_angle(-90.0); name_label.set_text_ellipsize (Pango::ELLIPSIZE_END); name_label.set_layout_ellipsize_width(48 * PANGO_SCALE); - name_label.set_size_request(18, 50); + name_label.set_size_request(PX_SCALE(18, 18), PX_SCALE(50, 50)); name_label.set_alignment(-1.0, .5); ARDOUR_UI::instance()->set_tip (name_label, _route->name()); ARDOUR_UI::instance()->set_tip (*level_meter, _route->name()); @@ -189,7 +197,7 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr rt) number_label.set_layout_ellipsize_width(18 * PANGO_SCALE); number_label.set_alignment(.5, .5); - namebx.set_size_request(18, 52); + namebx.set_size_request(PX_SCALE(18, 18), PX_SCALE(52, 52)); namebx.pack_start(namenumberbx, true, false, 0); namenumberbx.pack_start(name_label, true, false, 0); namenumberbx.pack_start(number_label, false, false, 0); @@ -207,25 +215,25 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr rt) btnbox.pack_start(solobox, false, false, 1); rec_enable_button->set_corner_radius(2); - rec_enable_button->set_size_request(18, 18); + rec_enable_button->set_size_request (PX_SCALE(18, 18), PX_SCALE(18, 18)); mute_button->set_corner_radius(2); - mute_button->set_size_request(18, 18); + mute_button->set_size_request (PX_SCALE(18, 18), PX_SCALE(18, 18)); solo_button->set_corner_radius(2); - solo_button->set_size_request(18, 18); + solo_button->set_size_request (PX_SCALE(18, 18), PX_SCALE(18, 18)); monitor_input_button->set_corner_radius(2); - monitor_input_button->set_size_request(18, 18); + monitor_input_button->set_size_request (PX_SCALE(18, 18), PX_SCALE(18, 18)); monitor_disk_button->set_corner_radius(2); - monitor_disk_button->set_size_request(18, 18); + monitor_disk_button->set_size_request (PX_SCALE(18, 18), PX_SCALE(18, 18)); - mutebox.set_size_request(18, 18); - solobox.set_size_request(18, 18); - recbox.set_size_request(18, 18); - mon_in_box.set_size_request(18, 18); - mon_disk_box.set_size_request(18, 18); + mutebox.set_size_request (PX_SCALE(18, 18), PX_SCALE(18, 18)); + solobox.set_size_request (PX_SCALE(18, 18), PX_SCALE(18, 18)); + recbox.set_size_request (PX_SCALE(18, 18), PX_SCALE(18, 18)); + mon_in_box.set_size_request (PX_SCALE(18, 18), PX_SCALE(18, 18)); + mon_disk_box.set_size_request (PX_SCALE(18, 18), PX_SCALE(18, 18)); spacer.set_size_request(-1,0); update_button_box(); @@ -284,8 +292,8 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr rt) meter_configuration_changed (_route->shared_peak_meter()->input_streams ()); - meter_ticks1_area.set_size_request(3,-1); - meter_ticks2_area.set_size_request(3,-1); + meter_ticks1_area.set_size_request(PX_SCALE(3, 3), -1); + meter_ticks2_area.set_size_request(PX_SCALE(3, 3), -1); meter_ticks1_area.signal_expose_event().connect (sigc::mem_fun(*this, &MeterStrip::meter_ticks1_expose)); meter_ticks2_area.signal_expose_event().connect (sigc::mem_fun(*this, &MeterStrip::meter_ticks2_expose)); @@ -509,6 +517,8 @@ MeterStrip::on_size_request (Gtk::Requisition* r) void MeterStrip::on_size_allocate (Gtk::Allocation& a) { + const double scale = (double) ARDOUR_UI::config()->get_font_scale() / 102400.; + const int wh = a.get_height(); int nh; int mh = 0; @@ -541,18 +551,21 @@ MeterStrip::on_size_allocate (Gtk::Allocation& a) tnh = 4 + std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_with_of_digit_0_to_9() } + nh *= scale; + tnh *= scale; + int prev_height, ignored; bool need_relayout = false; - namebx.get_size_request(ignored, prev_height); - namebx.set_size_request(18, nh + tnh); + namebx.get_size_request (ignored, prev_height); + namebx.set_size_request (PX_SCALE(18, 18), nh + tnh); if (prev_height != nh + tnh) { need_relayout = true; } - namenumberbx.get_size_request(ignored, prev_height); - namenumberbx.set_size_request(18, nh + tnh); + namenumberbx.get_size_request (ignored, prev_height); + namenumberbx.set_size_request (PX_SCALE(18, 18), nh + tnh); if (prev_height != nh + tnh) { need_relayout = true; @@ -561,8 +574,8 @@ MeterStrip::on_size_allocate (Gtk::Allocation& a) if (_route) { int nlh = nh + (_route->is_master() ? tnh : -1); name_label.get_size_request(ignored, prev_height); - name_label.set_size_request(18, nlh); - name_label.set_layout_ellipsize_width ((nh - 4 + (_route->is_master() ? tnh : 0)) * PANGO_SCALE); + name_label.set_size_request (PX_SCALE(18, 18), nlh); + name_label.set_layout_ellipsize_width ((nh - 4 + (_route->is_master() ? tnh : 0)) * PANGO_SCALE); // XXX if (prev_height != nlh) { need_relayout = true; } @@ -713,35 +726,38 @@ MeterStrip::redraw_metrics () void MeterStrip::update_button_box () { + const double scale = (double) ARDOUR_UI::config()->get_font_scale() / 102400.; + if (!_session) return; int height = 0; if (_session->config.get_show_mute_on_meterbridge()) { - height += 20; + height += PX_SCALE(18, 18) + PX_SCALE(2, 2); mutebox.show(); } else { mutebox.hide(); } if (_session->config.get_show_solo_on_meterbridge()) { - height += 20; + height += PX_SCALE(18, 18) + PX_SCALE(2, 2); solobox.show(); } else { solobox.hide(); } if (_session->config.get_show_rec_on_meterbridge()) { - height += 20; + height += PX_SCALE(18, 18) + PX_SCALE(2, 2); recbox.show(); } else { recbox.hide(); } if (_session->config.get_show_monitor_on_meterbridge()) { - height += 20 + 20; + height += PX_SCALE(18, 18) + PX_SCALE(2, 2); + height += PX_SCALE(18, 18) + PX_SCALE(2, 2); mon_in_box.show(); mon_disk_box.show(); } else { mon_in_box.hide(); mon_disk_box.hide(); } - btnbox.set_size_request(18, height); + btnbox.set_size_request(PX_SCALE(18, 18), height); check_resize(); } @@ -791,6 +807,8 @@ MeterStrip::name_changed () { if (!_route) { return; } + const double scale = (double) ARDOUR_UI::config()->get_font_scale() / 102400.; + name_label.set_text(_route->name ()); if (_session && _session->config.get_track_name_number()) { const int64_t track_number = _route->track_number (); @@ -803,7 +821,7 @@ MeterStrip::name_changed () { } const int tnh = 4 + std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_width_of_digit_0_to_9() // NB numbers are rotated 90deg. on the meterbridge -> use height - number_label.set_size_request(18, tnh); + number_label.set_size_request(PX_SCALE(18, 18), tnh * scale); } else { number_label.hide(); } diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 6225f71b89..ac0cb80dc3 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -684,6 +684,8 @@ MixerStrip::set_width_enum (Width w, void* owner) set_button_names (); + const double scale = std::max(1.0, ARDOUR_UI::config()->get_font_scale() / 102400.); + switch (w) { case Wide: @@ -704,7 +706,7 @@ MixerStrip::set_width_enum (Width w, void* owner) } - set_size_request (max (110, gpm.get_gm_width()+5), -1); + set_size_request (max (110 * scale, gpm.get_gm_width() + 5 * scale), -1); break; case Narrow: @@ -726,7 +728,7 @@ MixerStrip::set_width_enum (Width w, void* owner) panners.short_astate_string(_route->panner()->automation_state())); } - set_size_request (max (60, gpm.get_gm_width() + 10), -1); + set_size_request (max (60 * scale, gpm.get_gm_width() + 10 * scale), -1); break; } -- cgit v1.2.3