PerryAsleep / GrooveAuthor

GrooveAuthor is an editor for authoring StepMania charts.
MIT License
21 stars 2 forks source link

[BUG] Already set BPMs are not inherited on chart creation if no chart was previously defined #8

Open marysiamzawka opened 7 months ago

marysiamzawka commented 7 months ago

Bug Description Creating a new chart in a simfile with no charts but set BPM results in said chart having default BPM.

Steps to Reproduce

  1. Use a text editor to prepare a .sm file with the following contents:
    #TITLE:BPM Test;
    #BPMS:0.000=212.000;

    Note that #BPMS is set.

  2. Open prepared .sm file using GrooveAuthor
  3. Create a chart of any type

Expected Behavior The tempo event on Beat #0 should set the BPM to 212.

Screenshots obraz

Version v0.1.0.0

Log GrooveAuthor 2024-04-11 22-09-56.log

Additional Content n/a

Additional Context I have tested this with both .sm and .ssc files

PerryAsleep commented 7 months ago

Thank you for reporting this. I'll consider ways for improving this.

If you are interested in setting the tempo on a newly created chart you can do that by creating a new song directly in GrooveAuthor through Ctrl+N or by using File > New Song. While you can directly create sm or ssc files outside of the editor and set the tempo before opening them, you do not need to.

If you are interested in an explanation for why this behavior occurs it is because GrooveAuthor always uses chart timing and never uses song timing. Some documentation including the reasoning behind that decision can be found here: Song And Chart Timing. In your example file there is no chart, so the timing properties defined on the song are not applied anywhere.

marysiamzawka commented 7 months ago

The move to chart timing is actually a great thing.

The issue I described could be considered as an edge case, as I was testing GrooveAuthor with a bunch of "skeleton" simfiles which only have metadata and song BPM/offset filled in, and under current circumstances I'd have to manually add the BPM/offset again