| /* SPDX-License-Identifier: GPL-2.0-or-later */ | |
| /* | |
| * | |
| * Copyright (c) 2003 by Karsten Wiese <annabellesgarden@yahoo.de> | |
| */ | |
| enum E_In84{ | |
| eFader0 = 0, | |
| eFader1, | |
| eFader2, | |
| eFader3, | |
| eFader4, | |
| eFader5, | |
| eFader6, | |
| eFader7, | |
| eFaderM, | |
| eTransport, | |
| eModifier = 10, | |
| eFilterSelect, | |
| eSelect, | |
| eMute, | |
| eSwitch = 15, | |
| eWheelGain, | |
| eWheelFreq, | |
| eWheelQ, | |
| eWheelPan, | |
| eWheel = 20 | |
| }; | |
| #define T_RECORD 1 | |
| #define T_PLAY 2 | |
| #define T_STOP 4 | |
| #define T_F_FWD 8 | |
| #define T_REW 0x10 | |
| #define T_SOLO 0x20 | |
| #define T_REC 0x40 | |
| #define T_NULL 0x80 | |
| struct us428_ctls { | |
| unsigned char Fader[9]; | |
| unsigned char Transport; | |
| unsigned char Modifier; | |
| unsigned char FilterSelect; | |
| unsigned char Select; | |
| unsigned char Mute; | |
| unsigned char UNKNOWN; | |
| unsigned char Switch; | |
| unsigned char Wheel[5]; | |
| }; | |
| struct us428_setByte { | |
| unsigned char Offset, | |
| Value; | |
| }; | |
| enum { | |
| eLT_Volume = 0, | |
| eLT_Light | |
| }; | |
| struct usX2Y_volume { | |
| unsigned char Channel, | |
| LH, | |
| LL, | |
| RH, | |
| RL; | |
| }; | |
| struct us428_lights { | |
| struct us428_setByte Light[7]; | |
| }; | |
| struct us428_p4out { | |
| char type; | |
| union { | |
| struct usX2Y_volume vol; | |
| struct us428_lights lights; | |
| } val; | |
| }; | |
| #define N_us428_ctl_BUFS 16 | |
| #define N_us428_p4out_BUFS 16 | |
| struct us428ctls_sharedmem{ | |
| struct us428_ctls CtlSnapShot[N_us428_ctl_BUFS]; | |
| int CtlSnapShotDiffersAt[N_us428_ctl_BUFS]; | |
| int CtlSnapShotLast, CtlSnapShotRed; | |
| struct us428_p4out p4out[N_us428_p4out_BUFS]; | |
| int p4outLast, p4outSent; | |
| }; |