diff options
Diffstat (limited to 'extra/source/pure-alsa-system')
12 files changed, 635 insertions, 0 deletions
diff --git a/extra/source/pure-alsa-system/pure-alsa-system.buildlist b/extra/source/pure-alsa-system/pure-alsa-system.buildlist new file mode 100644 index 00000000..874d9acd --- /dev/null +++ b/extra/source/pure-alsa-system/pure-alsa-system.buildlist @@ -0,0 +1,34 @@ +# Before running this buildlist, remove the following packages: +# removepkg pulseaudio pamixer pavucontrol xfce4-pulseaudio-plugin +# +# Then, build/install the ALSA-only packages with these commands: +# cd ../../../source +# BUILDLIST=../extra/source/pure-alsa-system/pure-alsa-system.buildlist ./make_world.sh +# +# After the build/install is complete, move the asound.conf.new into place: +# mv /etc/asound.conf.new /etc/asound.conf +# +# If you use Xfce, add the audio mixer plugin to your panel. +# +# A reboot might be needed to release the pulseaudio processes/libraries. +# +# Enjoy! :-) +# +l/alsa-lib/alsa-lib.SlackBuild +l/libao/libao.SlackBuild +l/libcanberra/libcanberra.SlackBuild +l/fluidsynth/fluidsynth.SlackBuild +l/gst-plugins-good0/gst-plugins-good0.SlackBuild +l/gst-plugins-good/gst-plugins-good.SlackBuild +l/alsa-plugins/alsa-plugins.SlackBuild +xap/audacious-plugins/audacious-plugins.SlackBuild +l/ffmpeg/ffmpeg.SlackBuild +l/phonon/phonon.SlackBuild +xap/xine-lib/xine-lib.SlackBuild +ap/sox/sox.SlackBuild +ap/mpg123/mpg123.SlackBuild +xap/MPlayer/MPlayer.SlackBuild +kde/kde.SlackBuild kdebase:kde-runtime +kde/kde.SlackBuild kdemultimedia:kmix +../extra/source/pure-alsa-system/xfce4-mixer/xfce4-mixer.SlackBuild +../extra/source/pure-alsa-system/xfce4-volumed/xfce4-volumed.SlackBuild diff --git a/extra/source/pure-alsa-system/xfce4-mixer/0001-Make-Unique-support-optional.patch b/extra/source/pure-alsa-system/xfce4-mixer/0001-Make-Unique-support-optional.patch new file mode 100644 index 00000000..c53cd566 --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-mixer/0001-Make-Unique-support-optional.patch @@ -0,0 +1,87 @@ +From 7a18841c988edb593127842ec5c919df537f9ce0 Mon Sep 17 00:00:00 2001 +From: Andrzej <ndrwrdck@gmail.com> +Date: Sat, 12 Apr 2014 08:53:09 +0100 +Subject: [PATCH] Make Unique support optional + +--- + configure.ac.in | 4 +++- + xfce4-mixer/main.c | 21 +++++++++++++++++++++ + 2 files changed, 24 insertions(+), 1 deletion(-) + +--- ./configure.ac.in.orig 2014-04-09 14:44:50.000000000 -0500 ++++ ./configure.ac.in 2018-04-24 12:36:10.442764602 -0500 +@@ -98,7 +98,6 @@ + XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.84]) + XDT_CHECK_PACKAGE([GST_PLUGINS_BASE], [gstreamer-plugins-base-0.10], [0.10.25]) + XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.20.0]) +-XDT_CHECK_PACKAGE([UNIQUE], [unique-1.0], [1.1]) + XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.10.0]) + XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.10.0]) + XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-1.0], [4.10.0]) +--- ./xfce4-mixer/main.c.orig 2014-04-09 14:44:50.000000000 -0500 ++++ ./xfce4-mixer/main.c 2018-04-24 12:35:56.340763434 -0500 +@@ -30,7 +30,10 @@ + #include <gst/gst.h> + + #include <gtk/gtk.h> ++ ++#ifdef HAVE_UNIQUE + #include <unique/unique.h> ++#endif + + #include <libxfce4util/libxfce4util.h> + #include <libxfce4ui/libxfce4ui.h> +@@ -42,6 +45,7 @@ + + + ++#ifdef HAVE_UNIQUE + static UniqueResponse + message_received (UniqueApp *app, + UniqueCommand command, +@@ -68,6 +72,7 @@ + + return response; + } ++#endif + + + +@@ -75,7 +80,9 @@ + main (int argc, + char **argv) + { ++#ifdef HAVE_UNIQUE + UniqueApp *app; ++#endif + GtkWidget *window; + GError *error = NULL; + gboolean debug_mode = FALSE; +@@ -162,6 +169,7 @@ + if (debug_mode) + xfce_mixer_dump_gst_data (); + ++#ifdef HAVE_UNIQUE + /* Create unique application */ + app = unique_app_new ("org.xfce.xfce4-mixer", NULL); + if (unique_app_is_running (app)) +@@ -192,6 +200,19 @@ + /* Destroy the window */ + gtk_widget_destroy (window); + } ++#else ++ /* Create the mixer window */ ++ window = xfce_mixer_window_new (); ++ ++ /* Display the mixer window */ ++ gtk_widget_show (window); ++ ++ /* Enter the GTK+ main loop */ ++ gtk_main (); ++ ++ /* Destroy the window */ ++ gtk_widget_destroy (window); ++#endif + + /* Shutdown the mixer library */ + xfce_mixer_shutdown (); diff --git a/extra/source/pure-alsa-system/xfce4-mixer/0001-Use-datadir-xfce4-mixer-as-MIXER_DATADIR.patch b/extra/source/pure-alsa-system/xfce4-mixer/0001-Use-datadir-xfce4-mixer-as-MIXER_DATADIR.patch new file mode 100644 index 00000000..f0b32dad --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-mixer/0001-Use-datadir-xfce4-mixer-as-MIXER_DATADIR.patch @@ -0,0 +1,63 @@ +From a60d7b81674449d1753fcf8bb15c57fc178424e6 Mon Sep 17 00:00:00 2001 +From: Robby Workman <rworkman@slackware.com> +Date: Thu, 19 Feb 2015 19:36:21 -0600 +Subject: [PATCH 1/2] Use $(datadir)/xfce4/mixer/ as MIXER_DATADIR + +Follow common practice of other Xfce componenets and use +$(datadir)/xfce4/mixer/ instead of $(datadir)/xfce4-mixer/. +--- + icons/16x16/Makefile.am | 2 +- + icons/scalable/Makefile.am | 2 +- + libxfce4mixer/Makefile.am | 2 +- + xfce4-mixer/Makefile.am | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/icons/16x16/Makefile.am b/icons/16x16/Makefile.am +index 803a2e4..ace4a07 100644 +--- a/icons/16x16/Makefile.am ++++ b/icons/16x16/Makefile.am +@@ -1,4 +1,4 @@ +-iconsdir = $(pkgdatadir)/icons/hicolor/16x16/status ++iconsdir = $(datadir)/xfce4/mixer/icons/hicolor/16x16/status + icons_DATA = audio-input-microphone-muted.png + + EXTRA_DIST = $(icons_DATA) +diff --git a/icons/scalable/Makefile.am b/icons/scalable/Makefile.am +index 5bfc12c..5212e63 100644 +--- a/icons/scalable/Makefile.am ++++ b/icons/scalable/Makefile.am +@@ -1,4 +1,4 @@ +-iconsdir = $(pkgdatadir)/icons/hicolor/scalable/status ++iconsdir = $(datadir)/xfce4/mixer/icons/hicolor/scalable/status + icons_DATA = audio-input-microphone-muted.svg + + EXTRA_DIST = $(icons_DATA) +diff --git a/libxfce4mixer/Makefile.am b/libxfce4mixer/Makefile.am +index 792a95e..e864ea8 100644 +--- a/libxfce4mixer/Makefile.am ++++ b/libxfce4mixer/Makefile.am +@@ -25,7 +25,7 @@ libxfce4mixer_la_CPPFLAGS = \ + -DDATADIR=\"$(datadir)\" \ + -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \ + -DG_LOG_DOMAIN=\"libxfce4mixer\" \ +- -DMIXER_DATADIR=\"$(pkgdatadir)\" ++ -DMIXER_DATADIR=\"$(datadir)/xfce4/mixer\" + + libxfce4mixer_la_CFLAGS = \ + $(PLATFORM_CFLAGS) \ +diff --git a/xfce4-mixer/Makefile.am b/xfce4-mixer/Makefile.am +index 4af69e9..f979b92 100644 +--- a/xfce4-mixer/Makefile.am ++++ b/xfce4-mixer/Makefile.am +@@ -23,7 +23,7 @@ xfce4_mixer_CPPFLAGS = \ + -I$(top_srcdir) \ + -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \ + -DDATADIR=\"$(datadir)\" \ +- -DMIXER_DATADIR=\"$(pkgdatadir)\" \ ++ -DMIXER_DATADIR=\"$(datadir)/xfce4/mixer\" \ + -DG_LOG_DOMAIN=\"xfce4-mixer\" + + xfce4_mixer_CFLAGS = \ +-- +2.3.1 + diff --git a/extra/source/pure-alsa-system/xfce4-mixer/0001-icons-Makefile.am-Remove-unnecessary-gtk-update-icon.patch b/extra/source/pure-alsa-system/xfce4-mixer/0001-icons-Makefile.am-Remove-unnecessary-gtk-update-icon.patch new file mode 100644 index 00000000..ce1eae68 --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-mixer/0001-icons-Makefile.am-Remove-unnecessary-gtk-update-icon.patch @@ -0,0 +1,36 @@ +From 735927c7a72b69f60f13fe7bcf4a10c1a80ca151 Mon Sep 17 00:00:00 2001 +From: Robby Workman <rworkman@slackware.com> +Date: Thu, 19 Feb 2015 19:07:06 -0600 +Subject: [PATCH] icons/Makefile.am: Remove unnecessary gtk-update-icon-cache + +No icons are installed in the standard paths any more, so this +appears to be leftover code. +--- + icons/Makefile.am | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/icons/Makefile.am b/icons/Makefile.am +index 70638c1..035476a 100644 +--- a/icons/Makefile.am ++++ b/icons/Makefile.am +@@ -4,17 +4,4 @@ SUBDIRS = \ + 16x16 \ + scalable + +-gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor +- +-install-data-hook: +- @-if test -z "$(DESTDIR)"; then \ +- echo "Updating Gtk icon cache."; \ +- $(gtk_update_icon_cache); \ +- else \ +- echo "*** Icon cache not updated. Remember to run:"; \ +- echo "***"; \ +- echo "*** $(gtk_update_icon_cache)"; \ +- echo "***"; \ +- fi +- + # vi:set ts=8 sw=8 noet ai nocindent syntax=automake: +-- +2.3.1 + diff --git a/extra/source/pure-alsa-system/xfce4-mixer/README.ALSA b/extra/source/pure-alsa-system/xfce4-mixer/README.ALSA new file mode 100644 index 00000000..9e7947ce --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-mixer/README.ALSA @@ -0,0 +1,4 @@ +This package is only useful on a pure ALSA system, and so it is not built +by default. For information about removing PulseAudio and switching to +pure ALSA (this is not generally recommended, but some use-cases demand it), +please see the files in ../../l/alsa-lib. diff --git a/extra/source/pure-alsa-system/xfce4-mixer/doinst.sh b/extra/source/pure-alsa-system/xfce4-mixer/doinst.sh new file mode 100644 index 00000000..9830478e --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-mixer/doinst.sh @@ -0,0 +1,14 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -x /usr/bin/update-mime-database ]; then + /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi + diff --git a/extra/source/pure-alsa-system/xfce4-mixer/slack-desc b/extra/source/pure-alsa-system/xfce4-mixer/slack-desc new file mode 100644 index 00000000..dbf29ce0 --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-mixer/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +xfce4-mixer: xfce4-mixer (Sound mixer applet for Xfce) +xfce4-mixer: +xfce4-mixer: The xfce4-mixer package contains a volume control application based +xfce4-mixer: on GStreamer written to conceptually fit into the Xfce desktop +xfce4-mixer: environment. It also contains a plugin for the Xfce panel which is +xfce4-mixer: especially designed for use with the mouse wheel. +xfce4-mixer: +xfce4-mixer: +xfce4-mixer: +xfce4-mixer: +xfce4-mixer: diff --git a/extra/source/pure-alsa-system/xfce4-mixer/xfce4-mixer.SlackBuild b/extra/source/pure-alsa-system/xfce4-mixer/xfce4-mixer.SlackBuild new file mode 100755 index 00000000..9e38cdb0 --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-mixer/xfce4-mixer.SlackBuild @@ -0,0 +1,125 @@ +#!/bin/bash + +# Slackware build script for xfce4-mixer + +# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA +# Copyright 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=xfce4-mixer +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_alsa} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/0001-Make-Unique-support-optional.patch | patch -p1 --verbose || exit 1 +zcat $CWD/0001-Use-datadir-xfce4-mixer-as-MIXER_DATADIR.patch | patch -p1 --verbose || exit 1 +zcat $CWD/0001-icons-Makefile.am-Remove-unnecessary-gtk-update-icon.patch | patch -p1 --verbose || exit 1 + +xdt-autogen + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc/xfce \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --disable-debug \ + --disable-unique \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* HACKING INSTALL NEWS README* THANKS TODO \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/extra/source/pure-alsa-system/xfce4-volumed/0001-Removed-deprecated-Encoding-entry-in-.desktop-file-t.patch b/extra/source/pure-alsa-system/xfce4-volumed/0001-Removed-deprecated-Encoding-entry-in-.desktop-file-t.patch new file mode 100644 index 00000000..f3f43ea1 --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-volumed/0001-Removed-deprecated-Encoding-entry-in-.desktop-file-t.patch @@ -0,0 +1,37 @@ +From 2ee3b12be641501ee3a9ce0278291b8c5a865021 Mon Sep 17 00:00:00 2001 +From: Steve Dodier <sidnioulz@gmail.com> +Date: Thu, 3 Mar 2011 11:43:26 +0100 +Subject: [PATCH 1/3] Removed deprecated "Encoding" entry in .desktop file + (thanks to Samuli Suominen) + +--- + ChangeLog | 3 +++ + data/xfce4-volumed.desktop | 1 - + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/ChangeLog b/ChangeLog +index e1690ba..beeb5f6 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,4 +1,7 @@ + 2011-03-03 Steve Dodier <sidnioulz@gmail.com> ++ * Removed deprecated "Encoding" entry in .desktop file (thanks to Samuli Suominen) ++ ++2011-03-03 Steve Dodier <sidnioulz@gmail.com> + * Allow compatibility with Libnotify 0.7 (thanks to Samuli Suominen for the patch) + + 2011-03-03 Steve Dodier <sidnioulz@gmail.com> +diff --git a/data/xfce4-volumed.desktop b/data/xfce4-volumed.desktop +index 8ac7dc7..be362c5 100644 +--- a/data/xfce4-volumed.desktop ++++ b/data/xfce4-volumed.desktop +@@ -1,6 +1,5 @@ + + [Desktop Entry] +-Encoding=UTF-8 + Type=Application + Terminal=false + Name=XFCE Volume Daemon +-- +2.3.0 + diff --git a/extra/source/pure-alsa-system/xfce4-volumed/0003-Removing-edge-case-memleaks.patch b/extra/source/pure-alsa-system/xfce4-volumed/0003-Removing-edge-case-memleaks.patch new file mode 100644 index 00000000..8d45bae3 --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-volumed/0003-Removing-edge-case-memleaks.patch @@ -0,0 +1,80 @@ +From ac129e178c24d7ec79b020a7912cc680a6008c5b Mon Sep 17 00:00:00 2001 +From: Steve Dodier-Lazaro <sidnioulz@gmail.com> +Date: Wed, 10 Dec 2014 03:38:32 +0000 +Subject: [PATCH 3/3] Removing edge-case memleaks + +--- + src/main.c | 2 +- + src/xvd_mixer.c | 30 ++++++++++++++++++------------ + 2 files changed, 19 insertions(+), 13 deletions(-) + +diff --git a/src/main.c b/src/main.c +index 18e8e01..d04920c 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -81,7 +81,7 @@ xvd_shutdown() + xvd_keys_release (Inst); + xvd_xfconf_shutdown (Inst); + +- //TODO xvd_instance_free ++ g_free (Inst); + } + + static void +diff --git a/src/xvd_mixer.c b/src/xvd_mixer.c +index 1d580bf..cef3151 100644 +--- a/src/xvd_mixer.c ++++ b/src/xvd_mixer.c +@@ -102,31 +102,37 @@ _xvd_mixer_bus_message (GstBus *bus, GstMessage *message, + { + gst_mixer_message_parse_mute_toggled (message, &msg_track, &Inst->muted); + g_object_get (msg_track, "label", &label, NULL); +- if (g_strcmp0 (Inst->track_label, label) != 0) +- return; ++ ++ if (g_strcmp0 (Inst->track_label, label) == 0) ++ { + #ifdef HAVE_LIBNOTIFY +- if (Inst->muted) +- xvd_notify_notification (Inst, "audio-volume-muted", 0); +- else { +- xvd_mixer_init_volume (Inst); +- xvd_notify_volume_notification (Inst); ++ if (Inst->muted) ++ xvd_notify_notification (Inst, "audio-volume-muted", 0); ++ else { ++ xvd_mixer_init_volume (Inst); ++ xvd_notify_volume_notification (Inst); + #endif ++ } + } ++ + g_free (label); + } + else if (type == GST_MIXER_MESSAGE_VOLUME_CHANGED) + { + gst_mixer_message_parse_volume_changed (message, &msg_track, &volumes, &num_channels); + g_object_get (msg_track, "label", &label, NULL); +- if (g_strcmp0 (Inst->track_label, label) != 0) +- return; +- xvd_calculate_avg_volume (Inst, volumes, num_channels); ++ if (g_strcmp0 (Inst->track_label, label) == 0) ++ { ++ xvd_calculate_avg_volume (Inst, volumes, num_channels); + #ifdef HAVE_LIBNOTIFY +- xvd_notify_volume_notification (Inst); ++ xvd_notify_volume_notification (Inst); + #endif ++ } ++ + g_free (label); + } +- else if (type == GST_MIXER_MESSAGE_MIXER_CHANGED) { ++ else if (type == GST_MIXER_MESSAGE_MIXER_CHANGED) ++ { + // This kind of message shouldn't happen on an hardware card + g_debug ("GST_MIXER_MESSAGE_MIXER_CHANGED event\n"); + } +-- +2.3.0 + diff --git a/extra/source/pure-alsa-system/xfce4-volumed/slack-desc b/extra/source/pure-alsa-system/xfce4-volumed/slack-desc new file mode 100644 index 00000000..d7918924 --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-volumed/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +xfce4-volumed: xfce4-volumed (audio volume management daemon) +xfce4-volumed: +xfce4-volumed: This daemon is responsible for making the volume up/down and mute +xfce4-volumed: keys of the keyboard work automatically, and uses the XFCE mixer's +xfce4-volumed: defined card and track for choosing which track to act on. +xfce4-volumed: +xfce4-volumed: It also provides volume change and mute toggle notifications if +xfce4-volumed: a notification daemon is running (using libnotify). +xfce4-volumed: +xfce4-volumed: Homepage: https://launchpad.net/xfce4-volumed +xfce4-volumed: diff --git a/extra/source/pure-alsa-system/xfce4-volumed/xfce4-volumed.SlackBuild b/extra/source/pure-alsa-system/xfce4-volumed/xfce4-volumed.SlackBuild new file mode 100755 index 00000000..ea72fdf9 --- /dev/null +++ b/extra/source/pure-alsa-system/xfce4-volumed/xfce4-volumed.SlackBuild @@ -0,0 +1,117 @@ +#!/bin/sh + +# Slackware build script for xfce4-volumed + +# Copyright 2006-2011 Robby Workman Northport, Alabama, USA +# Copyright 2009, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=xfce4-volumed +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-4_alsa} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/0001-Removed-deprecated-Encoding-entry-in-.desktop-file-t.patch | patch -p1 --verbose || exit 1 +zcat $CWD/0003-Removing-edge-case-memleaks.patch | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --enable-debug=no \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* THANKS \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz |