summaryrefslogtreecommitdiff
path: root/kernel/framework/include/midiparser.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/framework/include/midiparser.h')
-rw-r--r--kernel/framework/include/midiparser.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/kernel/framework/include/midiparser.h b/kernel/framework/include/midiparser.h
new file mode 100644
index 0000000..3aed4a7
--- /dev/null
+++ b/kernel/framework/include/midiparser.h
@@ -0,0 +1,38 @@
+/*
+ * Purpose: Definitions for the MIDI message parser
+ */
+/*
+ *
+ * This file is part of Open Sound System.
+ *
+ * Copyright (C) 4Front Technologies 1996-2008.
+ *
+ * This this source file is released under GPL v2 license (no other versions).
+ * See the COPYING file included in the main directory of this source
+ * distribution for the license terms and conditions.
+ *
+ */
+
+typedef struct midiparser_common midiparser_common_t, *midiparser_common_p;
+
+#define CAT_VOICE 0
+#define CAT_MTC 1
+#define CAT_SYSEX 2
+#define CAT_CHN 3
+#define CAT_REALTIME 4
+
+typedef void (*midiparser_callback_t) (void *context, int category,
+ unsigned char msg, unsigned char ch,
+ unsigned char *parms, int len);
+typedef void (*midiparser_mtc_callback_t) (void *context,
+ oss_mtc_data_t * mtc);
+
+extern midiparser_common_p midiparser_create (midiparser_callback_t callback,
+ void *comntext);
+extern void midiparser_unalloc (midiparser_common_p common);
+extern void midiparser_mtc_callback (midiparser_common_p common,
+ midiparser_mtc_callback_t callback);
+
+extern void midiparser_input (midiparser_common_p common, unsigned char data);
+extern void midiparser_input_buf (midiparser_common_p common,
+ unsigned char *data, int len);