tildearrow / furnace

a multi-system chiptune tracker compatible with DefleMask modules
GNU General Public License v2.0
2.57k stars 206 forks source link

Volume portamento (vol porta) effect (D3xx, D4xx for fast) #2102

Closed alederer closed 1 month ago

alederer commented 1 month ago

[re-opening since previously had a force-push]

Storing a "volSpeedTarget" on the channels and clearing volSpeed upon crossing it. "volSpeedTarget" gets cleared on all actions that set volSpeed (other than volume portamento).

notes

if effect value is 0 (D300), besides clearing volSpeed/volSpeedTarget it also applies any provided volume as normal (normally when D3/D4 are present on a row, volume doesn't get applied, because it's interpreted as data for the volume portamento)

caveats

no idea if these are good effect codes to choose
no idea if my implementation on the command stream side works