The One Ripper - The only ripper and encoder you will ever need.

Version: 0.96 (See CHANGE HISTORY below)

        The One Ripper:
        Three Rippers for the Java-kings compiling on-the-fly,
        Seven for the Mac-lords in their cases of gemstone,
        Nine for Mortal Windows doomed to die,
        One for the Dark Lord on his dark throne
        In the Land of POSIX where the Programmers lie.
        One Ripper to rule them all, One Ripper to cut them,
        One Ripper to encode them all and in the darkness tag them
        In the Land of POSIX where the Programmers lie.
        -- The Lord of the Rippers
        (With appologies to J.R.R. Tolkien)


WHAT IS IT

The One Ripper is a program for ripping and encoding mp3 files from cds.
It has many advanced features including:

Background Encoding, and queuing of files to be encoded
ID3v1, and ID3v2 tagging
CDDB for track naming
Easy renaming of tracks from CDDB to make dealing with multi-artist CDs easier
Flexible file naming
Choice of multiple encoders (LAME, Oggenc, BladeEnc)
Choice of multiple rippers (cdparanoia, cdda2wav, dagrab)


USING THE ONE RIPPER

upon starting the One Ripper, you will be presented with a menu:

 1) Change Preferences
 2) Eject cd-rom
 3) Start Ripper
 4) Start Background Encoder
 5) View/Edit the background encoding queue
 6) View Status of Background Encoder
 7) About
 8) Exit
->

   1) Change Preferences
   
    This will take you to the configuration menu, where you can choose your preferences
    as to how the One Ripper will work for you.  This is detailed in the configuration section.

   2) Eject cd-rom
    
    This ejects the currently selected cdrom drive.
    
   3) Start Ripper
    
    This option starts the ripper.  Mor on this later
    
   4) Start Background Encoder
  
    This option allows you to manually restart the background encoder in the case that The One Ripper
    was not able to finish them all for some reason.
    
   5) View/Edit the background encoding queue
  
    This menu allows you to see what files are waiting to be encoded, and to alter them in a few ways.
    This will show you a list of existing files (and whether they have errored)  If you select one, then you will
    get this menu:
    
      1) Unmark as error (if the file had an error)
      a) Delete
      b) Move to top
      c) Move to bottom
      d) Artist: ?
      e) Track: ?
      f) CD Track: ?
      g) Track No: ?
      n) exit
      
    This menu will allow you to edit the resulting filename & ID3 tag.  it also allows you to remove the
    song from the encoding queue (deleting the wav file in the process), as well as move files to
    the top or bottom of the queue.

   6) View Status of Background Encoder
  
    This will bring up a meter that will display the current progress of the background encoder.
    
   7) About

    The About Screen
    
   8) Exit
    
    Leave the One Ripper

  CONFIGURATION
  
 1) Change Working Directory....................[/home/soulcatcher]
 2) Choose Encoder..............................[lame]
    2a) Use Variable Bit Rate...................[YES]
 3) Choose Ripper...............................[cdparanoia]
 4) Use id3.....................................[YES 1 2]
 5) Toggle between Manual and CDDB naming.......[cddb]
    5a)Set CDDB Server..........................[freedb.freedb.org]
    5b)Set CDDB Server Port.....................[888]
 6) Set Preferred naming convention.............[Artist-CD Title-TrackNo-Track]
 7) Convert Spaces to Underscores in file name..[NO]
 8) Rip Whole CD?...............................[YES]
 9) Please select your Cd-Rom device............[/dev/cdrom]
10) Set the VBR rate for the encoded MP3's......[4]
11) Other Flags to pass to encoder..............[]
12) Delete wav files when finished..............[YES]
13) Return to Main Menu
->

  1) Change Working Directory....................[/home/soulcatcher]
  
    Use this command to determine where the wave files cut from the CD end up,
    as well as where the final mp3 files end up.
  
  2) Choose Encoder..............................[lame]
  
    This allows you to set which encoder to use for your mp3 files.
    Upon pressing 2, you will recieve this menu:
    
      a) lame
      c) bladeenc
      d) oggenc
    
      (option 'b' is currently broken, so therefore it is not avlaible)
    
    select one of these letters, and you will be set to use that encoder.

  2a) Use Variable Bit Rate...................[YES]
  
    Some of the time this menu will appear.  This will happen when you have selected an
    encoder that allows you to choose between Constant Bit Rate or Variable Bit Rate.
    Lame is currently the only encoder that has this choice (BladeEnc only does CBR, and oggenc only does VBR)
  
  3) Choose Ripper...............................[cdparanoia]
  
    This allows you to choose which Ripper you will use to cut files from your music cd.
    Upon pressing 3 you will recieve the menu:
  
      a) cdparanoia
      b) cdda2wav
      c) dagrab

    select one of these letters, and you will be set to use that ripper.

  4) Use id3.....................................[YES 1 2]
    
    This allows you to choose whether you you will have ID3 tags attached to your files
    Upon pressing 3 you will recieve the menu:

      a) Use all tag types (ID3 v1, v2)
      b) Use ID3v1 tags
      c) Use ID3v2 tags
      d) Use no tags
      
    select one of these letters to use the types of tags you want.  Note: oggenc
    has it's own type of tags, and does not use id3.  if ANY id3 type is set to be used,
    and oggenc is your encoder, oggenc tags will be used.
    
  5) Toggle between Manual and CDDB naming.......[cddb]
  
    This allows you to select whether you want to use CDDB for naming your files, or do it by hand.
    If CDDB does not recognize a CD, or cannot be connected to, you will have to switch to manual
    naming in order to rip your cd.
    
  5a)Set CDDB Server..........................[freedb.freedb.org]
    
    This option will only appear if CDDB naming is on.
    This allows you to set the server that you use for cddb
    
  5b)Set CDDB Server Port.....................[888]

    This option will only appear if CDDB naming is on.
    This allows you to set the server's port (usually 888) that you use for cddb
    
  6) Set Preferred naming convention.............[Artist-CD Title-TrackNo-Track]

    This option allows you to decide what naming convention you file will be created with.
    selecting this will give you another menu:
    
      a) Artist-CD Title-TrackNo-Title
      b) (Artist) - Title
      c) Create your own
    
    The first two selections are just naming conventions, the third one however allows you to
    create any naming convention you want.  If you select c, you will get this screen:
    
      Create a mask for file names:
      %A - Artist
      %C - CD Title
      %N - Track Number
      %T - Track Title
      %R - Remixer
      %Y - Track Type
      Example: %A-%C-%N-%T: Artist-CD Title-TrackNo-Title
      
    This screen also has some special features for creating some complex naming conventions.
    If you want selective control over what is placed around your files you can also use the
    &A??? - Artist
    &C??? - CD Title
    &T??? - Track title
    &R??? - Remixer
    &Y??? - Track Type
    
    or

    @A?? - Artist
    @C?? - CD Title
    @T?? - Track title
    @R?? - Remixer
    @Y?? - Track Type
    
    so for example if I do:
    
    &A-[]  The &A means that this is Artist with rules, the 3rd character is a character you are searching
    for in the test of the artist, and the last 2 characters are what you would surround the artist in if the
    character is found.
    
    So - for the artist "George McEntire" it will result in a file named George McEntire.mp3, but for an artist
    named Sarah Droff-McGill, the file would be named [Sarah Droff-McGill].mp3
    
    so - the string &A-[]-&C-[]-%N-&T-[] would generate files that are Artist-CD Title-TrackNo-Title, but it could
    end up [Artist]-[CD Title]-TrackNo-[Title] if there are dashes in the Artist, CD Title, and Title.
    
    or, if I do:
    
    @R()  The @R means that this is a field that will only be added if it exists.  on top of that, you can use it to
    palce characters around the field, when it does exist.  So, in this case if there was a remixer, then it would be
    printed with () surrounding it.
    
    For the most part, you will probably want to just stick with the % stuff :)
    
    Examples:
    
    %A - [%C] - (%T)
    Artist - [CD Title] - (Track)
    
    (%N) - %C - %T
    (Number) - CD Title - Track
    
    %A@R--%T
    
    Artist-Remixer(if a remixer exists)-%T 

  7) Convert Spaces to Underscores in file name..[NO]
    This will convert any spaces in the file name to a underscores '_'.  this will leave the id3 tags untouched.

  8) Rip Whole CD?...............................[YES]

    Toggle whether you want to default to ripping the entire CD, or just a few tracks
    
  9) Please select your Cd-Rom device............[/dev/cdrom]
  
    This selection allows you to choose what CD device you want to use.  it is almost always /dev/cdrom
    
  10) Set the VBR rate for the encoded MP3's......[4]
    - or -
  10) Set the Bitrate for the encoded MP3's.......[160]
  
    This menu will change varying upon whether VBR is on or not.  If VBR is on, you want to choose a number
    between 1 - 10.  1 beign the highest quality, 10 being the smallest file.  4 works pretty well for me.
    
    If VBR is off, you can select the static bitrate of the file.  values are: 112, 128, 160, 192, 224.  There are
    others that you can use - but these are the normal ones.  160 is the default.

  11) Other Flags to pass to encoder..............[]
    This option allows you to pass options directly to the encoder of your choice.  This allows you to use options
    that I have not created an interface for.

  12) Delete wav files when finished?.............[YES]
    This option toggles whether you keep or delete the wav files that are used to make the mp3/ogg files.
 
  13) Return to the main menu
    This returns you to the main menu.
 
BUILDING/INSTALLING

Check the file INSTALL


PROBLEMS/BUG REPORTS

Please send any reports of problems or bugs to soulcatcher@evilsoft.org.


CREDITS AND LICENSES

This package is copyright © 2000, 2001, 2002 by Devon Jones (soulcatcher@evilsoft.org) and may be
distributed under terms of the Artistic License, or GPL used to cover Perl itself.
See the file Artistic in the distribution of Perl 5.002 or later for details
of copy and distribution terms.

Perl module interface by Devon Jones (soulcatcher@evilsoft.org).


CHANGE HISTORY : oneripper

This is version 0.96:
Added the ability to pass any flags you want to the encoder
Added an option to allow the user to convert all the spaces in a file name to underscores
Added (finally) the ability to enter a year for a CD
Added more support for ogg, and the ogg Bitrate & Quality flags
Tons of bug fixes

0.95:
Added the ability to mark a song as a Remix, Live, or Soundtrack in a far more meaningful way (before it just added it to the cd title)
Removed Bootleg, and added Soundtrack as an option for marking
If a song is a remix, or a CD is a remix CD, you can now input who did the remix (Thi sis useful for people like Paul Oakenfold, or groups like Rabbit in the Moon, who only really do Remix CDs)
Added Type - which is placed in the id3v2 tag (TMED), and remixer (TPE4)
Added rules for putting type or remixer into the file name
Added a new type of filename rule - which allows you to have it only add something to the name if tha tinformation exists (such as type or remixer)
Added a utility called id3retag that can be used to re-create a set of id3v1 & id3v2 tags based upon the default file nameing convention of oneripper
Added a utility called id3musicdir that can be used to create a symbolic link based music repository using information from the id3v2 tags of mp3s this has seperate directory structures for Artists, Albums, Live, and Remixes - Don't use it though, because this is an initial add, and it doesn't really work currently.
Removed the dependancy on Mail::Internet & Mail::Header

0.94:
Fixed bugs relating to Tagged 0.30.
Misc Bugfixing
Removed multipe warnings
Added an external id3 stripping tool named id3strip

0.93.1:
Fixed a minor bug, and changed the default cddb host to be freedb.freedb.org

0.93:
Added Caching of cddb lookups and manual namings
Moved Configuration options to their own menu
Added the ability to choose if Wav files are deleted after encoding

0.92:
Fixed support for gogo
Fixed bug: Cannot rip tracks if set to use CDDB, and the user cannot connect to CDDB, or if CDDB cannot find the track
Fixed bug: When cd is not found or when system cannot connect to cddb it gives the same message.
Fixed bug: Currently you cannot use the '~' in any part of your working directory - I will fix this asap

0.91:
Added support for gogo

0.9:
Added support for bladeenc, oggenc, dagrab, cdda2wav
ported to Tagged 0.30
Fixed many misc bugs

Initial public version 0.3:
Release


KNOWN ISSUES : oneripper
Remove a couple of warnings

TODO : oneripper

- Add support for MusicBrainz! as an alternative to CDDB
- Add any other Encoders
- Add any other Rippers
- Add a new genre recommendation system (Started - using XML-RPC)
- GTK interface (started)
- TK interface
- QT interface
- You tell me

CHANGE HISTORY : id3strip

Initial public version 0.5:
Release

KNOWN ISSUES : id3strip

none

TODO : id3strip

- You tell me

CHANGE HISTORY : id3retag

Initial Public version 0.5:
Release

KNOWN ISSUES : id3retag

none

TODO : id3retag

- create file name filters so that the user can use their own file name scheme
- You tell me

CHANGE HISTORY : id3musicdir

Initial Public version 0.1:
Release

KNOWN ISSUES : id3musicdir

It doesn't work as checked in.  This was initially a small util that I used
on my own system, and I have not rolled it forward to do things properly
on a new installation.

TODO : id3musicdir

- Pry this off of using file names to get data, and stop using the existing
  conf file - use one in the .oneripper directory
