|
|
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.