[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MIDISynth tool programming questions



William Hall asks:
>1. In order to use a MIDI driver, it must be loaded into memory (by me).  By
>  looking through the synthLab code, I found that this must be done by a 
>  system loader call.  Where can I find the documentation for the system
>  loader?  (Possibly GS/OS Ref?)

Yes... the GS/OS maunal covers the System Loader as well.

>3. According to the SetTempo call, the tempo range is 10-265 BPM with the
>  parameter to the call ranging from 0 to 255 (BPM-10).  So how come synthLAB
>  takes the tempo value stored in a song file, subtracts 5, and then multiplies
>  the result by 2?

A guess... is the valuie stored in the file pre-scaled to 0..127 (i.e. a byte
with the msb clear?  That would explain the range offset calculation you're
seeing.  If the value is stored in a byte, and byte-wide math is applied, the
full range would be signed as -128..127, so storing it in a half-value form
would work.  This does create a small problem storing an "odd" temp value.

Marc Wolfgram
AOL: M Wolfgram   GEnie: M.WOLFGRAM2   inet: marc@cxr_rs6000.med.ge.com
There are two ways to write bug-free code and only the third one works!