diff --git a/README.md b/README.md index 84a44c8..d123cc2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # alsaplayer +AlsaPlayer is a new type of PCM player. It is heavily multi-threaded and tries to excercise the ALSA library and driver quite a bit. It has some very interesting features unique to Linux/Unix players. The goal is to create a fully pluggable framework for playback of all sorts of media with the focus on PCM audio data. The core code was written by Andy Lo-A-Foe with contributions from many other folks. See the credits files for details. + diff --git a/alsaplayer-0.99.7-play_frame_noerror_ckeck.patch b/alsaplayer-0.99.7-play_frame_noerror_ckeck.patch new file mode 100644 index 0000000..85c6fc0 --- /dev/null +++ b/alsaplayer-0.99.7-play_frame_noerror_ckeck.patch @@ -0,0 +1,12 @@ +diff -Nru alsaplayer-0.99.77.orig/app/CorePlayer.cpp alsaplayer-0.99.77/app/CorePlayer.cpp +--- alsaplayer-0.99.77.orig/app/CorePlayer.cpp 2004-07-28 18:29:04.000000000 +0200 ++++ alsaplayer-0.99.77/app/CorePlayer.cpp 2007-03-10 23:55:20.000000000 +0100 +@@ -1152,7 +1152,7 @@ + #ifdef DEBUG + alsaplayer_error("frames read = %d", frames_read); + #endif +- return frames_read; ++ count = 0; + } else { + bytes_written += plugin->frame_size(the_object); // OPTIMIZE! + frames_read++; diff --git a/alsaplayer-0.99.80-glibc-2.10.patch b/alsaplayer-0.99.80-glibc-2.10.patch new file mode 100644 index 0000000..f0a80d3 --- /dev/null +++ b/alsaplayer-0.99.80-glibc-2.10.patch @@ -0,0 +1,32 @@ +diff -ur alsaplayer-0.99.80.orig/input/flac/FlacPlugin.cpp alsaplayer-0.99.80/input/flac/FlacPlugin.cpp +--- alsaplayer-0.99.80.orig/input/flac/FlacPlugin.cpp 2007-10-29 23:00:16.000000000 +0200 ++++ alsaplayer-0.99.80/input/flac/FlacPlugin.cpp 2009-07-20 00:19:07.000000000 +0300 +@@ -239,7 +239,7 @@ + else + { + // use stream name +- char * fname = strrchr (f->name ().c_str (), '/'); ++ const char * fname = strrchr (f->name ().c_str (), '/'); + if (fname) + { + fname++; +@@ -270,7 +270,7 @@ + if (strncmp(name, "http://", 7) == 0) { + return 0.0; + } +- char *ext = strrchr(name, '.'); ++ const char *ext = strrchr(name, '.'); + if (!ext) + return 0.0; + ext++; +diff -Nru alsaplayer-0.99.80.ori//app/ControlSocket.cpp alsaplayer-0.99.80/app/ControlSocket.cpp +--- alsaplayer-0.99.80.ori//app/ControlSocket.cpp 2007-07-08 16:27:31.000000000 +0200 ++++ alsaplayer-0.99.80/app/ControlSocket.cpp 2010-05-03 23:53:09.208841569 +0200 +@@ -18,6 +18,7 @@ + * + */ + #include "AlsaPlayer.h" ++#include + #include + #include + #include diff --git a/alsaplayer-jackplayer b/alsaplayer-jackplayer new file mode 100644 index 0000000..77a1219 --- /dev/null +++ b/alsaplayer-jackplayer @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/bin/alsaplayer -q -i text -r -o jack $@ & diff --git a/alsaplayer.spec b/alsaplayer.spec new file mode 100644 index 0000000..0cc288c --- /dev/null +++ b/alsaplayer.spec @@ -0,0 +1,311 @@ +### AUTOUPDATE-OFF: 8 +Name: alsaplayer +Version: 0.99.81 +Release: 1mamba +Summary: A PCM player supporting many output drivers including ALSA, Jack and OSS +Group: Applications/Multimedia +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.alsaplayer.org +Source: http://alsaplayer.org/alsaplayer-%{version}.tar.gz +Source1: %{name}-jackplayer +Patch0: %{name}-0.99.7-play_frame_noerror_ckeck.patch +Patch1: %{name}-0.99.80-glibc-2.10.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: bash +BuildRequires: glibc-devel +BuildRequires: libalsa-devel +BuildRequires: libatk-devel +BuildRequires: libaudio-devel +BuildRequires: libaudiofile-devel +BuildRequires: libcairo-devel +BuildRequires: libesound-devel +BuildRequires: libflac-devel +BuildRequires: libgcc +BuildRequires: libGL-devel +BuildRequires: libglib-devel +BuildRequires: libgtk-devel +BuildRequires: libid3tag-devel +BuildRequires: libjack-devel +BuildRequires: libmad-devel +BuildRequires: libmikmod-devel +BuildRequires: libogg-devel +BuildRequires: libpango-devel +BuildRequires: libsndfile-devel +BuildRequires: libstdc++6-devel +BuildRequires: libvorbis-devel +BuildRequires: libXt-devel +BuildRequires: libz-devel +BuildRequires: xosd-devel +## AUTOBUILDREQ-END +Requires: alsaplayer_output +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +AlsaPlayer is a new type of PCM player. It is heavily multi-threaded and tries to excercise the ALSA library and driver quite a bit. It has some very interesting features unique to Linux/Unix players. The goal is to create a fully pluggable framework for playback of all sorts of media with the focus on PCM audio data. The core code was written by Andy Lo-A-Foe with contributions from many other folks. See the credits files for details. + +%package devel +Summary: Devel package for %{name} +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description devel +AlsaPlayer is a new type of PCM player. It is heavily multi-threaded and tries to excercise the ALSA library and driver quite a bit. It has some very interesting features unique to Linux/Unix players. The goal is to create a fully pluggable framework for playback of all sorts of media with the focus on PCM audio data. The core code was written by Andy Lo-A-Foe with contributions from many other folks. See the credits files for details. + +%package interface-gtk2 +Summary: GTK2 interface plugin for alsaplayer +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Obsoletes: alsaplayer-interface-gtk +Provides: alsaplayer-interface-gtk + +%description interface-gtk2 +GTK2 interface plugin for alsaplayer. + +%package interface-xosd +Summary: X on screen display interface plugin for alsaplayer +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description interface-xosd +X on screen display interface plugin for alsaplayer. + +%package output-alsa +Summary: Alsa output plugin for alsaplayer +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Provides: alsaplayer_output +Provides: /usr/bin/play + +%description output-alsa +Alsa output plugin for alsaplayer. + +%package output-jack +Summary: Jack output plugin for alsaplayer +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Provides: alsaplayer_output +Provides: /usr/bin/play + +%description output-jack +Jack output plugin for alsaplayer. + +%package output-oss +Summary: OSS output plugin for alsaplayer +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Provides: alsaplayer_output + +%description output-oss +OSS output plugin for alsaplayer. + +%package output-esd +Summary: ESD output plugin for alsaplayer +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Provides: alsaplayer_output + +%description output-esd +ESD output plugin for alsaplayer. + +%package output-nas +Summary: NAS output plugin for alsaplayer +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Provides: alsaplayer_output + +%description output-nas +NAS output plugin for alsaplayer. + +%prep +%setup -q -n %{name}-%{version} +#%patch1 -p1 + +%build +%configure \ + --enable-gtk \ + --enable-jack \ + --enable-alsa \ + --enable-oss \ + --enable-esd \ + --enable-nas + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall +install -m0755 %{SOURCE1} %{buildroot}%{_bindir}/jackplayer +%find_lang %{name} + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post output-alsa +[ -L /usr/bin/play ] || rm -f /usr/bin/play +/usr/sbin/update-alternatives \ + --install %{_bindir}/play play \ + %{_bindir}/alsaplayer 10 +exit 0 + +%postun output-alsa +if [ $1 -eq 0 ]; then + /usr/sbin/update-alternatives --remove play \ + %{_bindir}/alsaplayer +fi +exit 0 + +%posttrans output-alsa +[ -e /usr/bin/play ] || ln -s /etc/alternatives/play /usr/bin/play +exit 0 + +%post output-jack +[ -L /usr/bin/play ] || rm -f /usr/bin/play +/usr/sbin/update-alternatives \ + --install %{_bindir}/play play \ + %{_bindir}/jackplayer 50 +exit 0 + +%postun output-jack +if [ $1 -eq 0 ]; then + /usr/sbin/update-alternatives --remove play \ + %{_bindir}/jackplayer +fi +exit 0 + +%posttrans output-jack +[ -e /usr/bin/play ] || ln -s /etc/alternatives/play /usr/bin/play +exit 0 + +%posttrans +%files -f %{name}.lang +%defattr(-,root,root) +%{_bindir}/alsaplayer +%{_libdir}/alsaplayer/input/libcdda.la +%{_libdir}/alsaplayer/input/libcdda.so +%{_libdir}/alsaplayer/input/libflac_in.la +%{_libdir}/alsaplayer/input/libflac_in.so +%{_libdir}/alsaplayer/input/libmad_in.la +%{_libdir}/alsaplayer/input/libmad_in.so +%{_libdir}/alsaplayer/input/libmod.la +%{_libdir}/alsaplayer/input/libmod.so +%{_libdir}/alsaplayer/input/libsndfile_in.la +%{_libdir}/alsaplayer/input/libsndfile_in.so +%{_libdir}/alsaplayer/input/libvorbis_in.la +%{_libdir}/alsaplayer/input/libvorbis_in.so +%{_libdir}/alsaplayer/input/libwav.la +%{_libdir}/alsaplayer/input/libwav.so +%{_libdir}/alsaplayer/interface/libdaemon_interface.la +%{_libdir}/alsaplayer/interface/libdaemon_interface.so +%{_libdir}/alsaplayer/interface/libtext_interface.la +%{_libdir}/alsaplayer/interface/libtext_interface.so +%{_libdir}/alsaplayer/output/libnull_out.la +%{_libdir}/alsaplayer/output/libnull_out.so +%{_libdir}/alsaplayer/reader/libfile.la +%{_libdir}/alsaplayer/reader/libfile.so +%{_libdir}/alsaplayer/reader/libhttp.la +%{_libdir}/alsaplayer/reader/libhttp.so +%{_libdir}/libalsaplayer.so.* +%{_datadir}/doc/alsaplayer/* +%{_mandir}/man1/alsaplayer.1.gz +%doc AUTHORS COPYING ChangeLog README TODO + +#%files interface-gtk +#%defattr(-,root,root) +#%{_libdir}/alsaplayer/interface/libgtk_interface.la +#%{_libdir}/alsaplayer/interface/libgtk_interface.so + +%files interface-gtk2 +%defattr(-,root,root) +%{_datadir}/applications/alsaplayer.desktop +%{_libdir}/alsaplayer/interface/libgtk2_interface.la +%{_libdir}/alsaplayer/interface/libgtk2_interface.so +%{_libdir}/alsaplayer/scopes2/liboglspectrum.la +%{_libdir}/alsaplayer/scopes2/liboglspectrum.so +%{_libdir}/alsaplayer/scopes2/libblurscope.la +%{_libdir}/alsaplayer/scopes2/libblurscope.so +%{_libdir}/alsaplayer/scopes2/liblevelmeter.la +%{_libdir}/alsaplayer/scopes2/liblevelmeter.so +%{_libdir}/alsaplayer/scopes2/liblogbarfft.la +%{_libdir}/alsaplayer/scopes2/liblogbarfft.so +%{_libdir}/alsaplayer/scopes2/libmonoscope.la +%{_libdir}/alsaplayer/scopes2/libmonoscope.so +%{_libdir}/alsaplayer/scopes2/libspacescope.la +%{_libdir}/alsaplayer/scopes2/libspacescope.so +%{_libdir}/alsaplayer/scopes2/libsynaescope.la +%{_libdir}/alsaplayer/scopes2/libsynaescope.so + +%files interface-xosd +%defattr(-,root,root) +%{_libdir}/alsaplayer/interface/libxosd_interface.la +%{_libdir}/alsaplayer/interface/libxosd_interface.so + +%files output-alsa +%defattr(-,root,root) +%{_libdir}/alsaplayer/output/libalsa_out.la +%{_libdir}/alsaplayer/output/libalsa_out.so + +%files output-jack +%defattr(-,root,root) +%attr(0755,root,root) %{_bindir}/jackplayer +%{_libdir}/alsaplayer/output/libjack_out.la +%{_libdir}/alsaplayer/output/libjack_out.so + +%files output-oss +%defattr(-,root,root) +%{_libdir}/alsaplayer/output/liboss_out.la +%{_libdir}/alsaplayer/output/liboss_out.so + +%files output-esd +%defattr(-,root,root) +%{_libdir}/alsaplayer/output/libesound_out.la +%{_libdir}/alsaplayer/output/libesound_out.so + +%files output-nas +%defattr(-,root,root) +%{_libdir}/alsaplayer/output/libnas_out.la +%{_libdir}/alsaplayer/output/libnas_out.so + +%files devel +%defattr(-,root,root) +%dir %{_includedir}/alsaplayer +%{_libdir}/libalsaplayer.la +%{_libdir}/libalsaplayer.so +%{_includedir}/alsaplayer/*.h +%{_exec_prefix}/lib/pkgconfig/*.pc + +%changelog +* Thu Jul 21 2011 Automatic Build System 0.99.81-1mamba +- automatic update by autodist + +* Mon May 03 2010 Silvan Calarco 0.99.80-4mamba +- rebuilt with recent libFLAC +- added glibc 2.10 build patch + +* Sat Nov 24 2007 Silvan Calarco 0.99.80-3mamba +- updated to 0.99.80 stable release +- manage alternatives for /usr/bin/play +- added NAS plugin + +* Mon Oct 15 2007 Silvan Calarco 0.99.80-2mamba +- update to 0.99.80-rc4 + +* Thu Sep 27 2007 Silvan Calarco 0.99.80-1mamba +- update to 0.99.80 (rc2) + +* Wed Apr 25 2007 Silvan Calarco 0.99.78-1mamba +- update to version 0.99.78 by autospec + +* Sun Mar 11 2007 Silvan Calarco 0.99.77-3qilnx +- jackplay: launch in background to allow knotify play multiple sounds at once + +* Sat Mar 10 2007 Silvan Calarco 0.99.77-2qilnx +- addded patch that fixes playing of very short samples + +* Sat Mar 10 2007 Silvan Calarco 0.99.77-1qilnx +- update to version 0.99.77 by autospec + +* Tue Jan 30 2007 Silvan Calarco 0.99.76-1qilnx +- package created by autospec