NAME
xfreecd - GTK2 based CD player for X
SYNOPSIS
xfreecd [ -geometry value ]
COPYRIGHT
xfreecd is (c) 1998 by Brian C. Lane <URL:http://www.brianlane.com>
DESCRIPTIONS
XfreeCD is a X(7) windows program that looks like the front panel of a
CD player. You can play CDs, move between tracks, adjust volume --
clicking the left button on the speaker icon increases the volume.
Clicking the right button will decrease the volume. Right-clicking on
the "play/pause" button will STOP the playback. You can display 4
different times on the display:
1. Time elapsed on the track (icon has a plus and a 1/4 CD ROM on it)
2. Time remaining on the track (icon has a minus and 1/4 CD ROM on it)
3. Time elapsed on CD ROM (icon has a plus and a full CD ROM)
4. Time remaining on CD ROM (icon has a minus and a full CD ROM)
The repeat key causes the CD ROM to keep playing when it reaches the
end of the CD ROM. The question mark key opens a setup dialog box with
3 tabs for the different setup screens. The ’Setup’ tab allows you to
set the CD device to use and 3 other buttons:
AutoPlay
When this is selected XfreeCD will start playing the CD if there
is one in the drive. If a CD is already playing it doesn’t
disturb it.
Eject when done
When selected this will eject the CD when it is done playing it
if the repeat button on the front panel is not selected.
Eject on exit
When this is selected and you exit XfreeCD with the CD stopped
or paused it will eject the CD.
Hide WM Decorations
When checked, this will try to make the main window borderless
(undecorated) next time the program is run.
XfreeCD supports the Internet CD database CDDB created by Ti Kan and
Steve Scherf (Thanks Guys!). Select the ’CDDB’ tab from the setup menu
to setup this option. The local CDDB path is where it will store the CD
info when it is downloaded from the Internet or entered locally. A
number of directories are created under this directory for the
different categories of CDs (this is handles automatically, you don’t
need to create any directories yourself, just make sure you have the
right permissions for the location you select).
The CDDB server is the Internet site that you want to use to retrieve
CD track names from. This should probably be geographically near you
for the best performance. Initially only cddb.cddb.com
(freedb.freedb.org on Debian/GNU Linux) is selected. A list of the
current sites can be downloaded by pressing the Refresh Servers button.
The CDDB Submit email address is the email address of the CDDB server
to submit new CDs to. The default is <xmcd-cddb@amb.org> (<xmcd-
cddb@amb.org> on Debian GNU/Linux) and the test address is <test-
cddb@cddb.cddb.com> -- The test address will tell you if the submission
would have been accepted or not. You can submit CD info from the Track
Edit window by pressing the ’Send to Server’ button. This uses the
cat(1) and mail(1) programs, and they should be in your current PATH
for it to work.
As of version 0.7.6 XfreeCD submissions to the CDDB database are
accepted! Now you can add that obscure CD of yours to the worldwide
database.
If the CDDB support button is selected XfreeCD will first search the
local database (it does this even if CDDB is not selected) for the
current CDs unique disc id. If that fails then it will attempt to
connect to the CDDB server that you have selected and download the CD
info. It will then store that data locally. CDDB submission is
available even when CDDB download support is turned off.
To use the CDDB download feature you will need to have your Internet
connection online or be using a program like diald(1) to automatically
connect to the Internet.
The track names are displayed by doing a left click in the main display
window (the one showing the time and track #). Doing a right click in
this window allows you to drag the XfreeCD window anywhere on your
desktop.
At the bottom of the track list window is a button labeled ’edit
tracks’ Click on it and another window similar to the first will be
opened. Here you can edit the track names and save the changes to the
local database. You don’t need to have the Internet CDDB support
enabled.
XfreeCD now recognizes the -geometry command for x/y placement on the
screen. Use the standard X(7) geometry placement parameters. Width and
Height are ignored. I use
xfreecd -geometry +580-80
to place it at the end of my AfterStep(1) Wharf bar.
The only small glitch with this is if you have titlebars on and use
geometry the placement will be relative to the main XfreeCD window,
without respect to the size of the titlebars.
BUGS
xfreecd does not work with SCSI CD-ROM drives.
Some people requested track seeking (skipping forward a few seconds
within the track). I tried to implement this, but it seems that the low
level CD device drivers don’t implement this function very well and I
removed the option (It would crash often and leave the cd_control
process with no way to kill it since it was frozen waiting for a kernel
call to finish). I have tested other players and none of them implement
this feature any better. If you want to add it yourself and can get it
to work, I’d be happy to integrate it into the next release of XfreeCD.
This is beta software and it may have memory leaks and other problems.
Please report any problems or ideas to the sourceforge bugs page:
<URL:http://sourceforge.net/tracker/?group_id=110695=657224>
NOTES
The program initially uses /dev/cdrom to access the CD device. This can
be changed in the setup dialog box (click on the question mark).
You also have to make sure you have read permission for the CD device.
You can do this by executing chmod ugo+r /dev/hdc (or whatever your
device is). Make sure you change the device itself, not a symlink like
/dev/cdrom since that won’t work.
If you want to modify the way the XfreeCD windows look, you need to
know the types of these windows. There are 5 types of windows
associated with XfreeCD.
XfreeCD
is the main window.
XfreeCDt
is the Track List window.
XfreeCDet
is the Edit Track list window.
XfreeCDp
is the progress window while connecting to the Internet CDDB
server.
XfreeCDs
is the setup window.
If you run ps(1) while running xfreecd you will notice 3 processes
running. This is perfectly normal. One process handles the GTK+ user
interface, another handles the low-level CD control and the third is
the CDDB Internet interface.
THANKS
Fist of all - the original author, Brian C. Lane
(http://www.brianlane.com <URL:http://www.brianlane.com>. Most of this
program (including all the README’s and manpages) is written by him
(so, in deed, almost everywhere in this file, "I" stands for Brian). He
made this small cute app, and all I did was a few fixes for it compile
with GTK2. Thanks, Brian!
I would like to thank all of the beta testers for their help, bug
reports, and suggestions. If I have forgotten anyone, please let me
know and I’ll add you to the list.
Vincent Cautaerts (<vincent@comf5.comm.eng.osaka-u.ac.jp>) did the RPM
package for RedHat users for v0.7.5 (I have taken over the RPM
generation as of v0.7.6, so send any errors to me).
The guys at www.cddb.com for their strict requirements for submission
to the database. They revealed several bug that have now been squashed.
Users of v0.7.6 for reporting the error 500 problem and forcing me to
look over the code once again. I found the bug and squashed it!
Users of v0.7.7 who kept insisting that it was segfaulting after a CDDB
retrieval. I believed you! Really!
I stole the images from the win95 freeCD program. My thanks to Nate
Smith for making his code freely available.
AUTHOR
This man page was written by Helge Kreutzmann <kreutzm@itp.uni-
hannover.de> for the Debian GNU/Linux project but may be used by
others. It was slightly modified by Rimas Kudelis <rq@akl.lt> to
reflect the changes in v0.9.