summaryrefslogtreecommitdiff
path: root/sysex.h
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2018-10-31 08:33:00 +0200
committerJari Vetoniemi <mailroxas@gmail.com>2018-10-31 08:33:00 +0200
commite73e63d4eb46b865b8565909b04ad2894bf027f8 (patch)
tree41f5400bf3ee396f9e929ee8e01ebe765dd85690 /sysex.h
parentc7e59084ac09028af7fd81c9fc40f9c55fb30857 (diff)
refactor project structure
libasound.c started to become quite large, split the big chunks into pcm.c and mixer.c
Diffstat (limited to 'sysex.h')
-rw-r--r--sysex.h120
1 files changed, 0 insertions, 120 deletions
diff --git a/sysex.h b/sysex.h
deleted file mode 100644
index 245cd2a..0000000
--- a/sysex.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/* $OpenBSD$ */
-/*
- * Copyright (c) 2011 Alexandre Ratchov <alex@caoua.org>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-#ifndef AUCAT_SYSEX_H
-#define AUCAT_SYSEX_H
-
-#include <stdint.h>
-
-/*
- * start and end markers
- */
-#define SYSEX_START 0xf0
-#define SYSEX_END 0xf7
-
-/*
- * type/vendor namespace IDs we use
- */
-#define SYSEX_TYPE_RT 0x7f /* real-time universal */
-#define SYSEX_TYPE_EDU 0x7d /* non-comercial */
-
-/*
- * realtime messages in the "universal real-time" namespace
- */
-#define SYSEX_MTC 0x01 /* mtc messages */
-#define SYSEX_MTC_FULL 0x01 /* mtc full frame message */
-#define SYSEX_CONTROL 0x04
-#define SYSEX_MASTER 0x01
-#define SYSEX_MMC 0x06
-#define SYSEX_MMC_STOP 0x01
-#define SYSEX_MMC_START 0x02
-#define SYSEX_MMC_LOC 0x44
-#define SYSEX_MMC_LOC_LEN 0x06
-#define SYSEX_MMC_LOC_CMD 0x01
-
-/*
- * aucat-specific messages, in the "edu" namespace
- */
-#define SYSEX_AUCAT 0x23 /* aucat-specific */
-#define SYSEX_AUCAT_MIXINFO 0x01 /* mixer info */
-#define SYSEX_AUCAT_DUMPREQ 0x02 /* dump request */
-#define SYSEX_AUCAT_DUMPEND 0x03 /* end of dump */
-
-/*
- * minimum size of sysex message we accept
- */
-#define SYSEX_SIZE(m) (5 + sizeof(struct sysex_ ## m))
-
-/*
- * all possible system exclusive messages we support. For aucat-specific
- * messages we use the same header as real-time messages to simplify the
- * message parser
- */
-struct sysex {
- uint8_t start;
- uint8_t type; /* type or vendor id */
- uint8_t dev; /* device or product id */
- uint8_t id0; /* message id */
- uint8_t id1; /* sub-id */
- union sysex_all {
- struct sysex_empty {
- uint8_t end;
- } empty;
- struct sysex_master {
- uint8_t fine;
- uint8_t coarse;
- uint8_t end;
- } master;
- struct sysex_start {
- uint8_t end;
- } start;
- struct sysex_stop {
- uint8_t end;
- } stop;
- struct sysex_loc {
- uint8_t len;
- uint8_t cmd;
- uint8_t hr;
- uint8_t min;
- uint8_t sec;
- uint8_t fr;
- uint8_t cent;
- uint8_t end;
- } loc;
- struct sysex_full {
- uint8_t hr;
- uint8_t min;
- uint8_t sec;
- uint8_t fr;
- uint8_t end;
- } full;
- struct sysex_mixinfo {
- uint8_t chan; /* channel */
- uint8_t vol; /* current volume */
-#define SYSEX_NAMELEN 10 /* \0 included */
- uint8_t name[SYSEX_NAMELEN]; /* stream name */
- uint8_t end;
- } mixinfo;
- struct sysex_dumpreq {
- uint8_t end;
- } dumpreq;
- struct sysex_dumpend {
- uint8_t end;
- } dumpend;
- } u;
-};
-
-#endif /* !defined(AUCAT_SYSEX_H) */