Ok… those schemas still dont’ answer my questions about PlaybackEngineVersions … The PlaybackEngineVersion doesn’t seem to refer to the XML document versions… as PlaybackEngineVersion of 4 is what gets saved in a new song in 2.0 … PlaybackEngineVersion of 1 obviously still uses Speed … I have no idea what 2 and 3 do. Perhaps I should just save a blank song and edit that node to see. I guess I’ll just do that for now
This is only changed for old songs when you “upgrade” them in the song settings pane, so old songs saved with new document versions still behave and play back “old”.
Engine Version: Renoise Version which the songs where started on:
0: <= 1.8.0 (sample FX effect command changes)
1: <= 1.9.1 (instrument envelopes sustain behavior changed)
2: <= 2.0.0 “Speed” got replaced by LPB and TPL
3: <= 2.0.0 (sample FX effect command changes)
4: current
As said above: you just have to look at the “PlaybackEngineVersion”. If it doesnt exist, then assume PlaybackEngineVersion = 1 which → Speed.
And yes, as soon as TPL/Speed is automated you can not rely on the TicksPerLine entry in the global song data, as the automation will override it. Parsing automation (following) is very tricky though if you want it to be 100% correct. You also have to parse pattern stop / delay & BPM automation then…
I’m already parsing F1 and F0 effects… wasn’t even aware there was pattern stop/delay effects does some reesurch
So even if the automation exists in the 3rd pattern, it will affect the speed in the first pattern? It’s really no problem for me to compensate for this, I just need to know to be sure
Seems I’ll also have to parse pattern breaks
Also, will song groove affect my song time calculation? If so, I’ve gotta figure out how :s