|
NAMExmcd - CD digital audio player utility for X11/MotifSYNOPSISxmcd [toolkitoption ...] [-dev device] [-instcmap] [-remote] [-rmthost hostname] [-help] [-debug level#] [-c device] [-X] [-o] [command [arg ...]]DESCRIPTIONXmcd is a program that allows the use of the CD-ROM, CD-R, CD-RW or DVD drive as a full-featured stereo compact-disc player and "ripper" for the X window system. See cda(1) for the command-line CD player. xmcd and cda uses the same configuration and support files.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. CDDA (CD digital audio) data extraction, playback, save-to-file, and pipe-to-program are supported on many platforms. For data extraction to file or pipe, xmcd can generate the data in MP3 (MPEG-1 layer 3), MPEG-2/MPEG-4 AAC, MP4, Ogg Vorbis, FLAC, WAV, AU, AIFF, AIFF-C and raw headerless formats. Simultaneous extraction to file/pipe and real-time playback is possible on high performance computers. 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 switch to 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(R) 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. For CDDA extraction to MP3, MP4, Ogg Vorbis and FLAC formats, xmcd can auto-fill the CD information tags embedded in these files. This release of xmcd supports the enhanced Gracenote CDDB2(R) service on a number of 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 international language 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. In addition to CDDB, this release of xmcd supports reading CD-TEXT data from the disc for the disc/track artist and title information. Full feature-specific pop-up help is available for all controls, indicators, text input fields, and lists. On systems with more than one CD 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 drives available. OPTIONSAll standard Xt Intrinsics toolkit options are supported (such as -display, -geometry. -iconic, etc.). In addition, xmcd supports the following options:
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 PLATFORM file in the xmcd distribution about configuring xmcd for the Solaris Volume Manager. X RESOURCESXmcd has many adjustable X resources to customize its look and feel, as well as its behavior. Notably, the colors of virtually every feature on xmcd's windows can be changed, as well as the text fonts. All text labels can also be changed (for example, to another language).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. COMMANDSYou may specify a command as an xmcd command line argument, to make xmcd execute the command after initial startup. For example, the following command starts xmcd and then begins playing at track 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:
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. DEVICE CONFIGURATIONThe X resources described in the previous section affect the general appearance and behavior of xmcd. There are two additional configuration files which are used to adapt xmcd to your site requirements. The first of these contain common parameters, and the second contain configurable parameters that must vary on a per-drive basis. For example, in some cases xmcd must operate the drive differently depending upon the brand and model of the drive. Thus, there must be a separate configuration file for these parameters per-device. The common parameters file is XMCDLIB /config/common.cfg and the device-specific parameters file is XMCDLIB/config/DEVICE (where XMCDLIB is typically /usr/lib/X11/xmcd and DEVICE is the base name of the raw device special file for the CD drive; e.g., /usr/lib/X11/xmcd/config/rcd0). A configuration program XMCDLIB/config/config.sh is provided to make maintaining these configuration file easy (Note: on SCO UNIX/Open Desktop/Open Server systems the configuration program can also be invoked as "mkdev xmcd").You should always use the configuration program to set the configuration parameters when installing xmcd for the first time, or when the CD hardware configuration has changed. If this is not done then xmcd will probably not operate correctly with your CD drive. WARNING: If xmcd is not correctly configured, you may cause xmcd to deliver commands that are not supported by your CD 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). USING XMCDThe basic functions of xmcd are designed to operate the same way as on a real stereo CD player. The pictorial symbols used on the main window buttons are intended to illustrate the function in a non-language-specific manner. If enabled, a small "tooltip" will appear after a short delay, when you position the mouse cursor over any xmcd main window feature. The tooltip contains textual description of the feature.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). ONLINE HELPFor general information about xmcd, click the wwwWarp (world symbol) button on the xmcd main window and select 'Xmcd help...' in the menu. You can also get specific help information about each button, control, indicator, text entry area, selection list by positioning the mouse cursor over the desired item, then clicking the third mouse button. A pop-up window will appear, containing the relevant help text.TRACK PROGRAMMINGYou can program xmcd to play only certain tracks, in a custom sequence. To do so, invoke the CD Information window (by clicking the CD Information button on the main window). Select the desired track by clicking on the entry in the Track list, and click the Add button to add to the play sequence. Notice that the track number appears in the Program sequence text field. You can also type the track numbers, separated with commas or spaces, directly in the Program sequence field. Repeat until all desired tracks have been entered, then click the Play/Pause button (on the main window) to start the program play.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 Clear button will also delete the saved program. CD DATABASEUnless explicitly disabled, xmcd will automatically query the Gracenote CDDB Music Recognition Service for information about the loaded CD. This information includes the artist/title, track titles, genre, and much more, and is displayed on the CD Information window and several of its sub-windows.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. This release of xmcd also supports reading the CD-TEXT data from the disc for CD information. Only some recent CDs are produced with CD-TEXT data and this data can only be read on CD drives with CD-TEXT capability. 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. The priority of the CD information schemes (CDDB, CD-TEXT or local CD database files) is controlled via the cdinfoPath parameter in the common.cfg file. 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 drive's device number) contains the device node path, the music genre, and disc identification information pertaining to the currently loaded CD. Other applications may read this file to identify the currently loaded disc. PLAYBACK MODESThis release supports the following user-selectable playback modes (via the Options pop-up window):
More than one of the three CDDA modes can be selected at the same time. For example, if both the CDDA playback and the CDDA save to file buttons are selected, the two functions will be performed simultaneously. Note that on most systems, only one program can access the system's DSP at a time, therefore you will likely not be able to select CDDA playback and CDDA pipe to program at the same time, where the external program is itself an audio player. NOTE: The CDDA (CD digital audio) modes will function only on CD drives that provides this capability, and only on some OS and hardware platforms. See the RELNOTES file for details about platform support and other CDDA related notes. LOCALIZATIONThere is full localization support in xmcd if it is compiled with X11R5 or later header files and libraries.The "classic" CDDB service supplies data in the ISO Latin-1 format only, multi-byte characters are not supported. The CDDB2 service supplies data in UTF-8 data format, which is identical to US-ASCII for single-byte characters. Multi-byte UTF-8 characters are also supported when xmcd is linked with X11R5 or later. By default, xmcd will translate the characters to ISO Latin-1 (ISO 8859-1, for English and many European character sets). By changing the setting of the charsetConvMode parameter in the common.cfg file, you can have xmcd display the UTF-8 data without conversion (good for US-ASCII or if you are using UTF-8 fonts), or attempt to convert UTF-8 strings to the default character set as specified by the LANG environment variable. This conversion will occur only if the system's list of locales also support UTF-8. As distributed, xmcd is configured to display in a generic family of X fonts denotes similar to the following:
This will normally work correctly with English and any ISO Latin-1 European character set, as long as your X display server supports all the required fonts. To display in other languages, you must set your LANG environment accordingly, and change xmcd to use the appropriate 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. See "X RESOURCES" above. NOTESNot all platforms and CD drives support all the features of xmcd. For example, some drives do not support a software-driven volume control. On these drives the xmcd volume control slider may have no effect, or in some cases it is made to function as a mute control (i.e., it will snap to the full-off or full-on positions only). Similarly, the caddy lock, eject and index search buttons found on xmcd may not have any effect on drives that do not support the appropriate functionality.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. The lame(1) MP3 encoder program must be installed on your system in order for xmcd to perform CD ripping to MP3 format files. Similarly, the faac(1) encoder program must be installed on your system for the AAC and MP4 formats. Your copy of the xmcd executable must be compiled and linked with the Ogg Vorbis and FLAC encoder libraries in order to perform CD ripping to these formats. See the INSTALL file for details. ENVIRONMENT VARIABLESThe LANG environment variable sets the default character set. See "LOCALIZATION" above.For the wwwWarp feature, xmcd invokes the Netscape, Mozilla, Galeon or Opera web browser to display the contents. Xmcd searches a number of "standard" locations for the web browser executable. If you have multiple browsers installed and would like to direct xmcd to use a particular executable, or if your browser 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/mozilla; export BROWSER_PATH (For C Shell users): setenv BROWSER_PATH /usr/local/bin/mozilla 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. The LAME_PATH environment variable may be used to specify the path to the lame(1) MP3 encoder program. The FAAC_PATH environment variable may be used to specify the path to the faac(1) AAC and MP4 encoder program. The AUDIODEV environment variable may be used to specify an
alternate audio device when running xmcd in the CDDA playback mode.
The default audio device is write method dependent as follows:
AIX write method: /dev/paud0/1 (PCI audio) AIX write method: /dev/baud0/1 (MCA audio) ALSA write method: plughw:0,0 HP-UX write method: /dev/audio Linux/OSS write method: /dev/dsp OSF1 write method: 0 Solaris write method: /dev/audio In addition, with the OSS and ALSA write methods, the MIXERDEV environment variable may be used to specify the PCM mixer channel device. The default is /dev/mixer for OSS, and default for ALSA. On FreeBSD with ATAPI CD drives, xmcd will automatically use either the CDIOCREADAUDIO ioctl or the pread(2) system call for CDDA reads, based on the running kernel version. You may override the default by setting the environment variable CDDA_USE_PREAD to 0 or 1, respectively. Normally this is not necessary. FILES$HOME/.cddb2/∗$HOME/.xmcdcfg/∗ XMCDLIB/app-defaults/XMcd XMCDLIB/cdinfo/∗ XMCDLIB/discog/∗ XMCDLIB/doc/∗ XMCDLIB/config/config.sh XMCDLIB/config/common.cfg XMCDLIB/config/device.cfg XMCDLIB/config/.tbl/∗ XMCDLIB/config/∗ XMCDLIB/help/∗ BINDIR/xmcd MANDIR/xmcd.1 /tmp/.cdaudio/∗ RELATED WEB SITESXmcd/cda web site: http://www.amb.org/xmcd/Gracenote web site: http://www.cddb.com/ Xmmix web site: http://www.amb.org/xmmix/ LAME MP3 encoder: http://www.mp3dev.org/ Ogg Vorbis: http://www.xiph.org/ogg/vorbis/ FLAC (Free Lossless Audio CODEC): http://flac.sourceforge.net/ FAAC (AAC/MP4 encoder): http://www.audiocoding.com/ Hydrogen Audio (discussion forums): http://www.hydrogenaudio.org/ Sox audio format conversion utility: http://www.spies.com/Sox/ SEE ALSOcda(1), X(1), xhost(1), xauth(1), Xsecurity(1), xlsfonts(1), lame(1), faac(1), sox(1)Xmcd's README, PLATFORM, DRIVES, INSTALL and RELNOTES files AUTHORTi Kan (xmcd@amb.org)AMB Laboratories, Sunnyvale, CA, U.S.A. Xmcd also contains code contributed by several dedicated individuals. See the ACKS file in the xmcd distribution for information. Comments, suggestions, and bug reports are always welcome.
Visit the GSP FreeBSD Man Page Interface. |