@DataBase AmTAGID3.guide
@Author Georges 'Melkor' Goncalves <melkor@lords.com>

@Index Index

@$VER: AmTAGID3.guide 1.7 (25.05.98)
@Macro Ver "1.7"
@Macro _Contents "................... @{FG Highlight}$1@{FG Text}"
@Macro _Section "@{u}@{b} $1 @{ub}@{uu}"

@Node Main "AmTAGID3 - AmigaGuide documentation"
                            @{u}@{b} Table of contents @{uu}@{ub}
            @{FG Highlight}___________________________________________________@{FG Text}

                   Welcome to the @{b}AmTAGID3@{ub} @{Ver} AmigaGuide,
                    © 1998 by Georges 'Melkor' Goncalves
            @{FG Highlight}___________________________________________________@{FG Text}

            If you have installed `SearchGuide' by Gérard Cornu,
           you can @{" Search " System "Run >Nil: SearchGuide AmTAGID3.Guide"} for a word or sentence in this guide.

      @{" Introduction " Link Intro   } @{_Contents "What does AmTAGID3 do?"}
      @{" Disclaimer   " Link Disclaim} @{_Contents "What AmTAGID3 can not do."}
      @{" Author       " Link Author  } @{_Contents "Who should you write?"}

      @{" Requirements " Link Requirements } @{_Contents "How do I install AmTAGID3?"}
      @{" Usage        " Link Usage   } @{_Contents "How should I use AmTAGID3?"}
      @{" Important    " Link Important } @{_Contents "Maybe you should have a look!"}

      @{" Future plans " Link FuturePlans } @{_Contents "What's coming next?"}
      @{" History      " Link History } @{_Contents "Where the program has been!"}
      @{" Credits      " Link Credits } @{_Contents "Who do I thank?"}

      @{" Glossary     " Link Glossary } @{_Contents "What are you talking about?"}

  This guide will not appear correctly if you do not have AmigaGuide_DT V40+
@EndNode

@Node Intro "AmTAGID3 / Introduction"

@{_Section "AmTAGID3"}

  @{b}@{u}AmTAGID3@{uu}@{ub} is a useful program to edit the @{" TAG ID3 " link TAGID3} part of a @{" MPEG Audio " link MPEGAudio}
  file, with features as follows :

  @{b} · @{ub}  Read the TAG ID3 info from any MPEG Audio file.

  @{b} · @{ub}  @{" Write " Link Write} the TAG ID3 info to any MPEG Audio file.

  @{b} · @{ub}  @{" Wipe " Link Wipe} the TAG ID3 info of any MPEG Audio file.

  @{b} · @{ub}  @{" Displays " Link MP3Duration} the duration of the MPEG Audio file. See @{" Note " link MP3Duration}.

  @{b} · @{ub}  @{" Show & edit " Link ADOSComment} the AmigaDOS comment of the MPEG Audio file.

  @{b} · @{ub}  Press « Help » over the gadgets to get context sensitive online help.

  @{b}AmTAGID3@{ub} is Shell only but this was intended from the start :)

  This programs is @{B}NOT@{UB} FreeWare... It's @{B}@{U}EMailWare@{UB}@{UU} and/or @{B}@{U}PostCardWare@{UB}@{UU}.  This
  means that if you like and use this program, you have the moral obligation
  to send an @{U}EMail@{UU} and/or a @{U}PostCard@{UU} (your country,  city,  etc...)  to  the
  @{" author " link author} :-)

@EndNode

@Node Disclaim "AmTAGID3 / Disclaimer: Blah, blah, blah..."

@{_Section "Disclaimer"}

  There is  no  warranty  for  this  program  to  the  extent  permitted  by
  applicable  law.  Except  where  otherwise stated in writing the copyright
  holder and/or other parties provide the program "as is"  without  warranty
  of  any  kind, either expressed or implied, including, but not limited to,
  the implied warranties of merchantability and  fitness  for  a  particular
  purpose.  The entire risk as to the quality and performance of the program
  is with you. Should the program prove defective, you assume  the  cost  of
  all necessary service, repair, or correction.

  In no event, unless required by applicable law or agreed  to  in  writing,
  will  any  copyright  holder,  or any other party who may redistribute the
  program as permitted above, be liable to you for  damages,  including  any
  general,  special,  incidental or consequential damages arising out of the
  use or inability to use the program (including but not limited to loss  of
  data or data being rendered inaccurate or losses sustained by you or third
  parties or a failure of the program to operate with any  other  programs),
  even  if such holder or other party has been advised of the possibility of
  such damages.

  It is @{b}NOT@{ub} to be distributed on magazine coverdisks or similar without  the
  owner's explicit written consent.

  Contact @{" Georges 'Melkor' Goncalves " Link Author}, author.

@EndNode

@Node Author "AmTAGID3 / Author"

@{_Section "Author"}

  @{B}AmTAGID3@{UB} was designed and programmed for the @{U}Amiga@{UU} by :

        Georges 'Melkor' Goncalves
        22 rue Morand
        F-75011 Paris
        France

        EMail: melkor@lords.com
@EndNode

@Node Requirements "AmTAGID3 / Requirements"

@{_Section "Requirements"}

  @{FG Highlight}@{B}AmTAGID3@{UB} requires :@{FG Text}

      Kickstart V39 (OS 3.x) or above.
      @{" Magic User Interface " Link MUI} V3.8 or above.
      @{" BetterString.mcc " link betterstring} V11.2 or above.

  @{FG Highlight}Install @{B}AmTAGID3@{UB} :@{FG Text}

      Anywhere in your path :)

  @{FG Highlight}MUI :@{FG Text}

      If you do not have @{U}MUI@{UU} you will have to download it from somewhere and
      install it. The latest version on Aminet is 3.8. @{U}MUI@{UU} is much too large
      to be included here.

@EndNode

@Node Usage "AmTAGID3 / Usage"

@{_Section "Usage"}

  @{b}AmTAGID3@{ub}

    @{" The command line " Link CmdLineArgs} @{_Contents "Giving arguments via the Shell"}
    @{" The famous GUI   " Link GUI} @{_Contents "Visual part of the iceberg."}

  The best usage is of course within a file manager like @{b}DOpus@{ub},  or  another
  one,  and  configure  a button with it. Here is a sample configuration for
  @{b}Directory Opus 5 Magellan@{ub} :


  Function : AmigaDOS   C:AmTAGID3 {o}

  Flags : CD Source
          Run asynchronously
          Do all files

  Look @{" here " link Cancel} for more info about using it within a file manager.

@EndNode

@Node CmdLineArgs "Command line arguments"

@{_Section "Command line arguments"}

  Pretty simple. As @{B}@{U}AmTAGID3@{UB}@{UU} uses the @{U}ReadArgs@{UU} function from the @{U}dos.library@{UU},
  the command line arguments are really easy to use and understand  both  for
  the user (you) and for the programmer (me) ;-)

  The template is as follows :

  @{" MPEGFILE/A          " link MPEGFILE}
  @{" NQR=NOQUITREQUEST/S " link NOQUITREQUEST}
  @{" GL=GENRELINES/K/N   " link GENRELINES}
  @{" RS=REMSPACES/S      " link REMSPACES}


  @{B}@{U}Note :@{UB}@{UU} Any error regarding the command line (ie: no filename supplied,  non
  existing file, etc...) generates an error message which is displayed on the
  default output (most of the time, the shell console)

@EndNode

@Node MPEGFILE "Command line arguments / MPEGFILE/A"

  @{FG Highlight}MPEGFILE/A@{FG Text} (ARGUMENT, mandatory entry)

    The name of the MPEG  Audio  file.  You  MUST  enter  a  name,  otherwise
    @{B}AmTAGID3@{UB} won't run.

@EndNode

@Node NOQUITREQUEST "Command line arguments / NQR=NOQUITREQUEST/S"

  @{FG Highlight}NQR=NOQUITREQUEST/S@{FG Text} (SWITCH, optional)

    This option makes @{B}AmTAGID3@{UB} react differently when  quitting.  By  default
    it asks you if you really want to quit. This requester avoid quitting the
    the program by accidentaly pressing ESC (which is the default  hotkey  to
    close @{U}MUI@{UU} windows). This option removes this safety requester in case  it
    bores you :)

    NQR is short for NOQUITREQUEST. @{U}ReadArgs()@{UU} does its job so well that  you
    can use the short or the long version of the option name.

@EndNode

@Node GENRELINES "Command line arguments / GL=GENRELINES/K/N"

  @{FG Highlight}GL=GENRELINES/K/N@{FG Text} (KEYWORD, numeric, optional)

    This option lets you specify the number of visible lines  of  the  genre
    list.  There's no limit check for this option. If @{u}MUI@{uu} isn't able to open
    the list as big as you like with the list font, it'll fallback  to  tiny
    font  and then to @{u}Topaz8@{uu} @{u}ROM@{uu} font is it's still too big. Finally, if you
    have specified a too large amount of visible lines (ie: 150),  the  list
    won't open. Be aware of that :)

@EndNode

@Node REMSPACES "Command line arguments / RS=REMSPACES/S"

  @{FG Highlight}RS=REMSPACES/S@{FG Text} (SWITCH, optional)

    This option is for crappy TAG ID3 editors like  @{b}MP3Info@{ub}  (@{b}UNIX@{ub}),  @{b}WinAmp@{ub}
    (@{b}Win95@{ub}/@{b}NT@{ub})  which fill up the empty parts of a field with spaces instead
    of zeros (char '\0'). This option allows  you  to  remove  those  useless
    and ugly spaces.

    Before : Title @{fg highlight}"@{fg text}Some title                    @{fg highlight}"@{fg text}
    After  : Title @{fg highlight}"@{fg text}Some title@{fg highlight}"@{fg text}

@EndNode

@Node GUI "The user interface"

@{_Section "The user interface"}

                                   @{" Menus " link Menus }

                @{FG Highlight}------------------@{FG Text} MP3 file @{FG Highlight}-----------------@{FG Text}
                @{"          Amiga forever.MP3           " link MP3File}@{" 3:10 " link MP3Duration}
                @{FG Highlight}------------------@{FG Text} TAG ID3 @{FG Highlight}------------------@{FG Text}
                  Title @{"Amiga forever                       " link MP3Title}
                 Artist @{"Paula                               " link MP3Artist}
                  Album @{"Amiga is born                       " link MP3Album}
                   Year @{" 1985 " link MP3Year}   Genre @{"      Other      " link MP3GenreText}@{" P " link MP3GenrePopup}
                Comment @{"In memory of Jay Miner              " link MP3Comment}
                @{FG Highlight}--------------@{FG Text} AmigaDOS comment @{FG Highlight}-------------@{FG Text}
                @{"[ 3:18 ] by Paula. Album « Amiga is born" link ADOSComment}@{" P " link MP3ADOSComList}
                @{FG Highlight}---------------------------------------------@{FG Text}
                @{"       TAG ID3 successfully loaded...       " link StatusText}
                @{FG Highlight}-----------------@{FG Text} Controls @{FG Highlight}------------------@{FG Text}
                @{"   Okay   " link Okay} @{"  Write   " link Write} @{"  Wipe... " link Wipe} @{"  Cancel  " link Cancel}


  @{B}@{U}Note :@{UB}@{UU} Pressing @{i}ESC @{ui}(@{u}MUI@{uu} default key to close windows)  or  selecting  the
  menu  item  «  @{u}QUIT@{uu} » exits @{b}AmTAGID3@{ub} without warning you about writing the
  TAG ID3 in case you have modified some fields. The only warning you get is
  the   "Are   you   sure  to  quit  ?"  in  case  you  have  not  used  the
  NQR=NOQUITREQUEST/S in the command line arguments.

  @{B}@{U}Note :@{UB}@{UU} Any error regarding the user  interface  (ie:  couldn't  write  the
  TAGID3,  couldn't  read, wipe, etc...) generates an error message which is
  displayed on a @{U}MUI@{UU} requester.
@EndNode

@Node Menus "GUI / Menus"

@{_Section "Menus"}

  @{BG Text}  @{FG Highlight}Project@{BG Text}  @{BG back}@{FG Text}
  @{b}+-----------------------+@{ub}
  @{b}|@{ub} About...        @{b}|A|@{ub} ? @{b}|@{ub} @{_Contents "Shows the about window."}
  @{b}|@{ub} About MUI...          @{b}|@{ub} @{_Contents "Calls the MUI about window."}
  @{b}| ~~~~~~~~~~~~~~~~~~~~~ |@{ub}
  @{b}|@{ub} MUI settings...       @{b}|@{ub} @{_Contents "Calls the MUI prefs program."}
  @{b}| ~~~~~~~~~~~~~~~~~~~~~ |@{ub}
  @{b}|@{ub} Quit...         @{b}|A|@{ub} Q @{b}|@{ub} @{_Contents "Quits AmTAGID3."}
  @{b}+-----------------------+@{ub}

@EndNode


@Node MP3File "GUI / MP3 file"

@{_Section "MP3 file"}

  This text gadget only displays the MPEG Audio filename, without the path.

@EndNode

@Node MP3Duration "GUI / MP3 duration"

@{_Section "MP3 duration"}

  This text gadget only displays the duration of the MPEG Audio file.

  @{B}@{U}Note :@{UB}@{UU}  Not  every  MPEG  Audio  file  is  supported  for  the   duration
  calculation.  Quite  all  the MPEG 1 Layer III files are supported. MPEG 1
  Layer I & II, MPEG II (all layers) are NOT  supported  (I  have  no  docs,
  sorry :) I have 'stolen' the recognition data of MPEG Audio files from the
  @{" MPTool " link Credits} source (which also doesn't support every MPEG Audio formats).

@EndNode

@Node MP3Title "GUI / MP3 title"

@{_Section "MP3 title"}

  This string gadget allows you to view/change the TAG ID3 title.

  @{B}@{U}Note :@{UB}@{UU} If you alter the contents of this gadget and press RETURN,  then  a
  requester  will prompt you to write the TAG ID3 in case you press « @{U}Okay@{UU} »
  or « @{U}Cancel@{UU} ».

@EndNode

@Node MP3Artist "GUI / MP3 artist"

@{_Section "MP3 artist"}

  This string gadget allows you to view/change the TAG ID3 artist.

  @{B}@{U}Note :@{UB}@{UU} If you alter the contents of this gadget and press RETURN,  then  a
  requester  will prompt you to write the TAG ID3 in case you press « @{U}Okay@{UU} »
  or « @{U}Cancel@{UU} ».

@EndNode

@Node MP3Album "GUI / MP3 album"

@{_Section "MP3 album"}

  This string gadget allows you to view/change the TAG ID3 album.

  @{B}@{U}Note :@{UB}@{UU} If you alter the contents of this gadget and press RETURN,  then  a
  requester  will prompt you to write the TAG ID3 in case you press « @{U}Okay@{UU} »
  or « @{U}Cancel@{UU} ».

@EndNode

@Node MP3Comment "GUI / MP3 comment"

@{_Section "MP3 comment"}

  This string gadget allows you to view/change the TAG ID3 comment.

  @{B}@{U}Note :@{UB}@{UU} If you alter the contents of this gadget and press RETURN,  then  a
  requester  will prompt you to write the TAG ID3 in case you press « @{U}Okay@{UU} »
  or « @{U}Cancel@{UU} ».

@EndNode

@Node MP3Year "GUI / MP3 year"

@{_Section "MP3 year"}

  This string gadget allows you to view/change the TAG ID3 year.

@EndNode

@Node MP3GenreText "GUI / MP3 genre text"

@{_Section "MP3 genre text"}

  This text gadget allows you to view the TAG ID3 genre.

  @{B}@{U}Note :@{UB}@{UU} If you alter the contents of this gadget and press RETURN,  then  a
  requester  will prompt you to write the TAG ID3 in case you press « @{U}Okay@{UU} »
  or « @{U}Cancel@{UU} ».

@EndNode

@Node MP3GenreList "GUI / MP3 genre list"

@{_Section "MP3 genre list"}

  This list gadget allows you to view all the TAG ID3 possible genres.

  @{B}@{U}Note :@{UB}@{UU} If you alter the contents of this gadget and press RETURN,  then  a
  requester  will prompt you to write the TAG ID3 in case you press « @{U}Okay@{UU} »
  or « @{U}Cancel@{UU} ».

@EndNode


@Node MP3GenrePopup "GUI / MP3 genre popup"

@{_Section "MP3 genre popup"}

  This popup gadget allows you to display the list of TAG ID3 genres.

@EndNode

@Node ADOSComment "GUI / AmigaDOS comment"

@{_Section "AmigaDOS comment"}

  This string gadget allows you to view/change  the  AmigaDOS  comment.  The
  shorcut  to access this string gadget via keyboard is « d ». You can press
  the hotkey "Control + p" inside the string gadget, in order to display the
  @{" Popup ListView " link MP3ADOSComList}.

  @{B}@{U}Note :@{UB}@{UU} If you alter the contents of this gadget and press RETURN, then  an
  AmigaDOS comment will be written to the file. A requester  will  popup  in
  case of a problem.
@EndNode

@Node MP3ADOSComList "GUI / AmigaDOS comment Popup ListView"

@{_Section "AmigaDOS comment Popup ListView"}

  This ListView allows you to insert some TAG ID3  fields  in  the  AmigaDOS
  comment  string  gadget.  The  list  only  contains  the available TAG ID3
  fields. Press @{i}RETURN @{ui}to insert an item and @{i}ESC @{ui}to leave the  list  without
  changing the AmigaDOS comment string.

  @{B}@{U}Note :@{UB}@{UU} In order to SET the AmigaDOS comment to the MPEG Audio file, you'll
  have to press @{i}RETURN @{ui}in the AmigaDOS comment string gadget. This list only
  inserts a chosen TAG ID3 field in the string, nothing more.
@EndNode



@Node StatusText "GUI / Status text"

@{_Section "Status text"}

  This text gadget allows you to view the status of the  program.  It'll  be
  filled  up when you'll perform actions such as reading, writing and wiping
  the TAG ID3. It'll warn you  if  @{b}AmTAGID3@{ub}  isn't  able  to  calculate  the
  duration of the MPEG Audio file.

@EndNode

@Node Okay "GUI / Okay"

@{_Section "Okay"}

  This button gadget simply quits AmTAGID3.

  @{b}@{u}Note :@{ub}@{uu} If you have altered the contents  of  @{u}Title@{uu},  @{u}Artist@{uu},  @{u}Album@{uu},  @{u}Year@{uu}
  @{u}Genre@{uu} or @{u}Comment@{uu}, then a requester will ask you if you want to  write  the
  TAG ID3 before quitting.

@EndNode

@Node Write "GUI / Write"

@{_Section "Write"}

  This button gadget writes TAG ID3 to the MPEG Audio file.

  @{B}@{U}Note :@{UB}@{UU} If any problem occurs, a requester will popup.

@EndNode

@Node Wipe "GUI / Wipe"

@{_Section "Wipe"}

  This button gadget wipes the TAG  ID3  out  of  the  MPEG  Audio  file.  A
  requester will ask you for confirmation first.

  @{B}@{U}Note :@{UB}@{UU} If any problem occurs, a requester will popup.

@EndNode


@Node Cancel "GUI / Cancel"

@{_Section "Cancel"}

  This button gadget simply quits @{b}AmTAGID3@{ub}  but  generating  an  error  code
  level  of  @{u}40@{uu}.  This big level is bigger than RETURN_FAIL (which is 20) to
  ensure that the command will  @{u}STOP@{uu}  the  current  script  (if  any).  This
  behaviour  is  very  useful  on scripts. ie: If you're using a filemanager
  (like @{b}DOpus@{ub} or any other), select several files to process  with  @{b}AmTAGID3@{ub}
  and  for  some  reason  want  to  stop, then pressing « @{u}Cancel@{uu} » will STOP
  the script (or you have at the top of the script  a  @{u}FailAt@{uu}  command  with
  more than 40 as fail level !!!)


  @{b}@{u}Note :@{ub}@{uu} If you have altered the contents  of  @{u}Title@{uu},  @{u}Artist@{uu},  @{u}Album@{uu},  @{u}Year@{uu}
  @{u}Genre@{uu} or @{u}Comment@{uu}, then a requester will ask you if you want to  write  the
  TAG ID3 before quitting.

@EndNode

@Node Important "Important things to know"

@{_Section "Important things to know"}

  This section points out some problems  in  order  to  let  you  know  some
  important  things.  It can also serve as answers to some of your questions
  about my decisions on the features of this program.

  @{" MP3Encode " link MP3Encode}

@EndNode

@Node MP3Encode "Important / MP3Encode"

@{_Section "MP3Encode"}

  @{b}MP3Encode@{ub} is an MPEG Audio encoder for @{b}Amiga@{ub} which  supports  the  popular
  MPEG  1  Layer III audio format. Some users reported that @{b}AmTAGID3@{ub} refused
  to consider the files produced by @{b}MP3Encode@{ub} as  valid  MPEG  Audio  files.
  After some investigations and some help from users (Hi @{u}Tomasz 'Domel' Kepa@{uu}
  & @{u}Bruce Heller@{uu} :) I discovered that the MPEG Audio files  produced by this
  encoder  slightly differs  from normal MPEG Audio  (MPEG 1 Layer III).  By
  normal, I'm talking about the files produced by the @{u}ACM@{uu} MPEG  Audio  Codec
  from @{b}Fraunhofer  IIS@{ub} (which are the creators of the MPEG Audio format).

  @{_Section "A bit of technical info"}

  Every MPEG Audio starts with a "FF", then you have some incarnations  like
  "FA",  "FB",  "FC",  and  some others. A normal (@{b}Fraunhofer IIS ACM Codec@{ub})
  MPEG 1 Layer III (MP3) audio file with a bitrate of  128kbps  looks  like,
  for  the  3 first bytes : "@{fg highlight}FFFB90@{fg text}". The MPEG Audio file produced (with the
  SAME specs) by @{b}MP3Encode@{ub} looks like : "@{fg highlight}FFFB92@{fg text}" ! Why "@{fg highlight}92@{fg text}" instead of  "@{fg highlight}90@{fg text}"
  for  the  third  byte? I'm not able to answer but with all due respect for
  the programmers of @{b}MP3Encode@{ub}, I tend  to  trust  @{b}Fraunhofer  IIS@{ub}  for  the
  specs.  I've  added  support  to this "strange" header but I don't know if
  it's a fault or a regular header.

  I'll be able to figure out when I'll grab the full specs of the format :)

@EndNode

@Node History "AmTAGID3 / History"

@{_Section "History"}

  @{FG Highlight}Versions 1.0, 1.1, 1.2, 1.3@{FG Text}
    - Internal

  @{FG Highlight}Version 1.4@{FG Text}
    - First public release, waiting the flames :)

  @{FG Highlight}Version 1.5@{FG Text}
    - Fixed cosmetic bug with time display. "1:02" would be displayed "1:2"
    - Added more safety checks for MPEG Audio files. Should be a lot harder
      to fool now :)
    - Now using the @{" BetterString.mcc " link betterstring} from @{" Allan Odgaard " link credits}.
    - Added a @{" Popup ListView " link ADOSComList} which contains some of the TAG  ID3  fields
      to insert in the AmigaDOS Comment string gadgetstring gadget.
    - Fixed some cosmetic bugs on this guide :-P
    - Few internal minor changes/fixes.

  @{FG Highlight}Version 1.6@{FG Text}
    - Gosh! Forgot to talk about the shorcut to access the AmigaDOS
      @{" comment " link ADOSComment} string gadget...
    - Added lots of new genres (Picked them up from the most complete list
      at the moment : @{b}WinAmp@{ub} for @{b}Win95@{ub}/@{b}NT@{ub}). Now 141 genres available.
      @{u}@{b}WARNING@{uu}@{ub} : This change introduces a small problem! See @{" here " link GenresProblem} please!
    - Now the list of genres is alphabetically sorted.
      Suggested by @{u}Tomasz 'Domel' Kepa@{uu}

  @{FG Highlight}Version 1.7@{FG Text}
    - Now the field @{u}Year@{uu} is activated after pressing @{i}RETURN @{ui}in @{u}Artist@{uu} instead
      of activating @{u}Comment@{uu}. I thought nobody used this field, I was wrong :)
      Suggested by @{u}Teemu Kärkkäinen@{uu}
    - Added some new infos in section @{" Usage " link Usage} of the guide
    - Minor changes to the guide
    - The help node of the AmigaDOS comment @{" popup listview " link MP3ADOSComList} was wrong. Fixed.
    - The AmigaDOS comment @{" popup listview " link MP3ADOSComList} now auto adjustes its height.
    - If there is no entry in the AmigaDOS comment @{" popup listview " link MP3ADOSComList}, then it
      is disabled.
    - Added new command line option keyword @{" GL=GENRELINES/K/N " link GENRELINES}
      Suggested by @{u}Tomasz 'Domel' Kepa@{uu} & @{u}Jerôme 'Ours' Chesnot@{uu}
    - Added more @{" genres " link TheGenres} (now @{u}144@{uu} genres available)
    - Added new command line option switch @{" RS=REMSPACES/S " link REMSPACES}
    - Added support to @{b}MP3Encode@{ub}. Read @{" this " link MP3Encode} please!
      Thanks to @{u}Tomasz 'Domel' Kepa@{uu} & @{u}Bruce Heller@{uu} for helping me :)
    - Made the program a bit less drastic in order to accept strange
      MPEG Audio specs. You should experience less error messages, saying
      that your file isn't a valid MPEG Audio file, than before :-)

  @{FG Highlight}Version 1.7a@{FG Text} - BUG FIX release
    - There are 145 genres. I said 144 previously :(
    - Removed a really stupid bug that made AmTAGID3 enter an endless loop
      and eat all your CPU time. Sorry folks, this can happen ;-)
@EndNode

@Node FuturePlans "AmTAGID3 / Future plans"

@{_Section "Future plans"}

  AmTAGID3's future looks something like this:

    · Be able to recognize every MPEG Audio file (very soon :-)

    · Support the latest TAG ID3 definition (TAG ID3 1.1)

    · Maybe one day : Localisation..

    · Any idea from you as long as I can do it ;-)
@EndNode

@Node Credits "AmTAGID3 / Credits"

@{_Section "Credits"}

  My sincere thanks go out to:

    @{b}·@{ub} @{u}Stefan Stuntz@{uu}
       for his @{b}MARVELLOUS@{ub}, @{b}WONDERFUL@{ub}, @{b}AMAZING@{ub} & @{b}STUNNING@{ub} @{" MUI " link MUI}

    @{b}·@{ub} @{u}David 'Lestat' Goncalves@{uu},
       my brother for his moral support, help and movation

    @{b}·@{ub} @{u}Patrick Heinrich@{uu}
       for his @{b}MPTool@{ub} where I grabbed the list of genres and the recognition
       data to extract the bitrate of MPEG Audio files.

    @{b}·@{ub} @{u}Allan 'Duff' Odgaard@{uu}
       for his (updated :) @{" BetterString.mcc " link betterstring} & for the @{b}Daywatch@{ub} guide done by
       @{u}Rand Fredricksen@{uu} of which most the parts were stolen for this one :)

    @{b}·@{ub} @{u}Eric 'NamkraD' Kemp@{uu}
       for creating the TAG ID3 info.

    @{b}·@{ub} @{u}Fraunhoffer IIS@{uu}
       for creating and improving the MPEG Audio formats.

  Without these people, @{b}AmTAGID3@{ub} wouldn't exist or would be useless :-)

    @{b}·@{ub} My close friends for being who they are, very special guys :)
       @{u}Christopher 'Topher' Guez@{uu},  @{u}Pierre 'Tracker' Garel@{uu},  @{u}Sonny Beaumont@{uu},
       @{u}Stephane 'Katov' Bunel@{uu}, @{u}Stephane 'Woodstock' Derisbourg@{uu} & the others.


@{i}And last but not least, Amiga, the computer who gives you the biggest fun !@{ui}

@EndNode

@Node MUI "MUI - Magic User Interface"

                         @{b}MUI - Magic User Interface@{ub}

                         © 1993/98 by Stefan Stuntz

  MUI is a system to generate and maintain graphical user  interfaces.  With
  the  aid  of  a  preferences  program,  the user of an application has the
  ability to customize the outfit according to his personal taste.

  MUI is distributed as shareware. To obtain a complete  package  containing
  lots of examples and more information about registration please look for a
  file called "muiXXusr.lha" (XX means the latest version  number)  on  your
  local bulletin boards or on public domain disks.

             If you want to register directly, feel free to send

                             DM 30.-  or  US$ 20.-

                                      to

                                Stefan Stuntz
                           Eduard-Spranger-Straße 7
                                80935 München
                                   Germany
@EndNode

@Node BetterString "BetterString.mcc"

                              @{b}BetterString.mcc@{ub}
                          © 1998 by Allan Odgaard


  BetterString is a stringgadget replacement. It is  created  for @{" MUI " link MUI}, so
  using   it   should  eliminate  the  problems  with  the  original  BOOPSI
  StringClass. The class offers the  user  to  do  number  arithmetic,  like
  increase,  decrease  and BIN<->HEX conversion. It has filename completion,
  ability to mark, cut, copy and paste text - Both via mouse  and  keyboard.
  The length of the contents buffer will dynamically be expanded to hold all
  of what the user type (unless a maximum length is given)

                                Allan Odgaard
                                Dagmarsgade 36
                              DK-2200 Copenhagen
                             EMail : Duff@DIKU.DK

                       http://www.DIKU.DK/students/duff/
@EndNode

@Node Glossary "Glossary"

@{_Section "Glossary"}

  Here will be briefly explained some of the terms used in this doc in  case
  you're  not  very  familiar  with them. This is not meant to be a full doc
  about the subject but just an approach of it.

    @{" TAG ID3    " link TAGID3} @{_Contents "What about this format?"}
    @{" MPEG Audio " link MPEGAudio} @{_Contents "What is MPEG Audio?"}
    @{" ID3 Genres " link TheGenres} @{_Contents "The currently available genres!"}

@EndNode

@Node TAGID3 "Glossary / TAG ID3"

@{_Section "TAG ID3"}

  The TAG ID3 is a number of fields with fixed size that you can find at the
  very  end  of  the  MPEG Audio files. These fields are useful to give info
  about the MPEG Audio file.

  They look like this :

  TAG Identifier :  3 bytes (must match "TAG")
  Title          : 30 bytes
  Artist         : 30 bytes
  Album          : 30 bytes
  Year           :  4 bytes
  Comment        : 30 bytes
  Genre          :  1 byte  (from 0 - Blues, to 144 - Trash Metal.
                             255 is a special entry meaning 'Unset')

  This gives you a total of 128 bytes.

  This format was created by : Eric 'NamkraD' Kemp

@EndNode

@Node MPEGAUDIO "Glossary / MPEG Audio"

@{_Section "MPEG Audio"}

  @{u}MPEG@{uu} stands for @{u}M@{uu}ovie @{u}P@{uu}icture @{u}E@{uu}xperts @{u}G@{uu}roup. The MPEG Audio is  a  special
  compression format which achives very high compression rates (from 10:1 to
  12:1) while maintaining  a  very  high  audio  quality.  It  is  based  on
  perceptual coding which is basically the action of removing the sounds you
  CAN'T hear in a music to just retain the useful information. MPEG Audio is
  found  in  various  versions (MPEG 1, MPEG 2 and forthcoming MPEG 4) which
  each one is also divided in Layers (I, II and III). Of  course,  the  more
  the  layer  is  high, the more the calculations & compression are complex.
  The most used version and layer is the MPEG 1 Layer III (reduced to MP3 by
  common  use) which offers almost CD quality music (44100Hz, 16bit, stereo)
  with a compression rate of 12:1 and a bitrate of 128kbits/s.

  For more info, check out big web sites like :

  http://www.mp3.com or http://www.layer3.org

@EndNode

@Node GenresProblem "Genres problem since AmTAGID3 1.6"

@{_Section "Genres problem since AmTAGID3 1.6"}

  Starting from version 1.6, @{b}AmTAGID3@{ub} uses the genre list  from  @{B}WinAmp@{UB}  for
  @{b}Win95@{ub}/@{b}NT@{ub}  simply  because  it is the most popular MPEG Audio player around
  and it also have the most complete list of available genres.

  After using this list, a small  problem  occured.  The  older  version  of
  @{b}AmTAGID3@{ub}  (until  1.5  included)  used the genre list from @{b}MP3Info@{ub} (a tool
  coming from the @{b}UNIX@{ub} world) which contained 114 genres. Now @{b}AmTAGID3@{ub}  have
  141  genres.  The  genres are represented by a BYTE, so you can have up to
  256 genres. To keep a backward compatibility, the  new  genres  are  added
  after  the  existing  ones  but  not  in place of them, otherwise, a genre
  previously meaning "@{FG highlight}Rock@{FG text}" would become "@{fg highlight}Reggae@{fg text}" for example.

  When changing from the previous list to the new one, I noticed a  problem.
  A  new  genre  was  inserted in the available list (this is bad). This new
  genre is "@{fg highlight}Fast-fusion@{fg text}" (ID 84 decimal, 54 hexa) which was inserted between
  "@{fg highlight}Swing@{fg text}" (ID 83 decimal, 53 hexa) and "@{fg highlight}Bebob@{fg text}" (previously ID 84 decimal, 54
  hexa, and now ID 85 decimal, 55 hexa). This means that all IDs from 84  to
  114 are shifted down by 1 position. Here is the list of affected genres :

  084 Fast-Fusion
  085 Bebob
  086 Latin
  087 Revival
  088 Celtic
  089 Bluegrass
  090 Avantgarde
  091 Gothic Rock
  092 Progressive Rock
  093 Psychedelic Rock
  094 Symphonic Rock
  095 Slow Rock
  096 Big Band
  097 Chorus
  098 Easy Listening
  099 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

  To provide a simple and explanative example :

  If you have set a Genre to a MPEG Audio file using @{b}AmTAGID3@{ub} (up  to  v1.5)
  and  you  choosed ie: "@{fg highlight}Acoustic@{fg text}", under @{b}AmTAGID3@{ub} v1.6 and up, it'll become
  "@{fg highlight}Humour@{fg text}". You'll have to correct this in your MPEG Audio files.

  THIS IS NOT MY FAULT :-) I HAVEN'T CREATED THIS LIST.

  I had to chose the best solution : Having the most complete list available

  @{B}@{U}Note :@{UB}@{UU} As far as I know, all the programs for setting the TAG ID3 info  on
  @{b}Amiga@{ub}  are  affected  by  this  problem because they all use the same list
  coming from the @{b}UNIX@{ub} sources of @{b}MP3Info@{ub}.

  For your pleasure, here is the complete list of available @{" Genres " link TheGenres}.

@EndNode

@Node TheGenres "The currently available TAG ID3 genres"

@{_Section "The currently available TAG ID3 genres"}

  Sorted by ID.

  000  Blues
  001  Classic Rock
  002  Country
  003  Dance
  004  Disco
  005  Funk
  006  Grunge
  007  Hip-Hop
  008  Jazz
  009  Metal
  010  New Age
  011  Oldies
  012  Other
  013  Pop
  014  R&B
  015  Rap
  016  Reggae
  017  Rock
  018  Techno
  019  Industrial
  020  Alternative
  021  Ska
  022  Death Metal
  023  Pranks
  024  Soundtrack
  025  Euro-Techno
  026  Ambient
  027  Trip-Hop
  028  Vocal
  029  Jazz+Funk
  030  Fusion
  031  Trance
  032  Classical
  033  Instrumental
  034  Acid
  035  House
  036  Game
  037  Sound Clip
  038  Gospel
  039  Noise
  040  AlternRock
  041  Bass
  042  Soul
  043  Punk
  044  Space
  045  Meditative
  046  Instrumental Pop
  047  Instrumental Rock
  048  Ethnic
  049  Gothic
  050  Darkwave
  051  Techno-Industrial
  052  Electronic
  053  Pop-Folk
  054  Eurodance
  055  Dream
  056  Southern Rock
  057  Comedy
  058  Cult
  059  Gangsta
  060  Top 40
  061  Christian Rap
  062  Pop/Funk
  063  Jungle
  064  Native American
  065  Cabaret
  066  New Wave
  067  Psychadelic
  068  Rave
  069  Showtunes
  070  Trailer
  071  Lo-Fi
  072  Tribal
  073  Acid Punk
  074  Acid Jazz
  075  Polka
  076  Retro
  077  Musical
  078  Rock & Roll
  079  Hard Rock
  080  Folk
  081  Folk/Rock
  082  National Folk
  083  Swing
  084  Fast-Fusion
  085  Bebob
  086  Latin
  087  Revival
  088  Celtic
  089  Bluegrass
  090  Avantgarde
  091  Gothic Rock
  092  Progressive Rock
  093  Psychedelic Rock
  094  Symphonic Rock
  095  Slow Rock
  096  Big Band
  097  Chorus
  098  Easy Listening
  099  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  Rythmic 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 Gansta
  137  Heavy Metal
  138  Black Metal
  139  Crossover
  140  Contemporary Chris.
  141  Christian Rock
  142  Merengue
  143  Salsa
  144  Trash Metal

@Endnode
