f2e-spec
f2e-spec copied to clipboard
Song GAP adjustment in gameplay
Suggestion
It would be awesome to be able to adjust per-song offset (GAP) in-game while playing. Similar to how global offsets can already be adjusted (Ctrl+,/./-/=/[/])
Use case
This is useful for off-sync songs. Changing sync in Performous directly is much quicker than having to change the .txt and reload Performous over and over again
Extra info/examples/attachments
I know this feature from Stepmania. It uses F5/F6 I believe to change offset. It's implemented by changing the sync in the in-memory chart struct and then writing the new struct to the disk, overwriting the old chart file.
If Performous can write a chart to disk from memory (as opposed to just reading), it could use the same approach.
Alternatively, Performous could keep track of the byte offset of the #GAP field content within the file, and then just replace that byte range with the new value.
Yet alternatively, Performous could leave the file on-disk unmodified and instead save offset adjustments in the database.xml
Neat suggestion! This would make timing songs from usdb with random videos also possible/easier 👍
@kangalioo do you also want to save the offset back to the file?
do you also want to save the offset back to the file?
Two of three suggested implementation approaches would involve that, yes. But perhaps the approach that leaves song files unmodified would be cleanest