brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · 9ba15d9 Raw
94 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 *4 * Copyright (c) 2003 by Karsten Wiese <annabellesgarden@yahoo.de>5 */6 7enum E_IN84 {8	E_FADER_0 = 0,9	E_FADER_1,10	E_FADER_2,11	E_FADER_3,12	E_FADER_4,13	E_FADER_5,14	E_FADER_6,15	E_FADER_7,16	E_FADER_M,17	E_TRANSPORT,18	E_MODIFIER = 10,19	E_FILTER_SELECT,20	E_SELECT,21	E_MUTE,22 23	E_SWITCH   = 15,24	E_WHEEL_GAIN,25	E_WHEEL_FREQ,26	E_WHEEL_Q,27	E_WHEEL_PAN,28	E_WHEEL    = 2029};30 31#define T_RECORD   132#define T_PLAY     233#define T_STOP     434#define T_F_FWD    835#define T_REW   0x1036#define T_SOLO  0x2037#define T_REC   0x4038#define T_NULL  0x8039 40 41struct us428_ctls {42	unsigned char	fader[9];43	unsigned char	transport;44	unsigned char	modifier;45	unsigned char	filters_elect;46	unsigned char	select;47	unsigned char	mute;48	unsigned char	unknown;49	unsigned char	wswitch;50	unsigned char	wheel[5];51};52 53struct us428_set_byte {54	unsigned char offset,55		value;56};57 58enum {59	ELT_VOLUME = 0,60	ELT_LIGHT61};62 63struct usx2y_volume {64	unsigned char channel,65		lh,66		ll,67		rh,68		rl;69};70 71struct us428_lights {72	struct us428_set_byte light[7];73};74 75struct us428_p4out {76	char type;77	union {78		struct usx2y_volume vol;79		struct us428_lights lights;80	} val;81};82 83#define N_US428_CTL_BUFS 1684#define N_US428_P4OUT_BUFS 1685struct us428ctls_sharedmem {86	struct us428_ctls	ctl_snapshot[N_US428_CTL_BUFS];87	int			ctl_snapshot_differs_at[N_US428_CTL_BUFS];88	int			ctl_snapshot_last, ctl_snapshot_red;89	struct us428_p4out	p4out[N_US428_P4OUT_BUFS];90	int			p4out_last, p4out_sent;91};92 93#define US428_SHAREDMEM_PAGES	PAGE_ALIGN(sizeof(struct us428ctls_sharedmem))94