Repository navigation
Releases: ryangavin/better-session-view
Release list
nightly
Built from main and notarised, so it opens with a
double-click. This is not a release — it is whatever was on the
branch that morning, and it can be broken in ways a release is not.
| version | 0.1.0-rc.4 |
| commit | ca8f2e2 |
| built | 2026-09-12 11:56 UTC |
The device carries open[flow] 0.1.0-rc.4 ca8f2e2 along its bottom
edge, which is how you tell a running one from the copy Live cached.
Installing is unchanged — see
Installing.
These filenames never change, so a bookmark always finds the newest
nightly.
v0.1.0-rc.4
Fourth release candidate for open[flow] 0.1.0, focused on the mix[flow] four-deck mixer: what a deck keeps, how it switches sources, and where its timing is set.
Changes since RC3
- A deck now opens on the original track and reaches its stems when a stem clip asks for them. Switching between the two no longer pauses either: the mode is a gain ramp and the incoming source takes the audible position, so the deck plays on through the swap.
- Loading a track keeps the channel as the desk was set — fader, trim, EQ, filter, both sends, crossfader assignment, headphone cue, and Sync where the new track has a grid. Only stem levels reset.
- Launch timing, marker quantize and quick loop length are the rig's, set in the header and shared by every deck; the quick loop defaults to two bars. The master strip's old launch toggle wrote a value nothing read and is gone.
- In and Out are the running loop's boundaries when pressed inside one, snapped to the marker division, which retires the boundary nudges. Halve/double and the loop move sit on the deck beside the quick loop.
- The mix and the headphone cue each go to a stereo pair chosen by name rather than a fixed 1/2 and 3/4. An interface too narrow for a saved pair falls back to the front pair with the cue dropped rather than folded into the room.
- Every deck meters its own left and right, and the deck fader is a slot and a cap with a ruled scale, drawn on the strip rather than inside a well.
Known issue: a multi-output interface offers one stereo pair
Since mid-2026 the browser engine asks macOS for a device's preferred speaker layout instead of its channel count, and most interfaces publish a stereo layout however many outputs they have. Wrap the interface in an Aggregate Device in Audio MIDI Setup and choose that as the output; the aggregate publishes no layout, so every channel appears. Troubleshooting in the wiki carries the steps. The routing itself is unaffected and needs no change when the count is reported correctly.
Downloads
| File | Purpose |
|---|---|
mix-flow-0.1.0-rc.4-arm64.dmg |
mix[flow]: local stem separation, track preparation and four-deck playback. |
set-flow-0.1.0-rc.4-arm64.dmg |
set[flow]: the Ableton Live session manager. |
visual-flow-0.1.0-rc.4-arm64.dmg |
visual[flow]: the visual performance app. |
SessionBridge-0.1.0-rc.4.zip |
Max for Live bridge for set[flow] and visual[flow]. Keep its three device files together. |
Apple silicon only. The release workflow requires signing, notarization, Gatekeeper and stapled-ticket checks before attaching installers. mix[flow] runs independently of Live and the bridge. Its first separation downloads the managed Python environment, dependencies and model weights. Automatic updates remain disabled; install this version explicitly.
Before the final release
Test the signed installer on a clean Mac: import, first-run engine setup, cancellation and retry, separation, four-deck playback, and persistence after quitting and reopening. Exercise the source swap, Cue, quick and manual loops, Slip, beat jumps and synchronization with real tracks — the timing and source changes in this candidate affect where a deck lands. Verify the mix and cue pairs on a multichannel interface, and headphone monitoring against the room.
The mixer changes were measured against the running app and are covered by engine tests. That pass found a fault the tests could not: a deck switched to stems it had never played sat silent at zero, because every engine test reaches stems through a fixture that enables them first. Neither replaces clean-machine or hardware testing, and Live/device behavior is unverified by this release preparation.
For installation details, see Installing. Include the release version, macOS version, audio hardware and reproduction steps when reporting a problem.
v0.1.0-rc.3
Third release candidate for open[flow] 0.1.0, focused on the mix[flow] four-deck mixer and on synced deck timing since RC2.
Changes since RC2
- Rebuilt the deck fader as a slot and a cap: no well, no plate, a ruled scale, a capped width and a handle that can no longer clip at either end of its travel.
- Stereo metering on every deck, with L/R captions, alongside the master pair.
- Aligned the FX, channel and routing rows on one shared column track, divided by vertical separators, with the routing row sitting under the channel it belongs to.
- Even spacing and one shared width for the launcher, loop and FX controls, replacing columns that stretched to fit their neighbours.
- Quick loop now encloses the playhead instead of jumping to it, which removes the slip on every press that did not land on the grid.
- A synced deck holds its markers to whole beats with Q off: Cue snaps to the beat, and loop In/Out step a beat rather than rounding away to no move at all.
- A caution color role, giving deck Cue its warmth under palettes whose primary is neutral.
- A draggable library rail, remembered across a reload.
Downloads
| File | Purpose |
|---|---|
mix-flow-0.1.0-rc.3-arm64.dmg |
mix[flow]: local stem separation, track preparation and four-deck playback. |
set-flow-0.1.0-rc.3-arm64.dmg |
set[flow]: the Ableton Live session manager. |
visual-flow-0.1.0-rc.3-arm64.dmg |
visual[flow]: the visual performance app. |
SessionBridge-0.1.0-rc.3.zip |
Max for Live bridge for set[flow] and visual[flow]. Keep its three device files together. |
Apple silicon only. The release workflow requires signing, notarization, Gatekeeper and stapled-ticket checks before attaching installers. mix[flow] runs independently of Live and the bridge. Its first separation downloads the managed Python environment, dependencies and model weights. Automatic updates remain disabled; install this version explicitly.
Before the final release
Test the signed installer on a clean Mac: import, first-run engine setup, cancellation and retry, separation, four-deck playback, and persistence after quitting and reopening. Exercise Cue, quick and manual loops, Slip, beat jumps and synchronization with real tracks, since the timing changes in this candidate affect where markers land on a synced deck. Verify master outputs 1/2 and headphone monitoring on outputs 3/4 with a four-channel interface.
The mixer changes in this candidate were measured in a browser against the running layout and are covered by engine tests; neither replaces clean-machine or hardware testing. Live/device behavior is unverified by this release preparation.
For installation details, see Installing. Include the release version, macOS version, audio hardware and reproduction steps when reporting a problem.
v0.1.0-rc.2
Second release candidate for open[flow] 0.1.0, focused on mix[flow] DJ playback and mixer refinements since RC1.
Changes since RC1
- Independent stem positions, Cue audition and takeover, manual and quick loops, Slip, and coordinated beat jumps.
- Refined playing scrubs, waveform fitting, leader tempo editing and synchronization, with smoother native loop seams.
- Full-track waveform visibility during stem playback and clearer separation of Hot Cues and stem movement controls.
- Responsive four-deck mixer spacing, full-size compact controls, stereo master meters and clearer effects controls.
- A bottom help strip describing the control under the pointer, including mixer knobs and faders.
- Updated Vitest, coverage and UI together to 5.0.0, plus Node and React DOM type updates.
Downloads
| File | Purpose |
|---|---|
mix-flow-0.1.0-rc.2-arm64.dmg |
mix[flow]: local stem separation, track preparation and four-deck playback. |
set-flow-0.1.0-rc.2-arm64.dmg |
set[flow]: the Ableton Live session manager. |
visual-flow-0.1.0-rc.2-arm64.dmg |
visual[flow]: the visual performance app. |
SessionBridge-0.1.0-rc.2.zip |
Max for Live bridge for set[flow] and visual[flow]. Keep its three device files together. |
Apple silicon only. The release workflow requires signing, notarization, Gatekeeper and stapled-ticket checks before attaching installers. mix[flow] runs independently of Live and the bridge. Its first separation downloads the managed Python environment, dependencies and model weights. Automatic updates remain disabled; install this version explicitly.
Before the final release
Test the signed installer on a clean Mac: import, first-run engine setup, cancellation and retry, separation, four-deck playback, and persistence after quitting and reopening. Exercise Cue, loops, Slip, beat jumps and synchronization with real tracks. Verify master outputs 1/2 and headphone monitoring on outputs 3/4 with a four-channel interface.
Automated engine coverage and recorded browser audio checks accompany the DJ changes; they do not replace clean-machine or hardware testing. Live/device behavior is unverified by this release preparation.
For installation details, see Installing. Include the release version, macOS version, audio hardware and reproduction steps when reporting a problem.
v0.1.0-rc.1
First release candidate for testing open[flow], with an emphasis on mix[flow] on Apple silicon. This is a prerelease for evaluation; keep a backup of your library and use a copy for testing.
Downloads
| File | Purpose |
|---|---|
mix-flow-0.1.0-rc.1-arm64.dmg |
mix[flow]: local stem separation, track preparation and four-deck playback. This is the installer for the mix test. |
set-flow-0.1.0-rc.1-arm64.dmg |
set[flow], the Ableton Live session manager. |
visual-flow-0.1.0-rc.1-arm64.dmg |
visual[flow], the visual performance app. |
SessionBridge-0.1.0-rc.1.zip |
Max for Live bridge device for set[flow] and visual[flow]. Keep its three files together. |
The apps target Apple silicon. The release workflow signs and notarizes both apps and disk images, then requires Gatekeeper and stapled-ticket verification before attaching them. mix[flow] runs independently of Live and the bridge.
mix[flow] first test
- Install from the DMG and launch from Finder.
- Choose a fresh library folder and import local audio. Imports copy files into the library.
- Generate stems. The first separation downloads a managed Python environment, locked dependencies and model weights; an internet connection and additional disk space are needed. No separate Python or FFmpeg installation is required.
- Check setup progress, cancellation and retry, then complete a separation.
- Prepare and load tracks, try multiple decks and stem playback, quit and reopen to check persistence.
Headphone monitoring uses outputs 3/4 on an interface that exposes at least four channels; master uses 1/2. It is not a separate headphone-device selector. Hardware routing and clean-machine first-run behavior still need testing on the receiving Mac. Automatic updates remain disabled; install a later version explicitly.
Release preparation
- Keep the complete three-minute tempo regression fixture, with an isolated 15-second CI timeout.
- Compile Electron bundles in Linux CI without invoking macOS-native preparation; actual packaging still builds the native tools.
- Backport electron-builder's upstream temporary-keychain password correction. Certificate import and keychain authentication retain their distinct passwords; signing and notarization checks remain mandatory.
- Include the completed Electron 44.2.0, happy-dom and qs updates on main.
The preceding nightly passed signing, notarization, Gatekeeper verification and publication. This RC has its own release checks; that does not replace testing import, downloads, separation, playback and persistence on a clean Mac. Changes to bridge/src/lom.ts require Live/device testing and are not covered by the automated suite.
For installation details, see Installing. Report the version, macOS version, audio hardware and steps when reporting a problem.