diff options
Diffstat (limited to 'mate-volume-control/src')
-rw-r--r-- | mate-volume-control/src/Makefile.am | 3 | ||||
-rw-r--r-- | mate-volume-control/src/gvc-speaker-test.c | 2 | ||||
-rw-r--r-- | mate-volume-control/src/mvc-helpers.c | 118 | ||||
-rw-r--r-- | mate-volume-control/src/mvc-helpers.h | 2 |
4 files changed, 59 insertions, 66 deletions
diff --git a/mate-volume-control/src/Makefile.am b/mate-volume-control/src/Makefile.am index 50e3c15..0418e63 100644 --- a/mate-volume-control/src/Makefile.am +++ b/mate-volume-control/src/Makefile.am @@ -10,7 +10,6 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/sound-theme \ $(VOLUME_CONTROL_CFLAGS) \ $(xxDISABLE_DEPRECATED) \ - $(PULSEAUDIO_CFLAGS) \ -DLOCALE_DIR=\""$(datadir)/locale"\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ -DGLADEDIR=\""$(pkgdatadir)"\" \ @@ -29,7 +28,6 @@ mate_volume_control_applet_LDADD = \ -lm \ libmatevolumecontrol.la \ $(VOLUME_CONTROL_LIBS) \ - $(PULSEAUDIO_LIBS) \ $(NULL) mate_volume_control_applet_SOURCES = \ @@ -45,7 +43,6 @@ mate_volume_control_LDADD = \ libmatevolumecontrol.la \ $(top_builddir)/sound-theme/libsoundtheme.la \ $(VOLUME_CONTROL_LIBS) \ - $(PULSEAUDIO_LIBS) \ $(NULL) mate_volume_control_SOURCES = \ diff --git a/mate-volume-control/src/gvc-speaker-test.c b/mate-volume-control/src/gvc-speaker-test.c index 0f6c9e7..e9f40b0 100644 --- a/mate-volume-control/src/gvc-speaker-test.c +++ b/mate-volume-control/src/gvc-speaker-test.c @@ -319,7 +319,7 @@ on_test_button_clicked (GtkButton *button, GtkWidget *control) mvc_channel_position_to_pretty_string (position)); ca_proplist_sets (proplist, CA_PROP_CANBERRA_FORCE_CHANNEL, - mvc_channel_position_to_string (position)); + mvc_channel_position_to_pulse_string (position)); ca_proplist_sets (proplist, CA_PROP_CANBERRA_ENABLE, "1"); diff --git a/mate-volume-control/src/mvc-helpers.c b/mate-volume-control/src/mvc-helpers.c index 7488743..4f572fc 100644 --- a/mate-volume-control/src/mvc-helpers.c +++ b/mate-volume-control/src/mvc-helpers.c @@ -26,77 +26,73 @@ #include <libmatemixer/matemixer.h> -#ifdef HAVE_PULSEAUDIO -#include <pulse/pulseaudio.h> -#endif - #include "mvc-helpers.h" -#ifdef HAVE_PULSEAUDIO -static pa_channel_position_t -position_to_pulse (MateMixerChannelPosition position) -{ - switch (position) { - case MATE_MIXER_CHANNEL_MONO: - return PA_CHANNEL_POSITION_MONO; - case MATE_MIXER_CHANNEL_FRONT_LEFT: - return PA_CHANNEL_POSITION_FRONT_LEFT; - case MATE_MIXER_CHANNEL_FRONT_RIGHT: - return PA_CHANNEL_POSITION_FRONT_RIGHT; - case MATE_MIXER_CHANNEL_FRONT_CENTER: - return PA_CHANNEL_POSITION_FRONT_CENTER; - case MATE_MIXER_CHANNEL_LFE: - return PA_CHANNEL_POSITION_LFE; - case MATE_MIXER_CHANNEL_BACK_LEFT: - return PA_CHANNEL_POSITION_REAR_LEFT; - case MATE_MIXER_CHANNEL_BACK_RIGHT: - return PA_CHANNEL_POSITION_REAR_RIGHT; - case MATE_MIXER_CHANNEL_BACK_CENTER: - return PA_CHANNEL_POSITION_REAR_CENTER; - case MATE_MIXER_CHANNEL_FRONT_LEFT_CENTER: - return PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER; - case MATE_MIXER_CHANNEL_FRONT_RIGHT_CENTER: - return PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER; - case MATE_MIXER_CHANNEL_SIDE_LEFT: - return PA_CHANNEL_POSITION_SIDE_LEFT; - case MATE_MIXER_CHANNEL_SIDE_RIGHT: - return PA_CHANNEL_POSITION_SIDE_RIGHT; - case MATE_MIXER_CHANNEL_TOP_FRONT_LEFT: - return PA_CHANNEL_POSITION_TOP_FRONT_LEFT; - case MATE_MIXER_CHANNEL_TOP_FRONT_RIGHT: - return PA_CHANNEL_POSITION_TOP_FRONT_RIGHT; - case MATE_MIXER_CHANNEL_TOP_FRONT_CENTER: - return PA_CHANNEL_POSITION_TOP_FRONT_CENTER; - case MATE_MIXER_CHANNEL_TOP_CENTER: - return PA_CHANNEL_POSITION_TOP_CENTER; - case MATE_MIXER_CHANNEL_TOP_BACK_LEFT: - return PA_CHANNEL_POSITION_TOP_REAR_LEFT; - case MATE_MIXER_CHANNEL_TOP_BACK_RIGHT: - return PA_CHANNEL_POSITION_TOP_REAR_RIGHT; - case MATE_MIXER_CHANNEL_TOP_BACK_CENTER: - return PA_CHANNEL_POSITION_TOP_REAR_CENTER; - default: - return PA_CHANNEL_POSITION_INVALID; - } -} -#endif +/* libcanberra requires a PulseAudio channel name to be given to its + * CA_PROP_CANBERRA_FORCE_CHANNEL property. + * + * The strings here are copied from PulseAudio source code to avoid depending + * on libpulse. */ +static const gchar *pulse_position[MATE_MIXER_CHANNEL_MAX] = { + [MATE_MIXER_CHANNEL_MONO] = "mono", + [MATE_MIXER_CHANNEL_FRONT_LEFT] = "front-left", + [MATE_MIXER_CHANNEL_FRONT_RIGHT] = "front-right", + [MATE_MIXER_CHANNEL_FRONT_CENTER] = "front-center", + [MATE_MIXER_CHANNEL_LFE] = "lfe", + [MATE_MIXER_CHANNEL_BACK_LEFT] = "rear-left", + [MATE_MIXER_CHANNEL_BACK_RIGHT] = "rear-right", + [MATE_MIXER_CHANNEL_BACK_CENTER] = "rear-center", + [MATE_MIXER_CHANNEL_FRONT_LEFT_CENTER] = "front-left-of-center", + [MATE_MIXER_CHANNEL_FRONT_RIGHT_CENTER] = "front-right-of-center", + [MATE_MIXER_CHANNEL_SIDE_LEFT] = "side-left", + [MATE_MIXER_CHANNEL_SIDE_RIGHT] = "side-right", + [MATE_MIXER_CHANNEL_TOP_FRONT_LEFT] = "top-front-left", + [MATE_MIXER_CHANNEL_TOP_FRONT_RIGHT] = "top-front-right", + [MATE_MIXER_CHANNEL_TOP_FRONT_CENTER] = "top-front-center", + [MATE_MIXER_CHANNEL_TOP_CENTER] = "top-center", + [MATE_MIXER_CHANNEL_TOP_BACK_LEFT] = "top-rear-left", + [MATE_MIXER_CHANNEL_TOP_BACK_RIGHT] = "top-rear-right", + [MATE_MIXER_CHANNEL_TOP_BACK_CENTER] = "top-rear-center" +}; + +static const gchar *pretty_position[MATE_MIXER_CHANNEL_MAX] = { + [MATE_MIXER_CHANNEL_UNKNOWN] = N_("Unknown"), + /* Speaker channel names */ + [MATE_MIXER_CHANNEL_MONO] = N_("Mono"), + [MATE_MIXER_CHANNEL_FRONT_LEFT] = N_("Front Left"), + [MATE_MIXER_CHANNEL_FRONT_RIGHT] = N_("Front Right"), + [MATE_MIXER_CHANNEL_FRONT_CENTER] = N_("Front Center"), + [MATE_MIXER_CHANNEL_LFE] = N_("LFE"), + [MATE_MIXER_CHANNEL_BACK_LEFT] = N_("Rear Left"), + [MATE_MIXER_CHANNEL_BACK_RIGHT] = N_("Rear Right"), + [MATE_MIXER_CHANNEL_BACK_CENTER] = N_("Rear Center"), + [MATE_MIXER_CHANNEL_FRONT_LEFT_CENTER] = N_("Front Left of Center"), + [MATE_MIXER_CHANNEL_FRONT_RIGHT_CENTER] = N_("Front Right of Center"), + [MATE_MIXER_CHANNEL_SIDE_LEFT] = N_("Side Left"), + [MATE_MIXER_CHANNEL_SIDE_RIGHT] = N_("Side Right"), + [MATE_MIXER_CHANNEL_TOP_FRONT_LEFT] = N_("Top Front Left"), + [MATE_MIXER_CHANNEL_TOP_FRONT_RIGHT] = N_("Top Front Right"), + [MATE_MIXER_CHANNEL_TOP_FRONT_CENTER] = N_("Top Front Center"), + [MATE_MIXER_CHANNEL_TOP_CENTER] = N_("Top Center"), + [MATE_MIXER_CHANNEL_TOP_BACK_LEFT] = N_("Top Rear Left"), + [MATE_MIXER_CHANNEL_TOP_BACK_RIGHT] = N_("Top Rear Right"), + [MATE_MIXER_CHANNEL_TOP_BACK_CENTER] = N_("Top Rear Center") +}; const gchar * -mvc_channel_position_to_string (MateMixerChannelPosition position) +mvc_channel_position_to_pulse_string (MateMixerChannelPosition position) { -#ifdef HAVE_PULSEAUDIO - return pa_channel_position_to_string (position_to_pulse (position)); -#endif - return NULL; + g_return_val_if_fail (position >= 0 && position < MATE_MIXER_CHANNEL_MAX, NULL); + + return pulse_position[position]; } const gchar * mvc_channel_position_to_pretty_string (MateMixerChannelPosition position) { -#ifdef HAVE_PULSEAUDIO - return pa_channel_position_to_pretty_string (position_to_pulse (position)); -#endif - return NULL; + g_return_val_if_fail (position >= 0 && position < MATE_MIXER_CHANNEL_MAX, NULL); + + return pretty_position[position]; } const gchar * diff --git a/mate-volume-control/src/mvc-helpers.h b/mate-volume-control/src/mvc-helpers.h index 050e66b..10d5d65 100644 --- a/mate-volume-control/src/mvc-helpers.h +++ b/mate-volume-control/src/mvc-helpers.h @@ -27,7 +27,7 @@ G_BEGIN_DECLS -const gchar *mvc_channel_position_to_string (MateMixerChannelPosition position); +const gchar *mvc_channel_position_to_pulse_string (MateMixerChannelPosition position); const gchar *mvc_channel_position_to_pretty_string (MateMixerChannelPosition position); const gchar *mvc_channel_map_to_pretty_string (MateMixerStreamControl *control); |