linux/sound/usb/mixer_us16x08.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __USB_MIXER_US16X08_H
#define __USB_MIXER_US16X08_H

#define SND_US16X08_MAX_CHANNELS

/* define some bias, cause some alsa-mixers wont work with
 * negative ranges or if mixer-min != 0
 */
#define SND_US16X08_NO_BIAS
#define SND_US16X08_FADER_BIAS
#define SND_US16X08_EQ_HIGHFREQ_BIAS
#define SND_US16X08_COMP_THRESHOLD_BIAS
#define SND_US16X08_COMP_ATTACK_BIAS
#define SND_US16X08_COMP_RELEASE_BIAS

/* get macro for components of kcontrol private_value */
#define SND_US16X08_KCBIAS(x)
#define SND_US16X08_KCSTEP(x)
#define SND_US16X08_KCMIN(x)
#define SND_US16X08_KCMAX(x)
/* set macro for kcontrol private_value */
#define SND_US16X08_KCSET(bias, step, min, max)

/* the URB request/type to control Tascam mixers */
#define SND_US16X08_URB_REQUEST
#define SND_US16X08_URB_REQUESTTYPE

/* the URB params to retrieve meter ranges */
#define SND_US16X08_URB_METER_REQUEST
#define SND_US16X08_URB_METER_REQUESTTYPE

#define MUA0(x, y)
#define MUA1(x, y)
#define MUA2(x, y)
#define MUB0(x, y)
#define MUB1(x, y)
#define MUB2(x, y)
#define MUC0(x, y)
#define MUC1(x, y)
#define MUC2(x, y)
#define MUC3(x, y)

/* Common Channel control IDs */
#define SND_US16X08_ID_BYPASS
#define SND_US16X08_ID_BUSS_OUT
#define SND_US16X08_ID_PHASE
#define SND_US16X08_ID_MUTE
#define SND_US16X08_ID_FADER
#define SND_US16X08_ID_PAN
#define SND_US16X08_ID_METER

#define SND_US16X08_ID_EQ_BAND_COUNT
#define SND_US16X08_ID_EQ_PARAM_COUNT

/* EQ level IDs */
#define SND_US16X08_ID_EQLOWLEVEL
#define SND_US16X08_ID_EQLOWMIDLEVEL
#define SND_US16X08_ID_EQHIGHMIDLEVEL
#define SND_US16X08_ID_EQHIGHLEVEL

/* EQ frequence IDs */
#define SND_US16X08_ID_EQLOWFREQ
#define SND_US16X08_ID_EQLOWMIDFREQ
#define SND_US16X08_ID_EQHIGHMIDFREQ
#define SND_US16X08_ID_EQHIGHFREQ

/* EQ width IDs */
#define SND_US16X08_ID_EQLOWMIDWIDTH
#define SND_US16X08_ID_EQHIGHMIDWIDTH

#define SND_US16X08_ID_EQENABLE

#define EQ_STORE_BAND_IDX(x)
#define EQ_STORE_PARAM_IDX(x)

#define SND_US16X08_ID_ROUTE

/* Compressor Ids */
#define SND_US16X08_ID_COMP_BASE
#define SND_US16X08_ID_COMP_THRESHOLD
#define SND_US16X08_ID_COMP_RATIO
#define SND_US16X08_ID_COMP_ATTACK
#define SND_US16X08_ID_COMP_RELEASE
#define SND_US16X08_ID_COMP_GAIN
#define SND_US16X08_ID_COMP_SWITCH
#define SND_US16X08_ID_COMP_COUNT

#define COMP_STORE_IDX(x)

struct snd_us16x08_eq_store {};

struct snd_us16x08_comp_store {};

struct snd_us16x08_meter_store {};

struct snd_us16x08_control_params {};

#define snd_us16x08_switch_info

int snd_us16x08_controls_create(struct usb_mixer_interface *mixer);
#endif /* __USB_MIXER_US16X08_H */