Skip to content

Releases: lasse-tech/modrunner

ModRunner 1.1.0

Choose a tag to compare

@lasse-tech lasse-tech released this 18 Aug 10:40

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

Choose a tag to compare

@lasse-tech lasse-tech released this 12 Aug 18:38

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 0x000x0F, including the 0x0F misc group and the $80$C0
    range of 0x0C that rewrites an instrument's default volume
  • Extended MMD1 effects 0x110x1F: 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 .mod support, 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; .med and .mod
    are declared as document types with their own UTIs, and make 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