mirror of
https://github.com/alsa-project/alsa-utils
synced 2024-12-23 05:46:31 +01:00
38 lines
967 B
C
38 lines
967 B
C
|
#ifndef MIXER_CONTROLS_H_INCLUDED
|
||
|
#define MIXER_CONTROLS_H_INCLUDED
|
||
|
|
||
|
#include <alsa/asoundlib.h>
|
||
|
|
||
|
struct control {
|
||
|
snd_mixer_elem_t *elem;
|
||
|
char *name;
|
||
|
unsigned int flags;
|
||
|
#define TYPE_PVOLUME (1u << 4)
|
||
|
#define TYPE_CVOLUME (1u << 5)
|
||
|
#define TYPE_PSWITCH (1u << 6)
|
||
|
#define TYPE_CSWITCH (1u << 7)
|
||
|
#define TYPE_ENUM (1u << 8)
|
||
|
#define HAS_VOLUME_0 (1u << 9)
|
||
|
#define HAS_VOLUME_1 (1u << 10)
|
||
|
#define HAS_PSWITCH_0 (1u << 11)
|
||
|
#define HAS_PSWITCH_1 (1u << 12)
|
||
|
#define HAS_CSWITCH_0 (1u << 13)
|
||
|
#define HAS_CSWITCH_1 (1u << 14)
|
||
|
#define IS_MULTICH (1u << 15)
|
||
|
#define IS_ACTIVE (1u << 16)
|
||
|
#define MULTICH_MASK (0x0000f)
|
||
|
snd_mixer_selem_channel_id_t volume_channels[2];
|
||
|
snd_mixer_selem_channel_id_t pswitch_channels[2];
|
||
|
snd_mixer_selem_channel_id_t cswitch_channels[2];
|
||
|
unsigned int enum_channel_bits;
|
||
|
};
|
||
|
|
||
|
extern struct control *controls;
|
||
|
extern unsigned int controls_count;
|
||
|
|
||
|
bool are_there_any_controls(void);
|
||
|
void create_controls(void);
|
||
|
void free_controls(void);
|
||
|
|
||
|
#endif
|