comparison foosdk/sdk/foobar2000/helpers/VolumeMap.cpp @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
comparison
equal deleted inserted replaced
0:e9bb126753e7 1:20d02a178406
1 #include "StdAfx.h"
2 #include "VolumeMap.h"
3
4 static constexpr double powval = 2.0;
5 static constexpr double silence = -100.0;
6
7 double VolumeMap::SliderToDB2(double slider) {
8 double v = SliderToDB(slider);
9 v = floor(v * 2.0 + 0.5) * 0.5;
10 return v;
11 }
12
13 double VolumeMap::SliderToDB(double slider) {
14 if (slider > 0) {
15 return pfc::max_t<double>(silence,10.0 * log(slider) / log(powval));
16 } else {
17 return silence;
18 }
19 }
20 double VolumeMap::DBToSlider(double volumeDB) {
21 return pfc::clip_t<double>(pow(powval,volumeDB / 10.0), 0, 1);
22 }