tildearrow / furnace

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

[Suggestion] Making 9xxx continuous #638

Closed 0x5066 closed 1 year ago

0x5066 commented 1 year ago

Some ProTracker tracks, like professional tracker by hoffman and daytripper, make use of ProTracker's 9xx "Set Offset" effect, which seems to be continuous until a new or the same instrument is used.

The aforementioned song does this to avoid the newly set offset being overwritten when using the same instrument again:

ModPlug Tracker MOD
|...........|........F04
|...........|...........
|...........|........F02
|...01...948|...........
|G#5.....C1A|........F04
|...........|...........
|...........|........F02
|...........|...........
|...........|........F04
|...........|...01...948
|........F02|C#6.....C1A
|...........|...........
|...........|........F04
|...........|...........
|...........|........F02
|...........|...........
|F#6........|........F04
|...........|...........
|...........|........F02
|...........|...........
|...........|........F04
|...........|...........
|...........|D#6.....F02
|...........|...........
|...........|........F04
|...........|...........
|...........|........F02
|...........|...........
|G#6........|........F04
|...........|...........
|...........|........F02
|...........|...........
|...........|........F04
|...........|...........
|...........|........F02
|...........|...........
|...........|G#5.....F04
|...........|...........
|...........|........F02
|...........|...........
|...........|........F04
|...........|...........
|C#6........|........F02
|...........|...........
|...........|........F04
|...........|...........
|...........|........F02
|...........|...........
|...........|F#6.....F04
|...........|...........
|...........|........F02
|...........|...........
|...........|........F04
|...........|...........
|D#6........|........F02
|...........|...........
|...........|........F04
|...........|...........
|...........|........F02
|...........|...........
|...........|G#6.....F04
|...........|...........
|...........|........F02
|...........|...........

I hope this makes sense

If this feature is added to Furnace as a compatibility flag, it'd make for some really great stuff (especially when used in conjunction with 0CXX)

tildearrow commented 1 year ago

I don't think this will be easy to implement given the way Furnace works...

akumanatt commented 1 year ago

It's funny that Eon, the module that made me add .mod import to Furnace, also abuses this behavior and I decided not to deal with it for being PT1/2's only behavior. Deflemask compatibility is already hard enough.

gbraad commented 1 year ago

I added #728. However if these are decisions, It might be best to describe these limitations as part of the documentation.