utag Input is a foobar2000 input component that lets you add internet radio streams and other remote URLs to the Media Library by representing each stream with a small .utag JSON file. The .utag file stores the stream URL and metadata. foobar2000 can scan and tag the stub like a normal track, while audio is decoded from the original URL.
Features:
Optional favicon download during playback: downloads the favicon image stored in the .utag JSON, saved beside the .utag file and shown as artwork.
Library-friendly scanning: scanning a .utag file does not connect to the stream.
Editable metadata: tag changes are written back to the .utag JSON file.
Stream URL in Properties: the URL is exposed in the information section as @ and can be displayed with %__@%.
Create files from a playlist: use Tagging → Create utag files… in the playlist context menu to create one .utag file for each selected track. Each URL is looked up in Radio Browser first (optional, on by default), so the file gets the station’s details. The new file(s) are added to the “New utags” playlist, which becomes the active playlist.
Tag existing .utag files from Radio Browser: Tagging → Search Radio Browser and tag looks up the @ URL of the selected .utag items in Radio Browser and writes the station details into their tags.
Default folder: Tagging → Set default utag folder… saves an output folder, and Tagging → Create utag files in default folder creates the files there without asking.
Add a station by URL: File → Utag Input → Add internet radio url and create utag asks for a stream URL (and an optional name) and creates the .utag file in the default folder. If no name is entered, it is looked up from the stream. An optional checkbox searches Radio Browser for the URL and uses its station details. The new file is added to the “New utags” playlist, which becomes the active playlist.
Import from Radio Browser: File → Utag Input → Import stations from Radio Browser… downloads stations from the Radio Browser directory and creates one .utag file per station, in a new folder named after the search.
Browse Radio Browser: File → Utag Input → Browse Radio Browser… lists the top stations, or the stations for a tag, country, language or codec you pick, or a name search. Choose the stations you want and import them.
Import from Icecast: File → Utag Input → Import stations from Icecast… lets you filter the directory by station metadata and choose a maximum number of matching stations to import.
Browse Icecast Directory: File → Utag Input → Browse Icecast Directory… downloads the public Icecast Yellow Pages XML export (once per session; Refresh reloads it) and creates .utag files for the stations you select. A search box at the top of the window filters the list as you type (station name, genre, codec, description or current song). The downloaded directory is not saved by the component.
Import from TuneIn: File → Utag Input → Import stations from TuneIn… searches TuneIn by station name, artist or song and creates one .utag file per station found.
Browse TuneIn: File → Utag Input → Browse TuneIn… walks TuneIn’s categories, genres, locations and languages, your presets, searches and recommendations (for a list of artists, or for the playing station). Choose the stations you want and import them.
Playlists for the browse windows: the three browse windows (Radio Browser, TuneIn, Icecast) append the stations you import to one playlist per service, RadioBrowser, Tunein and Icecast by default (names are set in the preferences). The playlist is created when missing and becomes the active one, and the first appended item gets the focus. The Import stations from… commands instead create a new playlist named like the search folder (search term and date).
Country flag: whenever a .utag is created or tagged and it has a countrycode field (for example GR), a countryflag field with the matching flag emoji (for example 🇬🇷) is added. The flag is also refreshed whenever the tags are saved (for example after editing countrycode in Properties), so it always follows the code; an invalid or empty code leaves the flag as it is. When a file is created, an existing non-empty countryflag is kept. This applies to Radio Browser and Icecast imports, TuneIn imports, Add internet radio url and create utag, Create utag files and Search Radio Browser and tag.
Results window: every created or skipped entry lists the stream URL (@) and the output path; errors list the source URL and the reason. The window can be switched off in the preferences (errors are still shown).
Preferences page: Preferences → Tools → Utag Input has the stream handoff, favicon download, default folder, console message, results window, Radio Browser lookup, TuneIn details and browse-window playlist options.
Optional stream handoff: reuses the running decoder when the playing item is reopened after retagging, helping avoid a reconnect and audible pause.
Station logos: assign a logo by hand (Tagging → Set station logo…), by dropping an image file or image URL on the logo window, or with the optional favicon download. All of them are the same sidecar image beside the .utag file, shown as artwork. See Station logos.
github.com/smoralis/foo_utag
hydrogenaudio.org/index.php/topic,130078.0
