Skip to content

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 27 Oct 01:45
· 1500 commits to main since this release

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

Full changelog

v0.3.0...v0.3.1