freebsd-dev/sys/dev/sound/midi/synth_if.m
2007-02-25 13:51:52 +00:00

314 lines
6.0 KiB
Objective-C

#-
# Copyright (c) 2003 Mathew Kanner
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# $FreeBSD$
#
INTERFACE synth;
#include <sys/systm.h>
CODE {
synth_killnote_t nokillnote;
synth_startnote_t nostartnote;
synth_setinstr_t nosetinstr;
synth_hwcontrol_t nohwcontrol;
synth_aftertouch_t noaftertouch;
synth_panning_t nopanning;
synth_controller_t nocontroller;
synth_volumemethod_t novolumemethod;
synth_bender_t nobender;
synth_setupvoice_t nosetupvoice;
synth_sendsysex_t nosendsysex;
synth_allocvoice_t noallocvoice;
synth_writeraw_t nowriteraw;
synth_reset_t noreset;
synth_shortname_t noshortname;
synth_open_t noopen;
synth_close_t noclose;
synth_query_t noquery;
synth_insync_t noinsync;
synth_alloc_t noalloc;
int
nokillnote(void *_kobj, uint8_t _chn, uint8_t _note, uint8_t _vel)
{
printf("nokillnote\n");
return 0;
}
int
noopen(void *_kobj, void *_arg, int mode)
{
printf("noopen\n");
return 0;
}
int
noquery(void *_kboj)
{
printf("noquery\n");
return 0;
}
int
nostartnote(void *_kb, uint8_t _voice, uint8_t _note, uint8_t _parm)
{
printf("nostartnote\n");
return 0;
}
int
nosetinstr(void *_kb, uint8_t _chn, uint16_t _patchno)
{
printf("nosetinstr\n");
return 0;
}
int
nohwcontrol(void *_kb, uint8_t *_event)
{
printf("nohwcontrol\n");
return 0;
}
int
noaftertouch ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2)
{
printf("noaftertouch\n");
return 0;
}
int
nopanning ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2)
{
printf("nopanning\n");
return 0;
}
int
nocontroller ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2, uint16_t _x3)
{
printf("nocontroller\n");
return 0;
}
int
novolumemethod (
void /* X */ * _kobj,
uint8_t _x1)
{
printf("novolumemethod\n");
return 0;
}
int
nobender ( void /* X */ * _kobj, uint8_t _voice, uint16_t _bend)
{
printf("nobender\n");
return 0;
}
int
nosetupvoice ( void /* X */ * _kobj, uint8_t _voice, uint8_t _chn)
{
printf("nosetupvoice\n");
return 0;
}
int
nosendsysex ( void /* X */ * _kobj, void * _buf, size_t _len)
{
printf("nosendsysex\n");
return 0;
}
int
noallocvoice ( void /* X */ * _kobj, uint8_t _chn, uint8_t _note, void *_x)
{
printf("noallocvoice\n");
return 0;
}
int
nowriteraw ( void /* X */ * _kobjt, uint8_t * _buf, size_t _len)
{
printf("nowriteraw\n");
return 1;
}
int
noreset ( void /* X */ * _kobjt)
{
printf("noreset\n");
return 0;
}
char *
noshortname (void /* X */ * _kobjt)
{
printf("noshortname\n");
return "noshortname";
}
int
noclose ( void /* X */ * _kobjt)
{
printf("noclose\n");
return 0;
}
int
noinsync (void /* X */ * _kobjt)
{
printf("noinsync\n");
return 0;
}
int
noalloc ( void /* x */ * _kbojt, uint8_t _chn, uint8_t _note)
{
printf("noalloc\n");
return 0;
}
}
METHOD int killnote {
void /* X */ *_kobj;
uint8_t _chan;
uint8_t _note;
uint8_t _vel;
} DEFAULT nokillnote;
METHOD int startnote {
void /* X */ *_kobj;
uint8_t _voice;
uint8_t _note;
uint8_t _parm;
} DEFAULT nostartnote;
METHOD int setinstr {
void /* X */ *_kobj;
uint8_t _chn;
uint16_t _patchno;
} DEFAULT nosetinstr;
METHOD int hwcontrol {
void /* X */ *_kobj;
uint8_t *_event;
} DEFAULT nohwcontrol;
METHOD int aftertouch {
void /* X */ *_kobj;
uint8_t _x1;
uint8_t _x2;
} DEFAULT noaftertouch;
METHOD int panning {
void /* X */ *_kobj;
uint8_t _x1;
uint8_t _x2;
} DEFAULT nopanning;
METHOD int controller {
void /* X */ *_kobj;
uint8_t _x1;
uint8_t _x2;
uint16_t _x3;
} DEFAULT nocontroller;
METHOD int volumemethod {
void /* X */ *_kobj;
uint8_t _x1;
} DEFAULT novolumemethod;
METHOD int bender {
void /* X */ *_kobj;
uint8_t _voice;
uint16_t _bend;
} DEFAULT nobender;
METHOD int setupvoice {
void /* X */ *_kobj;
uint8_t _voice;
uint8_t _chn;
} DEFAULT nosetupvoice;
METHOD int sendsysex {
void /* X */ *_kobj;
void *_buf;
size_t _len;
} DEFAULT nosendsysex;
METHOD int allocvoice {
void /* X */ *_kobj;
uint8_t _chn;
uint8_t _note;
void *_x;
} DEFAULT noallocvoice;
METHOD int writeraw {
void /* X */ *_kobjt;
uint8_t *_buf;
size_t _len;
} DEFAULT nowriteraw;
METHOD int reset {
void /* X */ *_kobjt;
} DEFAULT noreset;
METHOD char * shortname {
void /* X */ *_kobjt;
} DEFAULT noshortname;
METHOD int open {
void /* X */ *_kobjt;
void *_sythn;
int _mode;
} DEFAULT noopen;
METHOD int close {
void /* X */ *_kobjt;
} DEFAULT noclose;
METHOD int query {
void /* X */ *_kobjt;
} DEFAULT noquery;
METHOD int insync {
void /* X */ *_kobjt;
} DEFAULT noinsync;
METHOD int alloc {
void /* x */ *_kbojt;
uint8_t _chn;
uint8_t _note;
} DEFAULT noalloc;