Version 18 of idtagviewer

Updated 2003-04-05 09:33:30

by Martin Lemburg aka male


current version: 2.0

inspired by: "Tagging MP3 files" [L1 ]


[L2 ]


1. Purpose

The purpose is to (re)view or to edit/change id tags of MP3 files of the id tag standard v1.

It is possible to:

  • edit the id tags of a MP3 file by changing directly in the entry fiels of the id tags area (see 3.)
  • extract the id tags by a scheme from the path of a MP3 file (directory and filename)
  • change the case of the file name or the id tags of a MP3 file to the lower, upper case or to first char upper and the rest lower case
  • prepend the track number to and to strip it from a MP3 file
  • rename a MP3 file on the base of the id tags of this MP3 file

2. Syntax

The call of the idtagviewer is:

    idtagviewer.tcl ?-viewonly boolean? ?-recursive boolean? ?-directory path? ?-file path?

Options:

   -viewonly: option to controll if modifications inside the id tag information could be done or not - boolean value
   -recursive: option to scan a given directory recursively to get all MP3 files inside of all subdirectories and the given directory
   -directory: path to the directory to be scanned
   -filename: path to the file to view/edit the id tag information from

Common:

If no argument is given than the idtagviewer asks for a directory to scan after the startup.

If a not recursively scanned directory contains no files, the idtagviewer enables the recursive scan and rescans the directory

Examples:

   - to view id tags of a file you simply have to start the idtagviewer with it:

    idtagviewer.tcl -file dummy.mp3

   - to scan a directory (with/without its subdirectories), start the idtagviewer with it:

    idtagviewer.tcl -directory /usr/mp3/rock/BonJovi
    idtagviewer.tcl -recursive true -directory /usr/mp3/rock/BonJovi

2. Scanned files

http://195.241.128.75/hup/idtagviewer10.files.jpg

This listbox contains all scanned files and is shown only if a directory is scanned. Filenames with a green background have the track number 1. Red ones don't have a track number.

The current scanned directory is shown above the list of files.

3. Id tags formular

http://195.241.128.75/hup/idtagviewer10.idtags.jpg

Above the formular the current filename is shown.

This formular contains:

  • checkbuttons to toggle id tags for modifications
  • one entry per id tag.

The topmost checkbutton toggles the state of all checkbuttons below.

With:

  • the <Down> and <Up> keys you manoeuvres from checkbutton to checkbutton or entry to entry.
  • the <Control-Down> and <Control-Up> keys you manoeuvres through the files shown left. The current file is always shown left
  • the <Tab> and <Shift-Tab> keys you move like normally through the formular

4. Possible actions

http://195.241.128.75/hup/idtagviewer10.actions.jpg

scan
opens a dialog to choose the directory to be scanned
rescan
rescans the current directory
number
prepends the track number with the format "%ld." to the file name of the current MP3 file. For conversion see 6
number all
prepends the track number of each scanned file like number does
strip number
strips the track number (if present) from the file name of the current MP3 file. For conversion see 6
strip all numbers
strips the track number of each scanned file like 'strip number does
rename
renames the current MP3 file using the rename scheme from the options and the id tags of this MP3 file. For conversion see 6
rename all
renames all MP3 files like rename does
extract tags
extracts the toggled id tags from the current MP3 file using the extraction scheme from the options. Not recognized or extracted id tags won't be changed. Only id tag values are overwritten by extracted ones, if they are toggled for modification. For conversion see 6
extract tags all
extracts all toggled id tags from all MP3 files like extract tags does
save
saves the current shown id tag values to the current MP3 file. For conversion see 6
save all
saves all id tag values of the all MP3 files like save does
close
closes the idtagviewer, like <Escape> does

5. Options

http://195.241.128.75/hup/idtagviewer10.options.jpg

recursive scan
toggles if a directory should be scanned recursively to get the contents of all subdirectories too
rename scheme
a scheme to describe how the file name of a MP3 file should be changed using the id tags. If a directory is specified by the rename scheme and currently not existing, than it will be created. Here the scheme replacements:
 %A = artist  (max. 30 chars)
 %a = album   (max. 30 chars)
 %y = year    (4 digits)
 %n = track   (1 digit, 0 <= %n <= 255)
 %t = title   (max. 30 chars)
 %g = genre   (a genre specification out of the current defined genre specifcations (see 12))
 %c = comment (max. 28 chars)
extraction scheme
a scheme to describe how id tag values should be extracted from the path of a MP3 file
subtitle -> title
toggles to recognize a subtitle inside a title using the subartist/subtitle sepeartor. A recognized subtitle will be stored as title. Mostly only useful for compilations
subartist -> artist
toggles to recognize a subartist inside a title using the subartist/subtitle sepeartor. A recognized subartist will be stored as artist. Mostly only useful for compilations
dismiss braced text
toggles to dismiss any text between paranthesis

examples:

- subtitle/subartist recognition with "_-" as seperators:

 file: 1. Starvue _ Bodyfusion.mp3
 =>
 title     = Starvue _ Bodyfusion
 subartist = Starvue
 subtitle  = Bodyfusion
 =>
 artist = Starvue
 title  = Bodyfusion

- braced text dismission:

 file: Come On Everybody (Get Down).mp3
 =>
 title = Come On Everybody

6. Conversions

http://195.241.128.75/hup/idtagviewer10.convert.jpg

Following actions will take care for the conversion options:

number
all file names to be numbered will be converted if the convert filenames option is enabled
number all
like number
strip number
all file names to contain no prepended number will be converted if the convert filenames option is enabled
strip all numbers
like strip number
rename
all file names to be renamed will be converted if the convert filenames option is enabled
rename all
like rename
extract
all extracted values will be converted if the convert tags option is enabled
extract all
like extract' and save'', because id tag values are extracted per each MP3 file and saved to the MP3 file
save
all id tag values will be converted before saving if the convert tags option is enabled. And all file names of the MP3 files to be saved will be converted if the convert filenames option is enabled
save all
like save

If the convert tags option is enabled and a scanned file will be selected, than the the id tag values will be converted.

Only if a id tag is toggled for modifications, its values will be converted!

7. Sorting

http://195.241.128.75/hup/idtagviewer10.sort.jpg

standard
all files are sorted increasing using their directories, the album and finally the track number
alphabetical
all files are only sorted increasing using their file names
artist
all files are sorted increasing using artist, the album and finally the track number
album
all files are sorted increasing using the album and finally the track number
year
all files are sorted increasing using the year, the artist, the album and finally the track number
genre
all files are sorted increasing using the genre, the artist, the album and finally the track number

8. Download

   http://195.241.128.75/hup/idtagviewer10.tar.gz
   http://195.241.128.75/hup/idtagviewer10.zip

MGS [2003/04/02] - Fixed typo in links.

Thanks to Theo Verelst for hosting the archives and the images inside this document.

9. Future plans

  • internationalization using msgcat
  • multiselection in the list of scanned files
  • buttons below the list of scanned files to select all or to invert the current selection

10. Bugs (are not welcome, but for sure existent)

11. Comments (are welcome)

12. Currently offically defined genres (table of ids and names)

   0 - Blues
   1 - Classic Rock
   2 - Country
   3 - Dance
   4 - Disco
   5 - Funk
   6 - Grunge
   7 - Hip-Hop
   8 - Jazz
   9 - Metal
  10 - New Age
  11 - Oldies
  12 - Other
  13 - Pop
  14 - R&B
  15 - Rap
  16 - Reggae
  17 - Rock
  18 - Techno
  19 - Industrial
  20 - Alternative
  21 - Ska
  22 - Death Metal
  23 - Pranks
  24 - Soundtrack
  25 - Euro-Techno
  26 - Ambient
  27 - Trip-Hop
  28 - Vocal
  29 - Jazz+Funk
  30 - Fusion
  31 - Trance
  32 - Classical
  33 - Instrumental
  34 - Acid
  35 - House
  36 - Game
  37 - Sound Clip
  38 - Gospel
  39 - Noise
  40 - Alternative Rock
  41 - Bass
  43 - Punk
  44 - Space
  45 - Meditative
  46 - Instrumental Pop
  47 - Instrumental Rock
  48 - Ethnic
  49 - Gothic
  50 - Darkwave
  51 - Techno-Industrial
  52 - Electronic
  53 - Pop-Folk
  54 - Eurodance
  55 - Dream
  56 - Southern Rock
  57 - Comedy
  58 - Cult
  59 - Gangsta
  60 - Top 40
  61 - Christian Rap
  62 - Pop/Funk
  63 - Jungle
  64 - Native US
  65 - Cabaret
  66 - New Wave
  67 - Psychadelic
  68 - Rave
  69 - Showtunes
  70 - Trailer
  71 - Lo-Fi
  72 - Tribal
  73 - Acid Punk
  74 - Acid Jazz
  75 - Polka
  76 - Retro
  77 - Musical
  78 - Rock & Roll
  79 - Hard Rock
  80 - Folk
  81 - Folk-Rock
  82 - National Folk
  83 - Swing
  84 - Fast Fusion
  85 - Bebob
  86 - Latin
  87 - Revival
  88 - Celtic
  89 - Bluegrass
  90 - Avantgarde
  91 - Gothic Rock
  92 - Progressive Rock
  93 - Psychedelic Rock
  94 - Symphonic Rock
  95 - Slow Rock
  96 - Big Band
  97 - Chorus
  98 - Easy Listening
  99 - Acoustic  100 Humour
 101 - Speech
 102 - Chanson
 103 - Opera
 104 - Chamber Music
 105 - Sonata
 106 - Symphony
 107 - Booty Bass
 108 - Primus
 109 - Porn Groove
 110 - Satire
 111 - Slow Jam
 112 - Club
 113 - Tango
 114 - Samba
 115 - Folklore
 116 - Ballad
 117 - Power Ballad
 118 - Rhytmic Soul
 119 - Freestyle
 120 - Duet
 121 - Punk Rock
 122 - Drum Solo
 123 - Acapella
 124 - Euro-House
 125 - Dance Hall
 126 - Goa
 127 - Drum & Bass
 128 - Club-House
 129 - Hardcore
 130 - Terror
 131 - Indie
 132 - BritPop
 133 - Negerpunk
 134 - Polsk Punk
 135 - Beat
 136 - Christian Gangsta
 137 - Heavy Metal
 138 - Black Metal
 139 - Crossover
 140 - Contemporary C
 141 - Christian Rock
 142 - Merengue
 143 - Salsa
 144 - Thrash Metal
 145 - Anime
 146 - JPop
 147 - SynthPop