Apply correction curve to the dials
Display the volume levels on the dials with a correction curve that resembles what the volume knob on the hardware does.
This commit is contained in:
@@ -141,7 +141,19 @@ static void dial_measure(GtkWidget *widget,
|
||||
|
||||
static inline double calc_valp(double val, double mn, double mx)
|
||||
{
|
||||
return (val - mn)/(mx-mn);
|
||||
if (val <= mn)
|
||||
return 0.0;
|
||||
if (val >= mx)
|
||||
return 1.0;
|
||||
|
||||
// convert val from mn..mx to 0..1
|
||||
val = (val - mn)/(mx-mn);
|
||||
|
||||
// 10^(val - 1) converts it to 0.1..1 with a nice curve
|
||||
val = pow(10, val - 1);
|
||||
|
||||
// convert to 0..1 again
|
||||
return (val - 0.1) / 0.9;
|
||||
}
|
||||
|
||||
static inline double calc_val(double valp, double mn, double mx)
|
||||
|
||||
Reference in New Issue
Block a user