On 09.09.2018 15:21, Stefan Westerfeld via beast wrote:
- volume_db = 0, panning = 0 -> left_volume = 1, right_volume = 1
- volume_db = 0, panning = -100 -> left_volume = 1.41, right_volume = 0
- volume_db = 0, panning = 100 -> left_volume = 0, right_volume = 1.41
What you write here makes sense for libbse. How's the beast-gtk UI going to look
for this though?
Instead of two volume sliders we only need one. The two meters could be put next to each other. So this would mean left-to-right volume slider (only one slider), scale numbers (-96..+12), left meter, right meter.
Ideal for pan would be a round knob, but we could for now use a slider above the other widgets left to right (where left is -100%, right is +100%).
At least using (sqrt(2) ~= 3dB) is what I believe is the correct value here, I'd
have to double-check that before implementing it.
The monitoring code for our level meters uses dB SPL, which is 20log10(avg) and
corresponds to the power ratio of the signal, so the value to use here would be
more around 2. See also: https://en.wikipedia.org/wiki/Decibel#Acoustics_2
Lets discuss details not now, but when I've written the code.
Also sync is no longer needed
then, and should be removed.
The sync property is saved im BSE files, so we need compat loading code at
least. If sync is to be removed from the UI depends on how that's designed and
implemented to cope with panning. Thus my question above.
Right, it should be ignored during read (real compat code is just needed to translate the stored left and right factors => volume/pan). Sync == true files will have identical values for left and right volume, so sync is not needed to load the file, and sync == false files will have their panning information in left and right volume, so this needs to be translated.
There need no longer be a widget for sync either, as using the volume slider affects both, and using pan == 0 is the exact behaviour of our previous sync == true mode.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.