# The &kscd; Handbook

Jonathan
Singer

    jsinger@leeta.net

David
White

    a9403784@unet.univie.ac.at

Bernd
Johannes
Wuebben

    wuebben@kde.org

Developer
Dirk
Forsterling

    milliByte@gmx.net

Developer
Dirk
Foersterling

    milliByte@gmx.net

Developer
Lauri
Watts

    lauri@kde.org

Reviewer
2000-2002
J Singer
&FDLNotice;
2002-02-19
1.03.03

&kscd; is a small, fast, CDDB enabled audio CD player for Unix platforms.

KDE
kdemultimedia
kscd
music
CD
audio

## Introduction

&kscd; is a fast, CDDBcddb 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 toggles looping, so that the &CD; will start playing again from the beginning when the end of the last audio track is reached. The buttons in the third row advance the &CD; backward (left) or forward (right) 30 seconds. The two buttons under the status display skip forward (right) or backward (left) to the beginning of the next or previous track.

#### The Eject button

The Eject button
The Eject button

This button ejects the &CD;. Note that the eject button on your &CD-ROM; drive may not respond if an audio &CD; is in the drive and &kscd; is started. Some very old &CD-ROM; drives may not support software eject. You may also have to close the &CD-ROM; drive manually after inserting a new disc.

#### 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.)

#### Time display modes

The Time Display toggle
The Time Display toggle

This button toggles 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. Pressing this button toggles in sequence between remaining track time, total elapsed time, and total remaining time.

#### The Configuration button

The Configuration button
The Configuration button

This button opens the &kscd; configuration panel. This allows you to configure &kscd; to work on your machine. See the configuring &kscd; section, for details about configuring &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 Information button

The Information button
The Information button

This button will 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.

#### The Exit button

The Exit button
The exit button

This button closes &kscd;.

#### The Volume slider

The Volume slider
The Volume slider

This slider 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 Randomize button

The Randomize button
The Randomize button

This button causes the &CD; tracks to be played in random order.

#### 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 four major sections.

- CD Player

- freedb

- SMTP

- Credits

### 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.

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.

The Show tool tips checkbox turns tooltips (tiny windows that pop up when the mouse is parked briefly over a control) on or off.

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

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 on exit causes &CD; playback to stop when &kscd; is closed.

You can choose how random play operates, from two self-explanatory options: Shuffle order and play each song only once and Randomly select songs (may repeat).

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 tab

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

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

The Enable Remote freedb checkbox turns on or off CDDB lookups over the Internet. The time allowed before the lookup attempt times out can be set. To use an &HTTP; proxy, check the Use HTTP proxy to access freedb and enter the &URL; in the field below.

Checking Enable autosave to local database causes CDDB information to be stored locally, saving you from having to repeatedly perform lookups over the Internet. The freedb Base Directory: text field lets you choose the directory where you want CDDB entries to be stored locally.

The freedb server: list box shows a list of known freedb servers. Select an entry from this list and it will appear in the text field above the selection box. Press the Update button to update the list of servers in the list box. Press the Defaults button to enter the default value, `freedb.freedb.org cddbp 888 -`, which will permit you to update the list with a fresh list of freedb servers listed with the master freedb site at freedb.freedb.org. Servers can also be added manually by entering the address in the upper box and hitting the + button. Hit the - button to delete the selected entry from the list.

The Send freedb submissions to: field contains the e-mail address to which to submit CDDB entries. The default address is freedb-submit@freedb.org. As of version 0.8, CDDB entries from &kscd; are accepted for inclusion in the database. Enter servers manually by entering the address in the upper box and hitting the + button. Hit the - button to delete the selected entry from the list. The Defaults button restores all settings to the default values.The Help button opens the &kscd; help home page (this document).

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 SMTP tab

The SMTP tab

The SMTP 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. Select your preferred email profile in the Current Email Profile box. Enter the address of the SMTP server in the upper left text field and the port number (typically `25`) in the upper right field. Enter a different email or reply address in the lower text fields. (Not working at this writing.)

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 Credits tab

The Credits tab displays information about the version of &kscd; you are using and some copyright information.

## 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 subdirectories tree of the directory chosen in the freedb Base Directory: 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 Enable KPanel Docking 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 subdirectories as you like. However, when uploading, only the offical 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 Directory. 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 CDROM 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;