RandySnd ======== This program allows you to define a set of sound files for each Windows system sound. RandySnd will then select, at random, for each of the system sounds, one of the files to play for that sound. The randomizing process takes place whenever RandySnd is run "minimized" or on demand by pressing the "Randomize Now!" button. You can enable/disable randomizing on a sound-by-sound basis. Note that NO sounds are randomized by default. Your sounds can also be randomized periodically if you enter a non-zero value into the 'Dynamic randomizing period' field. If this value is zero, randomizing will take place only when RandySnd starts. Defining the set of sound files to be used by each system sound can be done either by choosing each file using a (boring) standard file open dialog, or via (thrilling) drag/drop from file manager. The latter mechanism is by far the easiest when first setting up. RandySnd doesn't prevent you from placing non-sound files in its list, so be a bit careful. (You normally only want to consider .WAV files.) I don't know quite what happens when the system attempts to play an .exe file...!? If you specify that the application should be run minimized (cf: the checkbox in the program manager's Properties box) then a small dialog will be displayed that informs you that your system sounds are being twiddled. This vanishes of its own accord after about 5 seconds. If you find this dialog irritates you, it can be disabled by unchecking the 'Show Startup Dialog' checkbox. So, I suggest you have two icons in Program Manager to control RandySnd. One in the StartUp group, with the minimize button checked; the other in a utilities group that isn't run minimized. Have fun! Acknowledgements: The authors of the snd.cpl Control Panel Applet, for the icon upon which I based the icon in RandySnd. (My version has chords next to the ear instead of single notes... trying to give the impression of lots of sounds in one...) Members of cix' windows conference, for the concept of a Windows system sound randomizer. Carl Pettypiece (pettypi@gaul.csd.uwo.ca) for valuable constructive criticism of v1.00. His comments provided the inspiration for v1.01. ----- RandySnd is (C) 1992 Anthony McCarthy Feel free to use and abuse this program to your own ends. However, it is provided FREE, AS-IS and with absolutely NO WARRANTY whatsoever. Use it at your own risk. The above statement is especially appropriate as this is my very first program built using MSC++ 7 and Microsoft's Foundation Classes. As yet I haven't really got my head around how to play with precompiled headers. Also, I ain't yet played with the diagnostic services provided by MFC and so there may well be memory leaks that I haven't seen yet. Please forgive the proliferation of literal integers and strings in the code - this code was a quick hack - they should all really be symbolic at least. Also, I haven't yet developed/decided on a personal coding style for C++ so things might feel inconsistent. If you really like this program, a donation of a few pounds, dollars, roubles, francs or whatever would be appreciated, to: Anthony McCarthy, 14 Beryl Road, Bedminster, Bristol, BS3 3DH, UK (No written receipts will be supplied, but I will acknowledge receipt via e-mail.) Having said there's no warranty, please report any bugs, enhancement requests or source code criticisms to (in order of preference): amc@beryl.demon.co.uk amccarthy@cix.compulink.co.uk 100012.3712@compuserve.com CAVEAT: if you're trying to recompile this source with the same release of MSC 7.0, as I'm using, the compile will fail. Microsoft failed to include the AfxSig_vh enum in afxmsg.h although it is referenced in the ON_WM_DROPFILES() macro in the same file! To work around this, I simply changed 'AfxSig_vh' to 'AfxSig_vw' in my copy of afxmsg.h. Change History ~~~~~~~~~~~~~~ v1.01 : AMcC : 22Aug92 : Added option to enable/disable the startup dialog that appears briefly when RandySnd is run minimized. Added a facility to request that randomization takes place automatically every n seconds. Bug fix: the sound files list box is now correctly filled when the configuration dialog is initially loaded. v1.00 : AMcC : 10Jun92 : initial creation Revision id: $Id: readme.txt 1.3 92/08/22 15:36:29 AMc Exp Locker: AMc $