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 and keys you manoeuvres from checkbutton to checkbutton or entry to entry. * the and keys you manoeuvres through the files shown left. The current file is always shown left * the and 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 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 <> Application | Music