From dcf30062003e1babb09f78c7ba1d7626e04aa478 Mon Sep 17 00:00:00 2001 From: Michal Ratajsky Date: Mon, 3 Nov 2014 01:17:35 +0100 Subject: Remove dependency on PulseAudio and remaining references to it --- configure.ac | 31 -------- man/mate-volume-control-applet.1 | 4 +- mate-volume-control/src/Makefile.am | 3 - mate-volume-control/src/gvc-speaker-test.c | 2 +- mate-volume-control/src/mvc-helpers.c | 118 ++++++++++++++--------------- mate-volume-control/src/mvc-helpers.h | 2 +- 6 files changed, 61 insertions(+), 99 deletions(-) diff --git a/configure.ac b/configure.ac index 655b9a0..fbdf4f9 100644 --- a/configure.ac +++ b/configure.ac @@ -115,36 +115,6 @@ PKG_CHECK_MODULES(VOLUME_CONTROL, AC_SUBST(VOLUME_CONTROL_CFLAGS) AC_SUBST(VOLUME_CONTROL_LIBS) -dnl======================================================================= -dnl Check for PulseAudio optional dependency -dnl======================================================================= - -AC_ARG_ENABLE([pulseaudio], - AS_HELP_STRING([--enable-pulseaudio], - [Enable PulseAudio support @<:@default=auto@:>@]), - enable_pulseaudio=$enableval, enable_pulseaudio=auto) - -if test "x$enable_pulseaudio" != "xno"; then - PKG_CHECK_MODULES(PULSEAUDIO, - libpulse >= $PA_REQUIRED_VERSION, - have_pulseaudio=yes, - have_pulseaudio=no) - - if test "x$enable_pulseaudio" = "xyes" -a "x$have_pulseaudio" = "xno"; then - AC_MSG_ERROR([PulseAudio support explicitly requested but dependencies not found]) - fi - - if test "x$have_pulseaudio" = "xyes" ; then - AC_DEFINE(HAVE_PULSEAUDIO, [], [Define if we have pulseaudio]) - fi -else - have_pulseaudio=no -fi -AM_CONDITIONAL(HAVE_PULSEAUDIO, test x$have_pulseaudio = xyes) -AC_SUBST(HAVE_PULSEAUDIO) -AC_SUBST(PULSEAUDIO_CFLAGS) -AC_SUBST(PULSEAUDIO_LIBS) - dnl======================================================================= dnl GLib dnl======================================================================= @@ -270,5 +240,4 @@ echo " Compiler: ${CC} CFLAGS: ${CFLAGS} GTK+ API version: ${GTK_API_VERSION} - PulseAudio: ${have_pulseaudio} " diff --git a/man/mate-volume-control-applet.1 b/man/mate-volume-control-applet.1 index b13619f..35fa1a4 100644 --- a/man/mate-volume-control-applet.1 +++ b/man/mate-volume-control-applet.1 @@ -7,7 +7,7 @@ .SH "SYNOPSIS" .B mate-volume-control [OPTIONS] .SH "DESCRIPTION" -The MATE Volume Control Applet is used with Pulseaudio for adjusting audio levels from the notification area. +The MATE Volume Control Applet is used for adjusting audio levels from the notification area. .SH "OPTIONS" .TP \fB\-\-version\fR @@ -30,7 +30,7 @@ Print all command line options. \fB\-\-help\-gtk\fR Print GTK+ options. .SH "BUGS" -.SS Should you encounter any bugs, they may be reported at: +.SS Should you encounter any bugs, they may be reported at: http://github.com/mate-desktop/mate-media/issues .SH "AUTHORS" .SS This Manual Page has been written for the MATE Desktop Environment by: 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 -#ifdef HAVE_PULSEAUDIO -#include -#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); -- cgit v1.2.1