SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

cdevour README/FAQ
http://clickass.org/


Before you start, please read the LICENSE file. It's important.

WTF is a cdevour?

Uh, yeah, so you've got this metric ton of music CDs sitting around, taking up space, collecting dust, and every once in a while falling off things. You want to rip your collection, but it's so annoying that you have to start some program and attend to it, even just to click a "rip" button every ten minutes or so.

Enter cdevour.

Now you can do what all those big name cd-ripping services do with your Linux (well, probably any *n*x) box. Actually, at the time of this writing, only one of those services supports Ogg Vorbis, and being the self-respecting nerd that you are, you want a high-quality format that doesn't take up your entire disk with music. Naturally, lossless is good, and cdevour can do that too, but we're telling you why WE wrote cdevour, not what you're going to do with it, necessarily. To you, this might just be good bathroom reading (hope you don't spend long in there, or you'll run out of text to read).

Let's use my personal situation as an example. I have a LOT of music and also this nifty 14-drive CD tower. I thought, wouldn't it be neat if I could not only be able to rip CDs automatically, but if I could load that sucker up and run off for dinner or something? After a bit of looking around, there are many (too many?) CD ripping packages, and all of them did SOME of what I wanted, but no single package had all the features I needed.

cdevour's features:

  • tiny! only about 200 lines (8K) of bash scripts!
  • continually polls your cdrom drives for discs
  • determines what CD it is
  • ejects a CD if it has already been ripped
  • rips your cds, making sure it has enough disk space to do so
  • monitors disk usage of running rips
  • queues discs for ripping when not enough disk space is available
  • gets all the information it needs to name your rips later
  • ejects when finished with a CD
  • applies cheese or peanut butter spread to discs if desired

cdevour also spawns its own separate encoding script which:

  • encodes any finished rips into ogg vorbis, one track at a time
  • removes raw data when finished with a track to save disk space
  • tags the encoded file with artist, album, track number, title
  • renames the file (by default, to my personal liking)
  • moves encodes of finished albums to an artist/album directory structure

and, last but not least, you get all the stats on a neat little web page.

REQUIREMENTS

  • A computer with a CD drive
  • Linux or some *n*x flavor with bash
  • cdparanoia
  • oggenc (or flac if you mess with my beautiful handiwork)
  • CDDB_get 2.2 or better (which requires perl) from http://armin.emx.at/cddb/
  • eject
  • cdctl from http://cdctl.sf.net/ if you want to be able to lock drives
  • A running httpd (Apache) if you want web-accessible stats.

On my coding system, I use Slackware. I only needed CDDB_get and cdctl.

HOW TO SET THIS THING UP

  1. Create a user ("rip" might not be a bad idea) on your box and make sure they have permission to use the CD devices you plan to rip with. If you don't know how to create a user, you might want to stop here.
  2. Untar cdevour into the user's home directory.
  3. Edit the scripts to reflect your preferences.

In cdevour-findcds.sh, change the DEVICES line to reflect your CD drives. Example: DEVICES="hdc hdd" or DEVICES="hdd sr0 sr1 sr2" Do not put a /dev/ in front of the device names.

In cdevour-moverips.sh, change the FINDIR line to where you want finished encodes to go.
Example: FINDIR=/usr/local/media or FINDIR=~/donerips You do not need a trailing / on the end of the pathname. Make sure the rip user has permission to write and create directories in FINDIR!

In cdevour-encode.sh, change the QUALITY line to your preferred Ogg Vorbis quality (decimal values are acceptable, but keep in mind this is an average bitrate). If you're gung ho about Vorbis but you don't have a clue about this, just leave it at the default or refer to the following:

Quality Average kbit/s


         -1   45
          0   65
          1   80
          2   95
          3  110
          4  125
          5  160
          6  insanity

Now for a special moment titled "Why you don't need insane bitrates":

If you've been in the MP3 world awhile, you undoubtedly know that higher bitrates yield higher-quality audio files. The thing is, you might love your MP3s and even the way they sound, but such a high bitrate is simply NOT NECESSARY when using Vorbis. If you can tell the difference between your CD and Vorbis at quality 5, I'll give you a pat on the back and give you permission to increase the quality number. But please, for the love of whatever deity you believe in, don't just increase the quality to the maximum number because you want "the best quality evar".

HOW DO I USE THIS THING?

All you have to do is log in, run ~/cdevour-findcds.sh and put CDs in. Everything beyond that is automatic!

WHERE ARE THE STATISTICS?

Just go to the user's web directory. Example: http://192.168.1.7/~rip/

HELP MAKE IT STOP MAKE IT STOP!

Right now you want to touch a file called bailout in the rip user's home directory. This will make the scripts terminate on the next loop. If for some reason that doesn't work, you can do:

killall ~/*sh oggenc cdparanoia

A FEW THINGS TO THINK ABOUT

Wanna make your life easier? Here's a few tips:

  • Raw rips go to the rip user's home directory. Therefore, make sure /home has lots of space.
  • You can NFS mount your music directory so that music could automatically be added to your collection.
  • You could even NFS mount /home if you wanted to, so that you could rip on multiple machines in parallel. Don't forget to comment out the encoder script, though, because parallel encodes don't work properly (yet).
  • You could NFS mount /home, comment out the encoder script as mentioned above, but then run the encoder script on another box completely.

PLANS FOR THE FUTURE

  • Add progress bars to the CD rips
  • Add status of ALL drives, whether ripping, idle, or queued
  • Add ability to eject [idle] drives from the stats page
  • Make encode script parallel-friendly
  • Handle trashed CDs better (listen to cdparanoia!)
  • Code cleanups (as always)
  • Get Brendan a girlfriend
  • Go to MAGFest (http://magfest.org/)

WHO WROTE THIS CRAP?

This was written in a weekend by Brendan Becker and C. M. Chick. There was hardware laying around Brendan's house and he wanted to do something useful with it, so we had our work cut out for us. And no, C. M. Chick is not related to Jack.

If you have any questions, you can contact Brendan by:

  • Checking out the contact page on http://clickass.org/
  • Jumping on AIM and sending a message to pymani
  • Connecting to irc.freenode.net and joining #vorbis


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.