# The &kscd; Handbook

## Introduction

&kscd; is a fast, CDDB enabled &CD; player for the &UNIX; platform. &kscd; stands for The KDE Project's small/simple &CD; player.

New: the `workman2cddb.pl` Perl script provided in order to facilitate transition for users of workman.

I hope you will enjoy this &CD; player.

Bernd Johannes Wuebben

wuebben@kde.org

### Supported Platforms

&kscd; explicitly supports the following platforms:

- Linux

- FreeBSD

- NetBSD

- BSD386

- Sun

- &Solaris; (including cdda support)

- &HP-UX;

- &SGI; Irix (including cdda support)

- Sony NEWS

- OSF/1

- Ultrix

and should compile on many others with few modifications.

## Onscreen fundamentals

### Basic Operation

The &kscd; Interface The &kscd; Interface

This is the main window of &kscd;. You should see something like this when you start &kscd;. The controls in this window are explained below, in no particular order.

#### The Control Panel

The Control Panel The Control Panel

This is the main control panel for &kscd;. The function of these buttons should be familiar to anyone who has ever used a &CD; player.

The uppermost button in the above diagram toggles between playing and pausing the &CD;. The left button in the second row stops playing the &CD;. The right button in the second row ejects the &CD;. The two buttons in the third row skip forward (right) or backward (left) to the beginning of the next or previous track. The left button in the bottom row toggles random play order on and off; the right button in the bottom row toggles looping, so that the &CD; will start playing again from the beginning when the end of the last audio track is reached.

#### The Status Display

The Status Display The Status Display

This is the status display. Starting at the top, from right to left, is the main time display (see below for a discussion of the various possible time display modes), the status of the &CD-ROM; drive, the total play time of the audio &CD;, the current volume setting, and the current and maximum track numbers (curr./max.). The bottommost two lines of text display the artist and title of the &CD;, and then the title of the track, assuming that appropriate entries exist in the local or network CDDB (&CD; Data Base.)

Click the time display to toggle between the possible main time display modes. By default, &kscd; displays the elapsed time of the current track, if the &CD; is playing, or either ––:–– or 00:00 if the &CD; is not playing. Clicking the display toggles in sequence between remaining track time, total elapsed time, and total remaining time.

#### The Configuration button

The Extras button The Extras button

This button brings up a menu with a number of options. You can choose to open the &kscd; configuration panel or configure keyboard shortcuts. These allow you to configure &kscd; to work exactly to your tastes. See the configuring &kscd; section, for details about configuring &kscd;

The menu provides several tools to help you search for information about the artist on the Internet. You can find out about performance dates, purchase information, and other information by pressing this button and choosing the appropriate option in the pop-up menu that appears.

This menu also allows you to open this help document, report bugs, learn more about &kscd; and &kde; and to quit &kscd;.

#### The CDDB button

The CDDB button The CDDB button

This button opens the CDDB (Compact Disc Data Base) entry editor panel.

The CDDB can identify your &CD; and often download a list of tracks for that &CD; or load it from the filesystem. See the &CD; Database Editor section for more details about using this tool.

#### The Volume button

The Volume button The Volume slider

This button pops up a slider which controls the volume of the audio output of the &CD;. Right is louder, left is quieter. If you are playing your &CD; through your sound card, the sound card mixer will affect the playback volume as well.

#### The track selector

The track selector The Track selector

This combo box shows you the current track and lets you directly select a track to play.

## Configuring &kscd;

### The primary configuration window

The primary configuration window for &kscd; is a tabbed dialog with three major sections.

- CD Player

- Freedb Lookup

- Freedb Submit

### The CD Player tab

The CD Player tab The KSCD Configuration tab

The LCD Color and Background Color fields show the color selected for the foreground and background of the status display. Press the color bars to change these colors.

Show icon in system tray causes a &kscd; control to appear in the &kicker; panel.

Set the Skip interval box to the desired number of seconds to move ahead or behind when the forward skip or reverse skip buttons in the Control Panel are pressed.

Autoplay when CD inserted causes &CD; play to start when the tray is closed, with no need to press the Play button.

Eject CD when finished playing causes the &CD; to be ejected when playback ends.

Stop playing CD on exit causes &CD; playback to stop when &kscd; is closed.

The CD-ROM Device field contains the name of the &CD-ROM; device to be used to play audio &CD;s. The default value is `/dev/cdrom`. The permissions on this device must be set to allow opening this device read-only. Changing the permissions on this device file will in almost all cases require superuser privileges and can be done from the command line, or in the Super User Mode of &konqueror;.

The Help button opens the &kscd; help contents page. OK saves the current settings and exits; Apply saves the current settings without exiting; Cancel exits without saving.

### The freedb Lookup tab

The freedb Lookup tab of the configuration dialog The freedb Lookup tab of the configuration dialog

The freedb Lookup tab sets up the CDDB functions of &kscd;.

The Mode option determines how CDDB lookups are performed. Setting Cache only means that only information already on your computer will be used. Cache and remote will look up information you do not already have while Remote only looks up every disc over the Internet. The time allowed before the lookup attempt times out can be set.

The CDDB Server: list box allows you to specify your freedb server. Enter a server address and port number. Select an entry from this list and it will appear in the text field above the selection box. The form of connection (CDDB or HTTP) can also be set. (You are unlikely to want to change any of this from the default.) The Cache Folders: text field lets you choose the folder where you want CDDB entries to be stored locally.

### The freedb Submit tab

The freedb Submit tab

The freedb Submit tab sets up connection to a mail server to submit new CDDB entries. This is useful if you do not have your own system configured as a server. Check Enable submission via SMTP to use this feature.

You may choose to Use email addresses from control center if you wish. If you would like to open the &kcontrol; module to configure this email address, click on the text labelled Open the email address control panel. Changing the address there will change the default address for all &kde; applications that use this setting, not just for &kscd;, so do this with caution.

Otherwise, provide your preferred email profile in the Use the following email addresses box. Enter your email address, a reply to address, if desired, and the address of the SMTP server server in the field labelled Host:. You may also need to provide a username for authentication, and the port number (typically `25`) in the field labelled Port:.

The Help button opens the &kscd; help contents page. OK saves the current settings and exits; Apply saves the current settings without exiting; Cancel exits without saving.

## The CD Database Editor

The CD Database Editor The CD Database Editor

The &CD; Database Editor allows you to modify, download, save, annotate, and upload CDDB (Compact Disc Data Base) entries.

If there is an entry in your local CDDB tree (see the CDDB subsection in the Configuration chapter) for the &CD; in your &CD-ROM; drive, or if the disc could be found in the freedb, you will see the name of the artist and the title of the &CD; in the Artist: and Title fields and a list of tracks with song titles in the Tracks selection box. Otherwise, you will see a list of tracks and play times without titles.

You can make an annotation for the entire disc with the Comment button under the Title field, or for a selected track in the Tracks selection box with the adjacent Comment button. If you select a track in the Tracks selection box, the title, if present, will appear in the Title field below. You can type a title for the track in the box, or edit the entry to suit your needs. Press the Return key on your keyboard, and the text will appear in the proper line in the selection box.

Once all tracks have been given titles and the Artist: and Title fields have been filled out, you can press the Upload button to send your submission by e-mail to freedb.

You will be prompted to select a category for the submission. The Disc ID section displays the 32 bit ID code used by freedb to identify a compact disc. Above the ID code is the category of the freedb entry. These categories correspond to the subfolders tree of the folder chosen in the freedb Base Folder: in the freedb tab of the &kscd; Configuration window.

The Total Time: display shows the total play time of the &CD;.

Press the Fetch Info button to download CDDB data. Press the OK button to save your changes locally. The Cancel button closes the &CD; Database Editor without saving.

## Using &kscd; in the &kde; Panel

Using &kscd; in the &kde; Panel Using &kscd; in the &kde; Panel

When the Show icon in system tray box is checked, a small &kscd; applet is also displayed in the KDE panel. Unlike the main &kscd; window, this applet is available on any desktop. Right click on the applet to pop up a menu to control &CD; playback. A left click on the applet hides the main &kscd; window. If the main window is hidden, a second left click on the applet restores it.

To be precise, the applet is displayed in the system tray in the panel. If no applet appears when &kscd; is minimized, you may have removed the tray. To add it, right click on an empty spot on the panel and select Add Applet System Tray

## CDDB Support

freedb is a distributed network database accessible over the Internet that contains information about most audio &CD;s in circulation. If you have Internet access, you will likely never have to manually enter track information for your &CD;s if you have this set up properly. See The freedb Tab subsection in the configuring &kscd; chapter for detailed instructions on how to configure this service, and the The CD Database Editor section for instructions on how to edit CDDB entries.

Use of the CDDB is free. Submissions from users are encouraged.

When preparing entries for the CDDB, please keep the following points in mind:

- Use standard latin characters in the entries. Some special characters are supported, but Cyrillic or Greek alphabet submissions, for example, cannot be accepted.

- Use only one / character in the Disc Artist / Title field in the &CD; Database Editor.

  For classical &CD;s, it is standard practice to put the composer's name in the Artist section (before the slash) and the performer's name in the Title section (after the slash).

- If you send an entry that already exists in the database, any additional information you provide may be added to the existing entry.

By default, &kscd; installs the standard CDDB categories in `$KDEDIR/share/apps/kscd/cddb`. You can create as many category subfolders as you like. However, when uploading, only the official CDDB categories are displayed. The default upload address is freedb-submit@freedb.org. For more information about freedb visit the freedb homepage.

The local CDDB entry for a particular &CD; is stored in the file ``category name`/`disc ID`` under the CDDB Base Folder. These files can be edited with any text editor if you have nothing better to do with your spare time.

## Questions and answers

I see this dialog when I start &kscd;. What's wrong?

Error dialog Error dialog

This means that &kscd; couldn't open your &CD-ROM; drive. The name of the device in the &CD-ROM; Devicecdrom field of the Kscd Configuration must actually refer to the block device associated with your &CD-ROM; drive. This will often be a hardlink to the appropriate IDE (`/dev/hdx`) or SCSI (`/dev/sdx`) device.

The device file normally belongs to user root in group root, and does not allow normal users to open it for reading, writing, or execution directly. This has nothing to do with the SUID (Set User ID programs use the `setuid()` function in the standard Un*x library to assume the identity of another user) `mount` command, which has no problems with permissions; &kscd; must be able to get a read-only file descriptor referring to the &CD; device to control the &CD-ROM; drive and read raw data off the disk.

If you have the root password, you can fix this quickly and easily. Become root and type ``chmod` `a+r` ``/dev/cdrom``` to allow any user on your system to read from `/dev/cdrom`. If your &CD-ROM; device is called something else, change the permissions on that device with the same procedure. If you don't have the root password, ask your system administrator nicely to give you read permission for the &CD-ROM; device.

See also the chapter on configuring KSCD

I can't get the CDDB to work. Can I get any detailed information about what may be going wrong?

If you experience trouble with the CDDB functionality try to starting &kscd; from the command line with the `-d` switch and observe the debug output.

## Credits and licenses

&kscd; Copyright 1997,1998 Bernd Johannes Wuebben wuebben@kde.orgwuebben>

&kscd; contains code from:

- workman 1.4 beta 3 Copyright (c) Steven Grimm koreth@hyperion.com

Special thanks to Ti Kan and Steve Scherf, the inventors of the CDDB database concept. Visit http://ww.cddb.com for more information on CDDB.

A very special thank you also to David White who wrote the original &kscd; help documention. Great Job David!

Documentation updated for KDE 2.0, and copyright by Jonathan Singer jsinger@leeta.net.

&underFDL; &underGPL;

## Installation

### How to obtain &kscd;

&install.intro.documentation;

### Requirements

In order to successfully compile &kscd;, you need the latest versions of the KDE libraries as well as the &Qt; C++ library. All required libraries as well as &kscd; itself can be found at the &kde; &FTP; site, ftp://ftp.kde.org/pub/kde/.

### Compilation and Installation

&install.compile.documentation;

Please inform the current maintainer, Dirk Foersterling, at milliByte@gmlx.net of any modification you had to undertake in order to get &kscd; to compile on your platform.

&documentation.index;