README (10194B)
1 2 XfreeCD v0.7.8 (c) 1998 by Brian C. Lane http://www.tatoosh.com/nexus 3 =============================================================================== 4 5 6 Hello! 7 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. 16 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 20 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>. 25 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. 30 31 Please read over the rest of this document! 32 33 34 35 36 What is xfreecd? 37 ---------------- 38 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. 42 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: 46 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) 51 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: 56 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. 60 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. 64 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. 67 68 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). 77 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. 82 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. 89 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. 92 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. 99 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. 103 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. 107 108 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. 113 114 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. 120 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. 129 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. 134 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: 138 139 140 v0.7.4 141 PID TTY MAJFLT MINFLT TRS DRS SIZE SWAP RSS SHRD LIB DT COMMAND 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 145 146 v0.7.5 147 PID TTY MAJFLT MINFLT TRS DRS SIZE SWAP RSS SHRD LIB DT COMMAND 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 151 152 153 Not a huge difference, but an improvement. 154 155 156 -geometry 157 --------- 158 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. 163 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. 167 168 Title Bars 169 ---------- 170 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. 176 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. 182 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: 185 186 Style "XfreeCD" NoTitle, NoHandles 187 188 189 SCSI Support: 190 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). 197 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. 200 201 Brian Lane 202 Nexus Computing 203 nexus@tatoosh.com 204 http://www.tatoosh.com/nexus 205 206 207 Hall of Thanks 208 -------------- 209 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. 213 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). 217 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. 220 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! 223 224 Users of v0.7.7 who kept insisting that it was sigsegving after a cddb 225 retrieval. I believed you! Really!