[Kwintv] PATCH: ALSA mixer plugin + conditional compilation
Neil Macvicar
kwintv@mail.kde.org
Wed, 26 Mar 2003 15:01:11 +0000
--Boundary-00=_3Ccg+5XVzBOgmvO
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
As promised, here is a patch against the latest cvs tree that will allow the
alsa mixer plugin to be compiled conditionally. New features to ./configure
are :
--with-alsa-dir : specify the alsa base install directory.
Changed files are:
[mixers]
configure.in.in : New file. Defines a function to test for ALSA.
Makefile.am : Added a conditional test added to check whether or not we should
compile the alsa mixer plugin.
[mixers/alsa]
qtvision_alsa.h qtvision_alsa.cpp qtvision_alsa.desktop : Minor changes to fix
compilation.
Makefile.am : -lasound added
Regards,
Neil.
--Boundary-00=_3Ccg+5XVzBOgmvO
Content-Type: text/x-diff;
charset="us-ascii";
name="alsa-mixer.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="alsa-mixer.patch"
diff -rNu fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/Makefile.am worki=
ng/kdenonbeta/kwintv3/qtvision/plugins/mixer/Makefile.am
=2D-- fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/Makefile.am Thu Jun 1=
3 05:17:54 2002
+++ working/kdenonbeta/kwintv3/qtvision/plugins/mixer/Makefile.am Wed Mar 2=
6 14:11:00 2003
@@ -1 +1,5 @@
=2DSUBDIRS=3Doss
+if include_ALSADIR
+ALSADIR =3D alsa
+endif
+
+SUBDIRS=3Doss $(ALSADIR)
diff -rNu fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/Makefile.am =
working/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/Makefile.am
=2D-- fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/Makefile.am Sun =
Nov 3 07:33:49 2002
+++ working/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/Makefile.am Wed =
Mar 26 14:11:42 2003
@@ -20,7 +20,7 @@
kde_module_LTLIBRARIES =3D qtvision_alsa.la
=20
qtvision_alsa_la_LDFLAGS =3D $(all_libraries) -module -avoid-version
=2Dqtvision_alsa_la_LIBADD =3D=20
+qtvision_alsa_la_LIBADD =3D -lasound
qtvision_alsa_la_SOURCES =3D qtvision_alsa.cpp
=20
METASOURCES =3D AUTO
diff -rNu fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_als=
a.cpp working/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_alsa.=
cpp
=2D-- fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_alsa.cp=
p Sat Feb 22 10:00:52 2003
+++ working/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_alsa.cp=
p Wed Mar 26 14:11:20 2003
@@ -3,6 +3,8 @@
// Date: 14/12/2002
// Abstract: Implementation of the ALSA Mixer plugin for QTVision
// Revision Control:
+// 0.2: 26/03/2003 Minor changes to the constructor implemented (Neil Macv=
icar)
+// New method of creating an alsa mixer plugin adde=
d (Neil Macvicar)
// 0.1: Initial Implementation
=20
/*
@@ -41,7 +43,8 @@
// Constructors and destructors
//------------------------------------------------------------------------=
=2D----
=20
=2DQTVisionALSA::QTVisionALSA(QObject *parent, const char *name, const QStr=
ingList &/*args*/) : QVMixerPlugin("alsamixer", parent, name)
+QTVisionALSA::QTVisionALSA(QtVision *qtv, QObject *parent, const char *nam=
e)
+: QVMixerPlugin(qtv, "alsamixer", parent, name)
{
const char *sig=3D"[QTVisionALSA()]";
=20
@@ -514,9 +517,11 @@
return 0;
}
=20
=2D//----------------------------------------------------------------------=
=2D------
=2D
=2DK_EXPORT_COMPONENT_FACTORY(qtvision_alsa, KGenericFactory<QTVisionALSA>);
+extern "C" {
+ QTVisionALSA* create_alsa(QtVision *qtv) {
+ return new QTVisionALSA(qtv, 0, "ALSA plugin");
+ }
+};
=20
#include "qtvision_alsa.moc"
=20
diff -rNu fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_als=
a.desktop working/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_a=
lsa.desktop
=2D-- fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_alsa.de=
sktop Thu Jan 9 13:22:07 2003
+++ working/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_alsa.de=
sktop Wed Mar 26 14:11:31 2003
@@ -4,6 +4,8 @@
ServiceTypes=3DQtVision Audio Mixer
X-KDE-ModuleType=3DPlugin
X-KDE-Library=3Dqtvision_alsa
+X-QV-Plugin-Library=3Dalsa
+X-QV-Plugin-Factory=3Dalsa
Name=3DALSA Mixer Plugin
Name[es]=3DPlugin de mezclador ALSA
Name[fr]=3DModule de mixeur ALSA
@@ -11,11 +13,11 @@
Name[pt]=3D'Plugin' de Mistura ALSA
Name[pt_BR]=3DPlug-in de Mixer ALSA
Name[sv]=3DALSA mixerinsticksprogram
=2DName[uk]=3D=D0=92=D1=82=D1=83=D0=BB=D0=BE=D0=BA =D0=BC=D1=96=D0=BA=D1=88=
=D0=B5=D1=80=D1=83 OSS
+Name[uk]=3D=D0=92=D1=82=D1=83=D0=BB=D0=BE=D0=BA =D0=BC=D1=96=D0=BA=D1=88=
=D0=B5=D1=80=D1=83 ALSA
Name[zh_CN]=3DALSA =E6=B7=B7=E9=9F=B3=E5=99=A8=E6=8F=92=E4=BB=B6
Name[zu]=3DI-plugin Yomxubi we-ALSA
Comment=3DThis provides support for ALSA mixer devices.
=2DComment[es]=3DProporciona soporte para mezcladores de audio OSS.
+Comment[es]=3DProporciona soporte para mezcladores de audio ALSA.
Comment[fr]=3DCeci fournit la gestion des p=C3=A9riph=C3=A9riques de mixag=
e ALSA.
Comment[pt]=3DFornece suporte ao dispositivos de mistura =C3=A1udio ALSA.
Comment[pt_BR]=3DFornece suporte para dispositivos ALSA.
@@ -23,4 +25,4 @@
Comment[zh_CN]=3D=E8=BF=99=E6=8F=90=E4=BE=9B=E5=AF=B9 ALSA =E9=9F=B3=E9=A2=
=91=E6=B7=B7=E9=9F=B3=E8=AE=BE=E5=A4=87=E7=9A=84=E6=94=AF=E6=8C=81=E3=80=82
X-QV-Plugin-Author=3DNeil Macvicar
X-QV-Configurable=3Dtrue
=2DX-QV-Default-Enabled=3Dfalse
+X-QV-Default-Enabled=3Dtrue
diff -rNu fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_als=
a.h working/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_alsa.h
=2D-- fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_alsa.h =
Tue Dec 17 02:25:45 2002
+++ working/kdenonbeta/kwintv3/qtvision/plugins/mixer/alsa/qtvision_alsa.h =
Wed Mar 26 14:11:26 2003
@@ -3,6 +3,7 @@
// Date: 14/12/2002
// Abstract: Definition of the ALSA mixer plugin for QTVision
// Revision Control
+// 0.2 : 26/03/2003 Minor changes to the constructor implemented (Neil Mac=
vicar)
// 0.1 : Initial Definition
=20
/*
@@ -45,7 +46,7 @@
Q_OBJECT
=20
public:
=2D QTVisionALSA(QObject *parent, const char *name, const QStringList &);
+ QTVisionALSA(QtVision *qtv, QObject *parent, const char *name);
virtual ~QTVisionALSA(void);
=20
virtual int probeDevices(void);
diff -rNu fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/configure.in.in w=
orking/kdenonbeta/kwintv3/qtvision/plugins/mixer/configure.in.in
=2D-- fresh/kdenonbeta/kwintv3/qtvision/plugins/mixer/configure.in.in Thu J=
an 1 01:00:00 1970
+++ working/kdenonbeta/kwintv3/qtvision/plugins/mixer/configure.in.in Wed M=
ar 26 14:14:47 2003
@@ -0,0 +1,81 @@
+
+##################################################################
+##=20
+## QtVision mixer configure script
+## Neil Macvicar (blackmogu@vfemail.net)
+##
+##################################################################
+
+AC_DEFUN(AC_PATH_ASOUND,
+[
+LIBASOUND=3D"-lasound"
+AC_MSG_CHECKING([for alsa libraries and headers])
+
+ac_alsa_libs=3DNO ac_alsa_includes=3DNO
+alsa_libraries=3D""
+alsa_includes=3D""
+AC_ARG_WITH(alsa-dir,
+ [ --with-alsa-dir=3DDIR where the root of alsa-lib is installed],
+ [ ac_alsa_includes=3D"$withval"/include
+ ac_alsa_libraries=3D"$withval"/lib
+ ])
+
+want_alsa_mixer=3Dyes
+
+#AC_ARG_WITH(alsa,
+# [ --without-alsa-mixer disable alsa mixer plugin],
+# [want_alsa_mixer=3DNO])
+
+if test $want_alsa_mixer =3D yes; then
+AC_CACHE_VAL(ac_cv_have_alsa,
+[# try to guess the location of the ALSA libraries/headers
+ alsa_incdirs=3D"/usr/include /usr/local/include $prefix/include $kde_extr=
a_includes"
+ alsa_incdirs=3D"$ac_alsa_includes $alsa_incdirs"=09
+ AC_FIND_FILE(alsa/asoundlib.h, $alsa_incdirs, alsa_incdir)
+ ac_alsa_includes=3D"$alsa_incdir"
+
+ alsa_libdirs=3D"/usr/lib /usr/local/lib $prefix/lib $exec_prefix/lib $kde=
_extra_libs"
+ if test ! "$ac_alsa_libraries" =3D "NO"; then
+ alsa_libdirs=3D"$ac_alsa_libraries $alsa_libdirs"
+ fi
+
+ test=3DNONE
+ alsa_libdir=3DNONE
+
+ for dir in $alsa_libdirs; do
+ try=3D"ls -1 $dir/libasound*"
+ if test=3D`eval $try 2>/dev/null`; then alsa_libdir=3D$dir; break; else =
echo "tried $dir" >&AC_FD_CC ; fi
+ done
+
+ ac_alsa_libraries=3D"$alsa_libdir"
+
+ if test "$ac_alsa_includes" =3D NO || test "$ac_alsa_libraries" =3D NO; t=
hen
+ have_alsa=3Dno
+ else
+ ALSA_INCLUDES=3D"-I$ac_alsa_includes ";
+ ALSA_LDFLAGS=3D"-L$ac_alsa_libraries -lasound";
+ have_alsa=3Dyes;
+ fi
+ ])
+
+ eval "$ac_cv_have_alsa"
+ else
+ have_alsa=3Dno
+ fi
+
+AC_SUBST(ALSA_INCLUDES)
+AC_SUBST(ALSA_LDFLAGS)
+AC_SUBST(LIBALSA)
+])
+
+AC_PATH_ASOUND
+
+if test "$ac_alsa_includes" =3D NO || test "$ac_alsa_libraries" =3D NO; th=
en
+ ALSADIRS=3D
+ AC_MSG_RESULT([not found. Alsa mixer plugin disabled])
+else
+ ALSADIRS=3D"yes"
+ AC_MSG_RESULT([found. Alsa mixer plugin enabled])
+fi
+
+AM_CONDITIONAL(include_ALSADIR, [test -n "$ALSADIRS"])
--Boundary-00=_3Ccg+5XVzBOgmvO--