External Tags

By: Case

Adds tagging support for non-taggable file formats. The tags can be stored in SQLite database or written as external files to the same directory as the target audio files.

For the component to work properly the "External Tags (reader)" decoder must have higher priority than the format to be tagged.

The "External Tags (writer)" decoder should have lowest priority so external tags won't take priority over native tags of any format.

1.0.30 (2019-04-12): Fixed bug with empty tag value handling in SQLite. Updated SQLite to latest version and changed its compile settings to multithreaded. Enabled using "Create external tags" command on already externally tagged tracks when the component is configured to use another tagging format. Fixed external tag removal when configured to always write to preferred format. Fixed the component changing any custom file open exception to a generic exception. Added option to disable album art support.
1.0.29 (2019-04-07): Added option force writing external tags in chosen format. This can be used to convert from one external tag type to another directly without committing tags.
1.0.28 (2019-03-21): Fixed a rare crash. Changed tag commit to use a background thread so it no longer blocks the UI.
1.0.27 (2019-03-16): Changed component to use C++ mutexes. Fixed a problem causing memory copy of folder tag to contain invalid data if tag writing failed.
1.0.26 (2019-02-24): Added option to disable properties dialog opening when external tags are created.
1.0.25 (2019-02-15): Fixed possible crash if multiple threads accessed APEv2 tagged streams simultaneously.
1.0.24 (2019-02-11): Added workaround for tag commit breaking Matroska tags.
1.0.23 (2019-02-09): Fixed folder tag moving with multi-subsong files.
1.0.22 (2019-02-08): Fixed freeze when moving folder tag within same directory.
1.0.21 (2019-01-30): The metadata refresh fix in previous build broke subsong-enabled track tagging. Fixed the fix.
1.0.20 (2019-01-29): Fixed automatic metadata refresh when using "Edit file tags" with files that had no external tags. Added external tag copying from the source file to the copy when using File Operations (only used for folder and APE tags).
1.0.19 (2019-01-05): Fixed SQLite database storing wrong number of tag fields when a field had multiple values.
1.0.18 (2018-12-16): Fixed reading ReplayGain info from APE tags. Added context menu command for finding files that have been edited since External Tag was last modified.
1.0.17 (2018-12-15): Changed 'Edit External Tags' context menu entry to only open properties dialog without doing any tag creation - any tag edits will get saved to external tags. Added new explicit 'Create External Tags' menu entry for old behavior. Added 'Edit file tags' context menu entry that always edits native tags of the target file directly. Fixed moving external tag entries from old files to new ones for APEv2 and folder tags when their directories change.
1.0.16 (2018-12-10): Fixed crash if component is accessed after decoder has finished.
1.0.15 (2018-12-09): Added decoder event logger support. Made non-tagged stream opening faster. More mime-type fixes.
1.0.14 (2018-12-08): Fixed crash.
1.0.13 (2018-12-08): Fixed stream opening to find decoder based on mime-type.
1.0.12 (2018-12-07): Fixed ability to "remove" existing tags with APE tags from a subsong-enabled file.
1.0.11 (2018-12-06): Fixed APE tag subsong handling. Changed SQLite database to be initialized only if it's accessed.
1.0.10 (2018-12-04): Fixed fallback tag writing. Added some (temporary) extra error reporting for folder tag writing.
1.0.9 (2018-11-29): Added support for album art priority control coming in foobar2000 v1.4.2. Changed track wrapping to only be available for files with existing external tags.
1.0.8 (2018-11-19): Fixed converter not getting metadata from external tags.
1.0.7 (2018-11-16): Fixed slow context menu opening if multiple tracks were selected. Fixed external tag editing after tag contains album art. Fixed some tag commit failure conditions. Made tag commit working for playing track.
1.0.6 (2018-11-14): Fixed tag committing to subsong-enabled files. Changed pre tag creation sorting to slower function that works correctly with subsongs.
1.0.5 (2018-11-13): Editing external tags no longer needs to reload info from the tracks.
1.0.4 (2018-11-13): Fixed tag committing crashing on large workload.
1.0.3 (2018-11-12): Art loading didn't work correctly when reading multiple tag formats.
1.0.2 (2018-11-12): Fixed empty APE tag being rejected when tag contained album art.
1.0.1 (2018-11-12): Fixed folder tag data being missing for random tracks.
1.0 (2018-11-11): Fixed ReplayGain info saving in folder tags file. Fixed APEv2 and folder tags being unable to store blank tags for a file. Added cover art support to folder tags file. Made album art tagging on new file save current tags as external tags. Added ability to customize folder tags filename.
0.9.9 (2018-11-09): Added option to use APE tags, SQLite tagging, or to use a combined folder.tags file for all tracks in a directory. Album art support isn't implemented for folder tags. Made external tag creation and removal use background thread to not block UI. Added exception handling to all filesystem access functions to prevent crashing on error situations. Rewrote subsong handling to hopefully be less buggy. Removed support for reading filename.subsong.tag multitrack tag files. Changed path wrapping to allow wrapping local files to take over album art handling. (2018-10-25): Reloads info for tracks immediately after creating External Tags
0.9.8 (2018-10-22): Made the component merge static metadata to dynamic metadata. Changed external tag removal to unwrap tracks. Changed the default wrapper to just exttag://, using parenthesis is only needed when manually adding HLS streams with Add Location.
0.9.7 (2018-10-21): Fixed a crash with malformed tag file.
0.9.6 (2018-10-21): Made external tags follow file renames, moves and deletions. Fixed inability to tag unknown urls. Added exttag://() wrapper handler which allows tagging streams with album art - existing stream links can be converted to wrapped format from context menu.
0.9.5 (2018-10-20): Worked around inability to play HLS streams with the component active. Made non-stream tag modifications refresh instantly.
0.9.4 (2018-10-20): Fixed buggy tag committing.
0.9.3 (2018-10-20): Adding external alternate data stream tag for taggable format didn't work. Added a new context menu command to move external tag contents into native tags.
0.9.2 (2018-09-22): Fixed inability to read tag files embedded in archives. Changed the component to reject file extensions not recognized by foobar2000 inputs - this leaves out all unwanted non-audio files when dragging and dropping folders to foobar2000 playlist.
0.9.1 (2018-08-02): Fixed tag writing when using properties dialog to do the initial tagging
0.9 (2018-08-01): Option to store tags in NTFS Alternate Data Streams. Setting can be toggled in advanced preferences under Tagging
0.8 (2018-07-15): Native album art writing works again. Tag reader now also supports tag writing for tracks that have external tags present. That way editing tags for such files forces the edits to go to external tags. Fixed external tagging of cue sheets
0.7 (2018-07-04): Bugfixes. Tag reader made everything report tagtype as External APEv2. Album art writer will now only activate for files that have external tag file present
0.6 (2018-06-30): Added album art support and ability to tag streams. Made the component prefer external tags outside archives over the ones stored in archives. Changed reported tag type to "External APEv2". Added context menu command for removing external tags from files. Note that stream tagging requires using "Edit External Tags" context menu command - regular properties dialog doesn't call tag writing functions on streams
0.5 (2018-06-17): Removed error message when trying to remove a non-existing tag file. External tag now allows "removing" existing tags from a file
0.4 (2018-06-17): Changed subsong tagging to not write separate file for each subsong. Added ability to tag files in archives
0.3 (2018-06-16): Fixed a bug that prevented tagging some files
0.2 (2018-06-16): Added support for subsongs

Current version

1.0.30, released on 2019-04-12

Works with foobar2000 v1.4 alpha and newer


Home page

More components

Browse all
Browse by author: Case
Tags: tagging

How to install a component?