Finally implemented volume sets as well (for NetBSD/Solaris...)
This commit is contained in:
parent
185aa3749f
commit
97237f216a
16
po/fr.po
16
po/fr.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Mixer 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-03-21 17:49+0100\n"
|
||||
"POT-Creation-Date: 2012-03-21 18:00+0100\n"
|
||||
"PO-Revision-Date: 2010-04-23 04:08+0200\n"
|
||||
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
|
||||
"Language-Team: French\n"
|
||||
|
@ -96,30 +96,30 @@ msgstr "Tous"
|
|||
msgid "Mute"
|
||||
msgstr "Muet"
|
||||
|
||||
#: ../src/mixer.c:686
|
||||
#: ../src/mixer.c:692
|
||||
msgid "Bind"
|
||||
msgstr "Lier"
|
||||
|
||||
#: ../src/mixer.c:877
|
||||
#: ../src/mixer.c:889
|
||||
msgid "translator-credits"
|
||||
msgstr "Pierre Pronchery <khorben@defora.org>"
|
||||
|
||||
#: ../src/mixer.c:910
|
||||
#: ../src/mixer.c:922
|
||||
msgid "Mixer properties"
|
||||
msgstr "Propriétés du mixer"
|
||||
|
||||
#: ../src/mixer.c:926
|
||||
#: ../src/mixer.c:938
|
||||
msgid "Name: "
|
||||
msgstr "Nom : "
|
||||
|
||||
#: ../src/mixer.c:936
|
||||
#: ../src/mixer.c:948
|
||||
msgid "Version: "
|
||||
msgstr "Version : "
|
||||
|
||||
#: ../src/mixer.c:946
|
||||
#: ../src/mixer.c:958
|
||||
msgid "Device: "
|
||||
msgstr "Carte : "
|
||||
|
||||
#: ../src/mixer.c:1029 ../src/mixer.c:1034
|
||||
#: ../src/mixer.c:1041 ../src/mixer.c:1046
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
|
22
src/mixer.c
22
src/mixer.c
|
@ -584,7 +584,7 @@ static GtkWidget * _new_enum(Mixer * mixer, int dev,
|
|||
if((q = malloc(sizeof(*q))) != NULL)
|
||||
{
|
||||
*q = e->member[i].ord;
|
||||
g_object_set_data(G_OBJECT(widget), "ord", mc);
|
||||
g_object_set_data(G_OBJECT(widget), "ord", q);
|
||||
}
|
||||
g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(
|
||||
on_enum_toggled), mixer);
|
||||
|
@ -631,6 +631,7 @@ static GtkWidget * _new_set(Mixer * mixer, int dev, struct audio_mixer_set * s)
|
|||
GtkWidget * vbox;
|
||||
int i;
|
||||
GtkWidget * widget;
|
||||
int * q;
|
||||
|
||||
if(s->num_mem <= 0 || (mc = malloc(sizeof(*mc))) == NULL)
|
||||
return NULL;
|
||||
|
@ -648,6 +649,11 @@ static GtkWidget * _new_set(Mixer * mixer, int dev, struct audio_mixer_set * s)
|
|||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),
|
||||
TRUE);
|
||||
g_object_set_data(G_OBJECT(widget), "ctrl", mc);
|
||||
if((q = malloc(sizeof(*q))) != NULL)
|
||||
{
|
||||
*q = s->member[i].mask;
|
||||
g_object_set_data(G_OBJECT(widget), "mask", q);
|
||||
}
|
||||
g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(
|
||||
on_set_toggled), mixer);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, TRUE, 0);
|
||||
|
@ -794,6 +800,7 @@ int mixer_set_mute(Mixer * mixer, GtkWidget * widget)
|
|||
/* mixer_set_set */
|
||||
int mixer_set_set(Mixer * mixer, GtkWidget * widget)
|
||||
{
|
||||
gboolean active;
|
||||
#ifdef AUDIO_MIXER_DEVINFO
|
||||
mixer_ctrl_t * p;
|
||||
int * q;
|
||||
|
@ -802,18 +809,23 @@ int mixer_set_set(Mixer * mixer, GtkWidget * widget)
|
|||
fprintf(stderr, "DEBUG: %s(%p) fd=%d\n", __func__, (void *)mixer,
|
||||
mixer->fd);
|
||||
# endif
|
||||
active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
|
||||
p = g_object_get_data(G_OBJECT(widget), "ctrl");
|
||||
q = g_object_get_data(G_OBJECT(widget), "ord");
|
||||
q = g_object_get_data(G_OBJECT(widget), "mask");
|
||||
if(p == NULL || q == NULL)
|
||||
return 1;
|
||||
p->un.ord = *q;
|
||||
if(ioctl(mixer->fd, AUDIO_MIXER_READ, p) != 0)
|
||||
return -_mixer_error(mixer, "AUDIO_MIXER_READ", 1);
|
||||
p->un.mask = (active) ? (p->un.mask | *q)
|
||||
: (p->un.mask - (p->un.mask & *q));
|
||||
# ifdef DEBUG
|
||||
fprintf(stderr, "DEBUG: %s(%p) fd=%d ord=%d\n", __func__, (void *)mixer,
|
||||
mixer->fd, p->un.ord);
|
||||
fprintf(stderr, "DEBUG: %s(%p) fd=%d mask=%d\n", __func__,
|
||||
(void *)mixer, mixer->fd, p->un.mask);
|
||||
# endif
|
||||
if(ioctl(mixer->fd, AUDIO_MIXER_WRITE, p) != 0)
|
||||
return -_mixer_error(mixer, "AUDIO_MIXER_WRITE", 1);
|
||||
#else
|
||||
active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
|
||||
/* FIXME implement */
|
||||
#endif
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue
Block a user