Releases: lasse-tech/modrunner
Release list
ModRunner 1.1.0
A second interface of ModRunner's own, and the engine running on three
platforms.
Classic replaces the Workbench imitation. The shapes it is built from stay —
bevelled panels, two-pixel edges, recessed readouts, a monospaced grid — but the
colours, the window gadgets and the typeface are the project's own, and it comes
in two palettes: Ember, orange on slate, and Neon, cyan and magenta on
near-black. Switch skin and palette mid-song from the View menu, from Settings,
or from the VIEW row in the player. The app no longer needs a Topaz font
installed; it draws from a bitmap face made for it.
The same interface is now drawn a second way, into a pixel buffer with no
toolkit under it, which is what modrunner screenshot writes to a PNG.
Engine and command line on Linux and Windows. Audio output sits behind a
backend protocol — AVFoundation on Apple's platforms, miniaudio elsewhere — and
both are built and tested on every push. The interface stays macOS only.
Settings from 1.0.0 are carried over: the skin, its palette and the window's
size and position all survive the renames.
Install: download the disk image below, drag ModRunner to Applications. It
is signed and notarised, so it opens without a Gatekeeper warning. macOS 13 or
later.
The full list of changes is in
CHANGELOG.md.
ModRunner 1.0.0
Added
- MMD0 and MMD1 loader, following the pointer discipline the format
specification insists on, with bounds checks on every structure - Paula-style replayer: four or more voices, Amiga period table, per-voice
looping, Catmull-Rom resampling, soft clipping - Effects
0x00–0x0F, including the0x0Fmisc group and the$80–$C0
range of0x0Cthat rewrites an instrument's default volume - Extended MMD1 effects
0x11–0x1F: single-tick pitch and volume slides,
ProTracker-style vibrato, set finetune, line loop, cut note, sample start
offset, jump to next sequence entry, replay line, note delay and retrigger - AmigaOS 3.x style interface: bevelled panels, per-voice VU meters, transport,
song position scrubbing, playlist with drag and drop - Tracker view showing the current block's note data under a fixed playhead,
toggleable and remembered between launches; the window resizes to match - Module statistics in the status line: blocks, lines, notes, samples
- Switchable visualisation: per-voice levels or an oscilloscope of the output
- Display synchronised to the speakers, compensating for output latency
- The window position is remembered, separately per skin, and discarded when it
would land on a screen that is no longer attached - ProTracker
.modsupport, loaded into the same model and played by the same
replayer; the effect dialect is carried on the module, since the command
numbers mean different things in the two formats - The Amiga output filter, switchable and remembered between launches
- Per-channel mute and solo
- Opens modules from the command line and from the Finder;
.medand.mod
are declared as document types with their own UTIs, andmake associate
registers ModRunner as their default application - Offline-rendering test suite and a WAV export for listening checks
- Four example modules by the author
Notes
- MMD2 and MMD3 are detected and reported rather than played
- Synthetic, hybrid and MIDI instruments are parsed but stay silent; hold/decay
(0x08) and synth jump (0x0E) are not implemented - Playback verified against libxmp: 0.985 envelope correlation at zero lag,
duration within 0.4 s over a 3:27 module