Skip to content

Releases: gotracker/gotracker

0.3.0 - Update to playback v1.5.0

24 Dec 20:30
0d1230f

Choose a tag to compare

What's Changed

Full Changelog: v0.2.3...v0.3.0

0.2.3 - Update to Go 1.24, fix OPL playback in S3M

17 Dec 19:53
f2aefc7

Choose a tag to compare

What's Changed

Full Changelog: v0.2.2...v0.2.3

0.2.2 - Config support, upgraded playback (v1.1.0), updated license

18 Mar 02:09
eebf33c

Choose a tag to compare

What's Changed

Full Changelog: v0.2.1...v0.2.2

0.2.1 - Update to playback v1.0.0 (major rewrite)

21 Jan 22:16
b907512

Choose a tag to compare

What's Changed

  • Split out player and helper libraries by @heucuva in #95
  • update to playback v1.0.0, rework player code by @heucuva in #98

Full Changelog: v0.1.16...v0.2.1

0.1.16 - Huge list of fixes

20 Jul 01:58
a714476

Choose a tag to compare

Added

  • [Command Line] Added BPM and Tempo overrides from command line.
  • [S3M/MOD] Added support for MOD effects to function on tick 0.
    • S3M doesn't support this unless the "old effect" functionality is enabled. This required adding support for the flag coming from the S3M reader (or passed in by MOD conversion to S3M).
  • [Library] Added unit test code to the optional package.
    • This is in preparation for moving the entire optional package out into its own repo.
  • [IT/XM] Added missing AutoVibrato waveform for inverted sawtooth.

Fixed or Changed

  • [IT/XM/S3M/MOD] Moved each format's channel data update transactions to their own files.
    • This helps fix an issue where notes were retriggered every tick. This wasn't detected before because the sample position was correctly preserved, so it didn't sound wrong. The downside was that all envelopes were being trashed.
  • [IT/XM/S3M/MOD] Cleaned up calculation helpers for volume, note, panning, etc.
  • [Playback] Fixed numerous issues with envelopes of all kinds.
    • They were either retriggering when they shouldn't have or they were just not playing at all.
  • [IT/XM] Fixed an issue with AutoVibrato not working.
  • [IT] Fixed an issue where Portamento-to-Note was not working as expected.
  • [Playback] The channel/row display now leverages generics to let the channel data generate its own display more efficiently.
  • [Internal] Reduced call complexity for generic-typed values throughout the project.
  • [IT/XM] Fixed the decoding of the AutoVibrato waveform selection.
  • [IT/XM/S3M/MOD] Fixed a number of calculation issues with Linear and Amiga note/period calculations.
  • [Modules] Updated github.com/gotracker/voice to v1.1.4
    • This includes a fix for IT NewNoteActions not knowing how to quit.
  • [Modules] Updated github.com/gotracker/goaudiofile to v1.0.14
    • This includes a fix for IT format decoding of feature flags.

0.1.15 - Major IT / XM improvements, tracing

12 Jun 00:55
410bde5

Choose a tag to compare

Added

  • Added Tracing functionality to debug player
    • it's only set up in IT for now
  • Added a flag for enabling IT New Note Actions (they're off by default)
    • This really needs to be auto-set when detecting the IT module playback version that supports the feature, but for now it's off by default.

Fixed or Changed

  • IT New Note Actions now work as expected
    • while the reworked functionality should include a lot more processing requirements, it seems this version actually decreased requirements significantly, except in extreme circumstances.
    • added vol-0 optimizations to help curb issues where "past" notes play forever.
  • Eliminated repeated replication of shared state data between channel memories
  • Fixed issue with S3M/IT global volume quirks being wrong
  • Fixed a major issue where arpeggios were causing envelopes to reset every tick in (nearly) every format.
    • This required a major rewrite of playback (re)triggering support.
  • Fixed a few memory issues with EchoFilter
  • Fixed NoteCut effect on XM playback
  • Fixed the cut-off frequency calculation for the IT ResonantFilter

0.1.14 - Numerous IT fixes

09 May 01:52
1bdc24c

Choose a tag to compare

Fixed or Changed

  • Upgraded voice, gomixing, and gosound libs
  • Fixed issue where IT volume was being corrupted
  • IT ResonantFilter and Amiga LPF now produce more accurate results
  • Corrected IT ResonantFilter initialization parameters
  • Fixed issue where IT Resonant Filter was calculating the wrong cutoff frequency for instruments
  • Fixed issue where Echo Filter was just failing to do much of anything.
  • Simplified Echo Filter significantly.

0.1.13 - Envelope improvements, Resonance filter rework

07 May 05:26
891dff5

Choose a tag to compare

Added

  • Added .env to .gitignore so my editor stops asking me to push it
  • Added support for extended resonance filter range in IT

Fixed or Changed

  • Cleaned up and filled out effect player interfaces
  • Upgraded voice package to v1.1.2 to take advantage of more generics support
  • Split out structures from player interfaces to make the code more maintainable
  • Fixed up the IT resonance filter so it sounds less weird

Removed

  • Removed more usages of reflection
  • Removed stupid usages of generics

0.1.12 - Performance, memory, and playback fixes

06 May 04:05
66d45d5

Choose a tag to compare

Fixed or Changed

  • Significantly reduced memory allocations throughout the codebase
    • This results in a 30% improvement in most processing due to fewer hits against the GC and memory/mathematical operations that work nicer with the Go 1.18 compiler
  • Better use of generics
    • the optional.Value code benefits from this significantly.
    • sadly, due to the runtime selection of format functionality of mixing and sampling the use of generics doesn't quite make sense (and it's hard to make it work right)
  • Pulled in recent fixes/updates to the gomixing code that plays much nicer with AVX/SSE memory moves.
  • Fixed an issue where S3M/MOD playback abruptly changes patterns when not expected
  • Fixed an issue where PCM voices produced strange audio when their samples reached the end of playback
  • Updated the go module name to match reality

0.1.11 - mod/s3m playback fix

03 May 00:15
ab9af9d

Choose a tag to compare

Fixed or Changed

  • Fixed issue with mod/s3m loading where no pattern data was actually saved.
  • Standardized the s3m code to be more alike other players.
  • Changed a function name in xm channel data code that didn't match the expected channel data interface.