Features Pricing A/B Free Tools About
Get started →

Changelog

A running log of what's new in Tracklyst.

Credits panel, Save button, expanded metadata, and track layout fixes

Listener Credits panel — a Credits button appears beside Lyrics on each track in the listener view. Clicking opens a slide-in side panel showing all saved credits for that track: songwriter, producer, mix engineer, mastering engineer, publisher, ISRC, PRO affiliation, and any custom fields. Panel updates in place when switching tracks
Save button — silently saves the full playlist state (track order, linked tracks, versions, LUFS values, settings) without generating or copying a share URL. A saved playlist is ready to share instantly — Generate & Copy just copies the link. Useful for preserving work mid-session without distributing a link
Expanded credits metadata — creator Credits modal now includes Additional Writers, Mastering Engineer, Publisher, Master Owner, ISRC, PRO Affiliation, and unlimited custom key/value fields. An → all tracks button on each field applies the value to every track in the playlist at once
Track metadata button renamed from ··· to Credits on creator tracks, matching the listener side. Both use the same monospace pill style
Track layout — volume fader, LUFS, Lyrics, and Credits controls now align with the track title instead of drifting toward the metadata row. Applies to both creator and listener views
Linked tracks were lost when reopening a regular folder playlist from the dashboard — now restored correctly
Track versions were not persisting on playlist reopen — Dropbox temp link expiry was silently preventing restore. Fresh URLs are now pre-fetched before the playlist loads
LUFS display was rendering below the version chips row instead of staying on the main track row

Linked tracks, virtual playlists, and track metadata

Linked tracks — add any audio file from anywhere in your app folder to a playlist without duplicating it. Linked tracks show a glowing chain-link icon in the creator and behave identically to native tracks for listeners. Available on all plans
Virtual playlists — create a playlist with no source folder at all, built entirely from linked tracks. Useful for curated collections, cross-project compilations, or any playlist where the files live in different folders
Track metadata — store songwriter, producer, and mix engineer credits per file via the ··· button on each track in the creator. Metadata is saved to your account and pre-fills whenever that file appears in any playlist
Multi-add linked tracks — the linked track picker stays open after each add so you can pick multiple files in one session. Added tracks appear in an "Added this session" list with individual remove buttons
Virtual playlists reopen correctly from the dashboard — linked tracks, playback, and sample rate data all restore as expected

Paid downloads live, auto-LUFS, free tools suite, new themes

Free Tools hub at /tools.html — a single page listing all free audio tools with descriptions and links
LUFS Loudness Analyzer — drop an audio file to measure integrated LUFS, true peak (dBTP), loudness range (LRA), with a timeline graph and platform target comparison (Spotify, Apple Music, YouTube, and more)
Key Finder — detect the musical key of any track using chroma analysis and Krumhansl-Schmuckler profiles, plus estimated BPM and loudness as bonus stats
BPM Tapper & Metronome — tap along to find the tempo, then play it back as a metronome with time signature support (4/4, 3/4, 6/8, 2/4), accented downbeats, and visual beat indicators
Delay & Reverb Calculator — enter a BPM and get synced delay times (normal, dotted, triplet) plus reverb pre-delay values for different room sizes
A/B Comparator now shows key, BPM, LUFS, and true peak for each loaded file on a dedicated stats row — see at a glance how two versions differ in tonality, tempo, loudness, and headroom
A/B Loudness Match toggle — equalize volume levels between A and B so you hear the real difference, not just "louder = better"
A/B –14 LUFS button — normalize both files to the Spotify/YouTube target for reference listening
4 new theme presets: Embers (charcoal + orange), Blaze (crimson + red), Bloom (pink + rose), Mono (noir + silver)
5 new colors: 2 backgrounds (crimson, pink) and 3 accents (ember, red, teal)
Paid downloads are live — uploaders can gate file downloads behind payment via Stripe Connect. Per-track and per-session pricing with multi-currency support (USD, EUR, GBP, CAD, AUD). Track Lyst takes no platform cut — payments go directly to the uploader. 90-day download access window with re-request flow
Auto-LUFS measurement — tracks are automatically analyzed for integrated loudness when a playlist loads in the creator. Values populate instantly with a spinner animation — no manual entry needed. Retry button for edge-case files that fail to decode. LUFS values feed directly into the normalization engine
True peak (dBTP) display per track in the creator — shown in the track metadata row alongside format, sample rate, and duration. Color-coded: red at 0+ dBTP (clipping), yellow between −1 and 0 (hot for streaming), dim below −1 (safe)
Free tools showcase section on the homepage with links to all 5 tools
Color palette swatches are now easier to see — brighter gradients, subtle borders, and hover glow on accent swatches
"Set as default" theme button is more visible with a background tint and hover tooltip
All free tool pages now include educational descriptions, tips, and FAQs below the tool
Dropbox/OneDrive links that expire mid-playback (after 4 hours) now silently refresh — playback resumes at the same position with no interruption
Files moved or deleted from Dropbox while a listener is playing now show a friendly error instead of breaking silently
Expired cloud connection tokens now show a clear message ("This playlist's cloud connection has expired") instead of a generic error
localStorage quota exhaustion no longer silently loses settings — writes are now protected with auto-pruning of old cache data
Marketing pages no longer show the user's custom accent color when logged out

A/B Comparator & marketing site refresh

A/B Audio Comparator at /ab.html — free in-browser tool; load two audio files and switch between them at the exact same playhead position with zero delay (Web Audio API, no WaveSurfer latency). Inspired by audioAB by Rémi Gallego, MIT License.
Keyboard shortcuts in A/B: Space play/pause, A or ← switch to A, B or → switch to B, click waveform to seek
Provider-select modal on the pricing page Free tier — "Get started free" now opens a Dropbox / OneDrive choice inline without bouncing back to the homepage
"Who it's for" content moved to the pricing page — three use-case sections (mixing engineers, mastering engineers, labels & A&R) now live below the tier grid; the standalone page is retired
Clicking the active A or B side now toggles to the other side — more intuitive than a no-op
Drag a new audio file onto an existing A/B waveform to replace it
Unified sticky nav across all marketing pages (pricing, about, changelog, A/B) — matches homepage frosted-glass style; Login removed; Get Started routes to pricing
Listener view playing-track highlight now uses your chosen accent color instead of hardcoded green
Theme now persists on marketing pages (pricing, about, changelog, A/B) when logged out — reads your saved preference from the browser

Theme persistence

"Set as default" button in the Appearance panel saves your color theme to your account — loads automatically on any device you sign in from
Per-playlist theme override — set a different color for a specific playlist and it remembers that choice when you reopen it, while everything else keeps your default
Dashboard always returns to your saved default theme when you navigate back from a playlist

Loudness normalization

Per-track LUFS input — enter integrated loudness values for each track directly in the playlist creator
Per-playlist normalization target — set a target LUFS for the whole playlist (default −14 LUFS)
Attenuation-only normalization — louder tracks are brought down to the target level; quieter tracks stay at unity so nothing gets artificially boosted
Listener LUFS override — listeners can enter their own measured value per track, which takes precedence over the uploader's value
Norm toggle in the listener player — turn loudness normalization on or off at any time during playback
Lock normalization — engineer can bake normalization in and prevent listeners from disabling it

iOS gain control & audio engine reliability

Volume fader now works on iOS — gain control rerouted through the Web Audio API, which iOS supports (direct volume control via the audio element is read-only on iOS)
Volume fader visible on touch devices — previously hidden on mobile
Web Audio graph foundation — AudioContext → GainNode → AnalyserNode pipeline enables loudness normalization, real-time metering, and future analysis features
Playback stall after 2–3 tracks — switching tracks now properly aborts the previous track's network request; old audio elements were holding all available HTTP connections open, causing subsequent loads to queue for minutes
Error messages from a failed track (e.g. MP4 on Chrome) no longer persist on subsequent tracks — stale event listeners on replaced audio elements were re-firing errors against the wrong track
Stereo WAV files incorrectly showing a "multi-channel WAV requires Safari" warning after a prior track error — resolved as part of the stale listener fix above

Dashboard improvements & bug fixes

Playlists Shared With You — your engineer dashboard now shows playlists others have shared with your email, in one place
Deleting a playlist immediately kills listener access — old share links return a 404 rather than continuing to work
"Copy Order & Comments" button moved into the comments panel alongside Email Feedback
Email notifications now working in production — feedback and portal magic links deliver correctly
Dropbox sign-in no longer requires two attempts — dashboard loads correctly on first login
Pagination for large playlists — viewer loads 50 tracks at a time with a "Show more" button; metadata (duration, sample rate) only fetches for visible tracks; dashboard playlist grid also paginates at 50

Persistent feedback, resolved status & pricing

Feedback follows the project — send new links, swap tracks, or rename a playlist and all listener feedback stays attached automatically
Resolved/unresolved feedback — mark listener notes as addressed directly from the feedback dashboard
Rename playlists — change the name of any project from your dashboard without losing history
Pricing page — Free, Artist, Pro, and Enterprise tiers with monthly/yearly toggle
Listener header added to viewer and portal screens — subtle Tracklyst branding with a link to create your own
Pricing added to homepage nav

Site polish & Darklight Audio branding

"Part of the Darklight Audio suite" section on the About page — context on the broader product ecosystem
Darklight Audio CTA at the bottom of the Pricing page
Consistent footer across all public pages and listener-facing screens
Canonical tags and correct heading hierarchy added to all public pages

Dashboard, email backup & playlist management

Playlist dashboard — see all your playlists in one place after sign-in, with view and comment counts
Email feedback backup — send all listener comments for a playlist to your inbox with one click
Delete playlist — two-step confirm with option to email a backup first before permanently removing
Support link added to header nav on all signed-in screens
Creator screen collapsible sections — Branding and Instructions collapse when opening an existing playlist

Homepage, About page & analytics

Homepage with two clear paths — create a playlist (sign in with Dropbox or OneDrive) or find your listening history
About page with founder bios and the story behind Tracklyst
Confirmation email sent to listener after they submit feedback
Timestamps shown on feedback — date and time visible on every comment in the dashboard and notification emails
Portal "Updated" badge now correctly marks playlists with new content since your last visit
Renamed to Tracklyst across all pages

Listener portal updates

"Updated" badge on portal playlists — see at a glance which playlists have changed since you last visited

Portal improvements & performance

Magic link auto-sent to listener after they submit feedback — no need to request it manually
Resend link button with cooldown on the portal request screen
MP4/Atmos files now show a clear "requires Safari or Edge" message on Chrome and Firefox
Waveform peak data cached — faster load on repeat visits

Listener portal V1 & version stacking fixes

Listener portal — enter your email to find all playlists shared with you, via magic link
Version stacking seek position — playback now resumes at the correct position when switching versions

Version stacking, waveform comments & feedback dashboard

Version stacking — stack multiple versions of a track and let listeners compare them side by side
Waveform comment markers — listener comments appear as pins directly on the waveform
Clickable timecoded comments — jump to the exact moment a listener was referencing
Feedback dashboard in the creator — view all listener comments without leaving the app
Delete individual feedback comments from the dashboard
Duplicate playlist name warning before generating a new share link

Password protection, short links & folder browser

Password protection — optionally require a password before listeners can access a playlist
Short share links — clean, minimal URLs for sharing
Folder browser with audio file preview — browse your cloud folders and preview tracks before publishing
Lock track order — prevent listeners from reordering tracks in the player