

                  BocaSoft System Sounds Version 1.0

                         BocaSoft Incorporated
                         117 NW 43rd St.
                         Boca Raton, FL 33431


INTRODUCTION
------------

BocaSoft System Sounds allows you to attach audio to over 40 system
events and any keyboard key.  Over 100 sound effects in .WAV format are
included with the software.  In addition a recording capability is provided
that allows you to record your own sound files in a variety of formats. 

The software has been tested under OS/2 2.0 with MMPM/2 1.0 in addition
to OS/2 2.1 with MMPM/2 1.1.  All currently supported audio cards have
been tested including the IBM M-AUDIO, Sound Blaster and Media Vision 
Pro-Audio Spectrum.  As more cards provide support for the MMPM/2
interface, BocaSoft System Sounds will automatically support them. 

DEBUGGING PROBLEMS
------------------

BocaSoft System Sounds uses the MMPM/2 subsystem to generate audio. When 
attempting to debug problems with System Sounds the user should FIRST 
determine if they are capable of playing digital audio from the MMPM/2 
media player. If MMPM/2 can successfully play audio this assures a working
hardware/software subsystem for System Sounds.

NOTES
-----

1.  Some audio cards may clip off the end of an audio file.  For example
    using the Sound Blaster Pro with the recorded keystrokes may cause
    the keystroke recording to be cut off.

2.  Using audio with WinOS/2 may cause a conflict between System Sounds
    and WinOS/2 for the audio card.  A small DOS program has been provided
    which can be used in a DOS autoexec.bat to make System Sounds open
    and close the device.  The file is located in the sstoolkt directory
    and is called "SSNDDOS.COM".  Please see the readme file in that
    directory for more information. 

3.  BocaSoft System Sounds creates a named pipe which can be accessed
    from any OS/2, DOS, or WinOS/2 session.  The pipe is called
    "\pipe\bs_ssnd".  Any program may write an index to this pipe which 
    in turn will play the associated sound.  Index values for system 
    events are 0 - 49 in order of the list box.  5 user events 45 - 49 
    are provided specifically for use with the named pipe.  Index values 
    for keys are displayed in the key setup dialog.  Please see sstoolkt 
    and sstoolkt\sspipe for more information. 

4.  The named pipe interface can be used to instruct System Sounds to
    close the audio device.  An index value of -3 opens the audio device
    and a value of -2 closes the device.

5.  An error "Device Not Ready" can be caused by multiple conflicting
    audio requests.  This error should be ignored.  If the error persists
    try reducing the amount of active system events. 

6.  Record mode disables all sounds while the record dialog is on
    the screen.  Dismissing this dialog will return the application
    to normal operation. 

7.  Overlapping events may not be heard.  Some system activity may 
    generate multiple window messages.  System Sounds will play the 
    first message received and ignore other messages while this sound
    is playing.  The effect also holds true for keystrokes.  A faster
    typist will be able to overrun the application and drop key sounds.

8.  All event and key sounds files are loaded into swappable memory
    for faster response.  Disabling an event will remove the associated
    audio file and free memory.  Disabling the keys will remove ALL of
    key sounds and free their memory.  If the same audio file is used
    for multiple events only one copy of the audio data is maintained
    in memory.  In light of this, users with low memory machines can
    tune memory usage by using the same audio file for multiple events.
    Users may also force files to be accessed from disk only by setting
    the appropriate file size limit in the Memory File Size Limit field
    of the System Sounds Setup dialog 

9.  Some keys such as F1 are difficult to enter into the Key Setup
    Dialog.  These keys are best entered using the scan code directly.
    For example the F1 scan code is 59.  See below for a list of scan
    codes.

10. Support for all BocaSoft products is available through Compuserve.
    Enter GO BOCASOFT at any ! prompt to access the BocaSoft section
    of the OS/2 Vendor Forum.

KEYBOARD SCAN CODES:


Wave File	Description		On/Off		        Scan Code
---------       -----------             ------                  ---------

"ESCAPE.WAV",	"Escape",		"1",	/* ESCAPE 	1 */
"1.WAV",	"One",			"1",	/* ONE		2 */
"2.WAV",	"Two",			"1",	/* TWO 		3 */
"3.WAV",	"Three",		"1",	/* THREE 	4 */
"4.WAV",	"Four",			"1",	/* FOUR 	5 */
"5.WAV",	"Five",			"1",	/* FIVE 	6 */
"6.WAV",	"Six",			"1",	/* SIX 		7 */
"7.WAV",	"Seven",		"1",	/* SEVEN	8 */
"8.WAV",	"Eight",		"1",	/* EIGHT	9 */
"9.WAV",	"Nine",			"1",	/* NINE		10 */
"0.WAV",	"Zero",			"1",	/* ZERO		11 */
"HYPHEN.WAV",	"Hyphen",		"1",	/* -		12 */
"EQUAL.WAV",	"Equal",		"1",	/* =		13 */
"BACKSP.WAV",	"Back Space",		"1",	/* BACKSPACE	14 */
"TAB.WAV",	"Tab",			"1",	/* TAB		15 */
"Q.WAV",	"Q",			"1",	/* Q		16 */
"W.WAV",	"W",			"1",	/* W		17 */
"E.WAV",	"E",			"1",	/* E		18 */
"R.WAV",	"R",			"1",	/* R		19 */
"T.WAV",	"T",			"1",	/* T		20 */
"Y.WAV",	"Y",			"1",	/* Y		21 */
"U.WAV",	"U",			"1",	/* U		22 */
"I.WAV",	"I",			"1",	/* I		23 */
"O.WAV",	"O",			"1",	/* O		24 */
"P.WAV",	"P",			"1",	/* P		25 */
"LEFTBRK.WAV",	"Left Bracket",		"1",	/* [		26 */
"RIGHTBRK.WAV",	"Right Bracket",	"1",	/* ]		27 */
"ENTER.WAV",	"Enter",		"1",	/* ENTER	28 */
"CONTROL.WAV",	"Left Control",		"0",	/* Left CTL	29 */
"A.WAV",	"A",			"1",	/* A		30 */
"S.WAV",	"S",			"1",	/* S		31 */
"D.WAV",	"D",			"1",	/* D		32 */
"F.WAV",	"F",			"1",	/* F		33 */
"G.WAV",	"G",			"1",	/* G		34 */
"H.WAV",	"H",			"1",	/* H		35 */
"J.WAV",	"J",			"1",	/* J		36 */
"K.WAV",	"K",			"1",	/* K		37 */
"L.WAV",	"L",			"1",	/* L		38 */
"SEMICOL.WAV",	"Semicolon",		"1",	/* ;		39 */
"APOSTRO.WAV",	"Apostrophe",		"1",	/* Apostraphe	40 */
"GRAV.WAV",	"Grave",		"1",	/* ` 		41 */ 
"SHIFT.WAV",	"Left Shift",		"0",	/* Shift Left	42 */
"BACKSL.WAV",	"Back Slash",		"1",	/* \ 		43 */
"Z.WAV",	"Z",			"1",	/* Z 		44 */
"X.WAV",	"X",			"1",	/* X 		45 */
"C.WAV",	"C",			"1",	/* C 		46 */
"V.WAV",	"V",			"1",	/* V 		47 */
"B.WAV",	"B",			"1",	/* B 		48 */
"N.WAV",	"N",			"1",	/* N 		49 */
"M.WAV",	"M",			"1",	/* M 		50 */
"COMMA.WAV",	"Comma",		"1",	/* , 		51 */
"PERIOD.WAV",	"Period",		"1",	/* . 		52 */
"SLASH.WAV",	"Foward Slash",		"1",	/* / 		53 */
"SHIFT.WAV",	"Right Shift",		"0",	/* Shift Right	54 */
"ASTERSK.WAV",	"Key Pad Astrck",	"0",	/* * 		55 */
"ALT.WAV",	"Left Alt",		"0",	/* Alt Left	56 */
"SPACE.WAV",	"Space Bar",		"1",	/* Space Bar	57 */
"CAPSLCK.WAV",	"Caps Lock",		"1",	/* Caps Lock 	58 */
"F1.WAV",	"Function Key 1",	"0",	/* F1 		59 */
"F2.WAV",	"Function Key 2",	"0",	/* F2 		60 */
"F3.WAV",	"Function Key 3",	"0",	/* F3 		61 */
"F4.WAV",	"Function Key 4",	"0",	/* F4 		62 */
"F5.WAV",	"Function Key 5",	"0",	/* F5 		63 */
"F6.WAV",	"Function Key 6",	"0",	/* F6 		64 */
"F7.WAV",	"Function Key 7",	"0",	/* F7 		65 */
"F8.WAV",	"Function Key 8",	"0",	/* F8 		66 */
"F9.WAV",	"Function Key 9",	"0",	/* F9  		67 */
"F10.WAV",	"Function Key 10",	"0",	/* F10 		68 */
"NUMLCK.WAV",	"Num Lock",		"1",	/* Num Lock	69 */
"SCROLLCK.WAV",	"Scroll Lock",		"1",	/* Scroll Lock 	70 */
"KEYP7.WAV",	"Key Pad Seven",	"0",	/* Key Pad 7	71 */
"KEYP8.WAV",	"Key Pad Eight",	"0",	/* Key Pad 8	72 */
"KEYP9.WAV",	"Key Pad Nine",		"0",	/* Key Pad 9	73 */
"KEYP-.WAV",	"Key Pad Minus",	"0",	/* Key Pad -	74 */
"KEYP4.WAV",	"Key Pad Four",		"0",	/* Key Pad 4	75 */
"KEYP5.WAV",	"Key Pad Five",		"0",	/* Key Pad 5	76 */
"KEYP6.WAV",	"Key Pad Six",		"0",	/* Key Pad 6	77 */
"KEYP+.WAV",	"Key Pad Plus",		"0",	/* Key Pad +	78 */
"KEYP1.WAV",	"Key Pad One",		"0",	/* Key Pad 1	79 */
"KEYP2.WAV",	"Key Pad Two",		"0",	/* Key Pad 2	80 */
"KEYP3.WAV",	"Key Pad Three",	"0",	/* Key Pad 3	81 */
"KEYP0.WAV",	"Key Pad Zero",		"0",	/* Key Pad 0	82 */
"KEYPDOT.WAV",	"Key Pad Decimal",	"0",	/* Key Pad . 	83 */
"SYSREQ.WAV",	"SysRq",		"0",	/* System Req. 	84 */
"NULL.WAV",	"NULL",			"0",	/* 		85 */
"NULL.WAV",	"NULL",			"0",	/* 		86 */
"F11.WAV",	"Function Key 11",	"0",	/* F11 		87 */
"F12.WAV",	"Function Key 12",	"0",	/* F12 		88 */
"NULL.WAV",	"NULL",			"0",	/* 		89 */
"KEYPENT.WAV",	"Key Pad Enter",	"0",	/* Key Pad Ent.	90 */
"CONTROL.WAV",	"Right Control",	"0",	/* Right Ctl	91 */
"KEYPFSL.WAV",	"Key Pad B Slash",	"0",	/* Key Pad /	92 */
"PRINTSCR.WAV",	"Print Screen",		"1",	/* Print Screen	93 */
"ALT.WAV",	"Right Alt",		"0",	/* Alt Right	94 */
"PAUSE.WAV",	"Pause",		"1",	/* Pause	95 */
"HOME.WAV",	"Home",			"1",	/* Home		96 */
"UP.WAV",	"Up Arrow",		"1",	/* Up Arrow 	97 */
"PGUP.WAV",	"Page Up",		"1",	/* Page Up	98 */
"LEFT.WAV",	"Left Arrow",		"1",	/* Left Arrow 	99 */
"RIGHT.WAV",	"Right Arrow",		"1",	/* Right Arrow 	100 */
"END.WAV",	"End",			"1",	/* End 		101 */
"DOWN.WAV",	"Down Arrow",		"1",	/* Down Arrow	102 */
"PGDOWN.WAV",	"Page Down",		"1",	/* Page Down	103 */
"INSERT.WAV",	"Insert",		"1",	/* Insert	104 */
"DELETE.WAV",	"Delete",		"1",	/* Delete 	105 */
