Contents
Version 1.4

Copyright © 1993-1994 M. M. Saggaf. All Rights Reserved.

This software is provided as shareware, and thus requires registration after a reasonable evaluation period.

Startup Summary

   Introduction

   Installation

Concepts and Use

   Albums

   Animated Icon

   Tips

Window Anatomy

Main Menu

   Album

   Song

   Options

   Help

   System Menu

   Buttons

   Mouse

   Keyboard

   Track Bar

   Digital Console

   Title Bar

Administrivia

   Registration

   License Agreement

Version Information

   Release Notes

   Revision History


Introduction

A-B-CD is a versatile CD player. It uses a database to store CD album information then automatically identifies each CD inserted in the drive and uses its information and state stored in the database. The program allows tracks on the CD to be rearranged and optionally removed (so that you don't have to listen to track that don't appeal to you).

Song tracks can be queued to play at a sequential or random order. The program saves its settings and window location on exit to uses them for the next session. It even saves the currently playing song, so you can pick up exactly where you left off when you start it again.

Song progress is shown (and can be controlled) by a moving track bar. Song order can be rearranged in any desired order by moving the song tracks around. Undesired songs can be removed from the album (this is no yet implemented). While a song is playing, it can be stopped or paused and then resumed.

A-B-CD is meant to be unobtrusive, it can run all the time as an icon. The animated icon provides a pleasant visual feedback on the play progress. Song play can be paused and resumed simply by clicking the right mouse button on the icon. The name of the current song is shown in the icon's caption, so it's always visible.

When another session of A-B-CD is invoked while the first is still running, it merely restores and raises the first one, no new session is started.

See also: Albums, Animated Icon


Installation

Unpack the distribution archive anywhere you like. The file mmsft.dll must be in the same directory the program file is in. Then move ctl3dv2.dll to Windows system directory (e.g. \windows\system) if it is not already there, or if it is newer than the copy you have there. Otherwise delete it from the program's directory.

Note: Ctl3dv2.dll must reside only in Windows system directory, hence it must be moved there or deleted from the program's directory if it is already in Windows system directory.

Windows NT and OS/2 Compatibility

This program runs well under Windows NT 3.1 and OS/2 2.1 as a Win16 application. (Latest version tested: 1.04)


Albums

A-B-CD stores album information and state (e.g. album title, track titles, current song, rearranged track order, ..etc.) in a database when the album is saved. You normally need not worry about saving albums manually, they are saved automatically on program exit and when a new album is opened (e.g. by inserting a new CD into the drive). Automatic saving can be disabled, however, via the Auto Save Album option.


Animated Icon

Since A-B-CD is meant to be unobtrusive, it is designed to be run most of the time as an icon. When minimized, the essential functions of the program can be activated via the system menu or the right mouse button (see Mouse Actions actions), and the song play progress is visually conveyed via an animated icon.

The icon conveys the song progress by a monotonically increasing background color shade. The percentage of the song that has been played is proportional of the size of the icon's background that has been shaded.


Other Tips
Tips

•	A-B-CD automatically saves its settings (and the current album if Auto Save Album is enabled) on exit. You can force the program to do that without exiting either by invoking the Save Settings Now menu command or by holding down the Shift key while invoking a menu command or a keyboard accelerator that normally closes the application (e.g. Exit or Close menu items, or the Alt+F4 accelerator). The latter, rather non-obvious, method is similar to that of the Program Manager.


Album Menu

Open

Opens and loads the album. Use this option to read the CD album if the program fails to read it automatically, or to reread the CD album if you would like to do that for any reason. Note: the album is not automatically saved with this command, even if Auto Save Album is enabled, this is to allow the user to easily recover from errors and start all over.

Save

Saves the current album to the database. When saved, track names and order will be remebered the next time the album is loaded.

Close

Closes the current album.

Delete

Removes the album from the database. The album's entry in the database is deleted, and the custom album and track titles are lost forever. Needless to say, this does not affect the actual CD in any way.

Sort

Sorts the album by the original CD track order.

Properties

Displays the album properties and allows changing some of them (e.g. album title).

Eject

Ejects the CD tray (hardware-dependent, some CD-ROM drives do not support this command).

Retract

Retracts the CD tray (hardware-dependent, some CD-ROM drives do not support this command).

Exit

Terminates the program.


Song Menu

Play

Plays the selected song from the beginning.

Stop

Stops song play. In contrast to Pause, a song that is stopped cannot be resumed, it starts playing from the beginning if Play is selected.

Pause/Resume

Pauses the currently playing song, or resumes a paused song (toggle). The current state of this toggle is indicated by a check mark.

Repeat

Continuously plays the currently playing song until toggled back. This button is useful if during playing, a particular song appeals to you and you want to listen just to it for a while. The current state of this toggle is indicated by a check mark.

Circulate

Plays the next song, or the next randomly-selected song if Random Order is checked.

Edit

Allows changing the track titles to match those of the CD. If the album is saved, the new titles are remembered the next time the album is loaded.

Add

Adds songs to the album. Songs that can be added are those that have been removed using the Remove menu option or button.

Remove

Removes the selected song from the album, Plays the next song if the selected song is the one currently playing. If no songs are left in the album, playing is stopped.

Move Up/Down

Moves the selected song one position up (or down) the list in the album. Note: Holding down the Shift key while selecting this command moves the song all the way up (or down) the list, i.e. makes that song the first (or last) song in the queue.

Highlight Current

Moves the selection highlight to the active (playing or paused) song. If you have selected another song, this command is useful to quickly return you to the active song.


Options Menu

The status of every options is saved on exit and used in the next session, so there is no need to adjust it on every program invocation. The current state of each option is indicated by a check mark.

Continuous Loop

Continuous play. Loops to the first song when the last one in the queue finishes playing.

Random Order

Plays songs in random rather than sequential order. This also effectively yields continuous play.

Auto Play

Starts playing songs automatically when an album is loaded. Otherwise song play has to be started manually after loading an album.

Auto Save Album

Saves the current album on program exit or when another album is opened (e.g. by loading a different CD).

Stop Play on Exit

Stops song play on program exit. Otherwise the CD continues to play after the program terminates.

Ignore 1-Track CDs

Does not load single-track CDs, which are usually data CDs (i.e. contain files rather than audio sound). This is useful to keep that database clean, since it prevents the program from loading these CDs and saving them to the database (if Auto Save Album is enabled) if they are inserted in the drive while the program is active.

Mini-Help

If enabled, a short message describing the highlighted menu item or the selected button is shown in the title bar while that menu item is highlighted or the button is pressed. Hence, all buttons and menu items are self-explanatory. This option may be turned off once the user masters the functions of the various menus and buttons.

Set Font

Sets the font of the album queue list. A dialog appears from which a font can be selected.

Save Settings on Exit

Saves program settings (as well as the current album if Auto Save Album is enabled) on exit. It is highly recommended that you leave this option enabled all the time.

Save Settings Now

This is not option, it is a command. It saves program settings (as well as the current album if Auto Save Album is enabled) when invoked. You normally do not need to invoke this menu command if Save Settings on Exit is enabled.


Help Menu
Self-explanatory.


System Menu

Play

Equivalent to Play in the Song menu.

Pause/Resume

Equivalent to Pause/Resume in the Song menu. The current state of this toggle is indicated by a check mark.

Eject/Retract

Equivalent to the Eject/Retract button.

Repeat

Equivalent to Repeat in the Song menu. The current state of this toggle is indicated by a check mark.

Circulate

Equivalent to Circulate in the Song menu.


Buttons

The program uses smart buttons. A short message describing the selected button is shown in the title bar while the button is pressed.

 Play

Equivalent to Play in the Song menu.

 Pause/Resume

Equivalent to Pause/Resume in the Song menu.

 Stop

Equivalent to Stop in the Song menu.

 Eject/Retract

Ejects or retracts the CD tray, depending on its state (hardware-dependent, some CD-ROM drives do not support this command). See Eject and Rerract menu options.

 Circulate

Equivalent to Circulate in the Song menu.

 Repeat

Equivalent to Repeat in the Song menu.

 Edit

Equivalent to Edit in the Song menu.

 Add

Equivalent to Add in the Song menu.

 Remove

Equivalent to Remove in the Song menu.

 Current

Equivalent to Highlight Current in the Song menu.

 Up/Down

Equivalent to Up/Down in the Song menu.


Mouse Actions

Left Button

Clicking the left mouse button on any song in the album selects it. While a song is selected, song commands (e.g. Play, Edit, and Remove) apply to it. A song may be selected even though another song is playing. Merely clicking the left button only selects the song, it does not play it. Double-clicking the left mouse button on a song selects the song and starts playing that song from its beginning.

Right Button

Clicking the right mouse button on the programs icon or window surface (not on the buttons or the list box) is equivalent to selecting Pause/Resume from the Song menu. Holding down the Shift key while doing that is equivalent to selecting Repeat. Clicking the right button on any song in the list box selects that song and pops up a menu that has a subset of the commands in the Song Menu. You can return to the song currently playing by choosing Highlight Current from the menu or pressing Control+H.


Keyboard Actions

Tab

Switches between window groups and group members.

Arrow Keys

Switches between group members. For example, when in the queue list box group, switches between songs; when in the Play button group, switches between the member buttons (Play, Pause/Resume, Stop, and Eject).

Accelerators

There are also keyboard accelerators for the more frequently-used menu commands (e.g. F1 for Help Contents, ..etc.). These are shown on their corresponding menu items. Moreover, when the album list box has the focus (you change the focus to it either by clicking anywhere inside it, or by pressing Tab a few times to switch to it), the selection highlight can be moved quickly to any song by pressing the first digit in its track number. Pressing more than once moves the selection highlight to the next song whose track number begins with that digit.

Keyboard Modifiers

Some mouse actions, keyboard accelerators, and menu commands perform different functions depending on the state of the Control or Shift keys. These are mentioned in the appropriate section for each. Here is a sample:

Action	Modifier	New Effect
Up/Down	Shift	Moves the song all the way up (or down) the queue, instead of just one position
Right Mouse Button	Shift	Equivalent to selecting Repeat
Exit, Close	Shift	Equivalent to selecting Save Settings Now
Alt+F4	Shift	Equivalent to selecting Save Settings Now


Track Bar

The track bar shows the current position in the song being played. This position can be changed by dragging the slider of the track bar. While dragging the slider, the destination position is shown (in seconds) in the digital console. The song can also be advanced or receded 1% by the end arrows, or 10% by clicking in the area between them. The keyboard can also be used.

Moving the slider in any fashion automatically resumes playing a paused or stopped song.


Digital Console

The digital console displays important information about the song play progress, album characteristics, and selected options.

The LCD digits display the following, respectively:

•	Current time position in the song.

•	Length of the song in minutes.

•	Track number of the song.

•	Total number of tracks in the album.

The buttom row indicates whether the following is true, respectively:

•	Song is playing.

•	Song is paused.

•	Repeat is active.

•	Continuous Loop is active.

•	Random Order is active.


Title Bar

A short message describing the highlighted menu item or the selected button is shown in the title bar while that menu item is highlighted or the button is pressed. Hence, all buttons and menu items are self-explanatory. This behavior can be turned off using Mini-Help from the Options menu.

Moreover, during time-consuming operations (e.g. loading or saving an album, loading a song, ..etc.), a brief message describing the current task being performed is displayed in the title bar.


Release Notes
Please refer to the Installation section in this help file.


Registration

This software is provided as shareware. If you use this program on a regular basis (say for more than two weeks), you are requested to register it. The registration fee is not much, about what you would pay for a decent meal in a respectable restaurant (no, McDonald's does not qualify :-). Basically, the registration fee is:

•	$10 for this program alone, or

•	$15 for both this program and The Juker

You can use whatever method of payment you like. Inside the US, probably the easiest way for you is via a personal check or money order. Outside the US, you can just send cash. Wrap the cash in a piece of paper or use a thick envelope, so that it won't be stolen. You don't have to use US dollars, use whatever its equivalent of your currency -- I might just keep it as a collectable.

Make the registration fee payable to M. Saggaf, and send it to this address:

M. Saggaf
262 Sidney St. Apt. #3
Cambridge, MA 02139
U.S.A.

email: alsaggaf@mit.edu

If you access to ftp, The latest version of the program should be available by ftp at ftp.cica.indiana.edu.


OtherProg
Super multimedia jukebox (MIDI/WAV/AVI/etc.) for Windows. Uses an interface similar to this program. Should be available at the same site you got this program from.


Shareware
Shareware distribution gives users a chance to try software before buying it. If you try a  Shareware program and continue using it, you are expected to register. Individual programs differ on details -- some request registration while others require it, some specify a maximum trial period. With registration, you get anything from the simple right to continue using the software to an updated program with printed manual.

Copyright laws apply to both Shareware and commercial software, and the copyright holder retains all rights, with a few specific exceptions as stated below. Shareware authors are accomplished programmers, just like commercial authors, and the programs are of comparable quality. (In both cases, there are good programs and bad ones!) The main difference is in the method of distribution. The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group. For example, some authors require written permission before a commercial disk vendor may copy their Shareware.

Shareware is a distribution method, not a type of software. You should find software that suits your needs and pocketbook, whether it's commercial or Shareware. The Shareware system makes fitting your needs easier, because you can try before you buy, and because the overhead is low, prices are low also.  Shareware has the ultimate money-back guarantee -- if you don't use the product, you don't pay for it.


License Agreement

This software is provided as shareware. You are encouraged to use this program on an evaluation basis and pass it along to friends and upload it to bulletin board systems. This program may not, however,  be disassembled, decomposed, reverse engineered, or altered in any way, nor any of the other files in the package. This includes, but is not limited to, modifying any icons, menus, or displays associated with the software.

This software may not be sold. This restriction, however, does not apply to connect time charges, download fees, or reproduction charges. This software may not be bundled with any commercial package without the explicit written permission of the author.

The author of this program disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the author be liable for any special, indirect, or consequential damages or any damages whatsoever resulting from loss of use, data, or profits, whether in an action of contract, negligence, or other tortuous action, arising out of or in connection with the use or performance of this software.


Revision History

Version 1.4

•	Added new menu item: Close Album

•	Fixed memory management of user interface objects. They are no longer deleted twice.

•	Reorganized the song information display procedures.

•	The timer message handler now handles re-entrance properly.

•	Now uses ctl3dv2.dll instead of ctl3d.dll. Much better and setup hassles.

•	Main window is now inactive (disabled) during lengthy operations like saving and loading an album.

•	Now uses owner-draw list boxes to place song display fields correctly, regardless of the font used. Track length, for example, is now alsways flush right.

•	Added small bitmap in the queue list.

•	Now uses Shift as well as Control as keyboard modifiers. Eventually, use of Control will be phased out.

•	Fixed a bug that caused the resume to start at the wrong location if the CD was accessed by another process while it was loaded by the program.

•	Enhanced the look of the Edit Track and Album Properties dialogs.

•	Now if a data CD is in the drive, only one warning is given when an attempt to play it is made.

•	Now no warring is given for data CDs if Auto-Play is disabled.

•	No message about Delete Album is given if no album is loaded.

•	Added Play to the system menu. Useful when Auto-Play is disabled.

•	Track length is now flush right in the queue display.

•	Increased the allowable song name to a maximum of 40.

•	Added Ignore 1-Track CDs. Useful to ignore data CDs and load and save them. Keeps the album database clean.

•	Improved the application icon.

•	Fixed a bug that would crash the application when an album name is given in the Album Properties dialog box but no album loaded.

Version 1.2

•	Fixed a bug that would cause the wrong song to be edited if circulation has happened while the song is being edited.

•	Now focus is given to the edit field in the song edit dialog box even if the mouse is used on the Prev/Next buttons.

•	New menu item: Delete album, to remove the album from the database.

•	Open Album now reloads the album if it is already open.

•	Added a new option: Stop Play on Exit. Controls whether to stop playing the CD on program exit or continue playing even after the program terminates.

•	Added Eject/Load to system menu

•	Now the Add and Remove in the Song menu are enabled. You can now add and remove tracks from the CD at will.

•	Fixed a bug that would cause the slider in the track bar to move erroneously when it is repositioned.

•	Fixed a bug that would cause the program to circulate to the first song if it fails to play any song in the queue.

•	Holding down Shift while choosing Move Up/Down now moves the song all the way up (or down) the queue.

Version 1.04

•	Initial public release.