Sunday, January 31, 2010

In the beginning...

I have another web site, called Mike's Cafe. On this site I stated "this is not a blog, it just looks like one." For some reason this was important to me. I'm not sure why. I was just about to add some more content to the site when I realized that it not only looked like a blog, but that I was treating it like a blog and even thinking of it like a blog. I didn't have anything major to add to the site, I just wanted to gas on a bit. Stop kidding yourself Mike, that's what a blog is all about. So that's why Mike's Cafe II is here, so I can blog.

Although I am currently running on Vista, my normal desktop is Linux. I currently run Ubuntu, although I've been running Linux as a desktop user since the 1990's. I have used Slackware, Red hat, Suse, Debian and Arch. I like Linux, but something is always broken. (Hey don't get upset, it's just the way things are in the Open Source world.)

(There's been a short break while I rebooted into Ubuntu. Winbuilder is finished making the VistaPE iso, so I can now go home.)

I can get most things to work. I can listen to internet radio, create word docs, spreadsheet, and email to my heart's content. Using non-free "binary blobs" I can use watch Hulu, which means I now watch more TV on my computer than on my TV, and Richard Stallman would be very disappointed with me.

Enough of that. Previously, I ripped my audio disks using EAC (on windows) and grip (on Linux). I don't run windows much anymore, so I used grip. I like grip; it was quite flexible and it used cdparanoia to rip the disks. Then grip disappeared from the Ubuntu repositories because the developer hasn't worked on it for about five years, which could be a problem.

If you build grip from the source code you see some scary stuff. After running ./configure, things chug along and create a makefile, but things are not OK:

checking cdda_interface.h usability... yes
checking cdda_interface.h presence... yes
checking for cdda_interface.h... yes
checking cdda_paranoia.h usability... no
checking cdda_paranoia.h presence... yes
configure: WARNING: cdda_paranoia.h: present but cannot be compiled
configure: WARNING: cdda_paranoia.h: check for missing prerequisite headers?
configure: WARNING: cdda_paranoia.h: see the Autoconf documentation
configure: WARNING: cdda_paranoia.h: section "Present But Cannot Be Compiled"
configure: WARNING: cdda_paranoia.h: proceeding with the preprocessor's result
configure: WARNING: cdda_paranoia.h: in the future, the compiler will take precedence
configure: WARNING: ## --------------------------------------------------------------- ##
configure: WARNING: ## Report this to http://sf.net/tracker/?group_id=3714&atid=103714 ##
configure: WARNING: ## --------------------------------------------------------------- ##
checking for cdda_paranoia.h... yes
checking cdda/cdda_interface.h usability... no 
checking cdda/cdda_interface.h presence... no 
checking for cdda/cdda_interface.h... no
checking cdda/cdda_paranoia.h usability... no 
checking cdda/cdda_paranoia.h presence... no 
checking for cdda/cdda_paranoia.h... no 

Yikes! No paranoia is available here for ready money. Grip doesn't look so great any more. I was going to report the error, but someone else beat me to the punch. It seems the developer has been AWOL since 2005. (He and his wife do have a cool food blog, though.)


(Yes, I have installed the  libcdio-paranoia-dev package...  has something changed in the last five years?)

I could use cdparanoia to rip my cds, and then invoke aoTuV or whatever to shrink them, but what a pain in the neck. Or maybe an opportunity to do some scripting?

Lucky me, someone else already did the heavy scripting and wrote rubyripper. Not yet in the Ubuntu repository, but pretty easy to install. There seem to be some .debs out there, but I decided to install from source. Instructions exist, but of course the instructions are a little off for my system, which seems be the norm.


Here's how I installed rubyripper  on Ubuntu 9.10 karmic amd64:



1. install this lot:
sudo apt-get install cd-discid cdparanoia flac lame mp3gain normalize-audio ruby-gnome2 ruby vorbisgain



2. fix normalize:
Make a symlink from /usr/bin/normalize-audio to /usr/local/normalize & call it a day.
ln -s /usr/bin/normalize-audio /usr/local/normalize

 You need to do something, because the Debian folks have changed the name of normalize to normalize-audio. If you're really interested, here's the reason why they changed the name, from the package's README.Debian file:

2004-06-26: The package and binary names had to be changed due to namespace conflicts. The binary normalize was renamed to normalize-audio so that it keeps orthogonal with its frontend names (normalize-ogg and normalize-mp3) while not using a generic name anymore.
See more information about it here:  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=250390
You could hack the source code, or wait for Debian or Ubuntu to adopt the package & fix this, or become a Debian or Ubuntu developer and adopt the package & fix this or just make the symlink. You may have trouble with mono, but then, who likes mono?



3. get/install wavegain:
Get the wavegain source code, (you can get it here: http://www.rarewares.org/others.php), compile it for Debian, install somewhere in you search path. Old school as I am, I put the executable in /usr/local/bin.


4. get/install rubyripper source code: 
http://code.google.com/p/rubyripper/
 I installed the program like this:
./configure --enable--lang-all --enable-gtk2 --enable-cli --prefix=/usr/local

sudo make install

5. If you dislike warnings appearing in your terminal windows, use this duct tape solution:
On karmic some programs cause an warning or error:
Gtk-Message **: Failed to load module "pk-gtk-module": (etc)

pk-gtk-module is a "GTK+ module for font installation", "This key determines if applications should be able to prompt for fonts".

Turn it off for now, it's not working.  A temporary fix is changing the key in gconf-editor
/apps/gnome_settings_daemon/gtk-modules/pk-gtk-module to false.


This seems to be an Ubuntu problem, and they know about it. It will probably be cleaned up down the road.


Here's some references:

rubyripper
A secure audiodisc ripper for Linux and OS X
http://code.google.com/p/rubyripper/


HOWTO: Install Rubyripper on Ubuntu
http://ubuntuforums.org/showthread.php?t=799621


Rubyripper article on Hydrogen Audio

http://wiki.hydrogenaudio.org/index.php?title=Rubyripper