2005-04-17 02:20:36 +04:00
/*
*
* Copyright ( c ) 2003 by Karsten Wiese < annabellesgarden @ yahoo . de >
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
*/
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
2005-11-17 17:08:26 +03:00
struct us428_ctls {
2005-04-17 02:20:36 +04:00
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 ] ;
} ;
2005-11-17 17:08:26 +03:00
struct us428_setByte {
2005-04-17 02:20:36 +04:00
unsigned char Offset ,
Value ;
2005-11-17 17:08:26 +03:00
} ;
2005-04-17 02:20:36 +04:00
enum {
eLT_Volume = 0 ,
eLT_Light
} ;
2005-11-17 17:08:26 +03:00
struct usX2Y_volume {
2005-04-17 02:20:36 +04:00
unsigned char Channel ,
LH ,
LL ,
RH ,
RL ;
2005-11-17 17:08:26 +03:00
} ;
2005-04-17 02:20:36 +04:00
2005-11-17 17:08:26 +03:00
struct us428_lights {
struct us428_setByte Light [ 7 ] ;
2005-04-17 02:20:36 +04:00
} ;
2005-11-17 17:08:26 +03:00
struct us428_p4out {
2005-04-17 02:20:36 +04:00
char type ;
union {
2005-11-17 17:08:26 +03:00
struct usX2Y_volume vol ;
struct us428_lights lights ;
2005-04-17 02:20:36 +04:00
} val ;
2005-11-17 17:08:26 +03:00
} ;
2005-04-17 02:20:36 +04:00
# define N_us428_ctl_BUFS 16
# define N_us428_p4out_BUFS 16
struct us428ctls_sharedmem {
2005-11-17 17:08:26 +03:00
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 ;
2005-04-17 02:20:36 +04:00
} ;