Releases: schismtracker/schismtracker
Schism Tracker 20251014
Summary of changes since the 20250825 release:
- AIFF exports and saves now include extra metadata like WAV and FLAC; this includes sample loops, autovibrato settings, volume, panning, and the version of Schism used to save the file. For info on how this information is stored, see the
aiff_headerfunction infmt/aiff.c. - FLAC exports and saves now include
ENCODERmetadata which stores the version of Schism used to save the file - Song exports in all supported formats now save the song title as metadata
- Implemented S90, S9E, and S9F Modplug extensions
- Implemented SSE and AVX enhanced versions of some functions, such as sample min/max, providing a huge increase in speed, especially with very large samples
- Fix non-native-endian signed sample saving (mostly relevant for AIFF)
- Fix sample playback not working when focused on number entries in the Sample List
- Fix loading of 7-bit Oktalyzer samples
- Fix a nasty bug where Cxx would get ignored if paired with a pattern loop effect
- Fix logic bug in the volume ramping portion of the player (regressed in may 2009), which caused some clicking issues with very sudden volume changes
- Fix the built-in clipboard and system clipboard getting out of sync, especially with Alt-D
- Fix compilation on very old GCC
- Respect existing file mode when saving files on POSIX systems
- Added support for zlib decompression, allowing native loading of gzip-compressed files
- Added support for loading and saving .sbi (Sound Blaster Instrument) files
- Reverted Zxx-related changes in 20250825, as they proved to just make things worse
- Fixed FLAC multi-channel export
- Fixed buffer overflow under some audio drivers when SDL 3 is used
- Fixed position display in the info page being completely incorrect on little endian systems
- OPL: Fix first note played when keyjazzing being ignored
- D00: Fix a problem where a specially crafted input file could be used to hang or crash Schism
- D00: Add detection of older D00 files
- Windows: Combine MIDI in and out ports with the same name, manufacturer ID, and product ID as one duplex port.
- ASIO: The "default" device now tries each driver in order, rather than using the first one in the registry.
- JACK: Fix use-after-free if the JACK daemon fails to start
- OS X: Fix a hang on older versions when trying to execute hooks (mainly affects PowerPC)
- OS X: Fix flicker between aliased and anti-aliased graphics
- SDL 1.2/SDL 2: Fix mouse cursor getting completely warped under older SDL versions
- SDL 1.2: Use color palettes for 8-bit video
- SDL 1.2: Fix audio failing to initialize when using sdl12-compat in conjunction with sdl2-compat.
Schism Tracker 20250825
Summary of changes since the 20250728 release:
- Increased sample position precision, fixing some weird intonation problems (see 8bitbubsy's precision testing page for more info)
- New "sections" of the schism-log now include a timestamp notating when they were appended.
- AdLib VU meters are now based on the actual output volume, rather than being like Scream Tracker's "emulated" VU meters.
- Improve mouse precision on buttons
- Fixed some weird sporadic problems with sample sustain loops
- Fixed some files (notably mp3, jpg, png) causing hangs when Schism is compiled with FFmpeg sample loading support
- Fixed bias within the nearest neighbor video blitter
- Fix weird edge-cases with MIDI keyjazz
- Fix weird text input bugs
- Fix Shift-Tab behavior in the pattern editor (should not reset the selection)
- Fix completely broken numlock behavior in some widgets
- Fix a crash when loading in a sample that was already pre-loaded for playback (i.e. playing a sample within the sample library)
- Fix a memory leak when reading metadata from FLAC files.
- Fix FLAC library loading on Windows (regressed in 20250728, due to a new upstream dependency)
- Fix weird behavior when pressing F5 while in the save-check dialog
- Fixed a lot of broken behavior in some largely untested code paths, largely thanks to @logiclrd implementing a proper test-suite
- Added support for emulating old Schism playback quirks. Only a few are currently implemented (but more to come in the future)
- MED: Implement reading song title within the file list
- D00: Fix note-cut count being ignored; many files now play correctly
- Windows: Fix file saving randomly deciding to not work (regressed in 20250728)
Schism Tracker 20250728
Summary of changes since the 20250415 release:
- Too many bug fixes to list, many of which fixed by @logiclrd (thanks!!)
- Add support for loading Sony/Sonic Foundry Wave64 (.w64) samples
- Add support for loading Epic MegaGames MASI (.psm) modules
- Add highly experimental support for loading EdLib Tracker D00 (.d00) modules. Since this format is quite unique, many files won't play (or even load) correctly.
- Add sample-only SoundFont (.sf2) support. No instrument data is loaded at all for now.
- Improve performance of nearest-neighbor blitter on SDL 1.2 (also for SDL 2 and SDL 3 when utilizing software rendering)
- Heighten maximum sample length to 268435456 (0x10000000) samples, rather than 18000000 samples
- Fix some edge cases with built-in key repeat (e.g. Shift-Period)
- Fix sample and instrument library keybinds being incorrect in the menu bar on systems where its implemented
- Pattern Editor: shift selection now gets applied on key release, not the next key press. This is the Impulse Tracker (and literally everything else) behavior.
- Load Module: Directory contents are now filtered asynchronously rather than synchronously, to prevent a hang on startup when there are large amounts of files in the modules directory.
- Sample List: Apply exact speed when resampling (thanks @logiclrd)
- Message Editor: Fix tab and copy/paste
- Font Editor: Highlight all matching characters instead of just the first match (thanks @logiclrd)
- MIDI: Fix a lot of port hotplugging bugs. Tested on all systems Schism supports (besides OSS, since I don't know how port hotplugging is even supposed to work there..)
- Diskwriter: support exporting to 24-bit and 32-bit in all formats
- Windows: Better support for files over 4 GB on 32-bit systems (still might not work totally correct)
- Windows: Add experimental ASIO-compatible audio driver. It can be enabled in the Shift-F5 drivers menu.
- Windows: Add a simple crash handler that attempts to dump the current song and info about the crash into the current working directory.
- Mac OS: Implement clipboard routines.
- Mac OS: Implement selection of audio devices besides the default.
- Mac OS: Un-hide the cursor when it leaves the window bounds
- Mac OS X: Audio files supported by CoreAudio (opus, mp3, etc) can now be loaded into Schism.
- Wii: Fix build being completely broken
- IT: Don't ignore song history timestamps set to midnight.
- XM: Fix loading modules packed by BoobieSqueezer, would cause a crash if played
- IFF: Support loading 16-bit "16SV" IFF samples
- ULT: Expand importable note range (thanks @cs127)
- FLAC: Fix hang when loading samples on newer versions of libFLAC
- IT/ITS/ITI: Fix sample name truncation to 12 bytes on save
- WAV: Fix 16-bit WAV sample saving
As always, please report any bugs or regressions.
Full changelog: 2025041...2025072
Schism Tracker 20250415
Summary of changes since the 20250313 release:
- Fix saving 16-bit WAV files (would unreasonably error, even though the data written was correct)
- Fix saving stereo samples at all
- Fix playing loop count always being 1
- Allow reading and writing sample metadata in and out of WAV and FLAC files, including loop, sustain loop, default volume & panning, global volume, and autovibrato settings.
- Don't assume a U.S. keyboard when interpreting shifted forms of number keys.
- Increase sample view increment precision, fixing sample view for large samples.
- Fix WAV loading on big endian architectures
- MOD: Detect Tetramed and some TakeTracker modules.
- XM: Read MIDI macros (Modplug extension).
- Windows: Interpret wide characters as UCS-2 on Windows older than Windows 2000
- Classic Mac OS: Holding Command upon opening will allow you to type in a command line, set video driver, and output command line output to a file. This is all saved within the regular Schism config file.
- XBOX: Add XBOX support using the nxdk SDK. Assumes a U.S. keyboard layout always, even on non-U.S. systems.
NOTE: The win32 build has been updated as of 2025-04-25; the original build did not succeed and did not include a working binary (nor a binary at all). In accordance with the GPL, a retroactive patch has been applied to make the build succeed, which is available here: e3d2b07
Schism Tracker 20250313
Summary of changes since the 20250307 release:
- Fix a regression causing a possible crash or distorted output when saving 16-bit samples (thanks @Spectere)
- Fix a regression in version 20241225 causing sample headers in XI files to be saved incorrectly (thanks @Spectere)
- Fix XI saving using 1-based indices instead of 0-based indices (thanks @Spectere)
- Fix ITS/ITI loaders ignoring all characters after a NUL byte
- Fix module versioning being offset by about a month
- Alt-F12 (waterfall): Fix stereo logic being off by one pixel
- Autoconf: Fix configure not checking for C99 when it is generated with autoconf older than 2.70
- Linux binaries are now built on Ubuntu 22.04 (rather than 20.04), increasing the minimum glibc version from 2.30 to 2.35. For the majority of users this shouldn't matter.
Schism Tracker 20250307
Summary of changes since the 20250305 release:
- Fix a crash under Linux, if the JACK libraries were loaded but the server is not started, or the server dies while Schism is running
- Optimize sample drawing routines to be less CPU intensive with particularly large samples
- Fix pattern to sample functionality (was broken for ages)
- Document pattern to sample functionality in the helptexts while in Schism mode
Schism Tracker 20250305
Summary of changes since the 20250208 release:
- Fix import of sample filenames from IT/ITS/ITI files
- Fix buffer overflow in character set handling of Modplug/OpenMPT IT files
- Fix inverted logic for portamento key-off handling
- General speed improvements when using older Windows systems, and possibly others as well
- Add handling for Windows 10/11 dark mode (only for version 1809 and newer)
- Fix retrieval of the Documents and Application Data folders on Windows 95
- Fix runtime library loads always failing under Windows 9x
- Retrieve longer device names when using the waveout driver on Windows, if the system supports it
- Multi-write export now puts OPL instruments in their proper channels, rather than dumping everything into channel 1
- Fix general path handling on Wii/Wii U
- Add OS/2 build
Schism Tracker 20250208
This is a small bugfix release that primarily fixes playback regressions introduced with the previous release.
Summary of changes since the 20250202 release:
- Fix incorrect handling of Note Cuts (caused some super weird changes in playback)
- Fix clicking with Note Cut DNAs
- Fix saving stereo and 16-bit XI files
- Fix importing and exporting AIFF files (sample rate was always zero)
- Fix the Alt-F12 page and spectrum visualizer having weird holes in them
- MOD/XM: Load
A0FandAF0asD0EandDE0respectively to work around playback differences
Schism Tracker 20250202
Summary of changes since the 20241226 release:
- On Windows, directsound and winmm devices are now handled internally by Schism, with the drivers renamed to "dsound" and "waveout" respectively to match the SDL 1.2 drivers. Configurations using the old names need not be updated, since the old driver names are treated as aliases.
- Note: there is a known bug in some virtual machine directsound drivers (namely, Virtual PC 2007 and VMware) where creating a sound buffer returns an error, namely
DSERR_CONTROLUNAVAIL. Wine has caught this bug as well. On these systems waveout will work perfectly fine and is used as a fallback.
- Note: there is a known bug in some virtual machine directsound drivers (namely, Virtual PC 2007 and VMware) where creating a sound buffer returns an error, namely
- Likewise, on OS X, CoreAudio output is now handled internally by Schism.
- Time and date formatting can now be configured by the user; see
configuration.mdfor more information.- The time clock display in the top right has also been adjusted to fit this setting. This means seconds are no longer shown in any configuration. If this behavior is desired, it can be added back as an option (maybe
24hrsec?).
- The time clock display in the top right has also been adjusted to fit this setting. This means seconds are no longer shown in any configuration. If this behavior is desired, it can be added back as an option (maybe
- Linux builds now have the helper shell scripts
run.shandinstall.shto aid in running and installing Schism respectively. - MIDI out on Windows will no longer drops events under heavy load.
- MIDI out when using OSS or JACK should be substantially less taxing on the CPU, as MIDI out events now use system timers.
- MOD saving supports more than four channels now.
- Floating point WAV/AIFF/AU importing now uses hardware floating point numbers, if available.
- Fix incorrect handling of MIDI macros (still broken; but should match OpenMPT.)
- Fix VU meters on AdLib channels
- Fix modifier keys on Windows 9x
- Fix MIDI config saving commenting out the entire config file
- Fix a crash when loading some extremely large files.
- Fix note cut being cut off immediately regardless of whether ramping was enabled or not.
- Fix envelope carry being dependent on a previous Note Off.
- Fix an illegal instruction exception when running Schism on a Windows XP machine that doesn't support SSE2.
- Minimum version on Mac OS X PowerPC is lifted to Tiger due to problems with the toolchain.
- Mac OS X PowerPC now has more optimized variants for G3 and G4 systems.
- The DrawSprocket SDL 1.2 driver is now compiled in Classic Mac OS builds.
- Update copyright information for 2025
Schism Tracker 20241226
I strongly encourage all Linux users who may be running 20241225 to upgrade to this release.
Summary of changes since the 20241225 release:
- Fix a critical bug causing SDL 2.0 to not load properly on Linux, making Schism fall back to SDL 1.2. This is less of an issue for people who are using
sdl12-compat. - Fix incorrect note dot behavior on the note dots page.
- The OS X release has been reuploaded since the versioning in the Info.plist broke. (see: issue #585)