Difference between revisions of "Foobar2000:Components/External Tags (foo external tags)"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
m
(ref some sources)
Line 30: Line 30:
 
==Required configuration==
 
==Required configuration==
  
In Preferences > Playback > Decoding, the "External Tags (reader)" decoder, if visible (i.e. in foobar2000 versions ''below'' v1.5 beta 8), must have higher priority than the format to be externally tagged. The "External Tags (writer)" decoder should have lowest priority so that external tags won't take priority over any format's native tags by default.
+
In Preferences > Playback > Decoding, the "External Tags (reader)" decoder, if visible (i.e. in foobar2000 versions ''below'' v1.5 beta 8<ref>{{ha|https://hydrogenaud.io/index.php/topic,116141.msg974079.html#msg974079|Decoder priority}}</ref>), must have higher priority than the format to be externally tagged. The "External Tags (writer)" decoder should have lowest priority so that external tags won't take priority over any format's native tags by default.
  
 
==Usage==
 
==Usage==
Line 40: Line 40:
 
Use the "Create External Tags" command on audio files to open the familiar Properties dialog, and then click OK or Apply to externalize their tags. Any current internal tags will be copied and then left alone. If External Tags is configured to use tag files rather than SQLite, each audio file will now have a corresponding .tag file with the same name: e.g. test.mp3.tag next to test.mp3.
 
Use the "Create External Tags" command on audio files to open the familiar Properties dialog, and then click OK or Apply to externalize their tags. Any current internal tags will be copied and then left alone. If External Tags is configured to use tag files rather than SQLite, each audio file will now have a corresponding .tag file with the same name: e.g. test.mp3.tag next to test.mp3.
  
Once a file has external tags, all tag operations are applied to its external tags only. File operations '''in foobar2000''' will transparently be applied to .tag files belonging to affected audio files so that they stay together.
+
Once a file has external tags, all tag operations are applied to its external tags only.<ref>{{ha|https://hydrogenaud.io/index.php/topic,116141.msg988525.html#msg988525|Misc. usage facts}}</ref> File operations '''in foobar2000''' will transparently be applied to .tag files belonging to affected audio files so that they stay together.
  
 
Files may be reverted to default internal tag handling with the "Remove External Tags" command, which will delete any relevant .tag files and SQLite entries.
 
Files may be reverted to default internal tag handling with the "Remove External Tags" command, which will delete any relevant .tag files and SQLite entries.
  
Manipulation of external tags outside foobar2000 — such as deleting, editing, or restoring .tag files from a backup — will not be reflected in foobar2000 automatically due to its tag cache. Use foobar2000's "Tagging > Reload info from file(s)" command to update displayed tags with values currently in SQLite and .tag files. Similarly, "Rewrite file tags" will flush any currently displayed values to external tag storage.
+
Manipulation of external tags outside foobar2000 — such as deleting, editing, or restoring .tag files from a backup — will not be reflected in foobar2000 automatically due to its tag cache.<ref>{{ha|https://hydrogenaud.io/index.php/topic,116141.msg982870.html#msg982870|Tag caching}}</ref> Use foobar2000's "Tagging > Reload info from file(s)" command to update displayed tags with values currently in SQLite and .tag files. Similarly, "Rewrite file tags" will flush any currently displayed values to external tag storage.
  
 
==Advanced==
 
==Advanced==
Line 51: Line 51:
 
.tag files are essentially binary dumped [https://wikipedia.org/wiki/APE_tag APE tags] and can be viewed or edited with an advanced text editor if necessary.
 
.tag files are essentially binary dumped [https://wikipedia.org/wiki/APE_tag APE tags] and can be viewed or edited with an advanced text editor if necessary.
  
TODO: explain remaining context menu commands like Wrap and Commit
+
TODO: explain remaining context menu commands like Wrap<ref>{{ha|https://hydrogenaud.io/index.php/topic,116141.msg976218.html#msg976218|Wrap command}}</ref> and Commit
  
 
==See also==
 
==See also==

Revision as of 00:17, 2 October 2020

External Tags

foo_external_tags
Developer(s) Janne Hyvärinen (Case)
Repository
Release information
Initial release June 14, 2018
Stable release 1.5.8 (October 21, 2019)
Preview release
foobar2000 compatibility
Architecture {{{foobar2000_architecture}}}
Minimum version 1.4 alpha
Maximum version
UI module(s) N/A
Additional information
Use Tagging
License ISC (modified)
Discussion thread {{{discussion_thread}}}
View all components

External Tags adds transparent tagging support to non-taggable file formats.

External tags can be stored in an SQLite database or written to files in the same directories as the target audio files. This differs from m-TAGS in that the latter creates playlist-like files that must be loaded in place of the actual audio files, while external tags behave just like regular internal tags.

The component was originally created to allow ReplayGaining tracker modules.[1]

Concept

Some audio file types, like MIDI or game ROM rips, lack file-level tagging support. Vanilla foobar2000 fills this gap by storing tags added to such files in an internal database. These tags are kept in sync with their files across foobar2000's file operations and conversions, but cannot be accessed outside foobar2000 and are more prone to being lost than file-stored tags.

External Tags is a pseudo-codec component that claims support for storing tags of any audio file type, and defers actual codec operations to each audio format's preferred codec. It stores tags in either a central SQLite database (similar to foobar2000's own solution), or in individual .tag files corresponding 1:1 to each audio file.

Required configuration

In Preferences > Playback > Decoding, the "External Tags (reader)" decoder, if visible (i.e. in foobar2000 versions below v1.5 beta 8[2]), must have higher priority than the format to be externally tagged. The "External Tags (writer)" decoder should have lowest priority so that external tags won't take priority over any format's native tags by default.

Usage

External Tags can be configured in Preferences > Advanced > Tagging > External Tags.

Note: several relevant but infrequently used context commands in the Tagging submenu are only visible in the extended context menu — when you shift-right-click on files — to avoid menu clutter.

Use the "Create External Tags" command on audio files to open the familiar Properties dialog, and then click OK or Apply to externalize their tags. Any current internal tags will be copied and then left alone. If External Tags is configured to use tag files rather than SQLite, each audio file will now have a corresponding .tag file with the same name: e.g. test.mp3.tag next to test.mp3.

Once a file has external tags, all tag operations are applied to its external tags only.[3] File operations in foobar2000 will transparently be applied to .tag files belonging to affected audio files so that they stay together.

Files may be reverted to default internal tag handling with the "Remove External Tags" command, which will delete any relevant .tag files and SQLite entries.

Manipulation of external tags outside foobar2000 — such as deleting, editing, or restoring .tag files from a backup — will not be reflected in foobar2000 automatically due to its tag cache.[4] Use foobar2000's "Tagging > Reload info from file(s)" command to update displayed tags with values currently in SQLite and .tag files. Similarly, "Rewrite file tags" will flush any currently displayed values to external tag storage.

Advanced

.tag file in a text editor

.tag files are essentially binary dumped APE tags and can be viewed or edited with an advanced text editor if necessary.

TODO: explain remaining context menu commands like Wrap[5] and Commit

See also

References

  1. External Tags origin story on hydrogenaudio
  2. Decoder priority on hydrogenaudio
  3. Misc. usage facts on hydrogenaudio
  4. Tag caching on hydrogenaudio
  5. Wrap command on hydrogenaudio

External links