Repository navigation
OpenFadeR v0.2.5 : Raspberry Pi, Tight SYNC, 40 Fixes and Safer Defaults
This release adds a Raspberry Pi build and cuts memory use. SYNC locks at once and stays within a millisecond of the master. It fixes 40 behaviours found in an audit of the whole app, and changes five defaults so a live mix stays predictable and your own edits are kept.
Raspberry Pi and memory
- New download for the Raspberry Pi 3, 4, 5 and CM4 (64-bit Raspberry Pi OS, Debian 13 "trixie"). It is built with whole-program optimisation for the Pi's Cortex-A53 core. STEMS separates on the CPU.
- Memory: each loaded track is kept once, as 16-bit samples, and memory freed after a load goes back to the system. With two 6-minute tracks loaded and playing on the software renderer:
| Idle | Both playing | Peak while loading | |
|---|---|---|---|
| 0.2.4 | 74 MB | 274 MB | 391 MB |
| 0.2.5 | 73 MB | 202 MB | 259 MB |
- Release programs are smaller: the symbol table is stripped again.
- Building on the Pi itself works:
./install.shbuilds without the GPU STEMS engine on ARM Linux, and adds the menu entry and theopenfadercommand. - On a 1 GB Pi, start it with
SLINT_BACKEND=winit-software ./openfader. Set PREFS > VIEW > WAVEFORM > DRAWING RATE to 30 on a Pi 3. See docs/raspberry-pi.md.
SYNC
- SYNC locks as soon as its jump is heard, and stays within 1 ms of the master. Before, it was 28 to 51 ms off at first, took about 3.5 s to come in, and stayed 3.5 to 4 ms behind.
- The playing deck now leads the tempo. SYNC on the only playing deck makes it MASTER instead of retuning it to an idle loaded deck. A deck you pin with MASTER is still followed.
- No phase correction while a deck brakes or spins up, or while the master is scratched or played in reverse. A synced deck without a beat grid gets its tempo fader back.
Beats and loops in time
These actions used to land one audio-output delay late:
- BEAT JUMP, LOOP MOVE, jog search, the slicer, INSTANT DOUBLES and PLAY on a paused synced deck now keep the beat.
- LOOP OUT goes on in phase instead of restarting the beat.
- Loops follow the beat grid exactly: a one-beat loop no longer drifts, and halving then doubling gives the same loop back.
Changed defaults
- Beat FX tempo source: each unit has a CH / MST / TAP chip.
- CH, the default, follows the deck on the unit's channel.
- MST follows the master deck.
- TAP overrides both.
- The readout names the source, e.g.
CH1 128.00 BPM.
- Stems keep the EQ: stem mute and solo buttons no longer switch the channel to STEM ISO. In STEM ISO the EQ you set keeps working, and the stem levels apply on top.
- Reload Tag keeps your edits: text you edited in the app (title, artist, album, genre, label, comment) is kept, and the status line names the kept fields that differ from the file. Reload Tag (discard edits) takes the file's text and can be undone.
- Soft takeover: a controller knob or fader does nothing until it reaches the value on screen.
- A message says which way to turn it.
- It's on by default: PREFERENCES > CONTROLLER > MIDI CONTROLS.
Fixes
- Transport and cues
- REVERSE returns to the forward position.
- The vinyl start ramp applies to PLAY only.
- A hot cue during the PAUSE brake plays.
- CUE at the end of a track keeps the cue point.
- Deleted cues no longer come back.
- A hot cue with a loop acts as a loop.
- Mixer and effects
- AUTO GAIN no longer boosts past a track's peak. Saved gains are measured again once.
- Echo tails keep their tempo when the last deck pauses.
- LEVEL, HP MIX and effect switches no longer click.
- DRUM RELEASE FX works with an unused Beat FX on the deck.
- Library
- KEY sorts in Camelot order.
- Search matches every word across title, artist, genre, comment and key, ignoring accents.
- Auto Relocate by name never takes over another track's file.
- Cue and grid edits of a track loaded on two decks no longer overwrite each other.
./and../playlist paths no longer create duplicates.- Undo of Remove from Collection restores the track's plays.
- Sampler, BEAT LAB, MIDI, AUTOMIX
- BEAT LAB swaps on the beat without a gap.
- The sequencer no longer fires every hit at once when its pattern is shortened.
- Sampler pads follow bank switches.
- Widening to 4 decks reads the controller's current knob and fader positions for decks C and D.
- AUTOMIX re-plans when a track's analysis arrives, and SKIP works without a plan.
Stability and testing
- Continuous integration (build, tests and a packaged-app start) passes on Linux, Windows and macOS.
- SYNC and BEAT JUMP were measured from a recording of the audio output with a 120 ms output latency.
- The new controls were checked in the running app.
- The new texts are translated into all seven languages.
Downloads
Each archive includes the application, themes, controller mappings and plugins.
Windows (x86_64): openfader-0.2.5-windows-x86_64.zip. Extract it and run openfader.exe. The app is not code-signed, so SmartScreen may warn: "More info" > "Run anyway".
Linux (x86_64): openfader-0.2.5-linux-x86_64.tar.gz. Extract it and run ./openfader. It needs the usual desktop libraries (ALSA, X11 or Wayland, fontconfig). Install zenity or kdialog for the file chooser.
Raspberry Pi 3, 4, 5 and CM4 (aarch64): openfader-0.2.5-linux-aarch64-pi.tar.gz. It needs 64-bit Raspberry Pi OS based on Debian 13 ("trixie"). Extract it and run ./openfader-0.2.5-linux-aarch64-pi/openfader.
macOS (Apple silicon): OpenFadeR-0.2.5-macos-arm64.zip holds OpenFadeR.app. It is not signed or notarized: move it to Applications, then right-click > Open once and confirm. If macOS says it is damaged, run xattr -dr com.apple.quarantine /Applications/OpenFadeR.app.
Optional: ffmpeg on the PATH for video, and python 3 for the Python plugins.