zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit e1a3d3a2e664f600ffa3aac5d1f589a26b0ef3db
parent c61f50fa520d64ee5e3d0eeea08cc44d9223bd61
Author: fundamental <mark.d.mccurry@gmail.com>
Date:   Wed, 14 Aug 2013 11:54:12 -0400

Fix Inverted Sliders

Diffstat:
Msrc/UI/Fl_Osc_Slider.cpp | 18+++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/UI/Fl_Osc_Slider.cpp b/src/UI/Fl_Osc_Slider.cpp @@ -7,6 +7,11 @@ #include <cassert> #include <sstream> +static double min__(double a, double b) +{ + return a<b?a:b; +} + Fl_Osc_Slider::Fl_Osc_Slider(int X, int Y, int W, int H, const char *label) :Fl_Slider(X,Y,W,H,label), Fl_Osc_Widget(this), cb_data(NULL, NULL) { @@ -26,23 +31,26 @@ Fl_Osc_Slider::~Fl_Osc_Slider(void) void Fl_Osc_Slider::OSC_value(float v) { - Fl_Slider::value(v+minimum()); + const float min_ = min__(minimum(), maximum());//flipped sliders + Fl_Slider::value(v+min_); } void Fl_Osc_Slider::OSC_value(char v) { - Fl_Slider::value(v+minimum()); + const float min_ = min__(minimum(), maximum());//flipped sliders + Fl_Slider::value(v+min_); } void Fl_Osc_Slider::cb(void) { + const float min_ = min__(minimum(), maximum());//flipped sliders const float val = Fl_Slider::value(); if(osc_type == 'f') - oscWrite(path, "f", val-minimum()); + oscWrite(path, "f", val-min_); else if(osc_type == 'i') - oscWrite(path, "i", (int)(val-minimum())); + oscWrite(path, "i", (int)(val-min_)); else - oscWrite(path, "c", (char)(val-minimum())); + oscWrite(path, "c", (char)(val-min_)); //OSC_value(val); if(cb_data.first)