The problem is simple. You just ripped all your CD's, albums, cassette
tapes and 8-tracks to MP3 files, and have a stack of blank CD's waiting
to be enscribed with the fruits of your labour. All that is left is to
organize your files in such a way that albums do not get mixed up. And
that artists are sorted, sort of. All the while keeping an eye on available
CD-space, which you'd like to use efficiently. You can use one of the myriad
of existing CD pre-mastering tools, but these tend to be less efficient
for this specific job. What you really want is a tool which can deal with
multiple sources and CD's at once, which knows how to select directories
non-recursively (without including all subdirectories), which creates `cuesheets'
(lists of files to include) for your favourite CD-mastering software. And
it had better be free software, since you might like to learn a bit in
the process by looking at the code (or teach the author of the program
how to write better programs...).
Presented with the aforementioned problems I sat down to hack up some Perl
code to automate much of this process. A few cups of tea later, George
was born. It did not have a name then, but it performed its tasks to satisfaction
of the owner by scheduling a sizeable amount of CD's out of the scattered
MP3-populations on various networked boxen. "Hmmm..." I thought, there's
bound to be other people in a similar situation, having their files all
around waiting for that `big cleanup' which for some reason gets postponed
indefinitely. And since I've got this thing for Free Software, why not
polish up this program a bit and release it to the ravenous masses on the
'Net? An since all good software has a name... George was born. There's
nothing more to that name than a somewhat corresponding subset of characters,
George is written in Perl.
Perl works the way I do. It is convoluted, messy and noisy,
but it produces results.
The GUI-endowned version uses the Gnome
libraries. And Gnome needs a lot more, like GTK and
friends. It also uses the Glade-Perl
extension, since this saves me from a lot of repetitive work. If you don't know
Glade and you (intersted in) programming for GTK,
try it. It is an interface builder for GTK (and Gnome) which allows you to cobble
together an interface in a few minutes. And Glade-Perl in turn depends on
GTK-Perl, also commonly known as
gnome-perl (in the Gnome CVS repository) or perl-GTK. Get the latest version and
save yourself some headaches...
George is probably `Unix-only' (where the term 'Unix' is used
for everything which looks, quacks and walks like a Unix. Linux
is fine, so is FreeBSD or OpenBSD
or Solaris). The command line version
might work on Win32 (with some working version of Perl) as well. If I
feel so inclined, I'll even combine both versions in one program (whee...
something I should have done in the first place but remember, this was a
George does not do its own premastering, nor does it directly
control the CD-writer. For these purposes it relies on
and cdrecord. You can probably also use mkhybrid to create Mac
CD's, but for lack of a Mac I hve not tried this. If you try this,
you'll need to add some mkhybrid-specific flags to the preferences
hash in George. You'll have to know some Perl to do that.
George is licensed under the Gnu Public License. That means that George is
what is called `Free Software'. You can copy George all you want, and sell it
for all I care, but you are not allowed to restrict others in doing so. For
more information on this subject, visit the Free
Software Foundation, Land of the GNU and Home of the Hurd.
You can download George from the sourcefourge fto server, or you can get it straight out of
CVS is you like living dangerously. Normal mortals click these links:
For the cutting-edge CVS-version which is guaranteed to ruin your live and cause natural catastrophes, do the following:
- First, login to the CVS server. When you're asked for a password, just hit enter
cvs -d:pserver:firstname.lastname@example.org:/cvsroot/george login
- After anonymously logging in you can checkout (co) what you want from the server.
Currently there are two modules, George (the program) and George-doc (the documentation and website):
cvs -d:pserver:email@example.com:/cvsroot/george co George
cvs -d:pserver:firstname.lastname@example.org:/cvsroot/george co George-doc
- After initial checkout, you can change into this directory and execute
cvs commands without the -d tag. For example:
Version 0.2 has been put on the web and ftp servers, and the latest version can be found in
the CVS server. Go get it, try and test it, and bring on the bugreports/suggestions/lawsuits/whatever! For
mailing lists and other George-related paraphenalia you are warmly invited to the project site at
George project at SourceForge
If you want to actually join the discussions (if any...), you'll have to log in to the system. This
is free, and I think the people at SourceForge promised not to sell your soul or email-address to
The documentation for George is included in the tarball and rpms. Being a perl program, the
docs are of course included in the program source in `pod' format. This means you can use the
usual tools to get documentation in text, html or other formats. If you want to have your docs
served to you by this webserver, go to:
The George Documentation site
What is a GUI-program without a screenshot? Even a GUI-program which does not really
do anything yet? Therefore, and without further ado, we proudly present for your
viewing pleasure: George. If you like your screenshots to be actually readable, click on
the pictures for a larger version.
This is George, just having scanned a couple of directories. The results are shown
in the notebook to the right. It is possible to remove tracks (files) and albums
(directories) from the selection.
The same selection, but now in the Albums view. You can remove albums by
right-clicking them and selecting the remove option from the menu (currently the
only option by the way...).
This is the actual reorganization phase of the process. George has arranged your
tracks (files) and albums (directories) in a somewhat sorted fashion over a number
of CD's. If you want to, you can manually reorganize those CD's before going to
the next phase...
Here is where the fun starts. Select a CD and click the Create button
to... errr create a CD. George will use mkisofs and cdrecord to create the CD in
one fell swipe, without bothering about image files and such. Your computer must
be fast enough to allow for this to succeed. Also, if any of the source files are
on a network-mounted (NFS, Samba, Netware, whatnot) directory you better make sure
the access to that directory is fast and reliable enough. If in doubt, just use
the simulate option from the preferences page. Speaking of which...
One of the preferences pages for George. You get the idea, change stuff to get stuff
Another preferences page, this one allows you to select settings for the cd-writer and
the verification device (George is tailored to use separate device for disc verification,
since this is both quicker and offers better verification capabilities. You can use the
same device for both tasks if so desired, but if you have a normal CD-ROM player next to
a CD-Writer, I'd suggest you use that CD-ROM player for verification. Oh, and if you think
that all this verification stuff is nonsense, just look at picture number four. Notice that
red 'X'? That was a disc which contained errors after writing :-(
(C) 2000 Frank de Lange <frank@NoSpAm.unternet.org>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc., 59
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Right, that's the standard shortened version of the GNU General Public License. If
you want to read the full version, you can find it in the
COPYING file which comes with George. For the most up to date version go to http://www.gnu.org/copyleft/gpl.html