Now setting values
This commit is contained in:
parent
7ed544e7a8
commit
e18917078d
|
@ -177,7 +177,7 @@ void on_set_toggled(GtkWidget * widget, gpointer data)
|
|||
/* on_value_changed */
|
||||
void on_value_changed(GtkWidget * widget, gdouble value, gpointer data)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "DEBUG: %s(%lf)\n", __func__, value);
|
||||
#endif
|
||||
Mixer * mixer = data;
|
||||
|
||||
mixer_set_value(mixer, widget, value);
|
||||
}
|
||||
|
|
22
src/mixer.c
22
src/mixer.c
|
@ -20,6 +20,7 @@
|
|||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <gdk/gdkkeysyms.h>
|
||||
#include <Desktop.h>
|
||||
|
@ -332,6 +333,27 @@ void mixer_delete(Mixer * mixer)
|
|||
}
|
||||
|
||||
|
||||
/* accessors */
|
||||
/* mixer_set_value */
|
||||
void mixer_set_value(Mixer * mixer, GtkWidget * widget, gdouble value)
|
||||
{
|
||||
mixer_ctrl_t * p;
|
||||
u_char * level;
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "DEBUG: %s(%lf)\n", __func__, value);
|
||||
#endif
|
||||
p = g_object_get_data(G_OBJECT(widget), "ctrl");
|
||||
level = g_object_get_data(G_OBJECT(widget), "channel");
|
||||
if(p == NULL || level == NULL)
|
||||
return;
|
||||
*level = value * 255;
|
||||
if(ioctl(mixer->fd, AUDIO_MIXER_WRITE, p) != 0)
|
||||
fprintf(stderr, "%s: %s: %s\n", PACKAGE, "AUDIO_MIXER_WRITE",
|
||||
strerror(errno));
|
||||
}
|
||||
|
||||
|
||||
/* useful */
|
||||
/* mixer_properties */
|
||||
void mixer_properties(Mixer * mixer)
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#ifndef MIXER_MIXER_H
|
||||
# define MIXER_MIXER_H
|
||||
|
||||
# include <gtk/gtk.h> /* XXX should not be necessary */
|
||||
|
||||
|
||||
/* Mixer */
|
||||
/* types */
|
||||
|
@ -28,6 +30,9 @@ typedef struct _Mixer Mixer;
|
|||
Mixer * mixer_new(void);
|
||||
void mixer_delete(Mixer * mixer);
|
||||
|
||||
/* accessors */
|
||||
void mixer_set_value(Mixer * mixer, GtkWidget * widget, gdouble value);
|
||||
|
||||
/* useful */
|
||||
void mixer_properties(Mixer * mixer);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user