Dn-FamiTracker icon indicating copy to clipboard operation
Dn-FamiTracker copied to clipboard

[Feature Request] Additive Volume Mixing

Open TheRealQuantam opened this issue 1 year ago • 0 comments

FamiTracker currently uses multiplicative mixing for combining channel and envelope volumes, something along the lines of volume = (chan_vol && env_vol) ? max(chan_vol * env_vol / 15, 1) : 0 (although IIRC volume slides are additive, though maybe I'm thinking of bhop fades). While this works fine for most compositions in FT that are designed around it, it really works against the use of FamiTracker as a lingua franca for music of different game engines, as additive volume mixing (e.g. volume = (chan_vol && env_vol) ? max(chan_vol + env_vol - 15, 1) : 0) is the rule among game engines and multiplicative mixing is the exception.

This issue requests some means of supporting additive mixing in Dn-FT. There are various ways this could be accomplished. A couple possibilities:

  1. Add a module-level option to select between multiplicative mixing and additive mixing
  2. Add additive mixing as an option for volume envelope type to allow it to be selected on a per-instrument basis

TheRealQuantam avatar Jun 09 '23 01:06 TheRealQuantam