Deleted Added
full compact
1#-
2# (c) 2003 Mathew Kanner
2# Copyright (c) 2003 Mathew Kanner
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: 1. Redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer. 2.
8# Redistributions in binary form must reproduce the above copyright notice,
9# this list of conditions and the following disclaimer in the documentation
10# and/or other materials provided with the distribution.
6# modification, are permitted provided that the following conditions
7# are met:
8# 1. Redistributions of source code must retain the above copyright
9# notice, this list of conditions and the following disclaimer.
10# 2. Redistributions in binary form must reproduce the above copyright
11# notice, this list of conditions and the following disclaimer in the
12# documentation and/or other materials provided with the distribution.
13#
12# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
13# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
14# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
15# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
16# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
18# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
19# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
14# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24# SUCH DAMAGE.
25#
24# $FreeBSD: head/sys/dev/sound/midi/synth_if.m 158979 2006-05-27 16:32:05Z netchild $
26# $FreeBSD: head/sys/dev/sound/midi/synth_if.m 166322 2007-01-28 20:38:07Z joel $
27#
28
29INTERFACE synth;
30
31#include <sys/systm.h>
32
33CODE {
34
35synth_killnote_t nokillnote;
36synth_startnote_t nostartnote;
37synth_setinstr_t nosetinstr;
38synth_hwcontrol_t nohwcontrol;
39synth_aftertouch_t noaftertouch;
40synth_panning_t nopanning;
41synth_controller_t nocontroller;
42synth_volumemethod_t novolumemethod;
43synth_bender_t nobender;
44synth_setupvoice_t nosetupvoice;
45synth_sendsysex_t nosendsysex;
46synth_allocvoice_t noallocvoice;
47synth_writeraw_t nowriteraw;
48synth_reset_t noreset;
49synth_shortname_t noshortname;
50synth_open_t noopen;
51synth_close_t noclose;
52synth_query_t noquery;
53synth_insync_t noinsync;
54synth_alloc_t noalloc;
55
56 int
57 nokillnote(void *_kobj, uint8_t _chn, uint8_t _note, uint8_t _vel)
58 {
59 printf("nokillnote\n");
60 return 0;
61 }
62
63 int
64 noopen(void *_kobj, void *_arg, int mode)
65 {
66 printf("noopen\n");
67 return 0;
68 }
69
70 int
71 noquery(void *_kboj)
72 {
73 printf("noquery\n");
74 return 0;
75 }
76
77 int
78 nostartnote(void *_kb, uint8_t _voice, uint8_t _note, uint8_t _parm)
79 {
80 printf("nostartnote\n");
81 return 0;
82 }
83
84 int
85 nosetinstr(void *_kb, uint8_t _chn, uint16_t _patchno)
86 {
87 printf("nosetinstr\n");
88 return 0;
89 }
90
91 int
92 nohwcontrol(void *_kb, uint8_t *_event)
93 {
94 printf("nohwcontrol\n");
95 return 0;
96 }
97
98 int
99 noaftertouch ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2)
100 {
101 printf("noaftertouch\n");
102 return 0;
103 }
104
105 int
106 nopanning ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2)
107 {
108 printf("nopanning\n");
109 return 0;
110 }
111
112 int
113 nocontroller ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2, uint16_t _x3)
114 {
115 printf("nocontroller\n");
116 return 0;
117 }
118
119 int
120 novolumemethod (
121 void /* X */ * _kobj,
122 uint8_t _x1)
123 {
124 printf("novolumemethod\n");
125 return 0;
126 }
127
128 int
129 nobender ( void /* X */ * _kobj, uint8_t _voice, uint16_t _bend)
130 {
131 printf("nobender\n");
132 return 0;
133 }
134
135 int
136 nosetupvoice ( void /* X */ * _kobj, uint8_t _voice, uint8_t _chn)
137 {
138
139 printf("nosetupvoice\n");
140 return 0;
141 }
142
143 int
144 nosendsysex ( void /* X */ * _kobj, void * _buf, size_t _len)
145 {
146 printf("nosendsysex\n");
147 return 0;
148 }
149
150 int
151 noallocvoice ( void /* X */ * _kobj, uint8_t _chn, uint8_t _note, void *_x)
152 {
153 printf("noallocvoice\n");
154 return 0;
155 }
156
157 int
158 nowriteraw ( void /* X */ * _kobjt, uint8_t * _buf, size_t _len)
159 {
160 printf("nowriteraw\n");
161 return 1;
162 }
163
164 int
165 noreset ( void /* X */ * _kobjt)
166 {
167
168 printf("noreset\n");
169 return 0;
170 }
171
172 char *
173 noshortname (void /* X */ * _kobjt)
174 {
175 printf("noshortname\n");
176 return "noshortname";
177 }
178
179 int
180 noclose ( void /* X */ * _kobjt)
181 {
182
183 printf("noclose\n");
184 return 0;
185 }
186
187 int
188 noinsync (void /* X */ * _kobjt)
189 {
190
191 printf("noinsync\n");
192 return 0;
193 }
194
195 int
196 noalloc ( void /* x */ * _kbojt, uint8_t _chn, uint8_t _note)
197 {
198 printf("noalloc\n");
199 return 0;
200 }
201}
202
203METHOD int killnote {
204 void /* X */ * _kobj;
205 uint8_t _chan;
206 uint8_t _note;
207 uint8_t _vel;
208} DEFAULT nokillnote;
209
210METHOD int startnote {
211 void /* X */ * _kobj;
212 uint8_t _voice;
213 uint8_t _note;
214 uint8_t _parm;
215} DEFAULT nostartnote;
216
217METHOD int setinstr {
218 void /* X */ * _kobj;
219 uint8_t _chn;
220 uint16_t _patchno;
221} DEFAULT nosetinstr;
222
223METHOD int hwcontrol {
224 void /* X */ * _kobj;
225 uint8_t *_event;
226} DEFAULT nohwcontrol;
227
228METHOD int aftertouch {
229 void /* X */ * _kobj;
230 uint8_t _x1;
231 uint8_t _x2;
232} DEFAULT noaftertouch;
233
234METHOD int panning {
235 void /* X */ * _kobj;
236 uint8_t _x1;
237 uint8_t _x2;
238} DEFAULT nopanning;
239
240METHOD int controller {
241 void /* X */ * _kobj;
242 uint8_t _x1;
243 uint8_t _x2;
244 uint16_t _x3;
245} DEFAULT nocontroller;
246
247METHOD int volumemethod {
248 void /* X */ * _kobj;
249 uint8_t _x1;
250} DEFAULT novolumemethod;
251
252METHOD int bender {
253 void /* X */ * _kobj;
254 uint8_t _voice;
255 uint16_t _bend;
256} DEFAULT nobender;
257
258METHOD int setupvoice {
259 void /* X */ * _kobj;
260 uint8_t _voice;
261 uint8_t _chn;
262} DEFAULT nosetupvoice;
263
264METHOD int sendsysex {
265 void /* X */ * _kobj;
266 void * _buf;
267 size_t _len;
268} DEFAULT nosendsysex;
269
270METHOD int allocvoice {
271 void /* X */ * _kobj;
272 uint8_t _chn;
273 uint8_t _note;
274 void *_x;
275} DEFAULT noallocvoice;
276
277METHOD int writeraw {
278 void /* X */ * _kobjt;
279 uint8_t * _buf;
280 size_t _len;
281} DEFAULT nowriteraw;
282
283METHOD int reset {
284 void /* X */ * _kobjt;
285} DEFAULT noreset;
286
287METHOD char * shortname {
288 void /* X */ * _kobjt;
289} DEFAULT noshortname;
290
291METHOD int open {
292 void /* X */ * _kobjt;
293 void * _sythn;
294 int _mode;
295} DEFAULT noopen;
296
297METHOD int close {
298 void /* X */ * _kobjt;
299} DEFAULT noclose;
300
301METHOD int query {
302 void /* X */ * _kobjt;
303} DEFAULT noquery;
304
305METHOD int insync {
306 void /* X */ * _kobjt;
307} DEFAULT noinsync;
308
309METHOD int alloc {
310 void /* x */ * _kbojt;
311 uint8_t _chn;
312 uint8_t _note;
313} DEFAULT noalloc;