Skip to content

1.8.7

Choose a tag to compare

@tryptz tryptz released this 03 Sep 03:32
· 122 commits to main since this release
7f9f712

Tryptify 1.8.7

Added

  • Two pitch engines. Smooth keeps sustained notes accurate, Punchy keeps drum attacks intact.
  • Fast / Balanced / High now means something to both engines: grain size for Punchy, analysis block for Smooth, with each one's accuracy printed under its button.
  • The player lays out sideways. A short, wide window puts the cover on the left and everything else beside it, instead of squeezing the artwork into a sliver.
  • The preset browser has drawers. 9,795 presets filed by category or by author, with search, favourites and a back button that walks up a level.
  • Speed reads in the unit you set it in. Semitones or multipliers, whichever you chose leads and the other follows.
  • System colors theme: the palette Android builds from your wallpaper, your featured colour and the Contrast setting.
  • Audio delay for the visualizer. Holds it back by up to half a second so it matches what you hear over Bluetooth.
  • Add to playlist and Send file in the player's ⋮, replacing three view toggles that were already a tap away.

Changed

  • The dialogs and the preset browser are real glass. They are drawn inside the window they blur, because a dialog opens its own window and cannot blur the one underneath.
  • The dock and play button are glass. They blur the artwork and the reactive glow, which now moves through them as it pulses.
  • Backdrop blur and tint reach the player's own panels, and the frost fades in and out rather than cutting.
  • Preset rotation is one setting with an Off in it: Off, On a timer, or Each track, replacing two switches that each claimed the job.
  • Target FPS reaches 240 and actually caps something, with vsync off, which is the case it was always described for.
  • The visualizer holds the display at its own frame rate while it draws, instead of letting the panel idle down.

Fixed

  • Pitch moved the tone controls, not the music. The shifter was left out of the audio chain for every track that started at zero, so the buttons wrote a number nothing read.
  • Pitch playback stopped stuttering. The vocoder did a whole analysis block in one audio callback and almost nothing in the next; the median call did 6.9 µs against an 817 µs mean.
  • AutoEQ could install no correction at all. A late redesign overwrote the built curve with the empty one it started from, leaving the response flat to six decimal places.
  • Playlist exports that actually import. Apple Music's UTF-16 came back as gibberish and Spotify's own byte-order mark hid the title column. Apple Music, Spotify, Soundiiz and TuneMyMusic all load now.
  • Preset rotation stopped resetting itself. The migration read a DataStore key no build has ever written, so everyone got the timer regardless of what they had chosen.
  • Skipping a track with the visualizer closed no longer moves your preset. The queued change fired the moment you reopened it.
  • Re-picking a preset the timer had moved past works. The "already showing it" shortcut trusted a cache that goes stale on every internal rotation.
  • Choosing a preset applies straight away. It was being loaded on a thread with no GL context, so nothing happened until you closed and reopened the visualizer.
  • The visualizer stops changing speed with the refresh rate. projectM was told a frame rate it was not running at, so presets ran a third fast at 165 Hz and half speed at 55.
  • The album colour cross-fade no longer stutters the whole app. It recomposed the composition root 120 times a second for the length of every fade.
  • Three allocations off the audio thread. The pitch processor allocated a direct ByteBuffer per block, about a thousand a minute.
  • Two data races in native audio. A WSOLA reconfigure could index 8188 of a 2048-entry table, and the visualizer's audio bus could destroy a PCM frame.
  • Opening the player no longer builds the preset index: 9,795 names through a regex split and three map insertions each, on the composition thread, for listeners who never open the browser.
  • Scrolling the browser no longer scans 479 authors per row, and favouriting one preset no longer re-filters all 9,795.
  • The Shuffle/Manual chip no longer paints as on for a moment before flipping to off.
  • The frame cap measures frames that were drawn rather than frames it decided to draw.
  • Import dialogs are legible instead of transparent.
  • The preset browser's search bar is glass cut from the mini player's material.

Removed

  • Frame Rate and Resolution settings. A display-mode pin is a vote, and it was arguing the app's own panel down against per-app overrides.
  • Two dead fields and a dead property whose only occurrence was their own declaration.