|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1992 Microsoft Corporation ! 3: */ ! 4: ! 5: /* ! 6: * definition of interface functions to the adlib midi device type. ! 7: * ! 8: * These functions are called from midi.c when the kernel driver ! 9: * has decreed that this is an adlib-compatible device. ! 10: * ! 11: * Geraint Davies, Dec 92 ! 12: */ ! 13: ! 14: ! 15: /* ! 16: * Adlib_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 Adlib_NoteOn (BYTE bPatch, ! 29: BYTE bNote, BYTE bChannel, BYTE bVelocity, ! 30: short iBend); ! 31: ! 32: ! 33: ! 34: /* Adlib_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 Adlib_NoteOff (BYTE bPatch, ! 45: BYTE bNote, BYTE bChannel); ! 46: ! 47: ! 48: /* Adlib_AllNotesOff - turn off all notes ! 49: * ! 50: * inputs - none ! 51: * returns - none ! 52: */ ! 53: VOID Adlib_AllNotesOff(void); ! 54: ! 55: ! 56: ! 57: /* Adlib_NewVolume - This should be called if a volume level ! 58: * has changed. This will adjust the levels of all the playing ! 59: * voices. ! 60: * ! 61: * inputs ! 62: * WORD wLeft - left attenuation (1.5 db units) ! 63: * WORD wRight - right attenuation (ignore if mono) ! 64: * returns ! 65: * none ! 66: */ ! 67: VOID FAR PASCAL Adlib_NewVolume (WORD wLeft, WORD wRight); ! 68: ! 69: ! 70: ! 71: /* Adlib_ChannelVolume - set the volume level for an individual channel. ! 72: * ! 73: * inputs ! 74: * BYTE bChannel - channel number to change ! 75: * WORD wAtten - attenuation in 1.5 db units ! 76: * ! 77: * returns ! 78: * none ! 79: */ ! 80: VOID FAR PASCAL Adlib_ChannelVolume(BYTE bChannel, WORD wAtten); ! 81: ! 82: ! 83: ! 84: /* Adlib_SetPan - set the left-right pan position. ! 85: * ! 86: * inputs ! 87: * BYTE bChannel - channel number to alter ! 88: * BYTE bPan - 0 for left, 127 for right or somewhere in the middle. ! 89: * ! 90: * returns - none ! 91: */ ! 92: VOID FAR PASCAL Adlib_SetPan(BYTE bChannel, BYTE bPan); ! 93: ! 94: ! 95: ! 96: /* Adlib_PitchBend - This pitch bends a channel. ! 97: * ! 98: * inputs ! 99: * BYTE bChannel - channel ! 100: * short iBend - Values from -32768 to 32767, being ! 101: * -2 to +2 half steps ! 102: * returns ! 103: * none ! 104: */ ! 105: VOID NEAR PASCAL Adlib_PitchBend (BYTE bChannel, short iBend); ! 106: ! 107: ! 108: ! 109: /* Adlib_BoardInit - initialise board and load patches as necessary. ! 110: * ! 111: * inputs - none ! 112: * returns - 0 for success or the error code ! 113: */ ! 114: WORD Adlib_BoardInit(void); ! 115: ! 116: ! 117: /* ! 118: * Adlib_BoardReset - silence the board and set all voices off. ! 119: */ ! 120: VOID Adlib_BoardReset(void); ! 121: ! 122: ! 123:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.