Home » Tag
What is Tag?
Tag is a command line tool that may be used to tag numerous audio files, using various tagging schemes, including ID3v1, ID3v2, APEv1, APEv2, Vorbis and Flac.
Tag can tag files automatically from their filename, by attempting to guess the filename format from one of fifty presets. You can also view tags for files, and create playlists.
Tag was originally programmed by Case.
(+) Added feature
(*) Improved/changed feature
(-) Bug fixed
(*) Reverted ListSeparator to "; "
(*) Tag values longer than 256 bytes (generally those loaded from a file) will not be split
(*) Extended information now written to playlists even for 'unknown' filetypes
(*) Now leaves FLAC vendor string untouched
Thanks to Nick Voronin for providing the necessary patch
(*) Now uses libFLAC 1.1.4
(+) Added direct support for TAK files (recognition of file extension, etc.)
(*) Now uses libFLAC 1.1.3
(-) Changed ListSeparator from "<#>" to "<>" to resolve crash when setting tag of 1 char
(*) Changed ListSeparator from "; " to "<#>"
(+) New --tostdoutn switch to output tag value to stdout
Link removed, as version was bugged.
(+) New --tocue/--tocuen/--tocuea switches to output cuesheet tag to file
(+) New --paranoid switch to return non-zero code on warnings/non-critical errors
(*) Now uses libOgg 1.1.3 and libVorbis 1.1.2
(*) Removed code that truncated schemes with a full stop at the end
(+) New --stdout switch to write tag details to stdout instead of stderr
(*) Now uses libVorbis 1.1.1
(*) Now reports correct information for v3.98+ Monkey's Audio files
(*) The -f switch will now add files larger than 10KB
(*) Monkey's Audio files now use APEv2 tags by default (previously APEv1)
(*) Now uses libFLAC 1.1.2
(*) Now uses libFLAC 1.1.1, libOgg 1.1.2 and libVorbis 1.1.0
(*) Removed beta status
(*) Improved -f switch file loading, and moved file contents from stack to heap
Thanks to Niko Korhonen for his help and suggestions for the above
(-) Now correctly encodes tag to UTF8 when using -f switch
(+) New switch -f "<tag>=<file>" to set a tag value from the contents of a text file
Link removed, as version was bugged.
(+) Added direct support for Optimfrog files (recognition of file extension, etc.)
(*) Amended --ape2 option to override to APEv2 format on any file, not just MusePack
Case's original - before I made my changes
Known Issues / Notes
- It's not picky about the type of file you pass - it's currently up to you as an adult to ensure you pass it a nice file, like a .TXT, .CUE, or .LOG. No EXEs now you monkeys...
- I should have mentioned I have set a 10KB limit on the file to load. This was mainly as I didn't know how to create an array with no set upper bound. It may be a sensible move anyway. Update: Sensible or not, this limit has been removed in version 2.0.43.
I must stress that I am not a C++ programmer (please read the thread). This project equates to the sum total of my C++ experience, and therefore you download and run these amended EXEs at your own risk. Version 2.0.40b1 was a very minor update to Case's last version, 2.0.39, and therefore I am quite confident about its stability. 2.0.40b2 was a little more complicated, so... who knows ;o)
The changes made can be viewed here. I would be very interested to hear from a competent C++ programmer to improve upon the code (which is a mixture of adapting Case's code from Tag and Wapet, and my own - which I guessed at or found on the InterWeb).
Update: Version 2.0.43 utilises some new improved code. This was thanks to a very helpful email from Niko Korhonen. Shame on the rest of you.
This document has been printed from http://www.synthetic-soul.co.uk/