diff options
author | Jari Vetoniemi <mailroxas@gmail.com> | 2018-10-31 08:33:00 +0200 |
---|---|---|
committer | Jari Vetoniemi <mailroxas@gmail.com> | 2018-10-31 08:33:00 +0200 |
commit | e73e63d4eb46b865b8565909b04ad2894bf027f8 (patch) | |
tree | 41f5400bf3ee396f9e929ee8e01ebe765dd85690 /sysex.h | |
parent | c7e59084ac09028af7fd81c9fc40f9c55fb30857 (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.h | 120 |
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) */ |