NAME
workman - play audio compact discs
SYNOPSIS
workman [ generic-tool-arguments ] [ -bCdehnovX ] [ -c device ] [ -D
file ] [ -f N ] [ -l n ] [ -p pidfile ] [ -s cmd ] [ -V n ]
DESCRIPTION
workman is a graphical tool for playing audio compact discs on a
Unix/X11 system with a CD ROM drive. It has most of the features
available on standalone CD players, such as a shuffle mode,
programmable playlists, and elapsed/remaining timers. But it also has
extra features, foremost of which is the ability to store information
about CDs in a database, then automatically extract that information
when the CD is inserted later. Workman stores the artist’s name, the
disc title, the names of individual tracks, and even remembers which
tracks you don’t want to hear! All in an easy-to-use, attractive OPEN
LOOK graphical interface.
This man page may be out of date. If you have further questions, please
run workman with the -h or -? option for some terse help or consult
the HTML documentation in the HTML directory.
OPTIONS
generic-tool-arguments
WorkMan should accept the generic tool arguments described in
xview(1). The exception is the -Ws argument, which can cause
problems such as the CD Info/About/Goodies buttons being whited
out. Note that olwm’s "Save Workspace" menu option puts a -Ws
argument in your .openwin-init file; you should edit it and
remove -Ws and the two numbers following it.
Of particular note is the -scale option, which controls the
window size. Use -scale small to shrink the window so it takes
less screen space.
-geometry [+|-]x[+|-]y
Set WorkMan’s position on the screen. Do not try to use
-geometry to resize the window; it won’t work and can mess up
the display. If the Y coordinate is negative (e.g. -geometry
+100-50) the window will be positioned that many pixels from the
bottom of the screen and will grow and shrink from the top,
rather than the bottom; this prevents the controls from moving
around when multiline track titles are displayed, and is
frequently used with the -l 0 option. Note that the window
manager will add its title bar and push the window down. Use
something like -geometry +0-38 to position the window at the
bottom of the screen. 38 is the height of the olwm border; use
other values for other window managers.
-d Don’t display any title information in the main window. This
results in a smaller main window. The title information can
still be seen and edited using the CD Info popup. If -d is used
twice, title information will be displayed only if it is
available; the default is to display "Unknown CD name", "Unknown
artist", and "Unknown track name" when the corresponding
information is unavailable.
-D filename
Set the location of the CD database file. This is a colon-
separated list of filenames. This option overrides the value of
the WORKMANDB environment variable and the workman.db.shared
resource if either is present. See the ENVIRONMENT section for
more details.
-h Display a summary of options.
-b Toggle the use of Dismiss buttons on all popups and a Quit
button on the main window. Useful for users of window managers
other than olwm. On Sun and DEC systems, Dismiss buttons are
missing by default; on HP systems, they are shown by default.
-c device
Use a device other than the default. View the file config.h to
find out which is the default device for your platform. If there
is no default device given, the default will be the first drive
found. This option is useful if the CD drive is on a second
SCSI controller, or more than one drive is present on the
system.
-s cmd Send a command to a running workman process. Valid values are
stop, play, pause, back, forward, and eject. Only the first
character is examined, except in the case of play and pause
(which require at least two characters). mute and go are
aliases for pause and play, respectively.
-o This option prevents the Solaris 2.1 version of workman from
spawning a background job to keep the CD device open. There is
a bug in Solaris 2.1 that causes the CD player to stop when its
device is opened, unless some other process on the system
already has the device open. When this option is specified, the
CD will stop playing if workman is exited then restarted. When
the background job is present (-o is absent) the eject button on
the CD player does not work even after quitting from workman.
The background job isn’t started under Solaris 2.2 if the volume
manager is running.
-l n Reserve some lines for track titles in the main window. If n is
a positive number, that many lines of track title will always be
displayed, even if some are blank. If n is zero, the main
window will grow and shrink to accomodate multiline titles. If
n is negative (the default), the main window will grow when
necessary, but will never shrink, even when a shorter title is
subsequently displayed.
-e Check once for the presence of a CD at startup. If no CD is
present, wait for the user to select the square (stop) icon from
the main window. The default is to check for a CD every 5
seconds; on some SunOS versions, the CD-ROM driver prints a
message to the console every time the tool checks for a CD.
After a CD has been detected once, workman will revert to its
default behavior (since the driver message only occurs if
workman has not yet found a CD in the drive.) Specify -e more
than once to disable checking for CD insertion permanently.
-X Exit automatically when the CD is ejected.
-p file
Write the program’s process ID to a different file. By default,
the PID is written to "/tmp/.wm_pid-<host>" to allow signals to
be sent more easily (see the SIGNALS section below.) "<host>"
will be replaced by the name of the machine which workman is
running on.
-n No file locking. On some systems, workman’s use of file locking
is a significant performance hit (and on older systems, file
locking didn’t work too well; on those machines, workman can
freeze up when it tries to lock the database file.) Use of this
option is not recommended when several people share a database
via NFS; if two people save CD entries to the database at the
same time and one of them is not using file locking, one or both
of the new entries may be erased or stored incorrectly.
Apply Sun patch 100075 to your system (and your fileserver, if
you’re NFS-mounting the database files) and you probably won’t
need to use the -n flag at all.
-V n Set minimum volume. CD-ROM drives made by different
manufacturers have different volume-setting methods. On the Sun
and DEC CD-ROM drives, the volume settings range from 0 to 255,
but only values of 128 or greater produce any sound. On some
third-party drives, though, the full range of volumes is
available, in which case running with -V 0 is desirable. The
default is 128.
-C Close the CD device when the disc is ejected. You shouldn’t
need to use this option unless you have unreliable hardware.
RESOURCES
The following resources are available. All resource names begin with
"workman.".
db.personal (string, default $HOME/.workmanrc)
The pathname of a file containing personal preference
information about CDs: track volumes, playlists, and the like.
This resource overrides the WORKMANRC environment variable, if
present.
db.shared (string, default $HOME/.workmandb)
A colon-separated list of database files. This resource
overrides the WORKMANDB environment variable and in turn may be
overridden by the -D command-line option. See the ENVIRONMENT
section for more information about using lists of databases.
initialVolume (integer, default varies)
When a CD is inserted for the first time, or WorkMan is started
when there is already a disc in the drive, the current volume
level is read from the drive. On some systems the volume can’t
be obtained, in which case WorkMan by default will set the
volume to 100%. This resource allows a different initial volume
to be set. Valid values are 0 through 100.
smallButtons (boolean, default varies)
If true, use small (16x16) icons for the main panel buttons. If
false, use the old 32x16 icons. If undefined, the program will
try to use the correct size depending on how big the rest of the
window is, which can be controlled with the XView "-scale"
command-line option or by using a particular font.
autoPlay (string, default "normal")
Controls whether or not WorkMan will automatically start playing
a CD when it’s inserted. Valid values are "never", "normal",
and "always". The default is to play the CD if the personal
database says to do so, or according to the "Auto-play Unknown
CDs" setting in the Goodies popup if the CD isn’t in the
personal database.
reverseThreshold (integer, default 2)
Controls the amount of time a track needs to play before the
"back" button will return to the beginning of the track rather
than jump to the previous track. Set it to a ridiculous value
like 999999 if you always want the "back" button to go to the
previous track.
ENVIRONMENT
WORKMANRC
The location of the personal preferences file. This file
contains information such as the default volumes of CDs,
playlists, and the numbers of tracks to avoid playing. It is
usually not shared among several users of workman, since it does
not contain any information about the CDs themselves.
WORKMANDB
Specifies the location of the CD database file or files.
Several files may be specified by separating them with colons a
la the PATH shell variable. For example, setting WORKMANDB to
"$HOME/.workmandb:/home/user2/.workmandb" would cause workman to
look first in $HOME/.workmandb, then in /home/user2/.workmandb.
New entries are saved to the first database in the list;
modified entries are saved to the database in which they were
originally found, or the first database if the original one is
not writable.
This variable’s value is overridden by the workman.db.shared
resource and by the -D command-line option.
SIGNALS
WorkMan reacts to the following signals:
SIGTTOU
Jump to the next track.
SIGTTIN
Jump to the previous track.
SIGUSR1
Pause the CD (if it’s playing).
SIGUSR2
Play the CD (if it’s paused or stopped).
SIGQUIT
Stop the CD if it’s playing.
SIGEMT Eject the CD.
These signals, in combination with the pidfile (see the -p option
description above), allow simple control of the CD player from programs
or scripts, and are used by the -s option.
INTERFACE
Most controls have spot help; hit the Help key over a control to find
out what it does. If you don’t have a Help key, you can use the
xmodmap (1) command to make one of your function keys act as a help
key. For example, xmodmap -e ’keysym F1 = Help’ would make F1 bring up
help messages.
The following is a quick rundown of the controls; for the most part,
they’re pretty self-explanatory.
The main window
The main window contains the basic display and most commonly-used
controls. Moving from top to bottom and reading left to right, you’ll
see:
The artist’s name.
The name of the CD or the title of the currently-playing piece of
music, if it takes up more than one track.
The title of the current track. This may occupy more than one row on
the screen.
The track selection buttons. Click on these buttons to select a
starting track, or to change to a new track if the CD is playing.
The track-position slider. This is updated once every 5 seconds while
the CD is playing; you can also use it as a sort of jog dial to move
around in a track.
The volume slider. Up is louder; down is quiet.
The main controls (for lack of a better term.) The buttons on the top
row move to the previous track, start playing, and move to the next
track, respectively. The bottom buttons pause, stop, or eject the CD.
When the CD is paused, playing may be resumed by clicking on either the
pause button or the play button. The "back" button (the upper-left
one) goes to the beginning of the track if it has been playing for more
than 2 seconds (see the RESOURCES section.)
The "stop mode" selector. When workman is done playing a CD, it can
stop, play the CD over again (the Repeat setting), or eject it. Click
the MENU mouse button to select a stop mode; or click SELECT on the
pull-down item to cycle through the available choices.
The "play mode" selector. This determines the playing order of the
tracks. Two selections are always available: Normal, which plays the
CD from start to end, and Shuffle, which plays the tracks in random
order. In addition, if any playlists have been defined, they’ll appear
here as well.
A gauge indicating how long the CD has been playing and how much longer
is left.
Three buttons that bring up the About, CD Info, and Goodies popups.
The About popup
There’s not much to say about this; it’s the credits with a couple of
dumb pictures.
The CD Info popup
This popup is used to change information about a CD. Again, from the
top:
The artist’s name.
The title of the CD as a whole.
A scrolling list of tracks and their titles. This can be used to view
the tracks on a CD, or to select tracks for editing using the controls
below.
The name of the track that’s selected on the scrolling list. As a
shortcut, if RETURN is typed after entering a track name, the scrolling
list selection will automatically advance to the next track. This
allows you to type in all the track titles without using the mouse.
The track title can contain several special symbols that alter the main
window’s display. "//" forces a line break; the text after the "//"
will be displayed below the text before it. WorkMan will automatically
split lines that are too big for the main window. If a line begins
with "+", the main window’s disc title display is replaced with the
text after the "+" (useful for classical CDs, with several tracks that
are part of the same work.) If a line begins with "@", the main
window’s artist display is replaced with the text after the "@" (useful
for compilation CDs with tracks by several artists.) Both "+" and "@"
may be used alone on a line, in which case the program uses the title
or artist from the previous track. If a line is empty, the
corresponding line from the previous track is used. For example, a
track title "@Orff//+Carmina Burana////Stetit Puella" will replace the
artist’s name with "Orff", the CD name with "Carmina Burana", and
display two lines of track title, the second "Stetit Puella" and the
first copied from the first line of title from the previous track. (If
this sounds confusing, don’t worry -- play with it for a few minutes
and you’ll see how it works.)
The "Continuation" selector. If this is selected, the current track is
a continuation of the previous one. This is taken into account when
the CD is played in shuffle mode; if, for example, three tracks are
part of the same piece of music (indicated by setting "Continuation" on
the second and third tracks), they will be played together in shuffle
mode.
The "Don’t play" selector. If this is selected, the program will avoid
the track when playing the CD (though you can still play the track by
selecting it directly using the main window’s track selection buttons.)
The default volume setting. Use this if a particular disc or track
should be played especially loudly or quietly. If the slider is all
the way to the left, there is no default setting and the current volume
will be used.
The default play mode setting. When the CD is inserted, the main
window’s play mode selector will be set according to this item. "From
List" will select the first playlist.
The auto-play setting. If this is selected, the CD will start playing
automatically when it’s inserted (even if the main window is closed to
an icon!)
Apply and Reset buttons. Apply will save the CD information to disk.
Reset undoes any changes you’ve made.
The CDDB button. This induces a new CDDB request for the current CD.
This is useful if the CDDB server was not reachable when the CD was
inserted but is accessible now.
A button to bring up the "Playlists" popup.
The Playlists popup
This contains the controls for creating user-defined playlists. Any
number of playlists may be created, and they can be as long as you like
(until your workstation runs out of memory, anyway.) The controls:
A scrolling list, from which you can select a playlist to edit or maim.
The name of a scrolling list to create, or the new name for the current
list.
A button which creates a new list, using the name above or a boring
system-generated one if no name has been entered.
A button to rename the current list to whatever is in the Name field.
A button to delete the current list.
The tracks in the current playlist. To add tracks, use the popup menu
(which appears when you hit the MENU mouse button over the scrolling
list.) The popup menu is pinnable, so you can keep it on the screen
and select tracks quickly.
A button to delete the currently-selected track from the playlist.
The Goodies popup
This popup contains some infrequently-used controls and the settings
for the CDDB support:
The balance setting.
The time display settings. The running times to the left of the slider
and gauge in the main window can display either elapsed time (the
default) or remaining time; use these to choose.
The auto-play setting for unknown CDs (CDs which you haven’t seen
before, or which you saw before but didn’t Apply to your database file
from the CD Info window.) If this is selected, unknown CDs will be
played when they’re inserted.
The controls for the A-B repeat function. While the CD is playing,
click the Start button to mark the start of a passage to be repeated;
then click the End button when the CD reaches the end of the passage.
Click on the "Repeat section of CD" item to start repeating the passage
(and to stop, once you’ve started.)
The Split button. This button allows you to split any track in two.
Select a track from the main window, and use the track-position slider
to choose the split point. Then hit the Split button and the track
will be divided. You can do everything with the new section that you
can with a regular track, including choosing a name. Tracks may be
split while the CD is stopped or paused, or while it’s playing. This
is useful if you wish to mark a section of a song, for instance; you
can listen for the start of the section, and hit Split as soon as you
hear it beginning.
The Delete button. Use this to put a split-up track back together.
You can’t delete the first section of a track.
A button to scan for index marks. If a CD already has sections marked
via index marks (usually indicated in the liner notes), hit this button
to search for them. Searching for marks can take a while depending on
the particular CD. Every time an index mark is encountered, its track
will be split as if you’d used the Split button.
CDDB control handles. Here you can enter/change the protokol to be
used, the CDDB server, including a port number, the email address to be
sent as ident string to the server, and if necessary, the path to the
CGI script for HTTP requests and a proxy server. This information will
be written to the ~/.workmanrc file and is described in detail in the
workmanrc(5) manpage.
A button to save the current settings for the CDDB access. This
initiates a rewrite of the ~/.workmanrc file.
FILES
$HOME/.workmanrc
Default location of personal preferences file. See WORKMANRC
under "Environment" as well as workmandb (5).
$HOME/.workmandb
Default location of CD database file. See WORKMANDB under
"Environment" and workmandb (5).
BUGS
Workman depends on an existing audio hardware connection between the
CD-ROM drive and the sound card. It cannot rip the CD content playing
it independently via PCM.
The program leaks memory with XView 3.0 (but not 3.0.1 or higher) due
to a library bug. The leak only occurs while the About popup is
displayed.
Due to another library bug, the program will dump core when the default
volume slider is wiggled back and forth under Solaris 2. (The Sun bug
ID is 1097908.)
There is no way to choose a playlist other than the first one as the
default.
Some of the options and environment variables should be done with X
resources or a properties sheet.
The database should have an index of some sort for quickly looking up
CDs, since the current linear search can get a little slow on big
databases.
Interaction with data CDs, especially ones that are mounted as
filesystems, is spotty at best. The program should unmount a CD before
ejecting it.
The CD Info popup’s interaction with mouseless mode is annoying.
If the volume manager (Solaris 2.2) is running and the "eject" program
is used to eject the CD, a message about loading an unnamed CD will
appear on the console. There’s nothing WorkMan can do to avoid that.
The program’s name is a pretty moronic pun.
AUTHOR
Steven Grimm. Original author. Dirk Foersterling.
<milliByte@DeathsDoor.com> Current maintainer. Feel free to send
comments, criticisms, suggestions, or unadulterated praise.
Here used to be the names of different port’s authors. Please refer to
WorkMan’s HTML documentation for that information.
V1.3b - $Date: 1999/09/03 12:38:21 $ workman(1)