Skip to content

fix: correctly reset tempo on frame change when retrieve channel state setting is used #373

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

Conversation

henrikvilhelmberglund
Copy link
Contributor

This pull request aims to correctly reset the tempo on frame change when the retrieve channel state setting is used.
Eg. right now if you have a groove Oxx or Fxx in only the first pattern and change the frame while playing back, the tempo is reset using the default speed/tempo instead of the retrieved groove/speed settings. This PR changes this to correctly reset the tempo to the actual groove setting used so the tempo stays consistent even when changing frames during playback.

It looks like there was some groove/speed handling in there already (which didn't work using retrieve channel state) so I split that code with an if/else depending on General.bRetrieveChanState and took the working code from CSoundGen::ApplyGlobalState(). Maybe there's a smarter way to fix this, if that's the case feel free to edit.

fixes #357

Changes in this PR:

@Gumball2415
Copy link
Collaborator

i cannot edit PRs with branches from external repositories, so i'll have to recreate this PR in a new branch, if desired

@henrikvilhelmberglund
Copy link
Contributor Author

Do you know why? I have Allow edits by maintainers checked

image

But yes you can make a new PR if that's better.

@Gumball2415
Copy link
Collaborator

oh, i guess i was wrong. i recall trying this on a different PR of yours and it didn't work

@Gumball2415 Gumball2415 merged commit c20d476 into Dn-Programming-Core-Management:main Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pressing up/down in focused frame list makes playback ignore inherited Fxx commands
2 participants