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 */
|
/* on_value_changed */
|
||||||
void on_value_changed(GtkWidget * widget, gdouble value, gpointer data)
|
void on_value_changed(GtkWidget * widget, gdouble value, gpointer data)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG
|
Mixer * mixer = data;
|
||||||
fprintf(stderr, "DEBUG: %s(%lf)\n", __func__, value);
|
|
||||||
#endif
|
mixer_set_value(mixer, widget, value);
|
||||||
}
|
}
|
||||||
|
|
22
src/mixer.c
22
src/mixer.c
|
@ -20,6 +20,7 @@
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <errno.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
#include <gdk/gdkkeysyms.h>
|
#include <gdk/gdkkeysyms.h>
|
||||||
#include <Desktop.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 */
|
/* useful */
|
||||||
/* mixer_properties */
|
/* mixer_properties */
|
||||||
void mixer_properties(Mixer * mixer)
|
void mixer_properties(Mixer * mixer)
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
#ifndef MIXER_MIXER_H
|
#ifndef MIXER_MIXER_H
|
||||||
# define MIXER_MIXER_H
|
# define MIXER_MIXER_H
|
||||||
|
|
||||||
|
# include <gtk/gtk.h> /* XXX should not be necessary */
|
||||||
|
|
||||||
|
|
||||||
/* Mixer */
|
/* Mixer */
|
||||||
/* types */
|
/* types */
|
||||||
|
@ -28,6 +30,9 @@ typedef struct _Mixer Mixer;
|
||||||
Mixer * mixer_new(void);
|
Mixer * mixer_new(void);
|
||||||
void mixer_delete(Mixer * mixer);
|
void mixer_delete(Mixer * mixer);
|
||||||
|
|
||||||
|
/* accessors */
|
||||||
|
void mixer_set_value(Mixer * mixer, GtkWidget * widget, gdouble value);
|
||||||
|
|
||||||
/* useful */
|
/* useful */
|
||||||
void mixer_properties(Mixer * mixer);
|
void mixer_properties(Mixer * mixer);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user