Effect Columns are triggered to early using pattern loops and pattern aliases.
Step by Step:
Create 4 patterns
loop over pattern 1 and 2
create an alias 3 -> 1 and 4 -> 2
create some sounds in pattern 3 and 4
add a dsp (e.g. filter) to the track
create some effect colum automatisation in pattern 3 for one of the dsp parameters. But not in the first row, lets say row 16.
add another effect column change of the same parameter in the same pattern at the last row which is significantly different than the first one (I don’t mean the first row)
play the loop over pattern 1 and 2 (which should contain the aliased pattern 3 and 4)
Expected Results
When the loop starts again,
the DSP parameter stays the same, because in row 1 is no change configured
Actual Results
When the loop starts again,
the DSP parameter jumps to the first effect column in the track it can find (in this example row 16) and changes the DSP parameter according to that configuration.
Extras
I add 3 files
automatisation-bug : setup like I described here
automatisation-bug-without-alias : setup without pattern aliases (but looping 2 pattern)
automatisation-bug-expectation : setup containing only one pattern, which works for some reason as expected.
It’s caused by a thing called “automation following”. I don’t think it has something to do with aliases.
When starting playback in the middle of the song, Renoise looks up what the DSP FX automation values at this position in the song would be, if you would have started the song from the beginning and played it up to this point - line by line. This is done so you can start playing the song at any position and preview/edit it, well, as if you’ve played it from the beginning.If we wouldn’t do this, you would need to start playing the song again and again from the beginning to be sure that all automation actually gets applied it does in the “final song”.
This “automation following” isalso applied when when looping in the pattern sequencer, assuming you just want to temporarily focus on a specific part of the song.
It’s not applied when looping a single pattern or a fraction of a pattern. I’m actually not sure why exactly, but there was a reason
Probably we should also apply it then to avoid confusion.
Ok, I kinda found a small fix around that, (will not work for every situation, but for some).
I’ll implement a patch in Stepp0r to avoid this problem. But a feature-toggle would be great Someday I might be able to patch renoise myself, but for now, I’m to busy.
There used to be an option in the preferences for that, but because it applies song playback it should not be a local option. Made it a per song setting now for Renoise 3.1.
Also streamlined the behavior a bit: when looping a fraction of a pattern or playing a pattern loop, automation following never will be applied. When looping one or multiple patterns in the sequencer it will be.