Repository navigation
v0.3.1
transit v0.3.1
This is a patch release following v0.3.0, with the fixes from the first round of use and tester feedback: an interface zoom for large monitors, a round of step input fixes, the piano roll's view of looped clips, Cycle following the selection, a bounded MIDI Mappings window, and a clearer diagnostics report. transit is alpha-quality software and the session format may still change, so back up anything you care about.
Highlights
- Interface zoom. View > Appearance > Interface zoom scales the whole interface, painted text included. Ctrl+= and Ctrl+- step it, Ctrl+0 resets it, and the value is saved per machine.
- Step input. A sustain pedal release lost under load no longer leaves rests running. Hold-to-lengthen has a gentler ramp with a 200 ms default floor, and the ramp length is in the hold preferences. With the pedal held, each strike ties one step. A fast pedal tap inserts a rest.
- Looped clips in the piano roll. A looped clip shows as its loop cycle with a Loop end line and dimmed repeats, and step entry wraps at the loop end.
- Cycle. Cycle follows the selected clips, and Transport > Set Cycle to Selection re-derives the region.
- MIDI Mappings window. A bounded table with a scroll area and parameter names such as "JP8K: Jup-8000 V > Filter > Cutoff".
- Diagnostics. Copy diagnostics marks unprobed ASIO drivers, prints each backend's own counters with one line for a duplex ASIO driver, and has a MIDI section.
Fixes
- Interface zoom: Ctrl+= / Ctrl+- / Ctrl+0 and View > Appearance presets (100% to 200%) scale the whole interface, saved per machine, for large monitors (#132).
- Step input: a sustain pedal release shed under MIDI overload no longer leaves the step editor inserting rests; a shed release that invalidates the route resets step entry (#74).
- Step input: hold-to-lengthen and pedal rests no longer speed up too fast after the second unit. After the 500 ms threshold the interval eases from 400 ms down to a 200 ms floor over six units (both in the Step settings); a floor you set yourself is kept, and the old 80 ms default migrates to 200 (#136).
- Step input: with the sustain pedal held, each strike ties exactly one step instead of the hold repeater doubling the tie (#138).
- Step input: taps and holds are timed from when the MIDI worker received them rather than when the window drew, and tests pin that a pedal tap of any length with no key held inserts a rest; a miss reported on hardware could not be reproduced and #139 stays open for a retest.
- Step input: step entry resets when a route goes away for any reason (port unplugged, feedback mute, disarm, monitor off, channel filter change), so a held pedal cannot be stranded (#134).
- Piano roll: a looped MIDI clip shows as its loop cycle with a Loop end line and dimmed repeats up to the clip length; notes past the loop end are shown as outside; the clip length reads "looped to" its arrangement length (#137).
- Piano roll: step entry in a looped clip wraps to the loop start at the loop end (#137).
- Cycle: with clips selected, Cycle uses the span of the selection even when a region already exists; Transport > Set Cycle to Selection sets the region without toggling; with nothing selected an existing region is reused, otherwise four bars from the playhead (#140).
- MIDI Mappings window: the mappings are a table in a scroll area, the window is bounded to the table's width and the screen's height, the Target column reads track: plug-in > unit > parameter from the plug-in's own names, and dragging or typing a Range value now commits (it did not before) (#141).
- Diagnostics report: an ASIO driver that was not probed reads "not probed" (naming the open driver when there is one) instead of "0 ch" with a default rate list; a probed driver with no channels in one direction says so (#127).
- Diagnostics report: each backend line shows only the counters that backend fills, and a duplex ASIO driver prints one line with its output and input figures side by side (#127).
- Diagnostics report: the ASIO wake figure is named "gap over period", which is what it measures (#127).
- Diagnostics report: a MIDI section lists ports, whether each is open and mapped, the mapping count and the last heard source (#127).
- Audio Devices: a stray horizontal rule at the top of the I/O paths and Hardware inserts pages is gone (#131).
- Repository: the timing lint also flags sleep-paced loops and short expiries in tests. This has no user-facing change (#120).
Known issues
Full list: docs/known-issues.
- K87: the MIDI Mappings window's fixed columns need about 970 points of width, so on narrower screens the window can run past the screen edge.
- #139: a fast sustain pedal tap with no key held reportedly inserted no rest on one machine; it could not be reproduced and the timing path was reworked. Please report if you see it.
Downloads
Assets are attached to this release.
| Platform | Asset |
|---|---|
| Windows (x86_64) installer | transit-v0.3.1-windows-x86_64.msi |
| Windows (x86_64) portable | transit-v0.3.1-windows-x86_64.zip |
| macOS (Apple silicon) | transit-v0.3.1-macos-arm64.dmg (holds transit.app) |
macOS (Apple silicon), bare binary with audio-bench |
transit-v0.3.1-macos-arm64.tar.gz |
Linux (x86_64) tarball with audio-bench |
transit-v0.3.1-linux-x86_64.tar.gz |
| Linux (x86_64) AppImage | transit-0.3.1-linux-x86_64.AppImage |
| Linux (x86_64) Debian and Ubuntu package | transit-0.3.1-linux-x86_64.deb |
| Linux (x86_64) Fedora and RPM package | transit-0.3.1-linux-x86_64.rpm |
A .AppImage.zsync file sits next to the AppImage for delta updates. Every archive carries audio-bench, which measures your interface (round trip, jitter, xruns).
All builds are unsigned. On Windows, SmartScreen shows "More info", then "Run anyway"; the Windows build includes native WASAPI and native ASIO. The macOS app is ad-hoc signed and not notarized; if macOS blocks it, run xattr -dr com.apple.quarantine /Applications/transit.app, or right-click it and choose Open. On Linux, make the AppImage executable (chmod +x) and run it, or install the .deb or .rpm with your package manager; none of the Linux packages are signed. The Linux builds carry the native JACK backend (#55), unchanged from v0.3.0: it talks to a running JACK 2 or PipeWire server (transit never starts one), and Auto prefers it when a server is up. On Debian and Ubuntu with PipeWire, start transit as pw-jack transit so PipeWire's JACK library is found. It is still untested on most hardware, and testers are still wanted: run transit --report and tell us how it went in #55.
Checksums
SHA-256 of each asset:
3b5ce4a76ad5586c284ee49f9f0394c06a2f07bad269790492694235576cf8aa *transit-0.3.1-linux-x86_64.AppImage
8c1bc983fe7d5f29e8d0606cb5e2e9f5ad578032af2cf97fa448a8225b3d1047 *transit-0.3.1-linux-x86_64.AppImage.zsync
723d7fc039d0ccdf0553853a59578810f9b0782a90b72c1357570b9db6210604 *transit-0.3.1-linux-x86_64.deb
0a778abd14388af1cb949106ced5be9e1483c15e07881cf22b413fa3bbd79bb9 *transit-0.3.1-linux-x86_64.rpm
1f86d3fae70882ecc5170119fd4c44e7c719c3905482f5d8eae9bd9b95063dfc *transit-v0.3.1-linux-x86_64.tar.gz
9767d8c03707366ae85f238be590578ee5fa91c0ea0ac7300a45da72790b7d88 *transit-v0.3.1-macos-arm64.dmg
bc05f1c56fac2b090a99fd22c4bd94611526cea64af5255a9f7e376321b88997 *transit-v0.3.1-macos-arm64.tar.gz
62fe05bed95d1aa2d886c3abe8c72bad2d80bc16913f162bd1d500d28c8f3dfd *transit-v0.3.1-windows-x86_64.msi
0d1131f4f3799df38594c390cc5abae68589b885f20afdf67000383a01d3ee28 *transit-v0.3.1-windows-x86_64.zip