idtagviewer

by Martin Lemburg aka male


current version: 3.0 with tcl/tk v8.3+ (tested with tcl/tk v8.3.5) - from 11.04.2003

inspired by: Tagging MP3 files

using: Reading MP3 file info


http://82.168.209.239/hup/idtagviewer.gif


Contents

  1. Purpose
  2. Syntax
  3. Scanned files
  4. Id tags formular
  5. Possible actions
  6. Options
  7. Conversions
  8. Sorting
  9. Download
 10. Suggestions for the future development
 11. Bugs (are not welcome, but for sure existent)
 12. Comments
 13. Additional screenshots
 14. Currently offically defined genres (table of ids and names)

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
  • create playlists
  • show technical information from inside the MP3 file

In combination with a registration in the context menu of windows a good tool to manage id tag information of MP3 files.

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

3. Scanned files

http://82.168.209.239/hup/idtagviewer.files.gif

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.

With the entry above the listbox the selection of the contents of the listbox could be filtered. The option menu right to the entry is used to determine which source should be taken to filter the selection. It could be choosen between:

path
the complete path of a MP3 file
directory
the directory of a MP3 file
filename
the filename without extension of a MP3 file (default)
artist, album, year, track, title, genre, comment
the id tag information of a MP3 file

Below the entry the user could select if the filter pattern is a glob-style or a regular expression pattern.

Below the listbox are buttons to clear the selection, to select all files or to invert the selection.

Below the buttons the current count of scanned and selected files is shown.

4. Id tags formular

http://82.168.209.239/hup/idtagviewer.idtags.gif

The directory of the current selected MP3 file is shown above the id tag information formular. Below the directory the formular shows the filename of the current selected MP3 file.

This formular contains:

  • checkbuttons to toggle id tags for modifications (not visable in the viewonly mode)
  • one entry per id tag.

The topmost checkbutton toggles the state of all checkbuttons below (not visable in the viewonly mode).

If several files are selected and id tag information are different than the modifcation checkbutton will be disabled for the different id tags and the content of the corresponding entry field is filled with "...". Removing these "..." will enable the modifcation checkbutton and the new content of the entry field would be saved to all selected files, when using save.

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

5. Possible actions

http://82.168.209.239/hup/idtagviewer.buttons.gif

scan
opens a dialog to choose the directory to be scanned
rescan
rescans the current directory
recursive scan
toggles if a directory should be scanned recursively to get the contents of all subdirectories too
export
exports the whole list of MP3 files or the selected files into a playlist. Supported playlist formats are M3U (WinAmp), PLS (supported by Realmedia Player, Media Player and Apple Quicktime), RMP (Realmedia Metadata Package), and TAF (SnackAmp).
number
prepends the track number with the format "%ld" using the number seperator to the file name of the selected MP3 files. For conversion see 7
strip number
strips the track number (if present) from the file name of the selected MP3 files using the number seperator. For conversion see 7
rename
renames the selected MP3 files using the rename scheme from the options and the id tags of this MP3 file. For conversion see 7
extract tags
extracts the toggled id tags from the selected MP3 files 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 7
info
reads the MP3 file internal information using Reading MP3 file info and displays it - e.g. sample rate, bit rate, duration, ... .
save
saves the current shown id tag values to the selected MP3 files. For conversion see 7
close
closes the idtagviewer, like <Escape> does

6. Options

http://82.168.209.239/hup/idtagviewer.options.gif

number seperator
characters to be put between the track number and the original file name while numbering files and used to split the track number from a filename while stripping of the track numbers
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 14))
 %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

7. Conversions

http://82.168.209.239/hup/idtagviewer.conversions.gif

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
strip number
all file names to contain no prepended number will be converted if the convert filenames option is enabled
rename
all file names to be renamed will be converted if the convert filenames option is enabled
extract
all extracted values will be converted if the convert tags option is enabled. If more than one file is used to extract id tag information, these files will be saved and the file names will be converted if the convert filenames option is enabled
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

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!

8. Sorting

http://82.168.209.239/hup/idtagviewer.sorting.gif

The sorting of the files inside the described listbox is dependent of the following options:

standard
all files are sorted using their directories, the album and finally the track number (default)
filename
all files are only sorted increasing using their file names
artist
all files are sorted using artist, the album and finally the track number
album
all files are sorted using the album and finally the track number
year
all files are sorted using the year, the artist, the album and finally the track number
genre
all files are sorted using the genre, the artist, the album and finally the track number
user
all files are sorted using the given sorting sequence, possible are the following tokens inside the sorting sequence: filename, directory, artist, album, year, track, title, genre, comment

Additional the sorting direction could be changed by the radiobuttons below the sorting specification to be increasing (default) or decreasing.

9. Download

   http://82.168.209.239/hup/idtagviewer30.tar.gz
   http://82.168.209.239/hup/idtagviewer30.zip

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

10. Suggestions for the future development

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

12. Comments (are welcome)

13. Additional screenshots

The idtagviewer in the viewonly mode:

http://82.168.209.239/hup/idtagviewer_with_viewonly.gif

The idtagviewer started with a file:

http://82.168.209.239/hup/idtagviewer_with_file.gif

The idtagviewer started with a file in the viewonly mode:

http://82.168.209.239/hup/idtagviewer_with_file_and_viewonly.gif

The idtagviewer with arreas of the GUI toggled to be hidden:

http://82.168.209.239/hup/idtagviewer_toggled.gif

14. 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