Audio CD player for X
git clone https://www.brianlane.com/git/xfreecd
Log | Files | Refs | README | LICENSE

README (10194B)

      2   XfreeCD v0.7.8 (c) 1998 by Brian C. Lane	   http://www.tatoosh.com/nexus
      3 ===============================================================================
      6   Hello!
      8   Thanks for trying out XfreeCD. The first thing is that you need to have a
      9 copy of GTK+ v1.0.2 or later installed. This is the Gimp Toolkit, so if you
     10 have a recent version of Gimp installed you are ready to compile XfreeCD by
     11 typing make. If you don't have GTK+ then you need to download and install it.
     12 It is available from http://www.gimp.org/gtk/ and the install is pretty easy.
     13 Sorry about this (I know I hate having to install other stuff just to run
     14 a program), but GTK+ is well worth it (as is Gimp) -- you will be seeing
     15 many more programs using GTK+ in the future.
     17   Ok, so if you have GTK+ installed you can type make in the xfreecd directory
     18 to build xfreecd. Then copy the xfreecd binary it to your favorite location and
     19 run it. The standard place is in /usr/local/bin
     21   The program initially uses /dev/cdrom to access the CD device. This can be
     22 changed in the setup dialog box (click on the question mark). It does not
     23 work with SCSI devices yet, but that's on ly list of things to find other
     24 people to do <G>.
     26   You also have to make sure you have read permission for the CD device. You
     27 can do this by executing chmod ugo+r /dev/sbpcd (or whatever your device
     28 is). Make sure you change the device itself, not a symlink like /dev/cdrom
     29 since that won't work.
     31   Please read over the rest of this document!
     36   What is xfreecd?
     37   ----------------
     39   XfreeCD is a X windows program that looks like the frontpanel of a cd
     40 player. I stole the images from the win95 freeCD program. My thanks to Nate
     41 Smith for making his code freely available.
     43   You can play CDs, move between tracks, adjust volume -- clicking the left
     44 button on the speaker icon increases the volume. Clicking the right button
     45 will decrease the volume. You can display 4 different times on the display:
     47   1. Time elapsed on the track (icon has a plus and a 1/4 cdrom on it)
     48   2. Time remaining on the track (icon has a minus and 1/4 cdrom on it)
     49   3. Time elapsed on cdrom (icon has a plus and a full cdrom)
     50   4. Time remaining on cdrom (icon has a minus and a full cdrom)
     52   The repeat key causes the cdrom to keep playing when it reaches the end of
     53 the cdrom. The question mark key opens a setup dialog box with 3 tabs for
     54 the different setup screens. The 'Setup' tab allows you to set the CD device
     55 to use and 3 other buttons:
     57   1. AutoPlay            When this is selected XfreeCD will start playing
     58                          the CD if there is one in the drive. If a CD is
     59                          already playing it doesn't disturb it.
     61   2. Eject when done     When selected this will eject the CD when it is done
     62                          playing it if the repeat button on the front panel
     63                          is not selected.
     65   4. Eject on exit       When this is selected and you exit XfreeCD with
     66                          the CD stopped or paused it will eject the CD.
     69   A new feature for this version is support for the internet CD database CDDB
     70 created by Ti Kan and Steve Scherf (Thanks Guys!). Select the CDDB tab from
     71 the setup menu to setup this option. The Local CDDB path is where it will
     72 store the CD info when it is downloaded from the internet or entered locally.
     73 A number of directories are created under this directory for the different
     74 categories of CDs (this is handles automatically, you don't need to create
     75 any directories yourself, just make sure you have the right permissions for
     76 the location you select).
     78   The CDDB server is the internet site that you want to use to retrieve CD
     79 track names from. This should probably be geographicly near you for the
     80 best performance. Initially only cddb.cddb.com is selected. A list of the
     81 current sites can be downloaded by pressing the Refresh Servers button.
     83   The CDDB Submit email address is the email address of the CDDB server to
     84 submit new CDs to. The default is xmcd-cddb@amb.org and the test address
     85 is test-cddb@cddb.cddb.com -- The test address will tell you if the submission
     86 would have been accepted or not. You can submit CD info from the Track Edit
     87 window by pressing the 'Send to Server' button. This uses the 'cat' and 'mail'
     88 programs, and they should be in your current PATH for it to work.
     90   As of version 0.7.6 XfreeCD submissions to the cddb database are accepted!
     91 Now you can add that obscure CD of yours to the worldwide database.
     93   If the CDDB support button is selected XfreeCD will first search the local
     94 database (it does this even if CDDB is not selected) for the current CD's
     95 unique discid. If that fails then it will attempt to connect to the CDDB
     96 server that you have selected and download the CD info. It will then store
     97 that data locally. CDDB submission is available even when CDDB download
     98 support is turned off.
    100   To use the CDDB download feature you will need to have your internet
    101 connection online or be using a program like diald to automatically connect
    102 to the internet.
    104   The track names are displayed by doing a left click in the main display
    105 window (the one showing the time and track #). Doing a right click in
    106 this window allows you to drag the XfreeCD window anywhere on your desktop.
    109   At the bottom of the track list window is a button labeled 'edit tracks'
    110 Click on it and another window similar to the first will be opened. Here
    111 you can edit the track names and save the changes to the local database.
    112 You don't need to have the internet CDDB support enabled.
    115   Version 0.7 is a complete rewrite of the code. The old code didn't run
    116 as well as I liked, the user interface was sometimes slow because it was
    117 waiting for a response from the low-level CD routines which can sometimes
    118 take a noticeable amount of time. And I wanted to add CDDB support without
    119 the 'freezing' of alot of X programs.
    121   Some people requested track seeking (skipping forward a few seconds
    122 within the track). I tried to implement this, but it seems that the
    123 low level CD device drivers don't implement this function very well and
    124 I removed the option (It would crash often and leave the cd_control
    125 process with no way to kill it since it was frozen waiting for a kernel
    126 call to finish). I have tested other players and none of them implement
    127 this feature any better. If you want to add it yourself and can get it
    128 to work, I'd be happy to integrate it into the next release of XfreeCD.
    130   If you do a 'ps' while running xfreecd you will notice 3 processes
    131 running. This is perfectly normal. One process handles the GTK+ user
    132 interface, another handles the low-level CD control and the third is the
    133 cddb internet interface.
    135   In version 0.7.5 I have reduced the amount of static memory storage used
    136 for strings, so you should notice a slightly smaller memory foorprint. On
    137 my system a 'ps xm | grep xfreecd' shows:
    140 v0.7.4
    142  3183  p3      0      3    44   532   576     0   576   552     0  50 xfreecd 
    143  3182  p3     14      7    48   588   636     0   636   592     0  52 xfreecd 
    144  3181  p3    389    198    76  1500  1576     0  1576  1184     0 119 xfreecd 
    146 v0.7.5
    148  3189  p3      0      3    40   500   540     0   540   516     0  43 ./xfreecd
    149  3188  p3     14      5    48   532   580     0   580   556     0  43 ./xfreecd
    150  3187  p3    408    169    80  1404  1484     0  1484  1184     0  96 ./xfreecd
    153   Not a huge difference, but an improvement.
    156   -geometry
    157   ---------
    159   XfreeCD now recognizes the -geometry command for x/y placement on the
    160 screen. Use the standard X geometry placement parameters. Width and Height
    161 are ignored. I use 'xfreecd -geometry +580-80' to place it at the end of my
    162 AfterStep Wharf bar.
    164   The only small glitch with this is if you have titlebars on and use geometry
    165 the placement will be relative to the main XfreeCD window, without respect to
    166 the size of the titlebars.
    168   Title Bars
    169   ----------
    171   If you want to modify the way the XfreeCD windows look (I like the main
    172 window to have no title bar and no resize bars) you can tell your window
    173 manager to remove them. This depends on what manager you are running. There
    174 are 5 types of windows associated with XfreeCD, but usually you will only be
    175 concerned with the main window.
    177   XfreeCD is the main window.
    178   XfreeCDt is the Track List window.
    179   XfreeCDet is the Edit Track list window.
    180   XfreeCDp is the progress window while connecting to the internet CDDB server.
    181   XfreeCDs is the setup window.
    183   I run AfterStep, and to setup the main window without title bar or resize
    184 handles you add a line like this to the database file:
    186   Style   "XfreeCD"       NoTitle, NoHandles
    189 SCSI Support:
    191   I don't have a SCSI CD drive, so it would be difficult for me to test
    192 any code I wrote. But it is possible for someone to modify the cd_control
    193 module to support SCSI drives, preferably through a user selectable
    194 button in the setup menu, not via compile time (I'm trying to make it
    195 easy to distribute this as a binary for those who don't have gcc
    196 installed on their system).
    198   This is beta software and it may have memory leaks and other problems.
    199 Please report any problems or ideas to me for inclusion in future versions.
    201   Brian Lane
    202   Nexus Computing
    203   nexus@tatoosh.com
    204   http://www.tatoosh.com/nexus
    207 Hall of Thanks
    208 --------------
    210 I would like to thank all of the beta testers for their help, bug reports,
    211 and suggestions. If I have forgotten anyone, please let me know and I'll add
    212 you to the list.
    214 Vincent Cautaerts (vincent@comf5.comm.eng.osaka-u.ac.jp) did the
    215 RPM package for RedHat users for v0.7.5 (I have taken over the rpm
    216 generation as of v0.7.6, so send any errors to me).
    218 The guys at www.cddb.com for their strict requirements for submission to
    219 the database. They revealed several bug that have now been squashed.
    221 Users of v0.7.6 for reporting the error 500 problem and forcing me to
    222 look over the code once again. I found the bug and squashed it!
    224 Users of v0.7.7 who kept insisting that it was sigsegving after a cddb
    225 retrieval. I believed you! Really!