Notes on Do_MCI.C

I thought it might be useful to have a little sample of just how simple 
programming multimedia devices on OS/2 can be. The enclosed program 
allows you to manipulate the sound card in a very simple fashion.

MMOS2 provides a number of API's to the multimedia devices.  By far, 
the simplest of these is the string interface.  This interface is 
documented in the 'Multimedia With REXX' .INF that gets installed 
when you install MMOS2.  Unfortunately, REXX seems to be terribly 
slow at this business.  It turns out that the string interface isn't 
nearly so slow when invoked from C.  Problem is, you need to have the 
MMOS2 SDK to use it ... or do you.

Actually, there's not much magic in the SDK.  The real biggie is that 
you need libraries to link against.  That turns out not to be much of 
a problem.  For this sample,  just run IMPLIB against MDM.DLL in your 
MMOS2 directory to create a library.  The interface is fully documented 
in 'The OS/2 Online Book Collection', but if you don't have that, this 
example program will set you on your way to being able to do a lot of 
multimedia stuff with very little problem.

I compiled the program with Borland's C++.  If you have the C Set/2 you 
may already have the libraries, I don't know.  The relevant thing is 
that playing MIDI's, WAV's or AVI's is pretty trivial through this 
interface.

The enclosed program simply reads MCI command strings and passes them 
to MMOS2 through the mciSendString interface.  If there's a problem, 
the error code is converted to a string through the mciGetErrorString 
call.  Other than those two calls, the entire program is about reading 
the text file and echoing it to the screen.  Not at all tough.

The file 'Sample.MCI' is a little example of how one of these scripts
might look.

Enjoy.

P.S.: Comments, questions, nasty remarks - the best place to contact me 
is on Norloff's board or IBM's NSC BBS.  Fairly often I check YCCMR.  I 
check into other boards a lot more infrequently.

John McDonough
