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

Major rewrite #12

Merged
merged 63 commits into from
Jan 21, 2024
Merged

Major rewrite #12

merged 63 commits into from
Jan 21, 2024

Conversation

heucuva
Copy link
Contributor

@heucuva heucuva commented Jan 21, 2024

Major Rewrite

  • Replaced (mostly-)dedicated playback engines for each format with a single engine that can be configured to supply all the feature support and quirks those formats want.
    • The new engine ("machine") can be ticked without generating sample output, which is very handy when debugging.
    • This new engine fixes a myriad issues with playback of notes.
  • Replaced the old tracing system with a more information-dense tracing system.

Added

  • Added extensible support for new filters and effects.
  • Added "quirks" support for formats so they can dictate their special behaviors that other formats don't have (or want).

- update dependencies
- some clean up use of generics
- fix issue with IT sample speed calculations
- simplify period calculations
- reuse period patterns
- require derivations of period types
- less direct playback structs
- simpler playback management
- reenable fadeout code
- split channel processing out to format
- fix issue were instrument envelopes might not get setup properly
- also stub out s3m surround support
@heucuva heucuva merged commit 75416c9 into gotracker:main Jan 21, 2024
@heucuva heucuva deleted the cleanup-generics branch January 21, 2024 19:11
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.

1 participant