]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Fixed test tools for latest API
authorJaroslav Kysela <perex@perex.cz>
Sat, 25 Nov 2000 13:07:24 +0000 (13:07 +0000)
committerJaroslav Kysela <perex@perex.cz>
Sat, 25 Nov 2000 13:07:24 +0000 (13:07 +0000)
test/midiloop.c
test/rawmidi.c

index ae41498cc978061af06de95b5486b7c6320bbd20..f28662cbacab088eb17041ba4792feaefa178689 100644 (file)
@@ -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;
@@ -120,6 +120,9 @@ int main(int argc, char** argv)
                card_in = card_out;
        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");
@@ -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);
index f466ee09189b5f3a1a4a8b28726d743b292ed2e1..8a26e71a5b2444d8231fb04b6436c3e9db7d8716 100644 (file)
@@ -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;
        
@@ -89,6 +90,8 @@ int main(int argc,char** argv)
                        }                       
                }
        }
+
+       sprintf(oname, "hw:%i,%i", card_out, device_out);
        
        if (verbose) {
                fprintf(stderr,"Using: \n");
@@ -111,13 +114,14 @@ 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);
                }
        }
        if (node_in && (!node_out || strcmp(node_out,node_in))) {
-               fd_in = open(node_in,O_RDONLY);         
+               fd_in = open(node_in,O_RDONLY);
                if (fd_in<0) {
                        fprintf(stderr,"open %s for input failed\n",node_in);
                }       
@@ -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);