Most of the features found on "real" CD players are available in xmcd, such as shuffle and repeat, track programming functions, a numeric keypad and track warp slider for direct track access. Additional functions include sample play, A to B segment play, volume control, balance control, etc. Several automation options are also available on CD load, eject, play completion and program exit. A Channel Routing feature allow you to select from several stereo or mono routing options. The volume control slider taper characteristics can also be altered.
Multi-disc changers are also supported. There are buttons to switch to the next or previous disc in the changer, as well as a way to specify a specific disc via the keypad. You can select to play only a single disc or auto-play all discs in normal or reverse order.
The Gracenote CDDB(tm) Music Recognition Service(sm) is supported by xmcd, which allows the CD artist/title and track titles, and other information associated with the loaded CD to be displayed. You may also add/modify and submit information to the CDDB service. This release of xmcd supports the enhanced Gracenote CDDB2(tm) service on selected platforms, and offers much richer features and content than the "classic" CDDB service. Moreover, CDDB2-supplied information is now in UTF-8 data format, providing localization support. See LOCALIZATION below.
Xmcd provides the ability to drive a web browser and search for web sites related to the currently playing CD artist or track. You may also access online music reviews and go to the official xmcd and Gracenote web sites, invoke the CDDB Music Browser(tm), as well as CDDB-provided links to related content. Moreover, the browser integration gives users the ability to manage Local Discography information pertaining to their CD collections.
Full feature-specific pop-up help is available for all controls, indicators, text input fields, and lists.
On systems with more than one CD-ROM or CD-R drive, multiple invocations of xmcd can be used to operate each drive independently.
Xmcd is designed to be easy to use, as the main window is purposely made to resemble a real CD player front panel. All other pop-up windows are also designed to be as intuitive as possible. Moreover, while the use of a mouse is natural with xmcd, all functionality can also be operated via the keyboard. This is in conformance to the guidelines published in the OSF/Motif Style Guide from the Open Software Foundation.
Many functions on a running xmcd session can be "remote controlled" from the command line via the -remote option. See the OPTIONS section below.
The internal architecture of xmcd is designed to be easily portable to many UNIX operating system variants, and adaptable to the myriad of CD-ROM drives available.
1 General debugging 2 Device I/O debugging 4 CD information debugging 8 User interface debugging 16 Remote control debugging
You may add the values together to enable multiple debugging types (i.e., A value of 3 turns on both General and Device I/O debugging).
The sender xmcd process can be invoked on the same host or on a different host than the receiver xmcd process. By default, the sender will attempt to locate an xmcd process running on the same X display (determined by the DISPLAY environment variable or the -display option), and controlling the same default CD-ROM device. You may specify the device via the -dev option to override the default. Use of the -dev and -rmthost options on the sender's command line can resolve ambiguities when there are multiple xmcd clients displaying on the same X server.
The -c, -X and -o options are provided only on the Solaris platform for compatibility with the action_workman.so auto-startup program, running under the Solaris Volume Manager (vold). See the README file in the xmcd distribution about configuring xmcd for the Solaris Volume Manager.
There are too many resources to list here, but the resource names and their defaults (plus descriptive comments) can be found in the XMCDLIB/app-defaults/XMcd file (where XMCDLIB is the xmcd library directory specified during installation, typically /usr/lib/X11/xmcd). It is not recommended that you change values in the XMCDLIB/app-defaults/XMcd file, unless you want the changes to be forced upon all users of xmcd on the system. Instead, make a copy of this file, change the copy as you see fit, then place it in your $HOME/.xmcdcfg directory. Your custom resource settings will then override the defaults when xmcd is subsequently started. Alternatively, you may also place specific resources you wish to override in the .Xdefaults file in your home directory.
xmcd play 4 &
If the -remote option is used, then the command is sent to another running xmcd process for execution (See "OPTIONS" above).
The supported commands are:
0 Normal stereo 1 Reverse stereo 2 Mono-L 3 Mono-R 4 Mono-L+R
Some of these commands, when used in start-up mode, do not perform a meaningful function. For example, the "track prev" command is not useful just after xmcd startup. It is more appropriate to use this command in the remote control mode.
You should always use the configuration program to set the configuration parameters when installing xmcd for the first time, or when the CD-ROM hardware configuration has changed. If this is not done then xmcd will probably not operate correctly with your CD-ROM drive.
WARNING: If xmcd is not correctly configured, you may cause xmcd to deliver commands that are not supported by your CD-ROM drive. Under some environments this may lead to system hang or crash.
You can override some of the device-specific configuration parameters by adding your own configuration files. Xmcd will also look in the $HOME/.xmcdcfg/common.cfg and $HOME/.xmcdcfg/DEVICE files for common and device-specific parameters (where $HOME is your home directory and DEVICE is as specified above). Parameters found in this file will override the system defaults (except those parameters that cannot be overridden; see the comments in the XMCDLIB/config/device.cfg for details).
The CD information and track programming functions are operated via the CD Information subwindow. You open the subwindow by clicking the CD Information button (file cabinet symbol) on the main window (See "CD DATABASE" below).
There is not a per-item description of all the features here, because full on-line help is available (See "ONLINE HELP" below).
When a program sequence is defined, the prog indicator in the main window display area "illuminates". To erase the program sequence, click the Clear button on the CD Information window. You may also Save a program sequence, so that the next time you load the same CD the program will automatically be applied. The button will also delete the saved program.
You may also add, modify or enhance the displayed information, in the rare circumstance that CDDB does not have data pertaining to your CD, or if the CDDB-supplied data is incomplete or in error. You can then submit the changes back to CDDB.
You should perform a "submit" operation (click the Submit button) after typing in the changed information before ejecting the CD or exiting, or the information will be lost.
The CD Information window should prove to be intuitive to use. You may use the on-line help system to obtain specific help information about the various buttons and items.
The CD information, once queried from CDDB, is stored in a local cache and managed by the CDDB library. This reduces unnecessary Internet connections to the CDDB servers. For backward compatibility, this release of xmcd will also read the old-style local CD database files previously generated by xmcd versions 1.x and 2.x. No capability is retained in this release to write/update the old-style CD database files.
For more information about Gracenote CDDB, read the CDDB file included with this release, and visit the http://www.cddb.com web site for details.
While xmcd is running, the file /tmp/.cdaudio/curr.nnnn (where nnnn is the hexadecimal representation of the CD-ROM's device number) contains the device node path, CD database category and disc identifier information pertaining to the currently loaded CD. Other applications may read this file to identify the currently loaded disc.
The CDDB2-supplied data, in UTF-8 data format, is displayed without modification in xmcd. As distributed, xmcd is configured to display in a generic family of X fonts denotes similar to the following:
-*-helvetica-bold-o-*--14-140-*
This will normally work correctly with English and any ISO-8859 family of European languages, as long as your X display server supports all the required fonts. To display in other languages, you must change xmcd to use the appropriate UTF8-specific fonts. That can be accomplished by modifying the various XMcd*classname.fontList parameters in the XMCDLIB/app-defaults/XMcd file (system wide) or your $HOME/.xmcdcfg/XMcd file (per-user). Be sure that the fonts you specify is actually supported by your X display server. See xlsfonts(1) and your X window system documentation about font configuration.
Moreover, all titles and descriptions in xmcd are configurable in the XMcd X resource file. US-English is distributed by default, but the file may be modified to use any other language as desired.
The remote control feature (using the -remote option) is governed by the standard display server security mechanisms of the X window system. In order for an xmcd sender client to communicate with a running xmcd receiver client, the sender must have the appropriate access permissions to the receiver client's X display. See xhost(1) , xauth(1) and Xsecurity(1) for more information. If logging is enabled, remote control activity is logged by the xmcd receiver client in the $HOME/.xmcdcfg/remote.log file for each xmcd user.
For the wwwWarp feature, xmcd invokes the Netscape web browser to display the contents. Xmcd searches a number of "standard" locations for the web browser executable. If you have multiple versions of the Netscape browser installed and would like to direct xmcd to use a particular executable, or if your Netscape executable is installed in a non-standard location, then you may set the BROWSER_PATH environment variable on the shell command line to the web browser executable you desire.
An example:
(For Bourne Shell and Korn Shell users): BROWSER_PATH=/usr/local/bin/netscape; export BROWSER_PATH (For C Shell users): setenv BROWSER_PATH /usr/local/bin/netscape
you may put the above command in your $HOME/.profile (sh/ksh) or $HOME/.cshrc (csh) to set this automatically each time you log in.
Xmcd's README and INSTALL files