]> git.alsa-project.org Git - alsa-lib.git/commitdiff
add a test code for snd_seq_client_info_event_filter_*()
authorAldrin Martoq <amartoq@dcc.uchile.cl>
Fri, 22 Feb 2008 16:49:01 +0000 (17:49 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 22 Feb 2008 16:49:01 +0000 (17:49 +0100)
Added test code for
snd_seq_client_info_event_filter_{clear,add,del,check}

Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>
test/Makefile.am
test/client_event_filter.c [new file with mode: 0644]

index b460ba4b8d83cbf745beae8e6720514b6ea3fab7..2d7e92b07bc8f350883a84424393b579aff0bf89 100644 (file)
@@ -1,6 +1,6 @@
 check_PROGRAMS=control pcm pcm_min latency seq \
               playmidi1 timer rawmidi midiloop \
-              oldapi queue_timer namehint
+              oldapi queue_timer namehint client_event_filter
 
 control_LDADD=../src/libasound.la
 pcm_LDADD=../src/libasound.la
@@ -14,6 +14,7 @@ midiloop_LDADD=../src/libasound.la
 oldapi_LDADD=../src/libasound.la
 queue_timer_LDADD=../src/libasound.la
 namehint_LDADD=../src/libasound.la
+client_event_filter_LDADD=../src/libasound.la
 code_CFLAGS=-Wall -pipe -g -O2
 
 INCLUDES=-I$(top_srcdir)/include
diff --git a/test/client_event_filter.c b/test/client_event_filter.c
new file mode 100644 (file)
index 0000000..0650314
--- /dev/null
@@ -0,0 +1,46 @@
+#include <alsa/asoundlib.h>
+
+void dump_event_filter(snd_seq_client_info_t *client_info) {
+       int i, b;
+
+       for (i = 0; i <= 255;) {
+               b = snd_seq_client_info_event_filter_check(client_info, i);
+               i++;
+               printf("%c%s%s", (b ? 'X' : '.'),
+                       (i % 8 == 0 ? " " : ""),
+                       (i % 32 == 0 ? "\n" : ""));
+       }
+       printf("\n");
+}
+
+int main(void) {
+       snd_seq_client_info_t *client_info;
+
+       snd_seq_client_info_alloca(&client_info);
+
+       printf("first client_info_event_filter                   :\n");
+       dump_event_filter(client_info);
+
+       snd_seq_client_info_event_filter_add(client_info, SND_SEQ_EVENT_NOTEON);
+       printf("after snd_seq_client_info_event_filter_add(client_info, SND_SEQ_EVENT_NOTEON);\n");
+       dump_event_filter(client_info);
+
+       snd_seq_client_info_event_filter_add(client_info, SND_SEQ_EVENT_PGMCHANGE);
+       printf("after snd_seq_client_info_event_filter_add(client_info, SND_SEQ_EVENT_PGMCHANGE);\n");
+       dump_event_filter(client_info);
+
+       snd_seq_client_info_event_filter_del(client_info, SND_SEQ_EVENT_NOTEON);
+       printf("after snd_seq_client_info_event_filter_del(client_info, SND_SEQ_EVENT_NOTEON);\n");
+       dump_event_filter(client_info);
+
+       snd_seq_client_info_event_filter_clear(client_info);
+       printf("after snd_seq_client_info_event_filter_clear(client_info);\n");
+       dump_event_filter(client_info);
+
+       snd_seq_client_info_event_filter_add(client_info, SND_SEQ_EVENT_NOTEON);
+       printf("after snd_seq_client_info_event_filter_add(client_info, SND_SEQ_EVENT_NOTEON);\n");
+       dump_event_filter(client_info);
+
+       return 0;
+}
+