pnmixer
Volume mixer for the system tray
alsa.h
Go to the documentation of this file.
1 /* alsa.h
2  * PNmixer is written by Nick Lanham, a fork of OBmixer
3  * which was programmed by Lee Ferrett, derived
4  * from the program "AbsVolume" by Paul Sherman
5  * This program is free software; you can redistribute
6  * it and/or modify it under the terms of the GNU General
7  * Public License v3. source code is available at
8  * <http://github.com/nicklan/pnmixer>
9  */
10 
17 #ifndef _ALSA_H_
18 #define _ALSA_H_
19 
20 #include <glib.h>
21 
22 GSList *alsa_list_cards(void);
23 GSList *alsa_list_channels(const char *card_name);
24 
25 typedef struct alsa_card AlsaCard;
26 
27 AlsaCard *alsa_card_new(const char *card, const char *channel, gboolean normalize);
28 void alsa_card_free(AlsaCard *card);
29 
30 enum alsa_event {
34 };
35 
36 typedef void (*AlsaCb) (enum alsa_event event, gpointer data);
37 void alsa_card_install_callback(AlsaCard *card, AlsaCb callback, gpointer data);
38 
39 const char *alsa_card_get_name(AlsaCard *card);
40 const char *alsa_card_get_channel(AlsaCard *card);
41 gboolean alsa_card_has_mute(AlsaCard *card);
42 gboolean alsa_card_is_muted(AlsaCard *card);
44 gdouble alsa_card_get_volume(AlsaCard *card);
45 void alsa_card_set_volume(AlsaCard *card, gdouble value, int dir);
46 
47 #endif // _ALSA_H_
void alsa_card_free(AlsaCard *card)
Definition: alsa.c:862
GSList * alsa_list_cards(void)
Definition: alsa.c:966
gboolean alsa_card_has_mute(AlsaCard *card)
Definition: alsa.c:762
const char * alsa_card_get_name(AlsaCard *card)
Definition: alsa.c:737
alsa_event
Definition: alsa.h:30
GSList * alsa_list_channels(const char *card_name)
Definition: alsa.c:1002
void alsa_card_toggle_mute(AlsaCard *card)
Definition: alsa.c:788
void alsa_card_install_callback(AlsaCard *card, AlsaCb callback, gpointer data)
Definition: alsa.c:850
void alsa_card_set_volume(AlsaCard *card, gdouble value, int dir)
Definition: alsa.c:827
gboolean normalize
Definition: alsa.c:636
const char * alsa_card_get_channel(AlsaCard *card)
Definition: alsa.c:750
AlsaCard * alsa_card_new(const char *card, const char *channel, gboolean normalize)
Definition: alsa.c:891
void(* AlsaCb)(enum alsa_event event, gpointer data)
Definition: alsa.h:36
gboolean alsa_card_is_muted(AlsaCard *card)
Definition: alsa.c:774
gdouble alsa_card_get_volume(AlsaCard *card)
Definition: alsa.c:804