Short: Read/Write MP3 TAG info. v0.2.13 Author: nagilum@chillout.org (amiga compile), xeno@mix.hive.no (author) Uploader: nagilum@chillout.org Version: v0.2.13 Type: mus/misc ============================================================================== ..just a few notes from me, Nagilum: Porting was no problem after installing gcc, the people from the Geek Gadgets project did a great job, all i did was extracting and typing make (basically). To do something more by myself i also wrote a small MUI GUI using Argue but you probably have to change some pathes depending on where you install it. Maybe someone could write a better GUI, or someone could port tcl/tk8.0 so my tcl/tk-GUI, i'm just working on, would run on Amiga as well as it does under X11, i will include it anyways when it's finished. Now its Tavenard's turn to update mpega (add new genres) again ;-) , Summary: bin/ 68000-68060 binaries of mp3info mp3info.old/ mp3info v0.25 ported by mikecheng@cryogen.com included because he did a nice AmigaGuide file ;-) MUI-GUI/ All the needed files for the GUI exept the binary, copy it from the bin/ directory, also in this directory is the argue binary & guide, get the whole archive from the aminet, it's really worth a look. latest change: Someone reported wrong returncodes but i couldn't find a reason for that. :-\ I've also heard that the Argue archive has been deleted from aminet, if you need it download CyberQT or CyberAVI, the archive is included there. Cya. ============================================================================== ********************** mp3Info ********************** A small utility to read and write TAG info, as well as retrieve the MP3 Header info and print it all out in a nice format. Released under GNU GPL. Features: - Get, Set and Wipe MP3 TAG Info. - Get MPEG Audio Version 1, 2 and 2.5 (All Layers) Header info. - Userdefinable output formatting (rather advanced). - Can rename files according to userdefined scheme. - Can now also PLAY MP3s in a correct manner (Linux only). Author is Thorvald Natvig , if you in any way think this is a nice program, send me an email saying "Hi". Feedback is nice. I have only tested it on Linux/x86, but people have reported it to work on a lot of other machines, and it should theoretically work on anything. I'm interested in having it compilable on other machines, so mail me any problems you may have. A few people have tested this on other Unix-alike platforms, and gotten it to work, and it's even reported to work under OS/2 :) INSTALLATION INSTRUCTIONS: If you're NOT on a Linux system, modify the Makefile and comment out all the player stuff. The player will only work on Linux. Just run the file 'INSTALL' to install it, should theoretically work just fine. Someday I'll learn how to do autoconfig and then it will be even finer. If you change any of the source, please, Please send me a patch or the new source so I can include it. Also send me a email if you use this utility :) NEW VERSIONS: New versions will be available on ftp://bimbo.hive.no/pub/mp3info/ They will also be uploaded to sunsite MP3 PLAYING: There are three methods of playing: If you DON'T have a Linux machine, but have some other program that CAN play mp3 files, use mp3info -e "programname \"%f\"" CoolMusic.mp3 This will run programname CoolMusic.mp3 which will play the music for you For AMP, use mp3info -e "amp -q \"%f\"" filename.mp3 Another (at least on Linux) is to use l3dec (From Fraunhofer (http://www.iis.fhg.de/departs/amm/layer3/)) Just put it anywhere in your path. The piper and audioplaying is done by the program itself, at optimum speed :) The last is to use splay (preferred, but much larger executable) Get it from ftp://sunsite.unc.edu/pub/Linux/apps/sound/splay-0.6.tar.gz This is the default method, as indicated in the Makefile. Both versions can be forced to skip to the next song by sending the program a HUP signal. Very handy for putting the program in the background with a LARGE playlist. I have included my playmp script, which I doubt will work on anything but Linux system where you are root (just edit it and it will work anywhere). What it does, is use locate to find all your MP3 tunes, and play them all randomly. It goes with a shell alias: alias mp='killall -HUP mp3info' Just type 'mp' to skip to the next song. ***************************** Output formatting magic The output from the program can be 100% userdefines. There are two uses, one is -f to set the output format, and the other is -N to set a naming scheme. -N will RENAME the files specified according to the format. The format is built up as a string, with the following special characters: %% = % %I = IF (explained below) %! = Not-IF (also explained below) %t = title of song %a = Artist %l = album %y = year %c = comment %g = genre (text) %# = genre (number) %v = MPEG Version (1/2/2.5) %V = MPEG Version as text %L = Layer version (I, II, III) %A = Layer version as number %C = Error_Protection (0/1) %b = Bitrate (in kbit/s) %F = Sampling frequency %M = mode %O = Copyright (0/1) %o = Original (0/1) %m = length (minutes) %s = length (remaining seconds.. Ie 3m 2s is "%mm %ss") %S = length (ALL in seconds). %N = Newline %f = Filename (as specified on command line) %B = Base filename (path stripped) %i = Size of file (in bytes) %E = ANSI ESC-code (\0x1B [ ) If cases: If-cases are %I.. %IT If TAG info present %IH If HEADER info present %Ia If Artist info present %It If Title of song present %Il If album name present %Iy If year present %Ic If comment present %IC If CRC. %IO If Copyrighted. %Io If Original %IS If Stereo %IE End-IF. %! and the same characters means If NOT. So %!T means IF NOT TAG. %!E is ELSE. Example.. %IT Tag info present%IE %IHHeader info present %ICwith CRC%IE%IE should explain it. As seen, ifs can be nested. There is a length limit on the formatting string and the output which can be set in mp3tools.h Hint: Bash etc often has ! as a special char, meaning you can't use it on the command line, you have to have it in a bash-script of sorts. Formatting: mp3info now understands normal printf formatting, so you can use "%m:%02s" to get 3:02 for the duration. Naming: I use the following naming scheme : mp3info -N "%IH%It%t.mp3%IE%IE" Which calls the tune Rhythm is a dancer.mp3 Which names the files as .mp3, which is how I like it. As an alternative, you can use: mp3info -N "%IH%It%Ia(%a)-%IE%t.mp3%IE%IE" Which would produce (Snap)-Rhythm is a dancer.mp3 as a name. ------- CREDITS ------- I got the info about the MPEG Headers from free software available to decode MPEG2 streams. ID3 format by NamkraD/DC (erick@marble.net) http://www.marble.net/~erick/mpeg3.htm The debian stuff was added by Clint Adams And a big thanks to all those who sent me an email :)