Skip to content

2.19.1 — Play unpacks .dslibrary, and Key's TRIG goes polyphonic

Choose a tag to compare

@stuart78 stuart78 released this 04 Sep 00:17
· 28 commits to master since this release

Play

DecentSampler packs load end to end. A .dslibrary is a ZIP, and Rack's only unarchiver runs tar --zstd while libRack exports no zlib or libarchive symbol, so Play now carries miniz (MIT) and unzips the pack itself. Archive entry names are validated against .. and absolute paths before anything is written.

Every preset in a bundle loads. A .dsbundle usually holds several .dspreset files (Marxophone has 6, Phase8 has 25). Taking "the first" meant the bundle loaded whichever patch the filesystem happened to name first and said nothing about the rest.

start / end are honoured as a window into the file. Libraries that record several takes in one pass and slice them afterwards keep their trims there.

A failed load says so on the panel. Every failure used to be a log line you would never see, so the module went on showing the instrument it already had — which is what "silently failing" looks like from the outside.

The display leads with the instrument list, over a LOAD button pinned to the foot, in place of the 88-key map. The map was a picture of what the grid already shows in colour, on a surface you could not play as well as the grid, while the thing you come to Play to do was buried in the right-click menu.

Key

TRIG is polyphonic, so the four channels can be sampled independently. A mono cable still drives all four exactly as before.

Sub-scales reach as far as the scale does. The limit was 24 degrees — invisible on every canonical scale, since the longest is twelve, but a Scala file with 53 degrees quantized correctly while its sub-scales could only see the first 24. At that density the sub-scale cells are about 1.2 mm wide, so they are drawn correctly but are fiddly to click; the full-scale path is unaffected.

Thanks to the users who reported both.