Well, if this isn't a self explanatory routine I don't know what is!  
SOUND.CH includes some helpful header file declares, and SOUND.PRG contains
the (incredibly short!) sound driver and a very brief demonstration.

Basically, the Sound() function takes an array as a parameter.  Each
element of this passed array is actually a two-element array itself, the
first element being the pitch, and the second element being the duration
(in 1/18 seconds).

A three note call to sound would look like this:

Sound({ {110, 8}, {220, 8}, {440, 8} })

Which would roughly sound three octaves of A's for one-half second each.

I've included a sample two note error sound in the header file, Sound(ERROR) 
and I encourage you to add to SOUND.CH with your own sound constants (and to
upload those changes here to Nanforum).

Also in SOUND.CH I've included some note definitions from page 5-218 of
the original Clipper 5.0 manual.  I've formatted the notes using the 
following format:

        NOTE_<Note Letter><SN><Octave>

So an 2nd Octave C# would be written NOTE_CS2 (NOTE_CN2 would be a natural).
See the header file for more information.  

Ŀ
       Kelly M. Stanonik                       Profit Concepts, Inc.        
       4469 Ventura Canyon Ave #E107         CompuServe: 70672,610          
       Sherman Oaks, CA 91423                  Internet: kms@well.sf.ca.us  
                                                     or  kms@world.std.com  
                                                Plodigy: cgpd47a            

Have fun, and be careful out there.
