Annotation of ntddk/src/mmedia/synth/dll/opl3.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1992 Microsoft Corporation
                      3:  */
                      4: 
                      5: /*
                      6:  * declaration of interface functions to the OPL3 midi device type.
                      7:  *
                      8:  * These functions are called from midi.c when the kernel driver
                      9:  * has decreed that this is an opl3-compatible device.
                     10:  *
                     11:  * Geraint Davies, Dec 92
                     12:  */
                     13: 
                     14: 
                     15: /*
                     16:  * Opl3_NoteOn - This turns a note on. (Including drums, with
                     17:  *     a patch # of the drum Note + 128)
                     18:  *
                     19:  * inputs
                     20:  *      BYTE    bPatch - MIDI patch number
                     21:  *     BYTE    bNote - MIDI note number
                     22:  *      BYTE    bChannel - MIDI channel #
                     23:  *     BYTE    bVelocity - Velocity #
                     24:  *     short   iBend - current pitch bend from -32768, to 32767
                     25:  * returns
                     26:  *     none
                     27:  */
                     28: VOID NEAR PASCAL Opl3_NoteOn (BYTE bPatch,
                     29:        BYTE bNote, BYTE bChannel, BYTE bVelocity,
                     30:        short iBend);
                     31: 
                     32: 
                     33: 
                     34: /* Opl3_NoteOff - This turns a note off. (Including drums,
                     35:  *     with a patch # of the drum note + 128)
                     36:  *
                     37:  * inputs
                     38:  *     BYTE    bPatch - MIDI patch #
                     39:  *     BYTE    bNote - MIDI note number
                     40:  *     BYTE    bChannel - MIDI channel #
                     41:  * returns
                     42:  *     none
                     43:  */
                     44: VOID FAR PASCAL Opl3_NoteOff (BYTE bPatch,
                     45:        BYTE bNote, BYTE bChannel);
                     46: 
                     47: /* Opl3_AllNotesOff - turn off all notes
                     48:  *
                     49:  * inputs - none
                     50:  * returns - none
                     51:  */
                     52: VOID Opl3_AllNotesOff(void);
                     53: 
                     54: 
                     55: /* Opl3_NewVolume - This should be called if a volume level
                     56:  *     has changed. This will adjust the levels of all the playing
                     57:  *     voices.
                     58:  *
                     59:  * inputs
                     60:  *     WORD    wLeft   - left attenuation (1.5 db units)
                     61:  *     WORD    wRight  - right attenuation (ignore if mono)
                     62:  * returns
                     63:  *     none
                     64:  */
                     65: VOID FAR PASCAL Opl3_NewVolume (WORD wLeft, WORD wRight);
                     66: 
                     67: 
                     68: 
                     69: /* Opl3_ChannelVolume - set the volume level for an individual channel.
                     70:  *
                     71:  * inputs
                     72:  *     BYTE    bChannel - channel number to change
                     73:  *     WORD    wAtten  - attenuation in 1.5 db units
                     74:  *
                     75:  * returns
                     76:  *     none
                     77:  */
                     78: VOID FAR PASCAL Opl3_ChannelVolume(BYTE bChannel, WORD wAtten);
                     79:        
                     80: 
                     81: 
                     82: /* Opl3_SetPan - set the left-right pan position.
                     83:  *
                     84:  * inputs
                     85:  *      BYTE    bChannel  - channel number to alter
                     86:  *     BYTE    bPan   - 0 for left, 127 for right or somewhere in the middle.
                     87:  *
                     88:  * returns - none
                     89:  */
                     90: VOID FAR PASCAL Opl3_SetPan(BYTE bChannel, BYTE bPan);
                     91: 
                     92: 
                     93: 
                     94: /* Opl3_PitchBend - This pitch bends a channel.
                     95:  *
                     96:  * inputs
                     97:  *     BYTE    bChannel - channel
                     98:  *     short   iBend - Values from -32768 to 32767, being
                     99:  *                     -2 to +2 half steps
                    100:  * returns
                    101:  *     none
                    102:  */
                    103: VOID NEAR PASCAL Opl3_PitchBend (BYTE bChannel, short iBend);
                    104: 
                    105: 
                    106: 
                    107: /* Opl3_BoardInit - initialise board and load patches as necessary.
                    108:  *
                    109:  * inputs - none
                    110:  * returns - 0 for success or the error code
                    111:  */
                    112: WORD Opl3_BoardInit(void);
                    113: 
                    114: 
                    115: /*
                    116:  * Opl3_BoardReset - silence the board and set all voices off.
                    117:  */
                    118: VOID Opl3_BoardReset(void);
                    119: 
                    120: 
                    121: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.