---
name: "dcd"
section: "1"
platform: "linux"
package: "dcd"
version: "0.99.2-3"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/dcd"
---

# dcd(1)

play audio CDs, program CD-ROM as a smart CD player

## NAME

dcd - play audio CDs, program CD-ROM as a smart CD player

## SYNOPSIS

**dcd** \[**options**\] \[**track-list**\]

## DESCRIPTION

*dcd* will help you use your CD-ROM drive as a CD player under Linux. In addition to merely playing CDs, *dcd* can also play random tracks, accept a pre-programmed list of tracks, and generally do most of the things a good portable CD player is capable of.

## OPTIONS

- List a directory of the CD contents (track numbers and playing times,

  - *dir*

  and track names if they are available). This option causes *dcd* to exit immediately.

- *eject*

  Open the CD-ROM tray, and exit immediately. *dcd* tries to locate, and kill, other *dcd* processes that may be running.

- *help*

  Display a friendly help message, and exit.

- *info*

  Display one line of information about the current CD, like this:\
   Playing track 3 (of 15), length 5:35 (of 77:05)\
   This option causes *dcd* to exit immediately.

- *pause*

  Pause or resume the current CD, exiting immediately.

- *stop*

  Stop the CD currently in the player. *stop* makes a reasonable effort to locate, and kill, other dcd processes that may be running.

- *version*

  Report the version of *dcd* and a brief copyright notice, and exit immediately.

- *a*

  Print the number of the first track of the CD to stdout, and exit immediately. Comes in handy for various shell scripts.

- *z*

  Print the number of the last track of the CD to stdout, and exit immediately. Comes in handy for various shell scripts.

- *loop*

  Loop the tracks in the track list, or the entire CD if no tracks are specified. An effort is made to locate, and kill, other *dcd* processes. (Having two copies of dcd running, each with different looped track lists, could get very strange very quickly.)

- *quit*

  Normally, *dcd* does everything it can to get out of the way quickly, freeing up the console or xterm it was launched from and allowing you to get on with your day. Specifying *quit* inhibits this; i.e. *dcd* will NOT exit until it's done. This lets you use *dcd* in things like combined CD/MP3 playlists. *dcd* attempts to detect unwise combinations of commands (like loop and random, which would effectively create an infinite loop) and nip them in the bud.

- *random*

  Play randomly-selected tracks from the CD forever (until killed), and return to the console immediately. As with *loop*, an effort is made to deal with other rogue dcd tasks. This option may accept a tracklist.

- *x*

  Display the CD Index discid for the CD, exiting immediately. This isn't often useful by itself, but might be useful in a script of some sort.

- *back*

  Go to the previous track on the CD. If you're already on the first track, this loops around to the last track. As with many other options, we attempt to locate and kill other instances of dcd.

- *forward*

  Go to the next track on the CD. If you're already on the last track, this loops around to the first track. As with many other options, we attempt to locate and kill other instances of dcd.

- *kill*

  Kills off other known instances of dcd. Might be useful in a shell script, or just in case dcd somehow gets carried away and starts doing weird things.

## EXAMPLES

*dcd* Plays a CD, plain and simple.

- *dcd 2*

  Stars playing a CD from track 2.

- *dcd loop*

  Plays the whole CD, over and over and over, until killed (with dcd stop).

- *dcd loop 2 4 7*

  Plays tracks 2, 4, and 7, over and over, in that order.

- *dcd random*

  Plays random tracks from the CD, over and over and over...

- *dcd random 1 3 5 7 9 12*

  Randomly selects from the tracks listed, and plays 'em over and over...

- *dcd 4 6 quit*

  Plays tracks 4 and 6, then exits. (Normally, dcd will return you to a shell  prompt immediately; this option is useful for some scripts, combination  MP3/CD playlists, and other cool stuff.)

## BUGS

*dcd* doesn't make nearly as many error/sanity checks as it could. It assumes you know what you're doing, so trying to eject a CD when the tray is already open (as one example) could have undefined results. It shouldn't do anything truly bad, but under the terms of the GNU General Public License anything it somehow does isn't my fault.\
\
 *dcd* unfortunately now requires Internet access to work. Blame the people at MusicBrainz for that one. When they discontinued their lean,  sexy "CD Index" project in favor of the current project, things got a  lot less pleasant for everyone involved (except perhaps for them).  Fortunately, broadband access is rather more common these days, so  hopefully this isn't as much of a problem as it would have been a couple  years back.

## SEE ALSO

[*cdcd*(1)](/cdcd/1.md), [*workbone*(1)](/workbone/1.md)

## URL

The dcd home page is currently at:\
 `http://www.technopagan.org/dcd/`

## TRIVIA

\`dcd' stands for Dave's CD player.

## AUTHORS

*dcd* was written by David E. Smith \<dave@technopagan.org\>. In analphabetical order, the following people contributed really keen ideas (and in some cases, actual code): Scott Walker, Luc Vrancx, Robert Tol, Kevin Thompson, Nigel Stepp, Othmar Pasteka, Markus F.X.J. Oberhumer, Mario Moder, Lorenz Minder, Lalo Martins, Britton Kerin, Alvaro Herrera, Anders Semb Hermansen, Shane Henthorne, Boris Gjenero, Aidan Delaney, Izak  Burger, Don Barber, and Jens Axboe.
