synth_if.m revision 158979
150476Speter#-
2179937Smav# (c) 2003 Mathew Kanner
362157Sru#
479530Sru# Redistribution and use in source and binary forms, with or without
526781Sbrian# modification, are permitted provided that the following conditions are
626781Sbrian# met: 1. Redistributions of source code must retain the above copyright
775670Sru# notice, this list of conditions and the following disclaimer. 2.
826781Sbrian# Redistributions in binary form must reproduce the above copyright notice,
968960Sru# this list of conditions and the following disclaimer in the documentation
1068823Sru# and/or other materials provided with the distribution.
1162157Sru#
1262157Sru# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
1362157Sru# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1462157Sru# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1562157Sru# DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
1662157Sru# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1762157Sru# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1862157Sru# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
1926781Sbrian# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2062157Sru# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2162157Sru# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2262157Sru# SUCH DAMAGE.
2362157Sru#
2462157Sru# $FreeBSD: head/sys/dev/sound/midi/synth_if.m 158979 2006-05-27 16:32:05Z netchild $
2562157Sru#
2662157Sru
2730554SbrianINTERFACE synth;
2859921Sru
2959703Sru#include <sys/systm.h>
3062157Sru
31175971SruCODE {
32175971Sru
3362157Srusynth_killnote_t nokillnote;
3462157Srusynth_startnote_t nostartnote;
3562160Srusynth_setinstr_t nosetinstr;
36120372Smarcussynth_hwcontrol_t nohwcontrol;
3785770Sphksynth_aftertouch_t noaftertouch;
38118873Srusynth_panning_t nopanning;
39179937Smavsynth_controller_t nocontroller;
4068823Srusynth_volumemethod_t novolumemethod;
4126781Sbriansynth_bender_t nobender;
4299501Scharniersynth_setupvoice_t nosetupvoice;
4399501Scharniersynth_sendsysex_t nosendsysex;
4499501Scharniersynth_allocvoice_t noallocvoice;
4526781Sbriansynth_writeraw_t nowriteraw;
4626781Sbriansynth_reset_t noreset;
4762157Srusynth_shortname_t noshortname;
4862157Srusynth_open_t noopen;
49111674Srusynth_close_t noclose;
50111674Srusynth_query_t noquery;
51111674Srusynth_insync_t noinsync;
52111674Srusynth_alloc_t noalloc;
5362157Sru
54111674Sru    int
55111674Sru	nokillnote(void *_kobj, uint8_t _chn, uint8_t _note, uint8_t _vel)
56111674Sru	{
57111674Sru	    printf("nokillnote\n");
58111674Sru	    return 0;
5926781Sbrian	}
6062157Sru
6162157Sru    int
6299501Scharnier	noopen(void *_kobj, void *_arg, int mode)
6362157Sru	{
6462157Sru	    printf("noopen\n");
6562157Sru	    return 0;
6626781Sbrian	}
6762157Sru
68118875Sru    int
6962157Sru	noquery(void *_kboj)
7062157Sru	{
7162157Sru	    printf("noquery\n");
7262157Sru	    return 0;
7362157Sru	}
7462157Sru
7562157Sru    int
76118875Sru	nostartnote(void *_kb, uint8_t _voice, uint8_t _note, uint8_t _parm)
7726781Sbrian	{
7868823Sru	    printf("nostartnote\n");
7926781Sbrian	    return 0;
8026781Sbrian	}
8126781Sbrian
8226781Sbrian    int
8362157Sru	nosetinstr(void *_kb, uint8_t _chn, uint16_t _patchno)
8462157Sru	{
8562157Sru	    printf("nosetinstr\n");
8626781Sbrian	    return 0;
8768823Sru	}
8862157Sru
8968823Sru    int
9068823Sru	nohwcontrol(void *_kb, uint8_t *_event)
9168823Sru	{
9268823Sru	    printf("nohwcontrol\n");
9368823Sru	    return 0;
9444558Sbrian	}
9562157Sru
9662157Sru    int 
9781251Sru	noaftertouch ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2)
9881251Sru	{
9944558Sbrian	    printf("noaftertouch\n");
10062157Sru	    return 0;
10162157Sru	}
10262157Sru
10362157Sru    int
10462157Sru	nopanning ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2)
10562157Sru	{
10626781Sbrian	    printf("nopanning\n");
10726781Sbrian	    return 0;
10826781Sbrian	}
10962157Sru
11062157Sru    int 
11162157Sru	nocontroller ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2, uint16_t _x3)
11226781Sbrian	{
11326781Sbrian	    printf("nocontroller\n");
11462128Salex	    return 0;
11562157Sru	}
11662157Sru
11762157Sru    int 
11826781Sbrian	novolumemethod (
11962157Sru		void /* X */ * _kobj,
12026781Sbrian		uint8_t _x1)
12162157Sru	{
12268823Sru	    printf("novolumemethod\n");
12362157Sru	    return 0;
12462157Sru	}
12526781Sbrian
12662157Sru    int 
12762157Sru	nobender ( void /* X */ * _kobj, uint8_t _voice, uint16_t _bend)
12862157Sru	{
12962157Sru	    printf("nobender\n");
13062128Salex	    return 0;
13162157Sru	}
13262157Sru
133236809Sjoel    int 
134236809Sjoel	nosetupvoice ( void /* X */ * _kobj, uint8_t _voice, uint8_t _chn)
135236809Sjoel	{
13662157Sru
13762157Sru	    printf("nosetupvoice\n");
13862157Sru	    return 0;
13962157Sru	}
14047121Sbrian
14147121Sbrian    int 
14262157Sru	nosendsysex ( void /* X */ * _kobj, void * _buf, size_t _len)
14362157Sru	{
14462157Sru	    printf("nosendsysex\n");
14562157Sru	    return 0;
14662157Sru	}
14762157Sru
14862157Sru    int 
149118875Sru	noallocvoice ( void /* X */ * _kobj, uint8_t _chn, uint8_t _note, void *_x)
15062157Sru	{
15162157Sru	    printf("noallocvoice\n");
15262157Sru	    return 0;
15362157Sru	}
15462157Sru
15562157Sru    int 
15662157Sru	nowriteraw ( void /* X */ * _kobjt, uint8_t * _buf, size_t _len)
15762157Sru	{
15862157Sru	    printf("nowriteraw\n");
15962157Sru	    return 1;
16062157Sru	}
16162157Sru
16262157Sru    int 
16362157Sru	noreset ( void /* X */ * _kobjt)
164118875Sru	{
165118875Sru
166118875Sru	    printf("noreset\n");
167118875Sru	    return 0;
168118875Sru	}
169118875Sru
170118875Sru    char *
171118875Sru	noshortname (void /* X */ * _kobjt)
172118875Sru	{
17362157Sru	    printf("noshortname\n");
174118875Sru	    return "noshortname";
175118875Sru	}
176118875Sru
177118875Sru    int 
178118875Sru	noclose ( void /* X */ * _kobjt)
179118875Sru	{
180118875Sru
181118875Sru	    printf("noclose\n");
182118875Sru	    return 0;
183118875Sru	}
18462128Salex
18562157Sru    int
18648063Sbrian	noinsync (void /* X */ * _kobjt)
18762157Sru	{
18862157Sru
18962157Sru	    printf("noinsync\n");
19062157Sru	    return 0;
19148063Sbrian	}
19262157Sru
19347121Sbrian    int 
19447121Sbrian	noalloc ( void /* x */ * _kbojt, uint8_t _chn, uint8_t _note)
19547121Sbrian	{
19662157Sru	    printf("noalloc\n");
19762157Sru	    return 0;
19862157Sru	}
19959921Sru}
20059921Sru
20181251SruMETHOD int killnote {
20281251Sru    void /* X */ * _kobj;
20359921Sru    uint8_t _chan;
20459921Sru    uint8_t _note;
20559921Sru    uint8_t _vel;
20659921Sru} DEFAULT nokillnote;
20759921Sru
20859921SruMETHOD int startnote {
20959921Sru    void /* X */ * _kobj;
21059921Sru    uint8_t _voice;
21162128Salex    uint8_t _note;
21259921Sru    uint8_t _parm;
21359921Sru} DEFAULT nostartnote;
21462128Salex
21559921SruMETHOD int setinstr {
21659921Sru    void /* X */ * _kobj;
21726781Sbrian    uint8_t _chn;
21862128Salex    uint16_t _patchno;
21962128Salex} DEFAULT nosetinstr;
22062157Sru
22162157SruMETHOD int hwcontrol {
22262157Sru    void /* X */ * _kobj;
22362157Sru    uint8_t *_event;
22462157Sru} DEFAULT nohwcontrol;
22562157Sru
22662157SruMETHOD int aftertouch {
22762157Sru    void /* X */ * _kobj;
22862128Salex    uint8_t _x1;
22962128Salex    uint8_t _x2;
23062157Sru} DEFAULT noaftertouch;
23162128Salex
23262128SalexMETHOD int panning {
23362157Sru    void /* X */ * _kobj;
234140295Sru    uint8_t _x1;
235140295Sru        uint8_t _x2;
236140295Sru} DEFAULT nopanning;
23762157Sru
23862157SruMETHOD int controller {
23926781Sbrian    void /* X */ * _kobj;
24062128Salex    uint8_t _x1;
24162157Sru    uint8_t _x2;
24262157Sru    uint16_t _x3;
24362157Sru} DEFAULT nocontroller;
24459703Sru
24559703SruMETHOD int volumemethod {
24659703Sru    void /* X */ * _kobj;
24759703Sru    uint8_t _x1;
24859703Sru} DEFAULT novolumemethod;
24971895Sru
250236809SjoelMETHOD int bender {
251236809Sjoel    void /* X */ * _kobj;
25259703Sru    uint8_t _voice;
25359703Sru    uint16_t _bend;
25459703Sru} DEFAULT nobender;
25559703Sru
25659703SruMETHOD int setupvoice {
25759703Sru    void /* X */ * _kobj;
25859703Sru    uint8_t _voice;
25959703Sru    uint8_t _chn;
26059703Sru} DEFAULT nosetupvoice;
26171895Sru
26259703SruMETHOD int sendsysex {
26359703Sru    void /* X */ * _kobj;
26459703Sru    void * _buf;
26559703Sru    size_t _len;
26659703Sru} DEFAULT nosendsysex;
26759703Sru
26859703SruMETHOD int allocvoice {
26959703Sru    void /* X */ * _kobj;
27059703Sru    uint8_t _chn;
27159703Sru    uint8_t _note;
27259703Sru    void *_x;
27359703Sru} DEFAULT noallocvoice;
27462128Salex
27559703SruMETHOD int writeraw {
27659703Sru    void /* X */ * _kobjt;
27759703Sru    uint8_t * _buf;
27859703Sru    size_t _len;
27962128Salex} DEFAULT nowriteraw;
28062128Salex
28126781SbrianMETHOD int reset {
28226781Sbrian    void /* X */ * _kobjt;
28326781Sbrian} DEFAULT noreset;
28426781Sbrian
28526781SbrianMETHOD char * shortname {
28626781Sbrian    void /* X */ * _kobjt;
28730059Scharnier} DEFAULT noshortname;
28826781Sbrian
28926781SbrianMETHOD int open {
29062157Sru    void /* X */ * _kobjt;
291118875Sru    void * _sythn;
29230059Scharnier    int _mode;
29326781Sbrian} DEFAULT noopen;
29462157Sru
29526781SbrianMETHOD int close {
29668823Sru    void /* X */ * _kobjt;
29768823Sru} DEFAULT noclose;
29862157Sru
29968823SruMETHOD int query {
30068823Sru    void /* X */ * _kobjt;
30162157Sru} DEFAULT noquery;
30226781Sbrian
30368823SruMETHOD int insync {
30468823Sru    void /* X */ * _kobjt;
30562157Sru} DEFAULT noinsync;
30668823Sru
30768823SruMETHOD int alloc {
30862157Sru    void /* x */ * _kbojt;
30926781Sbrian    uint8_t _chn;
31068823Sru    uint8_t _note;
31168823Sru} DEFAULT noalloc;
31226781Sbrian