Skip to content

Conversation

Psycast
Copy link
Collaborator

@Psycast Psycast commented Jul 6, 2025

label_manager

Implements a dedicated Label/Bookmark manager for quick jumping around a file and makes labels generally useful.

This also makes Labels get saved into a .sm along with .ssc, this is outside spec but no issues have appeared due to this change.

Also add prevention for characters ;,= that cause file loading issues in AV and games.

Includes:

  • Clicking a list item will jump to that section of the song.

  • A unit switch that changes the displayed timestamp as either:

    • Time
    • Beat
    • Row
  • A copy to clipboard button for quick sharing for things such as notes between users. This uses the current time unit selected.

@uvcat7
Copy link
Owner

uvcat7 commented Jul 6, 2025

I want to hold off on adding new features until we get our new release out. This looks great though.

@sukibaby
Copy link
Collaborator

sukibaby commented Jul 8, 2025

I would like to have labels discarded when saving to sm. But I otherwise fully support this and know it's a feature that people have asked for.

@Psycast
Copy link
Collaborator Author

Psycast commented Jul 8, 2025

Is there any specific reason you are against saving them in .sm?

afaict, saving non-standard data to the files has become more common such as GrooveAuthor saving editor specific data for itself.

@sukibaby
Copy link
Collaborator

sukibaby commented Jul 8, 2025

I actually disagree with GrooveAuthor's choice to save extra fields in .sm files. I don't mind new fields in .ssc since I consider that to be an actively evolving file type.

I don't think any fields should be put in .sm that wasn't there before, I feel like .sm should exist for legacy compatibility, but that is just my personal opinion. It's not something I feel strongly enough about to fight one way or another.

Maybe others can chime in on if this is something they care about?

@uvcat7
Copy link
Owner

uvcat7 commented Jul 9, 2025

@teejusb, you're the Stepmania expert--does this cause an issue or is it irrelevant?

@teejusb
Copy link
Collaborator

teejusb commented Jul 10, 2025

Even if it doesn't cause an issue, I agree with @sukibaby.

I also don't think we should be saving extra fields if the format doesn't make use of them. It makes the files themselves non-standard and really just causes confusion for people who wouldn't know otherwise. Just because GA does it, which already sounds non-ideal, doesn't mean AV should as well. If people want editor specific data, that should probably a supplemental file and not jammed into the sm imo.

Gamewise, it's not useful unless the theme somehow makes use of it, which it shouldn't since that's not its job to do so (the engine should generally take care of parsing the sm/sscs). I also think .sm is essentially legacy and pushing for .ssc is the way to go. The .sm spec is basically frozen since .ssc already supports everything and more.

@uvcat7
Copy link
Owner

uvcat7 commented Jul 10, 2025

Thanks for the input!
@Psycast if you wouldn't mind removing the label saves from .sm, I will test and merge.

@Psycast
Copy link
Collaborator Author

Psycast commented Jul 10, 2025

Might be worth adding a warning to saving a .sm if any SM5 features are used that they won't be saved.

@teejusb
Copy link
Collaborator

teejusb commented Jul 10, 2025

Here are the tags that get parsed by .sm files:
https://github.com/itgmania/itgmania/blob/release/src/NotesLoaderSM.cpp#L202-L236

Might be worth adding a warning to saving a .sm if any SM5 features are used that they won't be saved.

Agreed! I think it's good to give users more insight into their files so they learn what is correct/incorrect.

@uvcat7 uvcat7 self-requested a review July 10, 2025 22:37
@nobbele
Copy link
Collaborator

nobbele commented Jul 14, 2025

Why not put these tags in comments?
Having editor metadata in comments sounds reasonable to me

@StarbotArc
Copy link
Collaborator

That's actually a pretty effective idea. Honestly if it works on most simulators then it'd be the best solution.

@Psycast
Copy link
Collaborator Author

Psycast commented Jul 14, 2025

This was generally to expand the usefulness of labels already preset in ssc files, not to add AV specific metadata.

@nobbele
Copy link
Collaborator

nobbele commented Jul 14, 2025

I see, possible future feature then

@uvcat7 uvcat7 self-requested a review July 22, 2025 03:47
Copy link
Owner

@uvcat7 uvcat7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great!

@uvcat7 uvcat7 merged commit 11d42e7 into beta Aug 7, 2025
6 checks passed
@uvcat7 uvcat7 deleted the label-manager branch August 7, 2025 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants