January 18th, 2010· 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
January 18th, 2010· Now leaves FLAC vendor string untouched
· Thanks to Nick Voronin for providing the necessary patch
January 18th, 2010· Now uses libFLAC 1.1.4
January 18th, 2010· Added direct support for TAK files (recognition of file extension, etc.)
January 18th, 2010· Now uses libFLAC 1.1.3
January 18th, 2010· Changed ListSeparator from "" to "" to resolve crash when setting tag of 1 char
January 18th, 2010· Changed ListSeparator from "; " to ""
· New --tostdoutn switch to output tag value to stdout
January 18th, 2010· 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
January 18th, 2010· 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
January 18th, 2010· Now reports correct information for v3.98+ Monkey's Audio files
· The -f switch will now add files larger than 10KB
January 18th, 2010· Monkey's Audio files now use APEv2 tags by default (previously APEv1)
· Now uses libFLAC 1.1.2
January 18th, 2010· Now uses libFLAC 1.1.1, libOgg 1.1.2 and libVorbis 1.1.0
January 18th, 2010· Removed beta status
January 18th, 2010· 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
January 18th, 2010· Now correctly encodes tag to UTF8 when using -f switch
January 18th, 2010· New switch -f "=" to set a tag value from the contents of a text file
January 18th, 2010· 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
January 18th, 2010· Defaults to APEv2 on WavPack files
· New option --acculen to display sample accurate length of files
· New option --ansioutput to prevent ANSI -> OEM conversion of output
· Now uses id3lib 3.8.3, libFLAC 1.1.0 and latest CVS code of Ogg libraries
January 18th, 2010· File moving failed when any directory in generated path ended with dot
· No longer aborts info reading if tags contain invalid utf8 encoding
January 18th, 2010· Too large ID3v2 tags caused MP3 file info reading to fail
· Binary data caused APEv2 tag writer to crash
· Memory access problems in MPC info reader with stream version 15.15
· option --zeropad had incorrect description
January 18th, 2010· Fixed problems with zero length files
January 18th, 2010· Added 'Disc number' field to schemes (used with %D)
January 18th, 2010· Made the executable smaller
· Changed tag name 'Ogg comment' to 'Vorbis comment'
· Changed license to LGPL
January 18th, 2010· Writing a new tag and removing ID3v2 tag simultanously from a file with two or more tags left old tags in the end of the file
January 18th, 2010· MP3 length calculation was sometimes one second off
January 18th, 2010· Now adds three dots (...) to the end of fields that don't fully fit in ID3v1 tag
· Option --id3ext can be used to specify the old behavior (no dots, extend too long artist field to comment field)
January 18th, 2010· Option --removeid3v2u didn't check that ID3v2 tag actually exists
· Option --removeid3v2u will always remove id3v2 tag from formats where it's not allowed (only leaves it in MP3, AAC and FLAC)
January 18th, 2010· New option --removeid3v2u, only removes ID3v2 tags if basic fields fit in ID3v1 tag
· Uses Windows functions for character conversions, should work with all codepages
· No longer uppercases characters after ´ and `
· Now converts Unicode character codes after '%' character when using --spacefix
January 18th, 2010· Option --fromfile now copies only new tag fields, no field values are replaced
· New option --umlfix to fix umlauts (ae -> ä, oe -> ö, ue -> ü)
· Option --overwrite for overwriting existing files when renaming
· Converts first digit of three digit tracknumbers to album number when tagging from filenames (can be disabled with --nomagic switch)
· Converts characters properly from ANSI to OEM codepages when displaying filenames
January 18th, 2010· New case conversion functions --tcaps, --tCaps, --tlower & --tupper that only convert characters of specified tag item.
· Can read file info from Monkey's Audio files
· Removed warning messages about failed fileinfo reading with some formats
January 18th, 2010· Updated vorbis comment editor backend and id3lib to latest versions
· Now statically links with id3lib, external libraries no longer required
January 18th, 2010· Support for FLAC, can read file info and use native tags
· Return of --trackinc function
· New function --nomagic, disables all extra automations from automatic tagging (which were automatic appending of CD number to album field and automatic extraction of release year from album)
January 18th, 2010· Scheme handling improved slightly, now schemes without special separator characters work better
· Playlists for Various Artists albums are labeled with album name only
· Fixed bugs in Unicode parameter passing
January 18th, 2010· Removed some tag item name conversions when dealing with Oggs
January 18th, 2010· New function --zeropad adds leading zeros to tracknumbers < 10
January 18th, 2010· Fixed memory overwrite bug with Ogg file info reader
January 18th, 2010· Tag removing always recreated tags if --spacefix or --itemfix were used
· Option --spacefix had memory allocation problem, long text fields caused crash
January 18th, 2010· Tag copying from other file now preserves title field if it's not empty
January 18th, 2010· Function --nospaces now affects also files when renaming
· Function --spacefix now fixes all tag fields and not only artist and title
· Autoscheme now works on files at root directory
January 18th, 2010· Displays encoder version used with MPC
· Playlist functions didn't work without specifying name
January 18th, 2010· Option --plname now works with scheme identifiers too (thanks Kjetil)
January 18th, 2010· Program crashed if --nfo wasn't used (whoops)
January 18th, 2010· Case capitalization functions didn't capitalize first character if first word
· was listed in exceptions
· NFO file generator was one month behind when using numeric form
· NFO file name can be given using scheme when identifiers are marked with '%' or '*'
January 18th, 2010· Config file can now be loaded from Tag's directory even when not located in path
· Doesn't try to write empty tags anymore if --auto fails
· Improved error reporting
· Can now read/remove empty APE tags
· Empty tag fields work again (they weren't working after changes in 2.0.12)
January 18th, 2010· Added user customizable character replacing for tagging from filename.
· Useful if you use some special codes to mark illegal characters (?, *, /, , |)
January 18th, 2010· Last character of last tag field in APE tags was sometimes lost
· Rename functions worked incorrectly with single digit track number
· ID3v2 tag removing and taggging didn't work at the same time
· Character conversions accessed memory incorrectly
January 18th, 2010· Rename functions simplified
· Path creation now handles special characters correctly
· Unicode parameters are now only used for tag values
January 18th, 2010· New option --playlists, creates one playlist for every album in current directory
January 18th, 2010· Rename functions handled path incorrecly
· Option -u not needed in NT based operating systems anymore, parameters are read in UNICODE (Thanks to ErikS!)
January 18th, 2010· Doesn't use Windows' UTF-8 code anymore, works with Win95.
January 18th, 2010· NFO generator only accepts correctly formatted scheme
January 18th, 2010· New option --itemfix changes item name cases to match official names.
· This can be used to fix tags created with buggy versions of Tag
· Changes to tag display routine's Windows ANSI to OEM character conversions
January 18th, 2010· Itemnames were lowercase when direct switches were used (--title, --artist...)
January 18th, 2010· Minor bugfix in APE v1.0 to APE v2.0 conversion
January 18th, 2010· Scheme was recognized incorrectly if it didn't start with identifier
· New schemes for scheme autodetector
January 18th, 2010· Playlists and .nfo files were written in unix mode
· NFO file can use comment field
January 18th, 2010· If scheme is given using proper identifier markers (%, *) you can use all characters normally without being interpreted as identifier.
What's new in Tag 2.0:
January 18th, 2010· New readme
· Some small additions
January 18th, 2010· NFO file generator was too anxious in replacing characters
· Character replacement can now be customized in config file
· New option --tofileext allows selecting extension for generated name
January 18th, 2010· New option --plname allows user specify name for playlist
· New option --slashes converts backslashes to slashes in playlists
· Screen output writing didn't append to existing file when name was made using scheme
· Renaming had character ignoring bugs
January 18th, 2010· Pictures from ID3v2 tags are saved in APE tags
· .nfo file generator is finished, template is read from config file
· New options, --a-artist defines album artist and --a-title defines album title.
· Both are used with playlists and .nfo file.
· Decoding is back. Supports mpc, mp3 and ape. Other decoders don't allow naming output
January 18th, 2010· Tag info reading from tag.ini and CDDB files is back. There is no option
· inimode anymore, feature is used by entering name of the file as parameter.
· Output direction to text files, option --tofile writes screen output to file generated from scheme (tag data from first file).
· tofilen writes output to .
· New option --nospaces, all files generated by Tag will have spaces replaced by underscore.
January 18th, 2010· Lots of bugs fixed, too many to remember all
January 18th, 2010· Tags were not written when manually setting fields
· Ogg tags couldn't be saved
· New option -u to insert tag fields coded in UTF-8
· Some improvements to internal tag handling
January 18th, 2010· Total code rewrite.
· Some functions that were previously supported are not implemented yet
· but all functions shown on usage screen are implemented and should work.
· No longer crashes when reading files with multiple tags (this happened with v1.33)
· Full wildcard support for directories.
· (Command "tag */s*/*.*" would search all files in directories starting with 's'
· in all directories under current working directory.)
· Now accepts directories as parameters.
· New option --oneplaylist to write one playlist of all files. Options --playlist creates
· one playlist in every directory there are files.
· Sort improved. Option --sortdesc reverses sort order. Multiple --sort+ parameters define
multiple rules to sort by. Accepted parameters are:
· duration: total song playtime
· size: filesize
· name: name with full path
· path: only file path
· basename: filename without path
· extension: file extension
· attrib: file attributes
· time_access: time file was last accessed
· time_create: time file was created
· time_write, time, date: time file was last modified
· bitrate: bitrate of file
· channels: audio channels in file
· samplerate: samplerate of file
· format: audio format
· : any item in tag (artist, title, track, comment, genre, year...)
· Can now write multiple tags at once (use --force multiple times)
· With --oldtype writes all tags that were in file
· Displays basic information about MP3s, MPCs and Oggs (can be disabled with --hideinfo)
· Autoscheme improved
· Supports unlimited number of presets
· Some other things I can't remember right now.
January 18th, 2010· Short directory names are now converted to long names.
January 18th, 2010· Included ID3v2 tag reading by using id3lib (http://id3lib.sourceforge.net/)
· For things to work the library file id3lib.dll is needed somewhere in path.
January 18th, 2010· Fixes and improvements to --inimode
· Improved long title cutting with ID3v1 tags (>30 characters).
· If moving parenthesis to comment field doesn't cut title, this is done.
· Otherwise title is cut at 30 characters and rest is moved to comment.
· New option --swapta. Swaps title field with artist field.
January 18th, 2010· Autoscheme is now enabled by default in config
· Some modifications to autoscheme
· Lots of new schemes to autoscheme detection list
January 18th, 2010· New option --inimode. Reads entries from tag.ini or if that's missing searches cddb-file and uses them to tag files track01.*, track02.* ...
New options for playlist creation:
· dirname uses directory name as name for playlist
· If playlist name would be empty, directory name is used
January 18th, 2010· Genre can be given as ID3 genre number (0-147)
January 18th, 2010· Code sequences (%xx) on names are translated to characters
· Test mode (--test) now displays what tag would be like
· Added some more naming schemes to tag.cfg to be used with --autoscheme
· Autoscheme works better
January 18th, 2010· Playlist sorting works better, numbers are sorted in correct order regardless of length differences (02 comes before 010)
January 18th, 2010· New option --lognames saves a logfile with new names when renaming
January 18th, 2010· Improvements to commafix, it now doesn't change order of words if artist field is a list
January 18th, 2010· New option --spacefix replaces underscore (_) and with space character
January 18th, 2010· New option --fromfile can be used to copy tag from one file to another
January 18th, 2010· New option --nozero ignores leading zeros on track numbers
· New option --commafix fixes order of words on comma separated artist field
January 18th, 2010· Fixed a bug with memory allocation
· Made memory allocation safer, program exits now on errors
January 18th, 2010· Generated APE 2.0 tags were corrupted
January 18th, 2010· Autoscheme didn't recognize brackets or other weird characters as being part of name
January 18th, 2010· New option --ape2 changes MPC to default to APE 2.0. Otherwise 1.0 is default
· Fixed bug with tag type checking, APE tag was sometimes recognized as ID3v1
January 18th, 2010· Support for APE 2.0
· Recursive function now longer warns about missings files with wildcards
January 18th, 2010· New option --autoscheme reads scheme possibilities from Tag.cfg and tries to
· select best mode automatically
· Lyrics tag was not read if ID3 tag's title had space characters in the end
January 18th, 2010· Tags couldn't be manually edited
January 18th, 2010· New option --recursive applies commands in all subdirectories recursively
January 18th, 2010· Now allows tagging of .aac files
· Small modifications to APE tag reading
January 18th, 2010· Now detects WavPack and FLAC as supported formats
January 18th, 2010· Preliminary reading of APE 2.0 tags
· Small bug fixed with APE writing, reserved field was not always zero
· Temporarily disabled displaying of multiple tags because of bugs
January 18th, 2010· User defined fields (-f) were not written with option --auto
· New option --trackinc increases tracknumber after every file processed
January 18th, 2010· Allows writing of multiple tag files
· Can display APE tag with ID3v1 tag ( rough hack, might be buggy )
January 18th, 2010· Doesn't modify date/time information of file. Can be disabled with --newdate
January 18th, 2010· Huge speedup in Ogg handling, vorbiscomment is only needed for writing tags
January 18th, 2010· Now reads playtimes from Ogg files
January 18th, 2010· Now playlist creation should work properly
January 18th, 2010· Empty lines in parameter file are no longer read
· Playlist creation now creates relative paths correctly
January 18th, 2010· Ogg tags were not written for files without tags
· Playlist creation now uses given album and artist names correctly
· Started support for decoding (beta, only MPC right now)
· Small clarifications on usage screen
January 18th, 2010· Allowed longer strings for year and tracknumber fields
· Reads Media field when generating .NFO files
January 18th, 2010· Can now write user defined fields in APE tags
· Changed handling of upper/lower case conversions
· Exception words now work like they should
· Exceptions now include some roman numbers by default
January 18th, 2010· Now shows if file has ID3v2 tags
· Can remove ID3v2 tags
· Started support for writing .NFO files
January 18th, 2010· Skipping of ID3v2 with MPC files
· Removed environment variable TAG_SCHEME
· Configuration file Tag.cfg
· Added presets (in config)
· List of exception words for case conversion (in config)
· Can now read filenames from list (use '@' in front of list)
New options:
· --Caps: capitalizes only first word of text strings
· --lower: converts strings to lower case
· --upper: converts string to upper case
· Some changes to usage screen
January 18th, 2010· Support for Lyrics3 v2.00 tags
· Environment variable TAG_SCHEME can be used to set default naming scheme
· Some fixes in latin to ascii conversions
January 18th, 2010· Now saves MPCs with APE tags by default
· New parameter --oldtype is needed to save files with tag type they have
· Parameter --caps alone didn't do anything
· Changed usage screen
January 18th, 2010· If vorbiscomment was not in path, temporary files were left undeleted
January 18th, 2010· Changed Usage screen
· Added help file Tag.txt