Skip to content

Releases: tryptz/Tryptify

1.8.9 New Nav

Choose a tag to compare

@tryptz tryptz released this 15 Sep 17:37
80eb233

Tryptify 1.8.9

New

  • Exclusive USB DAC output actually works now. UAC2 exclusive mode was already in the app, but it never delivered what it promised. Tryptify now drives the DAC itself, so audio skips Android's mixer and its resampler entirely. The DAC runs at the file's own rate and gets the samples untouched.
  • 24-bit and hi-res reach the DAC. Up to 96 kHz at 24-bit, packed into whatever subslot width the device asks for. Everything was being flattened to 16-bit before.
  • The mixer and EQ run on 24-bit files. On a 24-bit or 32-bit track the whole DSP chain used to drop out with no sign of it: the mixer, both EQs, the spectrum and the visualizer's audio all stopped while the music kept playing.
  • Speed and pitch work over the DAC. Semitone shift, and varispeed where pitch rides the tempo the way a record does. Both took effect everywhere except the DAC.
  • The headphones button shows the audio pipeline. What is happening to the track, stage by stage: its format, the decoder, the rates in and out, the DSP, and where it lands.
  • MilkDrop can play behind the music, not instead of it. The ambient visualizer draws the preset into the album background, over the blurred cover and under the controls, rather than replacing the artwork.
  • Preset controls on the player. Back, browse and next sit across the artwork while the ambient visualizer is running, and fade out once you stop using them. Tap the artwork to bring them back.
  • The glass bends your artwork through it. With Blurred Album Background on, the transport, the dock and the panels refract the cover itself rather than a tint standing in for it. The mini player carries it too, along the whole bar.
  • Wide Stage joins the shipped mixer presets. A wider image without the hollow middle that usually comes with it.
  • Home is the list of pages, and World radio is one of them. Pick a page instead of swiping to it. Next moves down the city's stations.
  • Browse by album artist, composer or year. Local opens on a list of those instead of five swipes. Drag the scrollbar to move through a big library, and the track playing is coloured in the list.

Changed

  • Visual Studio is a settings page of its own. Glass, themes and the player's look live together, and colour transitions no longer run for seconds.
  • The Visualizer chip turns the ambient one on and off. It used to hand you the square visualizer on the second tap, and leave the ambient setting switched off behind it.
  • Folders show your music, and open where it is. Clear All Downloads says what it will delete, and sending a file works for music on your phone.

Fixed

  • Changing track no longer freezes the audio. Every track change was loading the whole file into memory looking for cover art. On a large WAV that stalled playback for seconds at a time.
  • The glass is smooth again. The artwork behind it was being sampled as flat blocks of colour, worst on the mini player and the Audio tools sheet.

1.8.8

Choose a tag to compare

@tryptz tryptz released this 07 Sep 16:59
f7da90f

Tryptify 1.8.8

Changed

  • One list for every page you swipe between. Settings › Library › Page Order holds all seven, Discover included, and any of them can go anywhere.
  • Any page can be hidden, and keeps its slot for when you switch it back on.
  • Discover has a Settings button.
  • "Enable Equalizer" is now "Enable AutoEQ/Equalizer", which is what that switch has always covered.
  • System-wide AutoEQ is a beta sub-toggle under it now, with a warning: it swaps the app's exact correction for a coarser global one, and some devices ignore that entirely.

Fixed

  • Turning the equalizer off now stops System-wide AutoEQ. It used to stay attached and running.
  • Every list row is the same height, at any text size.
  • "Local" can finally be moved. Its arrows in Settings had never done anything.
  • Your page order carries over on upgrade. Each page keeps its own scroll position now, so those reset once.

Removed

  • The light sheet that swept across the glass, on every surface it appeared on. Face swell, edge shimmer and the glint stay.

1.8.7

Choose a tag to compare

@tryptz tryptz released this 03 Sep 03:32
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.

1.8.5

Choose a tag to compare

@tryptz tryptz released this 14 Aug 18:00
9fccf2d

1.8.5

Discover (Beta)

A globe of the world's radio

Spin the Earth and tune into a station where you land. Cities carry what they actually broadcast, and picking a result from search flies the camera there and tunes in, so you always end up somewhere on the map rather than in a list.

Playing live radio, honestly

A stream has no position to drag to, so the scrubber is gone where there is nothing to scrub — a bar that moves under your thumb and snaps back reads as broken. You get a row that says LIVE instead.

The genre map, laid out by year

One tap moves every genre to where it belongs in time, oldest left, newest right. Zoom in far enough and the axis goes from decades to single years. The panel tells you where a genre came from and what it grew out of.

Type any genre to find it

The row under the search box changes as you type instead of being a fixed list you scroll past. Genre search now folds into an icon in the top bar, opening with the keyboard already up, so the one visit in ten that wants to type gets the full field and the other nine don't pay for it.

Moods you can stack, and moods with a temperature

Late night and Focus together draw from both, not from the sliver where they overlap. Anything in the mix you don't want can be dropped, and it comes back when you change moods.

Discover starts at the recommendations

The page had grown five things above the first shelf, and you had to scroll past all of them on every visit before seeing a single record.

Discover shows you it's working

Picking a mood or genre fans out into several catalogue searches, and until the first shelf came back the page was blank — which was also indistinguishable from a search that genuinely found nothing. It now lays out shelf-shaped placeholders and says what it's building.

Genre charts, and more genres to chart

A Top 100 for any genre over the last week, month, six months or year, cross-checked against MusicBrainz so the artists in it really belong. The genre list grows, including the hard dance branch.

Show what you're playing on Discord

A "Listening to" card with the track, artist, album art and a live progress bar. Off by default, and it needs your Discord token — read what the setting says about that before switching it on.

Performance

A low performance mode you control

The app already sorted devices into tiers at startup and quietly trimmed effects on the weaker ones, but that judgement was the app's alone. Settings › System › Performance now gives you the switch: one master, plus the three it writes, so it can be taken all at once or picked apart. Deliberately not synced to your account — a phone that needs the glass off shouldn't turn it off on your tablet.

Disable animations

Everything that moves on its own stops, including the clock that drives a callback every single frame for as long as the player or mini player is on screen. Gestures are untouched: a drag still follows your finger, it just doesn't spring on release.

Remove liquid glass

Flat, opaque surfaces everywhere instead of blurred, refractive ones. Your Player Visuals Studio settings are kept, not reset, and the Studio says so rather than looking broken.

The legacy player is back

The player as it was before liquid glass, recovered from the original source rather than approximated — and it has picked up the effects the player has grown since, so crossfeed and AutoEQ join compressor and inflator in its panel.

Audio

The equaliser stops stuttering while you drag it

Every frame of a band, preamp or smoothing drag was redoing work whose inputs hadn't changed — the graph redesigned each filter once per pixel of every curve, and each frame also wrote the whole band list to storage, which the audio engine listens to, so one drag rebuilt the entire filter chain dozens of times a second. The correction is identical to the last decimal; this only stops repeating it.

Radio's recommendation weights work without a server

The fourteen sliders in Settings › Radio were only ever read by the optional planner service, so with it switched off or unreachable every one of them did nothing. Eleven are now scored on the device itself: whether a track is already in your library, how far its artist sits from the seed, genre and era, how recently you heard it, and how strongly it prefers an original recording over a remaster or live take. The planner is still worth having — it names records the catalogue alone wouldn't surface — but it's one source of suggestions now rather than the thing doing the thinking.

Radio stops giving up on itself

"Avoid recently played" was a hard filter, which is the one setting of it you couldn't change, and on a thin catalogue it could run the station out of candidates and stop it dead. It's a strong preference now: repeats sink to the bottom and only come back when the alternative is silence.

Look and feel

The player's panels frost what's actually behind them

The audio-tools sheet and the speed panel were blurring only the background wash, never the artwork or the transport — so the blur ran and the result was a flat pane that looked like no blur at all.

Glass reads as glass on light and warm themes

The frost over the blur was laid on nearly twice as heavily on a light ground as a dark one, so on a pale or warm theme most of what you saw was flat colour rather than the blurred artwork through it. Both sides match now, and Backdrop tint still takes it further if you liked it milkier.

The audio-tools sheet is the same pane as the speed panel

It was full width with only its top corners rounded, sitting visibly wider than the panel it opens beside. The speed panel, meanwhile, had a fixed mint and magenta that read as two neon imports on any theme that isn't dark and cool — it follows your theme now.

The mini player's progress bar can be switched off

In the Studio's UI panels tab. That thin line is also the bar's top border, so turning it off closes the bar up rather than leaving a gap. It's remembered as your own preference, so changing glass theme never switches it back on.

The Studio leads with the player

Its tabs run Player, UI panels, then Lyrics. The middle one is "UI panels" rather than "Mini Player" because that material stopped being just the bar a while ago — it's also the audio-tools sheet, the speed panel, the nav pill, the search bar and the map panels.

The mini player frosts the genre map

The map is drawn underneath the bar precisely so its glass has something real to blur, and it was then passed nothing to sample — so the one screen built to feed the frost was the only one without it.

Fixed

Last.fm scrobbling has never once worked

The API key and shared secret were hard-coded as literal placeholder strings, so every scrobble was signed with a fake secret and rejected — and the surrounding error handling swallowed the failure so it looked like it was working. It reads the key you enter in Settings now.

Connecting Last.fm happens in a browser

"Connect" used to ask for a session key, which is not a thing anyone has. Tap Last.fm, approve it on Last.fm's own page, and it comes straight back connected. A refusal now says which of the two things is wrong, instead of the same silence for both.

Playing a genre plays that genre, not songs named after it

Tapping a genre used to search the catalogue for its name, which ranks by how well a title matches those words — precisely the query machine-generated filler is built to win. It runs off the genre's chart now, in rank order, with every row checked against the catalogue on both artist and title.

Back doesn't take a dozen presses to reach the main page

Re-entering a screen you were already on pushed a second copy behind it, and tool screens that open from everywhere stacked up a fresh entry each time. Roughly seventy navigation points now collapse a repeat visit instead of stacking it. Content screens still chain, because album → artist → album is a trail worth walking back.

Discovery cards look like the rest of the app

The recommendation card was hard-coded to its own dimensions with no glass, no press feedback and no quality badges, so a row of tracks visibly didn't belong next to a row of albums.

Glass opacity is honoured without the shader

On devices where neither the shader nor the blur is available, the panel painted a solid surface no matter what you'd set.

Removed

Flow

The full-screen one-track-at-a-time feed is gone. It never reached a release, so nothing you were using has been taken away — the map is now the full-width way into the same feed.

1.8.4

Choose a tag to compare

@tryptz tryptz released this 10 Aug 07:05
48cdaae

1.8.4

Discover (Beta)

Discover is its own tab, and it's in beta

It used to be a couple of rows buried in Home. It's now the place you go to look for something new, and every shelf says why it's there. Beta because the genre data behind it is young and can be wrong.

Type any of 771 genres

A search box that knows what you meant.
The row under it changes as you type, instead of a fixed list you scroll past.

Moods you can stack

Pick more than one — Late night and Focus together draw from both, not from the sliver where they overlap. Anything in the mix you don't want can be dropped, and it comes back when you change moods.

The genre map

Every genre as one picture, linked to its neighbours. Dots are sized by how many people listen, so the big scenes read as big — or switch the weighting to age, and the map becomes a picture of when things began.

The same map, laid out by year

One tap moves every genre to where it belongs in time, oldest left, newest right, along a curve. Zoom in far enough and the axis goes from decades to single years.

A Top 100 for any genre

Over the last 7 days, 30 days, 6 months or year. Built from what people are actually listening to, and cross-checked against MusicBrainz so the artists in it really belong to the genre.

Tapping a genre plays that genre

It used to search the catalogue for the genre's name, which is exactly the query machine-made filler is built to win — ask for hard techno, get a track called "Hard Techno". It plays the charts now.

Show what you're playing on Discord

A "Listening to" card with the track, artist, album art and a live progress bar. Off by default, and it needs your Discord token — read what the setting says about that before switching it on.

Connect Last.fm in a browser

Connecting used to ask for a session key — something no listener has, and nothing in the app could produce. Tap Last.fm, approve it on Last.fm's own page, and it comes straight back connected.

Your own files play first

Tap a song anywhere and it plays the copy already on your device instead of streaming it — including tracks you downloaded, which used to re-stream from every screen but Downloads.

Gapless playback actually works

The toggle had never been connected to anything: it saved your choice and nothing read it. The next track is now made ready while the current one plays, so on-device files and Qobuz run straight on.

Blend between tracks

One slider in Settings decides what happens between songs. At zero they run straight into each other with no gap; add time and they overlap, one fading out as the next fades in.

Songs start faster

Playback begins after a quarter of the buffering it used to need, and Qobuz tracks now start as soon as the first audio arrives instead of waiting for the whole file to download.

Qobuz plays from Qobuz

Only the first track of a Qobuz album was actually coming from Qobuz — every song after it was fetched from the wrong service, which could fail outright or play a different recording.

Tracks no longer stall at the start

A song would sometimes load and then sit at 0:00 until you pressed play, most often the first time you heard it. It now starts on its own.

A song tapped straight after opening the app plays

Tap one before playback had finished connecting and nothing happened at all — no sound, no error, nothing to retry. The tap now waits the moment it needs instead of being dropped.

A slow track is no longer skipped past

A song that took a moment to load could be given up on within milliseconds and the queue would run on through it. It now gets a few seconds to come good, and a blend waits for it rather than fading the previous song out into silence.

Download as many as you like

Downloads are a proper queue now — send it fifty tracks and three transfer at a time under one notification. Queueing more than one at once used to be able to take the app down.

You can see what's already downloaded

Song rows show a ring with a down arrow when the track is on your device, in Library, playlists, albums, artists, Home and search. Unlike the progress spinner, it is still there after a restart.

Auto-download liked songs

Turn it on in Settings › Downloads and every song you like from then on is saved for offline. Songs you liked earlier are left alone, so switching it on never kicks off a huge download.

Crossfeed for headphones

A new toggle in the audio tools sheet sends a little of each channel to the far ear, the way speakers do, softening hard-panned old mixes. Long-press the row to set the speaker angle or pick a classic network.

Cleaner effects, and a louder ladder filter

The Inflator and Compressor gain an Off / 2x / 4x anti-alias control. The ladder filter is 25 dB cleaner and 6 dB louder — it had been throwing away half its level — so old ladder presets may want pulling down.

ReplayGain is gone

It never did anything: the mode had no control anywhere in the app, so volume matching sat switched off on every track. It is removed rather than left there looking functional. Nothing sounds different.

Apple Music is off the menu

Its settings, its onboarding card and its search results are gone, and search now covers TIDAL and Qobuz. Apple tracks you have already downloaded still play.

Search and sort any list of tracks

Playlists, album and artist pages, Liked Songs and every local library screen share one toolbar. Play, shuffle, select and Download All all follow what is on screen rather than what the filter hides.

A track menu wherever there are tracks

Local album, artist, genre, folder, Songs and Downloads rows gain the menu they never had: play next, add to playlist, go to album or artist, share the file.

Ten fonts, built in

The font library used to be empty until you found a .ttf yourself. Ten typefaces now ship with the app, from Space Grotesk and Manrope to JetBrains Mono, and the list folds away when you are not picking one.

Settings you can find things in

Instances, Scrobbling and Account merge into Connections, Appearance and Interface become one tab, and Playback, Equalizer, Library and Downloads each hold what belongs to them. Every tab looks the same now.

The player changes colour at the speed the music does

The background, the accents, the blurred backdrop and the album art itself now cross into the next track across your blend time, so nothing repaints while the previous song is still playing. Skip by hand and it still changes at once.

Tap the artwork to play

Album art in a song row plays the song instead of opening the album, and the artist and album links are harder to hit by accident.

Lighter to move around

The player rebuilt itself four times a second for the clock alone, long lists redrew from any change downwards, and screens kept working in the background. Scrolling and navigation are smoother for it.

1.8.3

Choose a tag to compare

@tryptz tryptz released this 07 Aug 08:39
a5e7f69

What's Changed

  • Add per-snapin DSP visualizations and live audio tap for FX chain by @tryptz in #90
  • Remove Stripe donations; keep a single Ko-fi tip button by @tryptz in #91
  • Bump version to 1.8.3 (versionCode 183) by @tryptz in #92
  • Add crossfeed toggle + config page; long-press effect rows to configure by @tryptz in #93

Full Changelog: 1.8.2...1.8.3

1.8.2

Choose a tag to compare

@tryptz tryptz released this 02 Aug 02:33

What's Changed

  • docs: add 1.8.1 release description to the changelog by @tryptz in #85
  • Replace ITU BS.775 fold with fixed hard-pan downmix matrix, add 9.1.6 by @tryptz in #87
  • Per-ear AutoEQ, APO profile import, refined fitting engine (1.8.2) by @tryptz in #88

Full Changelog: 1.8.1...1.8.2

1.8.1

Choose a tag to compare

@tryptz tryptz released this 26 Jul 08:31
91494d1

What's Changed

  • Implement clean-room Atmos renderer and associated infrastructure by @tryptz in #83
  • Enhance Apple Music integration and improve download handling by @tryptz in #84

Full Changelog: 1.7.2...1.8.1

1.7.2

Choose a tag to compare

@tryptz tryptz released this 19 Jul 16:50
cf1c49c

What's Changed

Full Changelog: 1.7.1...1.7.2

1.7.1

Choose a tag to compare

@tryptz tryptz released this 15 Jul 00:00
576ee9a

What's Changed

  • multichannel downmix renderer 8nxj43 by @tryptz in #68
  • Feat/lyrics 3d glass overhaul by @tryptz in #69
  • Add radio queue maker with planner integration and manual queue editing by @tryptz in #70
  • Replace DSP canvas with Serum-style FX chain by @tryptz in #72
  • Tryptify queue maker cv44nj by @tryptz in #71
  • Lyrics FX + liquid-glass player overhaul, and Supabase settings sync by @tryptz in #74
  • Bump version to 1.7.0 (versionCode 170) by @tryptz in #77
  • UI/UX audit remediation (P0–P7) + local album-art auto-re@tryptz in #76
  • UI/UX audit remediation (P0–P7) + local album-art auto-restore by @tryptz in #78

store by @tryptz in #78

Full Changelog: 1.6.5...1.7.1