summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-04-29 21:30:07 +1000
committerPaul Davis <paul@linuxaudiosystems.com>2015-09-16 16:55:17 -0400
commit45d487f16e8be102bfcdefcd950a69c886495b94 (patch)
treec7c043a09d5f363030374330f1a7cd354d561c4b
parent74db5abc7ea5429bc47942475841dfca328ab3ac (diff)
Move ARDOUR_UI::ui_scale into UIConfiguration class
-rw-r--r--gtk2_ardour/ardour_button.cc8
-rw-r--r--gtk2_ardour/ardour_knob.cc2
-rw-r--r--gtk2_ardour/ardour_ui.cc2
-rw-r--r--gtk2_ardour/ardour_ui.h1
-rw-r--r--gtk2_ardour/ardour_ui2.cc2
-rw-r--r--gtk2_ardour/ardour_ui_dialogs.cc2
-rw-r--r--gtk2_ardour/ardour_ui_options.cc2
-rw-r--r--gtk2_ardour/editor.cc2
-rw-r--r--gtk2_ardour/gain_meter.cc6
-rw-r--r--gtk2_ardour/level_meter.cc2
-rw-r--r--gtk2_ardour/marker.cc6
-rw-r--r--gtk2_ardour/meter_patterns.cc4
-rw-r--r--gtk2_ardour/meter_strip.cc8
-rw-r--r--gtk2_ardour/mixer_strip.cc4
-rw-r--r--gtk2_ardour/monitor_section.cc2
-rw-r--r--gtk2_ardour/mono_panner.cc8
-rw-r--r--gtk2_ardour/panner_ui.cc2
-rw-r--r--gtk2_ardour/processor_box.cc12
-rw-r--r--gtk2_ardour/stereo_panner.cc2
-rw-r--r--gtk2_ardour/time_axis_view.cc2
-rw-r--r--gtk2_ardour/ui_config.cc6
-rw-r--r--gtk2_ardour/ui_config.h4
22 files changed, 46 insertions, 43 deletions
diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc
index 7dca32e689..69229f6332 100644
--- a/gtk2_ardour/ardour_button.cc
+++ b/gtk2_ardour/ardour_button.cc
@@ -208,7 +208,7 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *)
uint32_t text_color;
uint32_t led_color;
- const float corner_radius = std::max(2.f, _corner_radius * ARDOUR_UI::ui_scale);
+ const float corner_radius = std::max(2.f, _corner_radius * ARDOUR_UI::config()->get_ui_scale());
if (_update_colors) {
set_colors ();
@@ -440,12 +440,12 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *)
//black ring
cairo_set_source_rgb (cr, 0, 0, 0);
- cairo_arc (cr, 0, 0, _diameter * .5 - 1 * ARDOUR_UI::ui_scale, 0, 2 * M_PI);
+ cairo_arc (cr, 0, 0, _diameter * .5 - 1 * ARDOUR_UI::config()->get_ui_scale(), 0, 2 * M_PI);
cairo_fill(cr);
//led color
ArdourCanvas::set_source_rgba (cr, led_color);
- cairo_arc (cr, 0, 0, _diameter * .5 - 3 * ARDOUR_UI::ui_scale, 0, 2 * M_PI);
+ cairo_arc (cr, 0, 0, _diameter * .5 - 3 * ARDOUR_UI::config()->get_ui_scale(), 0, 2 * M_PI);
cairo_fill(cr);
cairo_restore (cr);
@@ -527,7 +527,7 @@ ArdourButton::on_size_request (Gtk::Requisition* req)
CairoWidget::on_size_request (req);
if (_diameter == 0) {
- const float newdia = rintf (11.f * ARDOUR_UI::ui_scale);
+ const float newdia = rintf (11.f * ARDOUR_UI::config()->get_ui_scale());
if (_diameter != newdia) {
_pattern_height = 0;
_diameter = newdia;
diff --git a/gtk2_ardour/ardour_knob.cc b/gtk2_ardour/ardour_knob.cc
index 5cb671b465..bca5e28661 100644
--- a/gtk2_ardour/ardour_knob.cc
+++ b/gtk2_ardour/ardour_knob.cc
@@ -330,7 +330,7 @@ ArdourKnob::on_motion_notify_event (GdkEventMotion *ev)
//scale the adjustment based on keyboard modifiers & GUI size
- const float ui_scale = max (1.f, ARDOUR_UI::ui_scale);
+ const float ui_scale = max (1.f, ARDOUR_UI::config()->get_ui_scale());
float scale = 0.0025 / ui_scale;
if (ev->state & Keyboard::GainFineScaleModifier) {
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 5486daf431..6b0d8a3c2f 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -166,8 +166,6 @@ ARDOUR_UI *ARDOUR_UI::theArdourUI = 0;
sigc::signal<void, framepos_t, bool, framepos_t> ARDOUR_UI::Clock;
sigc::signal<void> ARDOUR_UI::CloseAllDialogs;
-float ARDOUR_UI::ui_scale = 1.0;
-
static bool
ask_about_configuration_copy (string const & old_dir, string const & new_dir, int version)
{
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index 1ae81f54f1..f2ad1bb0d6 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -186,7 +186,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
static ARDOUR_UI *instance () { return theArdourUI; }
static UIConfiguration *config () { return theArdourUI->ui_config; }
- static float ui_scale;
PublicEditor& the_editor() { return *editor;}
Mixer_UI* the_mixer() { return mixer; }
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index 172e45d4e7..6a15ec8ea0 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -216,7 +216,7 @@ ARDOUR_UI::tearoff_settings (const char* name) const
return 0;
}
-#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::ui_scale))
+#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::config()->get_ui_scale()))
void
ARDOUR_UI::setup_transport ()
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc
index 7d7ee7d60b..7de91bc5ae 100644
--- a/gtk2_ardour/ardour_ui_dialogs.cc
+++ b/gtk2_ardour/ardour_ui_dialogs.cc
@@ -223,7 +223,7 @@ ARDOUR_UI::set_session (Session *s)
editor_meter_peak_display.set_name ("meterbridge peakindicator");
editor_meter_peak_display.unset_flags (Gtk::CAN_FOCUS);
- editor_meter_peak_display.set_size_request (std::max(9.f, rintf(8.f * ui_scale)), -1);
+ editor_meter_peak_display.set_size_request (std::max(9.f, rintf(8.f * ARDOUR_UI::config()->get_ui_scale())), -1);
editor_meter_peak_display.set_corner_radius (3.0);
editor_meter_max_peak = -INFINITY;
diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc
index 0c59a66213..a4fcd89b59 100644
--- a/gtk2_ardour/ardour_ui_options.cc
+++ b/gtk2_ardour/ardour_ui_options.cc
@@ -423,8 +423,6 @@ ARDOUR_UI::parameter_changed (std::string p)
? ArdourCanvas::WaveView::Rectified : ArdourCanvas::WaveView::Normal);
} else if (p == "show-waveform-clipping") {
ArdourCanvas::WaveView::set_global_show_waveform_clipping (ARDOUR_UI::config()->get_show_waveform_clipping());
- } else if (p == "font-scale") {
- ui_scale = config()->get_font_scale () / 102400.;
} else if (p == "waveform-cache-size") {
/* GUI option has units of megabytes; image cache uses units of bytes */
ArdourCanvas::WaveView::set_image_cache_size (ARDOUR_UI::config()->get_waveform_cache_size() * 1048576);
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index e69c28609e..0a51b0ee09 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -414,7 +414,7 @@ Editor::Editor ()
samples_per_pixel = 2048; /* too early to use reset_zoom () */
- timebar_height = std::max(12., ceil (15. * ARDOUR_UI::ui_scale));
+ timebar_height = std::max(12., ceil (15. * ARDOUR_UI::config()->get_ui_scale()));
TimeAxisView::setup_sizes ();
ArdourMarker::setup_sizes (timebar_height);
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index 34bbc95cbc..956b25b6df 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -100,8 +100,8 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
next_release_selects = false;
_width = Wide;
- fader_length = rint (fader_length * ARDOUR_UI::ui_scale);
- fader_girth = rint (fader_girth * ARDOUR_UI::ui_scale);
+ fader_length = rint (fader_length * ARDOUR_UI::config()->get_ui_scale());
+ fader_girth = rint (fader_girth * ARDOUR_UI::config()->get_ui_scale());
if (horizontal) {
gain_slider = manage (new HSliderController (&gain_adjustment, boost::shared_ptr<PBD::Controllable>(), fader_length, fader_girth));
@@ -935,7 +935,7 @@ GainMeterBase::redraw_metrics()
meter_ticks2_area.queue_draw ();
}
-#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::ui_scale))
+#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::config()->get_ui_scale()))
GainMeter::GainMeter (Session* s, int fader_length)
: GainMeterBase (s, false, fader_length, 24)
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index ba8113d4c2..4b06675d46 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -260,7 +260,7 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width)
width = thin_meter_width;
}
- width = rint (width * ARDOUR_UI::ui_scale);
+ width = rint (width * ARDOUR_UI::config()->get_ui_scale());
if ( meters.size() > 0
&& nmeters == visible_meter_count
diff --git a/gtk2_ardour/marker.cc b/gtk2_ardour/marker.cc
index 0c7376934c..49b4f2c1b0 100644
--- a/gtk2_ardour/marker.cc
+++ b/gtk2_ardour/marker.cc
@@ -77,8 +77,8 @@ ArdourMarker::ArdourMarker (PublicEditor& ed, ArdourCanvas::Container& parent, g
{
const double MH = marker_height - 1;
- const double M3 = std::max(1.f, rintf(3.f * ARDOUR_UI::ui_scale));
- const double M6 = std::max(2.f, rintf(6.f * ARDOUR_UI::ui_scale));
+ const double M3 = std::max(1.f, rintf(3.f * ARDOUR_UI::config()->get_ui_scale()));
+ const double M6 = std::max(2.f, rintf(6.f * ARDOUR_UI::config()->get_ui_scale()));
/* Shapes we use:
*
@@ -403,7 +403,7 @@ ArdourMarker::setup_name_display ()
limit = _right_label_limit;
}
- const float padding = std::max(2.f, rintf(2.f * ARDOUR_UI::ui_scale));
+ const float padding = std::max(2.f, rintf(2.f * ARDOUR_UI::config()->get_ui_scale()));
/* Work out how wide the name can be */
int name_width = min ((double) pixel_width (_name, name_font) + padding, limit);
diff --git a/gtk2_ardour/meter_patterns.cc b/gtk2_ardour/meter_patterns.cc
index b9653e6ab3..4cf184987a 100644
--- a/gtk2_ardour/meter_patterns.cc
+++ b/gtk2_ardour/meter_patterns.cc
@@ -304,7 +304,7 @@ meter_render_ticks (Gtk::Widget& w, MeterType type, vector<ARDOUR::DataType> typ
float box_l=0;
float box_w=0;
-#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::ui_scale))
+#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::config()->get_ui_scale()))
if (tickleft) {
if (w.get_name().substr(0, 3) == "Bar") {
box_w = PX_SCALE(2, 2);
@@ -641,7 +641,7 @@ meter_render_metrics (Gtk::Widget& w, MeterType type, vector<DataType> types)
const double fixfontsize = 1.0;
#else
// counter-act global font-scaling.
- const double fixfontsize = std::min(1.0, 0.9 / sqrtf(ARDOUR_UI::ui_scale));
+ const double fixfontsize = std::min(1.0, 0.9 / sqrtf(ARDOUR_UI::config()->get_ui_scale()));
#endif
font.set_weight (Pango::WEIGHT_NORMAL);
diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc
index cd33ba345b..3279bd64e1 100644
--- a/gtk2_ardour/meter_strip.cc
+++ b/gtk2_ardour/meter_strip.cc
@@ -58,7 +58,7 @@ PBD::Signal1<void,MeterStrip*> MeterStrip::CatchDeletion;
PBD::Signal0<void> MeterStrip::MetricChanged;
PBD::Signal0<void> MeterStrip::ConfigurationChanged;
-#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::ui_scale))
+#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::config()->get_ui_scale()))
MeterStrip::MeterStrip (int metricmode, MeterType mt)
: AxisView(0)
@@ -544,8 +544,8 @@ 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 *= ARDOUR_UI::ui_scale;
- tnh *= ARDOUR_UI::ui_scale;
+ nh *= ARDOUR_UI::config()->get_ui_scale();
+ tnh *= ARDOUR_UI::config()->get_ui_scale();
int prev_height, ignored;
bool need_relayout = false;
@@ -810,7 +810,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(PX_SCALE(18, 18), tnh * ARDOUR_UI::ui_scale);
+ number_label.set_size_request(PX_SCALE(18, 18), tnh * ARDOUR_UI::config()->get_ui_scale());
} else {
number_label.hide();
}
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 5054c5e2d4..64f4a64c31 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -257,7 +257,7 @@ MixerStrip::init ()
_comment_button.signal_clicked.connect (sigc::mem_fun (*this, &RouteUI::toggle_comment_editor));
// TODO implement ArdourKnob::on_size_request properly
-#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::ui_scale))
+#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::config()->get_ui_scale()))
trim_control.set_size_request (PX_SCALE(19), PX_SCALE(19));
#undef PX_SCALE
trim_control.set_tooltip_prefix (_("Trim: "));
@@ -703,7 +703,7 @@ MixerStrip::set_width_enum (Width w, void* owner)
set_button_names ();
- const float scale = std::max(1.f, ARDOUR_UI::ui_scale);
+ const float scale = std::max(1.f, ARDOUR_UI::config()->get_ui_scale());
switch (w) {
case Wide:
diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc
index 5a09311d26..9ee8a87541 100644
--- a/gtk2_ardour/monitor_section.cc
+++ b/gtk2_ardour/monitor_section.cc
@@ -55,7 +55,7 @@ using namespace std;
Glib::RefPtr<ActionGroup> MonitorSection::monitor_actions;
-#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::ui_scale))
+#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::config()->get_ui_scale()))
MonitorSection::MonitorSection (Session* s)
: AxisView (s)
diff --git a/gtk2_ardour/mono_panner.cc b/gtk2_ardour/mono_panner.cc
index 496f67d007..991481a0c6 100644
--- a/gtk2_ardour/mono_panner.cc
+++ b/gtk2_ardour/mono_panner.cc
@@ -138,7 +138,7 @@ MonoPanner::on_expose_event (GdkEventExpose*)
const int lr_box_size = height - 2 * step_down;
const int pos_box_size = (int)(rint(step_down * .8)) | 1;
const int top_step = step_down - pos_box_size;
- const double corner_radius = 5 * ARDOUR_UI::ui_scale;
+ const double corner_radius = 5 * ARDOUR_UI::config()->get_ui_scale();
o = colors.outline;
f = colors.fill;
@@ -253,8 +253,8 @@ MonoPanner::on_expose_event (GdkEventExpose*)
context->set_line_width (2.0);
context->move_to (spos + (pos_box_size/2.0), top_step); /* top right */
context->rel_line_to (0.0, pos_box_size); /* lower right */
- context->rel_line_to (-pos_box_size/2.0, 4.0 * ARDOUR_UI::ui_scale); /* bottom point */
- context->rel_line_to (-pos_box_size/2.0, -4.0 * ARDOUR_UI::ui_scale); /* lower left */
+ context->rel_line_to (-pos_box_size/2.0, 4.0 * ARDOUR_UI::config()->get_ui_scale()); /* bottom point */
+ context->rel_line_to (-pos_box_size/2.0, -4.0 * ARDOUR_UI::config()->get_ui_scale()); /* lower left */
context->rel_line_to (0.0, -pos_box_size); /* upper left */
context->close_path ();
@@ -266,7 +266,7 @@ MonoPanner::on_expose_event (GdkEventExpose*)
/* marker line */
context->set_line_width (1.0);
- context->move_to (spos, 1 + top_step + pos_box_size + 4.0 * ARDOUR_UI::ui_scale);
+ context->move_to (spos, 1 + top_step + pos_box_size + 4.0 * ARDOUR_UI::config()->get_ui_scale());
context->line_to (spos, half_lr_box + step_down + lr_box_size - 1);
context->set_source_rgba (UINT_RGBA_R_FLT(po), UINT_RGBA_G_FLT(po), UINT_RGBA_B_FLT(po), UINT_RGBA_A_FLT(po));
context->stroke ();
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc
index 9d40a90a93..4130559204 100644
--- a/gtk2_ardour/panner_ui.cc
+++ b/gtk2_ardour/panner_ui.cc
@@ -240,7 +240,7 @@ PannerUI::setup_pan ()
return;
}
- const float scale = std::max (1.f, ARDOUR_UI::ui_scale);
+ const float scale = std::max (1.f, ARDOUR_UI::config()->get_ui_scale());
if (_current_uri == "http://ardour.org/plugin/panner_2in2out#ui")
{
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index 8a913641a3..6ceda3b8d8 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -510,7 +510,7 @@ ProcessorEntry::toggle_panner_link ()
ProcessorEntry::Control::Control (boost::shared_ptr<AutomationControl> c, string const & n)
: _control (c)
, _adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0, 1, 0.01, 0.1)
- , _slider (&_adjustment, boost::shared_ptr<PBD::Controllable>(), 0, max(13.f, rintf(13.f * ARDOUR_UI::ui_scale)))
+ , _slider (&_adjustment, boost::shared_ptr<PBD::Controllable>(), 0, max(13.f, rintf(13.f * ARDOUR_UI::config()->get_ui_scale())))
, _slider_persistant_tooltip (&_slider)
, _button (ArdourButton::led_default_elements)
, _ignore_ui_adjustment (false)
@@ -792,7 +792,7 @@ PluginInsertProcessorEntry::plugin_insert_splitting_changed ()
if (_plugin_insert->splitting () || in != sinks)
{
- _routing_icon.set_size_request (-1, std::max (7.f, rintf(7.f * ARDOUR_UI::ui_scale)));
+ _routing_icon.set_size_request (-1, std::max (7.f, rintf(7.f * ARDOUR_UI::config()->get_ui_scale())));
_routing_icon.set_visible(true);
_input_icon.show();
} else {
@@ -817,7 +817,7 @@ PluginInsertProcessorEntry::hide_things ()
ProcessorEntry::PortIcon::PortIcon(bool input) {
_input = input;
_ports = ARDOUR::ChanCount(ARDOUR::DataType::AUDIO, 1);
- set_size_request (-1, std::max (2.f, rintf(2.f * ARDOUR_UI::ui_scale)));
+ set_size_request (-1, std::max (2.f, rintf(2.f * ARDOUR_UI::config()->get_ui_scale())));
}
bool
@@ -838,7 +838,7 @@ ProcessorEntry::PortIcon::on_expose_event (GdkEventExpose* ev)
cairo_rectangle (cr, 0, 0, width, height);
cairo_fill (cr);
- const double dx = rint(max(2., 2. * ARDOUR_UI::ui_scale));
+ const double dx = rint(max(2., 2. * ARDOUR_UI::config()->get_ui_scale()));
if (_ports.n_total() > 1) {
for (uint32_t i = 0; i < _ports.n_total(); ++i) {
if (i < _ports.n_midi()) {
@@ -886,7 +886,7 @@ ProcessorEntry::RoutingIcon::on_expose_event (GdkEventExpose* ev)
cairo_rectangle (cr, ev->area.x, ev->area.y, ev->area.width, ev->area.height);
cairo_clip (cr);
- cairo_set_line_width (cr, max (1.f, ARDOUR_UI::ui_scale));
+ cairo_set_line_width (cr, max (1.f, ARDOUR_UI::config()->get_ui_scale()));
cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
Gtk::Allocation a = get_allocation();
@@ -936,7 +936,7 @@ ProcessorEntry::RoutingIcon::on_expose_event (GdkEventExpose* ev)
cairo_curve_to (cr, si_x, 0, si_x0, height, si_x0, 0);
cairo_stroke (cr);
} else if (midi_sources == 0 && midi_sinks == 1) {
- const double dx = 1 + rint(max(2., 2. * ARDOUR_UI::ui_scale));
+ const double dx = 1 + rint(max(2., 2. * ARDOUR_UI::config()->get_ui_scale()));
// draw "T"
// TODO connect back to track-input of last midi-out if any, otherwise draw "X"
const float si_x = rintf(width * .2f) + .5f;
diff --git a/gtk2_ardour/stereo_panner.cc b/gtk2_ardour/stereo_panner.cc
index cdd4d94f18..6fa8241eb1 100644
--- a/gtk2_ardour/stereo_panner.cc
+++ b/gtk2_ardour/stereo_panner.cc
@@ -151,7 +151,7 @@ StereoPanner::on_expose_event (GdkEventExpose*)
height = get_height ();
const int step_down = rint(height / 3.5);
- const double corner_radius = 5.0 * ARDOUR_UI::ui_scale;
+ const double corner_radius = 5.0 * ARDOUR_UI::config()->get_ui_scale();
const int lr_box_size = height - 2 * step_down;
const int pos_box_size = (int)(rint(step_down * .8)) | 1;
const int top_step = step_down - pos_box_size;
diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc
index d4c1dbf508..41c41ae4c3 100644
--- a/gtk2_ardour/time_axis_view.cc
+++ b/gtk2_ardour/time_axis_view.cc
@@ -82,7 +82,7 @@ Glib::RefPtr<Gtk::SizeGroup> TimeAxisView::midi_scroomer_size_group = Glib::RefP
void
TimeAxisView::setup_sizes()
{
- name_width_px = ceilf (100.f * ARDOUR_UI::ui_scale);
+ name_width_px = ceilf (100.f * ARDOUR_UI::config()->get_ui_scale());
}
TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* rent, Canvas& /*canvas*/)
diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc
index 8e6c03a980..cc8a737cd9 100644
--- a/gtk2_ardour/ui_config.cc
+++ b/gtk2_ardour/ui_config.cc
@@ -180,6 +180,12 @@ UIConfiguration::set_pango_fontsize ()
pango_cairo_font_map_set_resolution ((PangoCairoFontMap*) pango_cairo_font_map_get_default(), val/1024);
}
+float
+UIConfiguration::get_ui_scale ()
+{
+ return get_font_scale () / 102400.;
+}
+
void
UIConfiguration::map_parameters (boost::function<void (std::string)>& functor)
{
diff --git a/gtk2_ardour/ui_config.h b/gtk2_ardour/ui_config.h
index bd60173158..0a6e7cda5d 100644
--- a/gtk2_ardour/ui_config.h
+++ b/gtk2_ardour/ui_config.h
@@ -80,10 +80,12 @@ class UIConfiguration : public PBD::Stateful
void reset_dpi ();
void set_pango_fontsize ();
+
+ float get_ui_scale ();
static sigc::signal<void> DPIReset;
- sigc::signal<void,std::string> ParameterChanged;
+ sigc::signal<void,std::string> ParameterChanged;
void map_parameters (boost::function<void (std::string)>&);
void parameter_changed (std::string);