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