BETA 4.0.1 (12/19/92)

Cleaned up the to-do list; it's now included in the source distribution.

If there are two sections in the last track on the disc, and you delete
the second, the remaining track will no longer have a section number.

Hacked together decent handling for negative -geometry values (e.g.
"workman -geometry -0+100".  A side effect, at least under olwm, is that
you can make the window grow and shrink from the top, rather than the
bottom, so the controls don't move around.  See the ANSWERS file.

The Start and End buttons (in Goodies) can be used when the CD is paused.

Added two new sections to ANSWERS.

Fixed some glitches with track titles sticking around after the CD was
ejected.  The program should also deal better with the CD being ejected
by some external action (e.g. the "eject" program on Suns).

If the CD was ejected before it was played, the window wouldn't clear out
all the way.

The last track shouldn't have its last two seconds chopped off any more.

Fixed a bug in the Ultrix code that caused track titles to remain displayed
when you hit the Stop button.

Cleaned up some unused variables and simplified a few routines.

A -1 in the CD length field of the database is now a wildcard for purposes
of matching CDs to their database entries.  This is to allow conversion of
.cdinfo files (produced by the HP "xcd" program) to workmandb format.  Note
that this can potentially cause discs to match incorrectly, especially
one-track discs; if you convert a .cdinfo file, you should run all your
CDs through WorkMan and hit Apply from the CD Info popup as soon as you can.

Fixed the bug that was earlier blamed on DEC hardware/ultrix.  Chris had
made a typo in the original ultrix port, that was causing mono output.
This is now fixed...


BETA 4.0

Merged in the HPUX port by John Brezak, brezak@apollo.hp.com.  Hewlett
Packard supplies this without warranty or support of any kind.  The program
should work on HP series 700 machines under HPUX 8.07 and 9.0.  On the HP
version, Dismiss buttons (i.e. the -b flag) are on by default.  The HP
CD-ROM drives don't allow software volume control, so the volume knobs are
all disabled.

If a track name, CD name, or artist name is too long to fit in the window,
it is split into multiple lines.  The "//" separator still works to force
line breaks.  ("//" also works on the artist and CD name as well.)

If a track-name display line is empty, that line from the previous track
will be used, similar to the way "+" and "@" work when alone on a display
line.  For instance, if track 1 is called "Shakin' and Bakin'//Sax solo"
and track 2 is called "//Full band", track 2's name will appear on two
lines, the first "Shakin' and Bakin'" and the second "Full band".

The -d flag may be used twice to tell WorkMan to omit the track/artist/cd
title lines for unknown CDs, but display them otherwise.  -d -d implies
-l 0; if that's not what you want, use -l after the second -d.

The track selector shouldn't get shoved down into the song-position slider
any more.

Fixed a bug in the "-e" option handling.  You couldn't tell the program
you'd put a CD in.

The USR2 signal now starts the CD up if it was stopped (or resumes play
when paused, as before.)  In addition, the QUIT signal now stops the CD.

The -b flag is now a toggle, making it possible to turn the buttons off on
the HP, for instance if olwm is being used.

Section numbers are displayed correctly next to the "Start" and "End"
buttons in the Goodies popup.

The comment at the top of workmandb.man now lists section 5 instead of 4.

Fixed a bug in display.c which caused a bogus single track to be displayed
after the CD was ejected.

Fixed a bug in database.c (spotted by leif@ifm.liu.se) which resulted in
the use of an uninitialized variable.

Use XV_NULL instead of NULL in display.c so the program compiles with gcc.
(Found by leif@ifm.liu.se, who was kind enough to send me a patch).

The function name in Workman.tmpl's comment was wrong.

"bitmaps/icon" is only #included once from setup.c; it used to be read
in twice.


BETA 3.1 (11/29/92)

Merged in the Ultrix port by Chris Ross, cross@eng.umd.edu.  This only
affects hardware.c.  The program now runs under Ultrix 4.2 (and possibly
other Ultrix versions as well.)

Added an Imakefile (also from Chris Ross) and gave the raw manual pages ".man"
extensions so imake's install.man target will work.  Sun users should ignore
the Imakefile; it's mostly there for Ultrix folks.

WorkMan reads the volume from the CD-ROM drive at startup and sets the volume
slider accordingly.  This only works on Ultrix; Suns don't provide a way to
query the drive for the volume.

The volume slider and "Play this CD automatically" buttons go inactive when
there's no CD in the drive.

The time display modes (elapsed vs. remaining) can be set separately for the
track and CD timers.  The Goodies popup is uglier as a result.

Added a -V flag to control the minimum volume setting.  If you're using a
third-party CD-ROM drive and the volume only goes down about halfway, run
"workman -V 0" to fix the problem.

There is now an "install.man" target to install manual pages.  There are also
corresponding options at the top of the Makefile to control where the
manpages go.

Dragging the track-position slider all the way to the right on the last
track no longer generates an error message.

The program will no longer dump core if you eject a CD then rapidly put
it back in (this only happened occasionally to begin with.)

In conjunction with the Ultrix port, moved some code (mostly dealing with
setting the volume) that was in workman_stubs.c to hardware.c.

Split off the code for the CD Info popup into a new file, ui_cdinfo.c (no
relation to cdinfo.c).


BETA 3.0 (11/15/92)

Tracks may now be split into sections at arbitrary locations.  The Goodies
popup contains three new buttons: "Split", "Delete", and "Scan for index
marks".  The Split button divides the current track (as selected from the
main window) into two sections.  Use the track position slider on the main
window to control the split point, or use the "Scan for index marks" button
to search the CD for index marks (which are most often found on high-end
classical CDs).  You may split a track while the CD is playing, useful for
marking off particular sections of a song.  Sections may be named and
selected just like tracks.

When sections are saved to the CD database, they are stored in .workmandb
in such a way as to (hopefully) be compatible with older versions of WorkMan.
The older versions will ignore the parts dealing with sections.  Nevertheless,
encouraging others who share your database to upgrade to this version is
probably a good idea; this backward-compatibility will disappear in a future
release, since it does make database entries somewhat larger.  Note that
.workmanrc entries with sections will behave oddly on older versions of
WorkMan; the assumption is that each user has a private .workmanrc, and won't
switch back to an older WorkMan after using the new one.

The track position slider may be adjusted while the CD is stopped (mostly
because it's useful when splitting tracks.)

Split cdinfo.c in half; the hardware-specific routines are now in hardware.c,
while cdinfo.c contains generic routines for handling play sequences and so on.

If a CD isn't found in the .workmanrc file, the "Auto-Play this CD" switch in
the CD Info popup is selected if the "Auto-Play unknown CDs" switch is set in
the Goodies popup.  This should eliminate the need to select CD Info's Auto-
Play button for each CD, while still giving you the ability to not autoplay
certain CDs.

More post-Guide cleanup, shortening the structure names.

The CD Info scrolling list is lined up better.  The single-digit tracks'
titles and times used to be to the left of the double-digit tracks'.


BETA 2.1 (9/25/92)

The CHANGELOG file no longer includes history information from before the
beta release.  Mail me if you really want to see that.  This should chop
one part from the source distribution, since the old history was rather
sizable.

You can now back up past the starting track in Normal and Playlist modes if
WorkMan is started up while the CD is already playing.  The program figures
out which tracks would have played already to get to the current one.  In
shuffle mode, it starts a new random-play sequence starting with the current
track (the old behavior.)  The same thing happens when you manually select
a starting track with the track selection buttons.

Cleaned up workman_stubs.c a little bit, removing more artifacts from
Guide.  No functional changes here -- mostly just removing "Don't edit
this section!" comments.

The Makefile should be somewhat more portable now; the Sun-only "+=" construct
is no longer used (and actually wasn't necessary to begin with.)

File locking is done a bit differently now.  WorkMan used to tell the system
to wait around until a lock was available.  Unfortunately, file locking is
broken on lots of OSs, so now WorkMan tries 30 times to get a lock, waiting
1 second between attempts, and gives up if it can't.  I may add a flag or
resource to restore the original method, since it's preferable if you're on
a system with working file locking.

The Solaris 2 version shouldn't leave a defunct process around any more.

The track-position display shows a negative time value during the lead-in
time of a track.

Workaround for an XView bug in the default volume slider callback function.

The install directories are now configurable easily in the Makefile.

Fixed an error in workmandb.4 that caused groff to format the last part
of the page incorrectly.

BETA 2.0 (8/31/92)

The file ANSWERS is now sent out with the distribution; it answers the
most frequently asked questions about the program and will hopefully
save me some typing.

The program is no longer built with Guide; all the Guide-generated source
code from workman_ui.c is now in setup.c.  The program now builds its windows
with relative item positioning.  This means that running with "-scale"
looks halfway decent now.  Yes, I know about Guide's "grouping" feature,
but I didn't want to have to include the Guide group library along with the
source code, or compile it into the binary, for that matter.  A side-effect
is that the source distribution is smaller, since workman.G isn't used
any more (and setup.c is shorter than workman_ui.c was.)

Tightened up the main window a little bit so it has less dead space on
the screen.

The program's version is displayed inside the About popup, instead of in
the title bar (it got cut off when running with "-scale small".)

The "Auto-play unknown CDs" setting is read from the rcfile correctly.

The "CD info has been modified" popup will no longer appear when you eject
an unknown CD about which you haven't entered any information.

The program should now compile on Solbourne machines.  Thanks to Neil K.
Nelson at Solbourne for the patch.


BETA 1.1 (8/24/92)

If you quit after ejecting, the program shouldn't give you the "CD info
has been modified" popup any more.

Fixed a typo in workman_stubs.c that might have made the "-d" option act
funny (or even dump core.)

WorkMan will refuse to eject the CD if it contains a mounted filesystem.

Added the -b flag, which puts Dismiss buttons on all the popup windows and
a Quit button on the main window.  Useful for non-olwm users.  When -b is
active, pressing the CD Info, Goodies, and other buttons will not dismiss
those windows; rather, it will bring them to the front.

WorkMan catches SIGUSR1 and SIGUSR2.  The former will pause the CD if it's
playing; the latter will play if it's paused.  In addition:

The process ID is written to /tmp/.wm_pid (or another filename, specified
with the "-p" option; use "-p /dev/null" if you don't want a pidfile.)  In
combination with the signal handling, this allows simple "mute" and "unmute"
commands.  Under csh, these might be:

alias mute kill -USR1 \`cat /tmp/.wm_pid\`
alias unmute kill -USR2 \`cat /tmp/.wm_pid\`


BETA 1.0.1 (8/18/92)

Fixed a bug that caused workman to hang when the .workmanrc file was
initialized.


BETA 1.0 (8/15/92 -- evening)

Fixed a bug that caused the program to dump core if you entered data for
a new CD.

Changed the Makefile quite a bit and finished writing the docs that go
with the source release.

Added help text for a few items that were missing it before.  All the
help text has now been manually formatted like XView requires.
