Skip to content

Tuitify v0.5.0 — automatic Spotify and YouTube Music

Choose a tag to compare

@braces157 braces157 released this 06 Oct 19:28

Tuitify v0.5.0

Launch tuitify for Spotify Premium or free YouTube Music. The player selects
the source automatically and keeps account connections inside F6 Tools.

Changes

  • Use Spotify for saved, confirmed Premium accounts and YouTube Music for free
    accounts or users without a Spotify login. Unavailable account checks open free
    music while showing the cause. Checks have a three-second deadline and an
    account-scoped ten-minute cache; confirmed Premium expiry also hands off.
  • Connect Spotify or a Google music library, or update playback tools through
    F6. Account setup saves and closes the session, then returns to the player.
    Existing provider queues remain separate and restore paused.
  • Search public music, browse albums and artists, open playlist links, build
    radio queues, and optionally browse a connected Google library. Spotify tracks
    and playlists are not translated into YouTube tracks.
  • Play accessible public YouTube videos using yt-dlp/Deno and FFmpeg, with queue
    controls, lyrics, PCM visualization and Windows media controls. Prepare the
    next stream and keep a bounded, expiring stream cache; cancel obsolete work.
  • Prepare missing tools on launch and install the pinned music adapter in an
    isolated Python environment. Google library credentials are encrypted for the
    Windows user. Public catalog requests do not send optional library credentials.
  • Separate launch policy, session lifecycle, provider construction and the TUI
    runtime. Retain at most 16 parsed collections within a 32 MiB cache budget,
    preserving remote offsets. Release the metadata helper after 30 idle seconds
    without discarding cached pages or stopping audio. Publish desktop metadata
    on changes and run Tokio with two workers.
  • Update the website, README, architecture, performance evidence, release
    downloads and version metadata for the same release.

Measurements and verification

Local Windows ConPTY measurements with the saved Glass appearance showed
settled idle working set falling from 109.7 to 48.2 MiB after a 35-second wait,
about 56% lower. Cold search took 1.12 seconds, warm search 359 ms, and a cached
search after helper shutdown 154 ms. These are small local samples from the
pre-version-bump refactor build; no reliable speed improvement is established.
See BENCHMARKS.md
for methodology and VALIDATION.md
for release checks.

The saved Spotify grant was expired/revoked during live checks. Public music
search and connected-library requests succeeded, but YouTube audio attempts
reached HTTP 429/sign-in/connection-block errors even after tool updates. Real
Premium audio, successful YouTube audio, next-track latency and sustained
playback memory were not verified. Google library sign-in does not unlock
restricted videos. Private, paid, age-restricted and live videos are unsupported.

Install and upgrade

Download tuitify.exe or Tuitify-0.5.0-windows-x86_64.zip. Both have SHA-256
sidecars; Tuitify-0.5.0-windows-x86_64.manifest.json records the asset identities.
The ZIP includes documentation, release notes and scripts/install.ps1.

Run the installer, open a new terminal, then run tuitify. Reconnect an expired
Spotify login through F6 > Connect Spotify account. Quit and reopen an existing
session after upgrading; an already running process keeps its previous code.

Windows 10/11 x64 and working Windows audio are required for playback. Spotify
audio requires Premium; public YouTube Music does not require Spotify Premium.
Music catalog setup requires Python 3.10 or newer and a network connection.
The native tuitify demo needs no account or audio device. Source builds require
Rust 1.88 or newer, MSVC C++ build tools and the Windows SDK.