From: Jaroslav Kysela Date: Fri, 4 Feb 2000 14:23:19 +0000 (+0000) Subject: Added rawmidi.c from maarten de boer X-Git-Tag: v1.0.3~1326 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=a9197441e047c65aea469d1cece1b230affa21d1;p=alsa-lib.git Added rawmidi.c from maarten de boer --- diff --git a/test/Makefile.am b/test/Makefile.am index 9635909f..e90877ce 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,5 +1,5 @@ check_PROGRAMS=control mixer switches pause pcm pcmtest latency seq \ - playmidi1 timer loopback + playmidi1 timer loopback rawmidi control_LDADD=../src/libasound.la mixer_LDADD=../src/libasound.la @@ -12,6 +12,7 @@ seq_LDADD=../src/libasound.la playmidi1_LDADD=../src/libasound.la timer_LDADD=../src/libasound.la loopback_LDADD=../src/libasound.la +rawmidi_LDADD=../src/libasound.la INCLUDES=-I$(top_srcdir)/include CFLAGS=-static -Wall -pipe -g diff --git a/test/rawmidi.c b/test/rawmidi.c new file mode 100644 index 00000000..5a9a35be --- /dev/null +++ b/test/rawmidi.c @@ -0,0 +1,247 @@ +#include +#include +#include +#include +#include + +static void usage(void) +{ + fprintf(stderr, "usage: rawmidi [options]\n"); + fprintf(stderr, " options:\n"); + fprintf(stderr, " -v: verbose mode\n"); + fprintf(stderr, " -i [ card-id device-id | node ] : test input device\n"); + fprintf(stderr, " -o [ card-id device-id | node ] : test output device\n"); + fprintf(stderr, " -t: test midi thru\n"); + fprintf(stderr, " example:\n"); + fprintf(stderr, " rawmidi -i 0 0 -o /dev/midi1\n"); + fprintf(stderr, " tests input for card 0, device 0, using snd_rawmidi API\n"); + fprintf(stderr, " and /dev/midi1 using file desciptors\n"); +} + +int stop=0; + +void sighandler(int dum) +{ + stop=1; +} + +int main(int argc,char** argv) +{ + int i; + int err; + int thru=0; + int verbose = 0; + int card_in = -1,device_in = -1; + int card_out = -1,device_out = -1; + char* node_in = 0; + char* node_out = 0; + + int fd_in = -1,fd_out = -1; + snd_rawmidi_t *handle_in = 0,*handle_out = 0; + + if (argc==1) { + usage(); + exit(0); + } + + for (i = 1 ; i