libretro / gambatte-libretro

Hard fork of Gambatte to the libretro API.
http://sourceforge.net/projects/gambatte/
GNU General Public License v2.0
104 stars 78 forks source link

Per-sound channel individual volume core options (WIP, help needed) #166

Open eadmaster opened 3 years ago

eadmaster commented 3 years ago

This is meant to "fix" games having unbalanced SFX vs the BGM.

I've found the PSG::accumulateChannels() in sound.cpp may be the method to change, if you haven't better suggestions i'll try this myself.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/94603525-per-sound-channel-individual-volume-core-options-wip-help-needed?utm_campaign=plugin&utm_content=tracker%2F1258974&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1258974&utm_medium=issues&utm_source=github).
eadmaster commented 3 years ago

UPDATE: it seems to work somehow, btw i need to figure out the correct scaling factor for the volume. If you have any suggestion please post here.

eadmaster commented 3 years ago

I think i've figured out how to mute and max the volume correctly. I've just submitted the PR, please review: https://github.com/libretro/gambatte-libretro/pull/167

eadmaster commented 3 years ago

UPDATE: the issue with 32bit systems should be fixed now in my fork, but the volume scaling is still not working as expected as reported here by bslenul. If you can help me with this please post here.