summaryrefslogtreecommitdiff
path: root/alsamixer/mixer_widget.h
blob: 3b6f474dfbc77b2524fa6ffb614dfec7c79ef998 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef MIXER_WIDGET_H_INCLUDED
#define MIXER_WIDGET_H_INCLUDED

#include CURSESINC
#include <alsa/asoundlib.h>
#include "widget.h"

enum view_mode {
	VIEW_MODE_PLAYBACK,
	VIEW_MODE_CAPTURE,
	VIEW_MODE_ALL,
	VIEW_MODE_COUNT,
};

enum channel_mask {
	LEFT = 1,
	RIGHT = 2,
};

extern snd_mixer_t *mixer;
extern char *mixer_device_name;
extern bool unplugged;

extern struct widget mixer_widget;

extern enum view_mode view_mode;

extern int focus_control_index;
extern snd_mixer_selem_id_t *current_selem_id;
extern unsigned int current_control_flags;

extern bool control_values_changed;
extern bool controls_changed;

extern unsigned int mouse_wheel_step;
extern bool mouse_wheel_focuses_control;

void create_mixer_object(struct snd_mixer_selem_regopt *selem_regopt);
void create_mixer_widget(void);
void mixer_shutdown(void);
void close_mixer_device(void);
bool select_card_by_name(const char *device_name);
void refocus_control(void);

#endif