Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pro Drums and Enable dynamics options not working (.mid / .chart, CH Engine) #14

Open
jpetersen5 opened this issue Sep 28, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@jpetersen5
Copy link

Enabling / disabling these options have no effect on the output path, and the output path seems to always be the score of an optimal, non-dynamic non-pro path.

Through testing I've found that .chart songs do properly calculate dynamics, but not pro drums.

It probably has something to do with the note value calculation here:

    if (note->flags & SightRead::FLAGS_DRUMS) {
        if (note->flags & SightRead::FLAGS_CYMBAL) {
            note_value = engine.base_cymbal_value();
        }
        if (note->flags & (SightRead::FLAGS_GHOST | SightRead::FLAGS_ACCENT)) {
            note_value *= 2;
        }
    }

It could be the SightRead flags aren't being set properly so these conditions aren't passing.

image

Thanks for the hard work

@GenericMadScientist
Copy link
Owner

Good catch, I'll give it a look.

@GenericMadScientist GenericMadScientist added the bug Something isn't working label Sep 28, 2024
@GenericMadScientist
Copy link
Owner

GenericMadScientist commented Oct 3, 2024

Turns out there's two main issues at play here.

If a chart has pro drum markers, SightRead reads them correctly and CHOpt correctly disables them for drawing non-pro drums, but does not disable them for scoring. There's a similar bug with disco flip.

The other issue is that it looks like if a chart has no cymbals, CH will automatically convert YBG to cymbals. Need to investigate further to see what the behaviour is, and ask Matt.

I don't see any issues with dynamics. If you can provide an example, I'd be happy to look further.

@jpetersen5
Copy link
Author

Sure, and thanks for figuring things out. Dynamics work fine for .chart as far as I can tell, it's .mid that have issues, or maybe specifically .mid from files generated by the Onyx toolkit? I don't have any .mid that aren't from Onyx so I don't know but here's an example:
image
And to show it has dynamics:
image

Here's the link to the song file if you want it for testing
https://drive.google.com/drive/folders/1sFNJn1mzS-jzJRrShz2v4gDmBBy5lk2k

@jpetersen5
Copy link
Author

Also, regarding a chart defaulting to cymbals, maybe it's related to how toms are charted in midi? At least when charting in a DAW like Reaper, YBG are default cymbal notes and you have to mark the toms with an extra midi note for pro drums
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants