mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
Fixed test tools for latest API
This commit is contained in:
parent
93bad3b02a
commit
34c76ccf73
2 changed files with 22 additions and 14 deletions
|
|
@ -69,7 +69,7 @@ int main(int argc, char** argv)
|
|||
int card_in = -1, device_in = 0;
|
||||
int card_out = -1, device_out = 0;
|
||||
snd_rawmidi_t *handle_in = NULL, *handle_out = NULL;
|
||||
unsigned char ibuf[512], obuf[512];
|
||||
unsigned char ibuf[512], obuf[512], iname[32], oname[32];
|
||||
struct timeval start, end;
|
||||
long long diff;
|
||||
snd_rawmidi_status_t istat, ostat;
|
||||
|
|
@ -121,6 +121,9 @@ int main(int argc, char** argv)
|
|||
if (card_out == -1)
|
||||
card_out = card_in;
|
||||
|
||||
sprintf(iname, "hw:%i,%i", card_in, device_in);
|
||||
sprintf(oname, "hw:%i,%i", card_out, device_out);
|
||||
|
||||
if (verbose) {
|
||||
fprintf(stderr, "Using: \n");
|
||||
fprintf(stderr, " Input: ");
|
||||
|
|
@ -129,13 +132,13 @@ int main(int argc, char** argv)
|
|||
fprintf(stderr, "card %d, device %d\n", card_out, device_out);
|
||||
}
|
||||
|
||||
err = snd_rawmidi_open(&handle_in, card_in, device_in, SND_RAWMIDI_OPEN_INPUT | SND_RAWMIDI_OPEN_NONBLOCK);
|
||||
err = snd_rawmidi_open(&handle_in, iname, SND_RAWMIDI_OPEN_INPUT, SND_RAWMIDI_NONBLOCK);
|
||||
if (err) {
|
||||
fprintf(stderr,"snd_rawmidi_open %d %d failed: %d\n",card_in,device_in,err);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
err = snd_rawmidi_open(&handle_out, card_out, device_out, SND_RAWMIDI_OPEN_OUTPUT);
|
||||
err = snd_rawmidi_open(&handle_out, oname, SND_RAWMIDI_OPEN_OUTPUT, 0);
|
||||
if (err) {
|
||||
fprintf(stderr,"snd_rawmidi_open %d %d failed: %d\n",card_out,device_out,err);
|
||||
exit(EXIT_FAILURE);
|
||||
|
|
@ -188,10 +191,10 @@ int main(int argc, char** argv)
|
|||
err = snd_rawmidi_status(handle_out, &ostat);
|
||||
if (err < 0)
|
||||
fprintf(stderr, "output stream status error: %d\n", err);
|
||||
printf("input.status.queue = %li\n", istat.queue);
|
||||
printf("input.status.overrun = %li\n", istat.overrun);
|
||||
printf("output.status.queue = %li\n", ostat.queue);
|
||||
printf("output.status.overrun = %li\n", ostat.overrun);
|
||||
printf("input.status.avail = %li\n", istat.avail);
|
||||
printf("input.status.xruns = %li\n", istat.xruns);
|
||||
printf("output.status.avail = %li\n", ostat.avail);
|
||||
printf("output.status.xruns = %li\n", ostat.xruns);
|
||||
|
||||
diff = timediff(end, start);
|
||||
printf("Time diff: %Liusec (%Li bytes/sec)\n", diff, ((long long)opos * 1000000) / diff);
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ int main(int argc,char** argv)
|
|||
int verbose = 0;
|
||||
int card_in = -1,device_in = -1;
|
||||
int card_out = -1,device_out = -1;
|
||||
char iname[32], oname[32];
|
||||
char* node_in = 0;
|
||||
char* node_out = 0;
|
||||
|
||||
|
|
@ -90,6 +91,8 @@ int main(int argc,char** argv)
|
|||
}
|
||||
}
|
||||
|
||||
sprintf(oname, "hw:%i,%i", card_out, device_out);
|
||||
|
||||
if (verbose) {
|
||||
fprintf(stderr,"Using: \n");
|
||||
fprintf(stderr,"Input: ");
|
||||
|
|
@ -111,7 +114,8 @@ int main(int argc,char** argv)
|
|||
}
|
||||
|
||||
if (card_in!=-1) {
|
||||
err = snd_rawmidi_open(&handle_in,card_in,device_in,O_RDONLY);
|
||||
sprintf(iname, "hw:%i,%i", card_in, device_in);
|
||||
err = snd_rawmidi_open(&handle_in,iname,SND_RAWMIDI_OPEN_INPUT,0);
|
||||
if (err) {
|
||||
fprintf(stderr,"snd_rawmidi_open %d %d failed: %d\n",card_in,device_in,err);
|
||||
}
|
||||
|
|
@ -126,7 +130,8 @@ int main(int argc,char** argv)
|
|||
signal(SIGINT,sighandler);
|
||||
|
||||
if (card_out!=-1) {
|
||||
err = snd_rawmidi_open(&handle_out,card_out,device_out,O_WRONLY);
|
||||
sprintf(oname, "hw:%i,%i", card_out, device_out);
|
||||
err = snd_rawmidi_open(&handle_out,oname,SND_RAWMIDI_OPEN_OUTPUT,0);
|
||||
if (err) {
|
||||
fprintf(stderr,"snd_rawmidi_open %d %d failed: %d\n",card_out,device_out,err);
|
||||
}
|
||||
|
|
@ -181,7 +186,7 @@ int main(int argc,char** argv)
|
|||
ch=0x90; snd_rawmidi_write(handle_out,&ch,1);
|
||||
ch=60; snd_rawmidi_write(handle_out,&ch,1);
|
||||
ch=100; snd_rawmidi_write(handle_out,&ch,1);
|
||||
snd_rawmidi_output_drain(handle_in);
|
||||
snd_rawmidi_output_drain(handle_out);
|
||||
sleep(1);
|
||||
ch=0x90; snd_rawmidi_write(handle_out,&ch,1);
|
||||
ch=60; snd_rawmidi_write(handle_out,&ch,1);
|
||||
|
|
@ -235,12 +240,12 @@ int main(int argc,char** argv)
|
|||
}
|
||||
|
||||
if (handle_in) {
|
||||
snd_rawmidi_output_drain(handle_in);
|
||||
snd_rawmidi_input_drain(handle_in);
|
||||
snd_rawmidi_close(handle_in);
|
||||
}
|
||||
if (handle_out) {
|
||||
snd_rawmidi_output_drain(handle_in);
|
||||
snd_rawmidi_close(handle_in);
|
||||
snd_rawmidi_output_drain(handle_out);
|
||||
snd_rawmidi_close(handle_out);
|
||||
}
|
||||
if (fd_in!=-1) {
|
||||
close(fd_in);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue