UNIVERSAL TRACK LINK FINDER (BY TONETRAX) – VERSION 3.0.0
========================================================

Portable Windows application for resolving cross-platform music links through the MusicLink API.

SUPPORTED SEARCH INPUTS

- Spotify track link
- Spotify track ID (22 characters)
- Spotify track URI (spotify:track:…)
- Apple Music track link
- ISRC with or without hyphens, for example DE-YW8-26-11866 or DEYW82611866

In the track search field, other sources such as Deezer or Tidal and album links are still rejected. Validation happens before the API call, so invalid input does not consume a MusicLink request.

ALBUM LOOKUP

Switch between TRACK and ALBUM in the header. The highlighted button, mode label, and darker album area show the active mode. Each mode retains its input and result when switching. Album mode accepts Spotify album links/IDs and spotify:album: URIs, Apple Music album links without a track i= parameter, and 12–14 digit UPCs. Track links are rejected there. MusicLink v2 supplies album title, artist, optional UPC, cover link, and platform links.

Album history remains separate in album-cache.json. LOAD HISTORY provides a searchable list, deletion, individual refresh, and checked bulk refresh with change review. CHECK LINKS and SAVE COVER are available for albums too; only discovered original cover sizes are offered. SAVE ALBUM PACKAGE exports JSON or TXT. JSON uses the separate tonetrax-album-package with albums, title, artist, optional UPC/Spotify album ID, cover URL, and links. A WordPress generator needs explicit support for this separate album format.

Restore-last-search startup also restores the last album result and album mode.

USAGE

1. Start Tonetrax_Universal_Track_Link_Finder.exe.
2. Enter your personal MusicLink API key under SETTINGS.
3. Choose TRACK or ALBUM in the header and enter the corresponding input.
4. Select FIND LINKS or press Enter.

The application displays the title, artist, ISRC, cover, and every valid platform link actually returned by MusicLink. Missing links are not invented or constructed.

COPY places a link on the clipboard. OPEN LINK launches it in the default browser.

CHECK LINKS tests all displayed platform links for reachability. Results distinguish reachable pages, redirects, clearly missing pages, and inconclusive responses. Music platforms may block automated requests; the correct track cannot be confirmed this way. Checking does not alter links or consume MusicLink requests.

BATCH SEARCH AND EXPORT

Available in both modes. In album mode, enter Spotify/Apple Music album links, Spotify album IDs, or UPCs, one per line. Successful albums can be exported together as JSON, TXT, or CSV. Album JSON contains multiple entries in albums and remains separate from track packages.

Enter one Spotify track link/ID, Apple Music track link, or ISRC per line in BATCH SEARCH. Duplicates are detected. Before starting, the app shows the number of new MusicLink lookups needed. Cached entries are reused without an API call; remaining entries are processed sequentially at the selected pace. A short rate limit gets one retry after Retry-After of up to 90 seconds. A longer limit or invalid API key stops the search. Results already found remain exportable.

EXPORT ALL saves successful results together as JSON, TXT, or CSV. JSON uses the existing track package format with multiple entries in tracks; CSV has one column per platform. Invalid and failed inputs are excluded.

CACHE AND HISTORY

Successful results are stored locally in cache.json beside the EXE. LOAD HISTORY lets you search, load, delete, or completely refresh stored tracks. Refreshing through the API consumes a new request.

Check individual history entries, or use CHECK ALL to select every track. REFRESH CHECKED queries them again one at a time. Checks remain selected while filtering. Before starting, the app warns that retries may cause extra requests. The selected pace also applies here. A short rate limit with a Retry-After value of up to 90 seconds gets one retry after the indicated wait; longer limits and an invalid API key stop the search. Failed or ambiguously matched tracks remain unchanged. Review the remaining results and changes, uncheck any you do not want, then apply the selected updates together. CLOSE discards all unapplied results.

Before replacing cached data, the change comparison shows added, changed, and removed links. APPLY REFRESH saves the new data; KEEP OLD DATA discards it. Metadata and cover can change even when the links do not.

EXPORT

SAVE TRACK PACKAGE exports JSON or TXT containing the title, artist, ISRC, optional Spotify track ID, cover URL, and every returned platform link. If the ISRC is missing, export is still possible, but the existing WordPress generator cannot import the JSON; the app warns you. The cover can be saved separately. One of the original sizes that is actually available can be selected. Arbitrary intermediate values and artificial upscaling are not offered.

LANGUAGE AND COLORS

DE and ENG switch the language immediately; the choice is stored in config.ini. Colors are freely configurable. Insufficient contrast is corrected. Custom theme presets can be saved, updated, renamed, deleted, imported, and exported.

MUSICLINK CONNECTION AND PACING

Track and album lookup use api.musiclink.one/v2. Track responses are mapped internally to the existing result; the track cache and package JSON format remain unchanged. If several results share an ISRC, none is selected automatically: use a specific Spotify or Apple Music track link instead. Website, dashboard, and attribution links point to musiclink.one. Under SETTINGS > MusicLink API key, manually choose your plan for batch-operation pacing: Free, Hobby, Developer, or Pro. The cautious Free pace is the default (at least 6.5 seconds between request starts). The selection does not change your actual plan, API key, or monthly quota. Current limits: https://musiclink.one/pricing

Older MusicLink website links in the local cache are mapped to the new domain in memory when loaded; links to other platforms remain unchanged.

INFORMATION AND STARTUP NOTICE

The Info tab lists the 20 currently known MusicLink destinations and explains variable availability. This information is also shown in a dialog on first startup. It can be disabled permanently and enabled again from the Info tab at any time.

PORTABLE FILES

- config.ini: API key, language, startup behavior, and settings
- cache.json: local track history
- album-cache.json: separate album history (after first album lookup)
- theme-presets.json: custom theme presets

The application folder must be writable.

When upgrading from an earlier version, copy the new EXE into your existing application folder to retain config.ini, cache.json, album-cache.json, and theme-presets.json. Alternatively, copy these files into the new Portable folder.

PRIVACY AND NETWORK ACCESS

The application contains no analytics or telemetry. Search queries are sent to MusicLink over HTTPS. Link checks send direct HTTP(S) requests to the platform links. Covers from MusicLink, Spotify oEmbed, and—when an Apple Music link is present—Apple Music are checked at their actual pixel dimensions. The largest available variant is displayed automatically. A MusicLink API key is required. Powered by MusicLink is visibly included in the header.

NOTICE AND LIABILITY

FOR PERSONAL USE ONLY. NO WARRANTY AND NO LIABILITY.

Check resolved links for plausibility before publishing them. Availability and matching can vary by region and platform.

CHANGELOG VERSION 3.0.0

- TRACK/ALBUM switch in the main window with a clear mode indication
- Searchable album history with individual and bulk refresh review
- Album batch search and JSON, TXT, or CSV combined export
- Album link checking and selectable cover sizes; track files and exports unchanged
- The last result restored at startup may be an album

CHANGELOG VERSION 2.7.0

- Moved track lookup, batch search, and history refresh to MusicLink v2
- Kept the track cache and package JSON format; ambiguous ISRC matches are not selected automatically
- Album packages can now be saved as JSON or TXT

CHANGELOG VERSION 2.6.1

- Copy and Open Link buttons are side by side in track results, matching album results
- Link field and buttons adapt to the window width

CHANGELOG VERSION 2.6.0

- Album lookup through MusicLink v2 using Spotify/Apple Music album links or UPCs
- Separate album history and album JSON format
- Existing track lookup, cache, and package format remain unchanged

CHANGELOG VERSION 2.4.3

- Moved the MusicLink API, dashboard, attribution, and older cached MusicLink links to musiclink.one; API v1 remains
- Plan-based pacing for batch search and history refresh, with Free as the default
- One retry after a Retry-After of up to 90 seconds
- Existing cache, track export, and workflow remain unchanged
