89bccade6417346297fbc620b40aba66d0994d6c
[framework/uifw/e17.git] / src / modules / mixer / e_mod_system.h
1 #ifndef E_MOD_SYSTEM_H
2 #define E_MOD_SYSTEM_H
3
4 #include <Evas.h>
5
6 typedef void E_Mixer_System;
7 typedef void E_Mixer_Channel;
8
9 struct E_Mixer_Channel_State
10 {
11    int mute;
12    int left;
13    int right;
14 };
15 typedef struct E_Mixer_Channel_State E_Mixer_Channel_State;
16
17 Eina_List *e_mixer_system_get_cards(void);
18 void e_mixer_system_free_cards(Eina_List *cards);
19 const char *e_mixer_system_get_default_card(void);
20 const char *e_mixer_system_get_card_name(const char *card);
21
22
23 E_Mixer_System *e_mixer_system_new(const char *card);
24 void e_mixer_system_del(E_Mixer_System *self);
25
26 int e_mixer_system_callback_set(E_Mixer_System *self, int (*func)(void *data, E_Mixer_System *self), void *data);
27
28 Eina_List *e_mixer_system_get_channels(E_Mixer_System *self);
29 void e_mixer_system_free_channels(Eina_List *channels);
30 Eina_List *e_mixer_system_get_channels_names(E_Mixer_System *self);
31 void e_mixer_system_free_channels_names(Eina_List *channels_names);
32 const char *e_mixer_system_get_default_channel_name(E_Mixer_System *self);
33 E_Mixer_Channel *e_mixer_system_get_channel_by_name(E_Mixer_System *self, const char *name);
34 const char *e_mixer_system_get_channel_name(E_Mixer_System *self, E_Mixer_Channel *channel);
35 void e_mixer_system_channel_del(E_Mixer_Channel *channel);
36
37
38 int e_mixer_system_get_state(E_Mixer_System *self, E_Mixer_Channel *channel, E_Mixer_Channel_State *state);
39 int e_mixer_system_set_state(E_Mixer_System *self, E_Mixer_Channel *channel, const E_Mixer_Channel_State *state);
40 int e_mixer_system_get_volume(E_Mixer_System *self, E_Mixer_Channel *channel, int *left, int *right);
41 int e_mixer_system_set_volume(E_Mixer_System *self, E_Mixer_Channel *channel, int left, int right);
42 int e_mixer_system_get_mute(E_Mixer_System *self, E_Mixer_Channel *channel, int *mute);
43 int e_mixer_system_set_mute(E_Mixer_System *self, E_Mixer_Channel *channel, int mute);
44 int e_mixer_system_can_mute(E_Mixer_System *self, E_Mixer_Channel *channel);
45 int e_mixer_system_has_capture(E_Mixer_System *self, E_Mixer_Channel *channel);
46
47
48 #endif /* E_MOD_SYSTEM_H */