Skip to content

Major rewrite#12

Merged
heucuva merged 63 commits intogotracker:mainfrom
heucuva:cleanup-generics
Jan 21, 2024
Merged

Major rewrite#12
heucuva merged 63 commits intogotracker:mainfrom
heucuva:cleanup-generics

Conversation

@heucuva
Copy link
Copy Markdown
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