diff options
author | Michal Ratajsky <[email protected]> | 2014-08-12 04:56:55 +0200 |
---|---|---|
committer | Michal Ratajsky <[email protected]> | 2014-08-12 04:56:55 +0200 |
commit | 6c6d4239ddc807e922df3874654f99eea291aadb (patch) | |
tree | 558f48fc965476344a946d93088680db3b5bac41 /libmatemixer/matemixer-stream-control.h | |
parent | 8436ec1641eee8868128755f6d1475230cea25e6 (diff) | |
download | libmatemixer-6c6d4239ddc807e922df3874654f99eea291aadb.tar.bz2 libmatemixer-6c6d4239ddc807e922df3874654f99eea291aadb.tar.xz |
Add ALSA, improve OSS and remove OSS4
Diffstat (limited to 'libmatemixer/matemixer-stream-control.h')
-rw-r--r-- | libmatemixer/matemixer-stream-control.h | 158 |
1 files changed, 85 insertions, 73 deletions
diff --git a/libmatemixer/matemixer-stream-control.h b/libmatemixer/matemixer-stream-control.h index 727ed54..51d7f95 100644 --- a/libmatemixer/matemixer-stream-control.h +++ b/libmatemixer/matemixer-stream-control.h @@ -23,6 +23,7 @@ #include <glib-object.h> #include <libmatemixer/matemixer-enums.h> +#include <libmatemixer/matemixer-types.h> G_BEGIN_DECLS @@ -32,116 +33,127 @@ G_BEGIN_DECLS # define MATE_MIXER_INFINITY G_MAXDOUBLE #endif -#define MATE_MIXER_TYPE_STREAM_CONTROL \ +#define MATE_MIXER_TYPE_STREAM_CONTROL \ (mate_mixer_stream_control_get_type ()) -#define MATE_MIXER_STREAM_CONTROL(o) \ +#define MATE_MIXER_STREAM_CONTROL(o) \ (G_TYPE_CHECK_INSTANCE_CAST ((o), MATE_MIXER_TYPE_STREAM_CONTROL, MateMixerStreamControl)) -#define MATE_MIXER_IS_STREAM_CONTROL(o) \ +#define MATE_MIXER_IS_STREAM_CONTROL(o) \ (G_TYPE_CHECK_INSTANCE_TYPE ((o), MATE_MIXER_TYPE_STREAM_CONTROL)) -#define MATE_MIXER_STREAM_CONTROL_GET_INTERFACE(o) \ - (G_TYPE_INSTANCE_GET_INTERFACE ((o), MATE_MIXER_TYPE_STREAM_CONTROL, MateMixerStreamControlInterface)) +#define MATE_MIXER_STREAM_CONTROL_CLASS(k) \ + (G_TYPE_CHECK_CLASS_CAST ((k), MATE_MIXER_TYPE_STREAM_CONTROL, MateMixerStreamControlClass)) +#define MATE_MIXER_IS_STREAM_CONTROL_CLASS(k) \ + (G_TYPE_CHECK_CLASS_TYPE ((k), MATE_MIXER_TYPE_STREAM_CONTROL)) +#define MATE_MIXER_STREAM_CONTROL_GET_CLASS(o) \ + (G_TYPE_INSTANCE_GET_CLASS ((o), MATE_MIXER_TYPE_STREAM_CONTROL, MateMixerStreamControlClass)) -typedef struct _MateMixerStreamControl MateMixerStreamControl; /* dummy object */ -typedef struct _MateMixerStreamControlInterface MateMixerStreamControlInterface; +typedef struct _MateMixerStreamControlClass MateMixerStreamControlClass; +typedef struct _MateMixerStreamControlPrivate MateMixerStreamControlPrivate; -struct _MateMixerStreamControlInterface +struct _MateMixerStreamControl { - GTypeInterface parent_iface; + GObject object; /*< private >*/ - const gchar * (*get_name) (MateMixerStreamControl *ctl); - const gchar * (*get_description) (MateMixerStreamControl *ctl); - - gboolean (*set_mute) (MateMixerStreamControl *ctl, - gboolean mute); - - guint (*get_num_channels) (MateMixerStreamControl *ctl); - - gboolean (*set_volume) (MateMixerStreamControl *ctl, - guint volume); - - gdouble (*get_decibel) (MateMixerStreamControl *ctl); - gboolean (*set_decibel) (MateMixerStreamControl *ctl, - gdouble decibel); - - gboolean (*has_channel_position) (MateMixerStreamControl *ctl, - MateMixerChannelPosition position); - MateMixerChannelPosition (*get_channel_position) (MateMixerStreamControl *ctl, - guint channel); - - guint (*get_channel_volume) (MateMixerStreamControl *ctl, - guint channel); - gboolean (*set_channel_volume) (MateMixerStreamControl *ctl, - guint channel, - guint volume); - - gdouble (*get_channel_decibel) (MateMixerStreamControl *ctl, - guint channel); - gboolean (*set_channel_decibel) (MateMixerStreamControl *ctl, - guint channel, - gdouble decibel); - - gboolean (*set_balance) (MateMixerStreamControl *ctl, - gfloat balance); + MateMixerStreamControlPrivate *priv; +}; - gboolean (*set_fade) (MateMixerStreamControl *ctl, - gfloat fade); +struct _MateMixerStreamControlClass +{ + GObjectClass parent_class; - guint (*get_min_volume) (MateMixerStreamControl *ctl); - guint (*get_max_volume) (MateMixerStreamControl *ctl); - guint (*get_normal_volume) (MateMixerStreamControl *ctl); - guint (*get_base_volume) (MateMixerStreamControl *ctl); + /*< private >*/ + gboolean (*set_mute) (MateMixerStreamControl *control, + gboolean mute); + + guint (*get_num_channels) (MateMixerStreamControl *control); + + guint (*get_volume) (MateMixerStreamControl *control); + gboolean (*set_volume) (MateMixerStreamControl *control, + guint volume); + + gdouble (*get_decibel) (MateMixerStreamControl *control); + gboolean (*set_decibel) (MateMixerStreamControl *control, + gdouble decibel); + + gboolean (*has_channel_position) (MateMixerStreamControl *control, + MateMixerChannelPosition position); + MateMixerChannelPosition (*get_channel_position) (MateMixerStreamControl *control, + guint channel); + + guint (*get_channel_volume) (MateMixerStreamControl *control, + guint channel); + gboolean (*set_channel_volume) (MateMixerStreamControl *control, + guint channel, + guint volume); + + gdouble (*get_channel_decibel) (MateMixerStreamControl *control, + guint channel); + gboolean (*set_channel_decibel) (MateMixerStreamControl *control, + guint channel, + gdouble decibel); + + gboolean (*set_balance) (MateMixerStreamControl *control, + gfloat balance); + + gboolean (*set_fade) (MateMixerStreamControl *control, + gfloat fade); + + guint (*get_min_volume) (MateMixerStreamControl *control); + guint (*get_max_volume) (MateMixerStreamControl *control); + guint (*get_normal_volume) (MateMixerStreamControl *control); + guint (*get_base_volume) (MateMixerStreamControl *control); }; GType mate_mixer_stream_control_get_type (void) G_GNUC_CONST; -const gchar * mate_mixer_stream_control_get_name (MateMixerStreamControl *ctl); -const gchar * mate_mixer_stream_control_get_description (MateMixerStreamControl *ctl); -MateMixerStreamControlFlags mate_mixer_stream_control_get_flags (MateMixerStreamControl *ctl); +const gchar * mate_mixer_stream_control_get_name (MateMixerStreamControl *control); +const gchar * mate_mixer_stream_control_get_label (MateMixerStreamControl *control); +MateMixerStreamControlFlags mate_mixer_stream_control_get_flags (MateMixerStreamControl *control); +MateMixerStreamControlRole mate_mixer_stream_control_get_role (MateMixerStreamControl *control); -gboolean mate_mixer_stream_control_get_mute (MateMixerStreamControl *ctl); -gboolean mate_mixer_stream_control_set_mute (MateMixerStreamControl *ctl, +gboolean mate_mixer_stream_control_get_mute (MateMixerStreamControl *control); +gboolean mate_mixer_stream_control_set_mute (MateMixerStreamControl *control, gboolean mute); -guint mate_mixer_stream_control_get_num_channels (MateMixerStreamControl *ctl); +guint mate_mixer_stream_control_get_num_channels (MateMixerStreamControl *control); -guint mate_mixer_stream_control_get_volume (MateMixerStreamControl *ctl); -gboolean mate_mixer_stream_control_set_volume (MateMixerStreamControl *ctl, +guint mate_mixer_stream_control_get_volume (MateMixerStreamControl *control); +gboolean mate_mixer_stream_control_set_volume (MateMixerStreamControl *control, guint volume); -gdouble mate_mixer_stream_control_get_decibel (MateMixerStreamControl *ctl); -gboolean mate_mixer_stream_control_set_decibel (MateMixerStreamControl *ctl, +gdouble mate_mixer_stream_control_get_decibel (MateMixerStreamControl *control); +gboolean mate_mixer_stream_control_set_decibel (MateMixerStreamControl *control, gdouble decibel); -gboolean mate_mixer_stream_control_has_channel_position (MateMixerStreamControl *ctl, +gboolean mate_mixer_stream_control_has_channel_position (MateMixerStreamControl *control, MateMixerChannelPosition position); -MateMixerChannelPosition mate_mixer_stream_control_get_channel_position (MateMixerStreamControl *ctl, +MateMixerChannelPosition mate_mixer_stream_control_get_channel_position (MateMixerStreamControl *control, guint channel); -guint mate_mixer_stream_control_get_channel_volume (MateMixerStreamControl *ctl, +guint mate_mixer_stream_control_get_channel_volume (MateMixerStreamControl *control, guint channel); -gboolean mate_mixer_stream_control_set_channel_volume (MateMixerStreamControl *ctl, +gboolean mate_mixer_stream_control_set_channel_volume (MateMixerStreamControl *control, guint channel, guint volume); -gdouble mate_mixer_stream_control_get_channel_decibel (MateMixerStreamControl *ctl, +gdouble mate_mixer_stream_control_get_channel_decibel (MateMixerStreamControl *control, guint channel); -gboolean mate_mixer_stream_control_set_channel_decibel (MateMixerStreamControl *ctl, +gboolean mate_mixer_stream_control_set_channel_decibel (MateMixerStreamControl *control, guint channel, gdouble decibel); -gfloat mate_mixer_stream_control_get_balance (MateMixerStreamControl *ctl); -gboolean mate_mixer_stream_control_set_balance (MateMixerStreamControl *ctl, +gfloat mate_mixer_stream_control_get_balance (MateMixerStreamControl *control); +gboolean mate_mixer_stream_control_set_balance (MateMixerStreamControl *control, gfloat balance); -gfloat mate_mixer_stream_control_get_fade (MateMixerStreamControl *ctl); -gboolean mate_mixer_stream_control_set_fade (MateMixerStreamControl *ctl, +gfloat mate_mixer_stream_control_get_fade (MateMixerStreamControl *control); +gboolean mate_mixer_stream_control_set_fade (MateMixerStreamControl *control, gfloat fade); -guint mate_mixer_stream_control_get_min_volume (MateMixerStreamControl *ctl); -guint mate_mixer_stream_control_get_max_volume (MateMixerStreamControl *ctl); -guint mate_mixer_stream_control_get_normal_volume (MateMixerStreamControl *ctl); -guint mate_mixer_stream_control_get_base_volume (MateMixerStreamControl *ctl); +guint mate_mixer_stream_control_get_min_volume (MateMixerStreamControl *control); +guint mate_mixer_stream_control_get_max_volume (MateMixerStreamControl *control); +guint mate_mixer_stream_control_get_normal_volume (MateMixerStreamControl *control); +guint mate_mixer_stream_control_get_base_volume (MateMixerStreamControl *control); G_END_DECLS |