diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/90-alsa-tools-firmware.rules b/90-alsa-tools-firmware.rules index 69b0e72..790cddf 100644 --- a/90-alsa-tools-firmware.rules +++ b/90-alsa-tools-firmware.rules @@ -1,12 +1,12 @@ # TASCAM US-428 usb sound card. -BUS=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8000", RUN+="/lib/udev/tascam_fw" -BUS=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8001", RUN+="/lib/udev/tascam_fpga" +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8000", RUN+="/lib/udev/tascam_fw" +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8001", RUN+="/lib/udev/tascam_fpga" # TASCAM US-224 usb sound card. -BUS=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8004", RUN+="/lib/udev/tascam_fw" -BUS=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8005", RUN+="/lib/udev/tascam_fpga" +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8004", RUN+="/lib/udev/tascam_fw" +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8005", RUN+="/lib/udev/tascam_fpga" # TASCAM US-122 usb sound card. -BUS=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8006", RUN+="/lib/udev/tascam_fw" -BUS=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8007", RUN+="/lib/udev/tascam_fpga" +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8006", RUN+="/lib/udev/tascam_fw" +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8007", RUN+="/lib/udev/tascam_fpga" diff --git a/Makefile b/Makefile deleted file mode 100644 index 5e7bcf6..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: alsa-tools -# $Id: Makefile,v 1.4 2006/11/29 21:48:41 timj Exp $ -NAME := alsa-tools -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/alsa-tools-1.0.23-hdspmixer-crash.patch b/alsa-tools-1.0.23-hdspmixer-crash.patch new file mode 100644 index 0000000..3991211 --- /dev/null +++ b/alsa-tools-1.0.23-hdspmixer-crash.patch @@ -0,0 +1,60 @@ +From: Georg Rudolph +Date: Sat, 15 May 2010 07:37:34 +0000 (+0200) +Subject: hdspmixer: Fix buffer overflow +X-Git-Url: http://git.alsa-project.org/?p=alsa-tools.git;a=commitdiff_plain;h=6af304794723756865caee73593f13bd11a63450 + +hdspmixer: Fix buffer overflow + +A one off string buffer overflow fixed by handling it properly with +string stream. + +Signed-off-by: Georg Rudolph +Signed-off-by: Jaroslav Kysela +--- + +diff --git a/hdspmixer/src/HDSPMixerIOMixer.cxx b/hdspmixer/src/HDSPMixerIOMixer.cxx +index a431de5..a81f4a2 100644 +--- a/hdspmixer/src/HDSPMixerIOMixer.cxx ++++ b/hdspmixer/src/HDSPMixerIOMixer.cxx +@@ -25,9 +25,9 @@ HDSPMixerIOMixer::HDSPMixerIOMixer(int x, int y, int w, int h, int ch, int type) + { + mixer_type = type; + if (type) { +- sprintf(channel_name, "Out %d", ch); ++ channel_name << "Out " << ch; + } else { +- sprintf(channel_name, "In %d", ch); ++ channel_name << "In " << ch; + } + channel_num = ch; + if (channel_num%2) { +@@ -73,7 +73,7 @@ void HDSPMixerIOMixer::draw() + draw_background(); + fl_color(FL_BLACK); + fl_font(FL_HELVETICA, 8); +- fl_draw(channel_name, x()+4, y()+225, 27, 9, FL_ALIGN_CENTER); ++ fl_draw(channel_name.str().c_str(), x()+4, y()+225, 27, 9, FL_ALIGN_CENTER); + for (int i=children(); i--;) { + Fl_Widget& o = **a++; + draw_child(o); +diff --git a/hdspmixer/src/HDSPMixerIOMixer.h b/hdspmixer/src/HDSPMixerIOMixer.h +index 6286daf..a9a35de 100644 +--- a/hdspmixer/src/HDSPMixerIOMixer.h ++++ b/hdspmixer/src/HDSPMixerIOMixer.h +@@ -36,6 +36,7 @@ + #include "HDSPMixerStripData.h" + #include "HDSPMixerMeter.h" + #include "pixmaps.h" ++#include + + class HDSPMixerWindow; + class HDSPMixerSelector; +@@ -52,7 +53,7 @@ class HDSPMixerIOMixer:public Fl_Group + private: + char **p_iomixer_xpm; + int channel_num, relative_num, mixer_type; +- char channel_name[6]; ++ std::stringstream channel_name; + void update_child(Fl_Widget &widget); + public: + HDSPMixerStripData *data[3][3][8]; /* data[card][mode(ss/ds/qs)][preset number] */ diff --git a/alsa-tools.spec b/alsa-tools.spec index 4f8f186..56643f3 100644 --- a/alsa-tools.spec +++ b/alsa-tools.spec @@ -6,9 +6,9 @@ %ifarch ppc ppc64 # sb16_csp doesn't build on PPC; see bug #219010 -%{?!_without_tools: %global builddirstools as10k1 echomixer envy24control hdspconf hdspmixer rmedigicontrol sbiload sscape_ctl us428control } +%{?!_without_tools: %global builddirstools as10k1 echomixer envy24control hdspconf hdspmixer hwmixvolume rmedigicontrol sbiload sscape_ctl us428control } %else -%{?!_without_tools: %global builddirstools as10k1 echomixer envy24control hdspconf hdspmixer rmedigicontrol sbiload sb16_csp sscape_ctl us428control } +%{?!_without_tools: %global builddirstools as10k1 echomixer envy24control hdspconf hdspmixer hwmixvolume rmedigicontrol sbiload sb16_csp sscape_ctl us428control } %endif %{?!_without_firmware: %global builddirsfirmw hdsploader mixartloader usx2yloader vxloader } @@ -22,8 +22,8 @@ Summary: Specialist tools for ALSA Name: alsa-tools -Version: 1.0.22 -Release: 1%{?dist} +Version: 1.0.23 +Release: 2%{?dist} # Checked at least one source file from all the sub-projects contained in # the source tarball and they are consistent GPLv2+ - TJ 2007-11-15 @@ -39,6 +39,11 @@ Source2: envy24control.png Source3: echomixer.desktop Source4: echomixer.png Source5: 90-alsa-tools-firmware.rules +# Resized version of public domain clipart found here: +# http://www.openclipart.org/detail/17428 +Source6: hwmixvolume.png +Source7: hwmixvolume.desktop +Patch0: alsa-tools-1.0.23-hdspmixer-crash.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel >= %{version} %if 0%{!?_without_tools:1} @@ -47,6 +52,8 @@ BuildRequires: gtk2-devel BuildRequires: fltk-devel Buildrequires: desktop-file-utils Requires: xorg-x11-fonts-misc +# Needed for hwmixvolume +Requires: python-alsa %endif %description @@ -61,6 +68,8 @@ certain sound cards. * echomixer - Mixer for Echo Audio (indigo) devices * envy24control - Control tool for Envy24 (ice1712) based soundcards * hdspmixer - Mixer for the RME Hammerfall DSP cards +* hwmixvolume - Control the volume of individual streams on sound cards that + use hardware mixing * rmedigicontrol - Control panel for RME Hammerfall cards * sbiload - An OPL2/3 FM instrument loader for ALSA sequencer * sscape_ctl - ALSA SoundScape control utility @@ -87,6 +96,7 @@ The following tools are available: %prep %setup -q -n %{name}-%{version} +%patch0 -p1 %build @@ -119,6 +129,9 @@ do hdspmixer) (cd $i ; %makeinstall pixmapdir=${RPM_BUILD_ROOT}%{_datadir}/pixmaps desktopdir=${RPM_BUILD_ROOT}%{_datadir}/applications ) || exit 1 ;; + hwmixvolume) + (cd $i ; %makeinstall ; install -m 644 %{SOURCE6} %{buildroot}%{_datadir}/pixmaps/ ; install -m 644 %{SOURCE7} ${RPM_BUILD_ROOT}%{_datadir}/applications/ ) || exit 1 + ;; usx2yloader) (cd $i ; %makeinstall hotplugdir=${RPM_BUILD_ROOT}%{_sysconfdir}/hotplug/usb) || exit 1 ;; @@ -168,6 +181,7 @@ install -m 644 %{SOURCE5} ${RPM_BUILD_ROOT}%{_sysconfdir}/udev/rules.d %doc %{_docdir}/%{name}-%{version}/envy24control %doc %{_docdir}/%{name}-%{version}/hdspconf %doc %{_docdir}/%{name}-%{version}/hdspmixer +%doc %{_docdir}/%{name}-%{version}/hwmixvolume %doc %{_docdir}/%{name}-%{version}/rmedigicontrol %doc %{_docdir}/%{name}-%{version}/sbiload %{_bindir}/as10k1 @@ -175,6 +189,7 @@ install -m 644 %{SOURCE5} ${RPM_BUILD_ROOT}%{_sysconfdir}/udev/rules.d %{_bindir}/envy24control %{_bindir}/hdspconf %{_bindir}/hdspmixer +%{_bindir}/hwmixvolume %{_bindir}/rmedigicontrol %{_bindir}/sbiload %{_bindir}/sscape_ctl @@ -183,12 +198,14 @@ install -m 644 %{SOURCE5} ${RPM_BUILD_ROOT}%{_sysconfdir}/udev/rules.d %{_datadir}/applications/fedora-envy24control.desktop %{_datadir}/applications/fedora-hdspconf.desktop %{_datadir}/applications/fedora-hdspmixer.desktop +%{_datadir}/applications/fedora-hwmixvolume.desktop %{_datadir}/man/man1/envy24control.1.gz %{_datadir}/pixmaps/echomixer.png %{_datadir}/pixmaps/envy24control.png %{_datadir}/pixmaps/hdspconf.png %{_datadir}/pixmaps/hdspmixer.png -%{_datadir}/sounds/ +%{_datadir}/pixmaps/hwmixvolume.png +%{_datadir}/sounds/* # sb16_csp stuff which is excluded for PPCx %ifnarch ppc ppc64 @@ -217,6 +234,15 @@ install -m 644 %{SOURCE5} ${RPM_BUILD_ROOT}%{_sysconfdir}/udev/rules.d %endif %changelog +* Wed Feb 02 2011 Tim Jackson - 1.0.23-2 +- Fix common hdspmixer crash (RHBZ #656514) + +* Mon May 03 2010 Tom "spot" Callaway - 1.0.23-1 +- update to 1.0.23 + +* Sat Mar 06 2010 Tim Jackson - 1.0.22-2 +- Don't own /usr/share/sounds (#569415) + * Sun Jan 10 2010 Tim Jackson - 1.0.22-1 - Update to 1.0.22 - use %%global instead of %%define diff --git a/echomixer.desktop b/echomixer.desktop index 113552d..ee77e00 100644 --- a/echomixer.desktop +++ b/echomixer.desktop @@ -4,7 +4,7 @@ Name=Echomixer GenericName=Control Echo Digital Audio sound cards Comment=Mixer and GUI control utility for Echo Digital Audio sound cards Exec=echomixer -Icon=echomixer.png +Icon=echomixer Terminal=false Type=Application Categories=Application;AudioVideo; diff --git a/envy24control.desktop b/envy24control.desktop index b087355..ef814c0 100644 --- a/envy24control.desktop +++ b/envy24control.desktop @@ -4,7 +4,7 @@ Name=Envy24 Control GenericName=Envy24 Control Utility Comment=Mixer and GUI control utility for Envy24-based sound cards Exec=envy24control -Icon=envy24control.png +Icon=envy24control Terminal=false Type=Application Categories=Application;AudioVideo; diff --git a/hwmixvolume.desktop b/hwmixvolume.desktop new file mode 100644 index 0000000..e3ea9c7 --- /dev/null +++ b/hwmixvolume.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Hwmixvolume +GenericName=Control the volume of individual streams on sound cards that use hardware mixing +Comment=Control the volume of individual streams on sound cards that use hardware mixing +Exec=hwmixvolume +Icon=hwmixvolume +Terminal=false +Type=Application +Categories=Application;AudioVideo; +Version=0.9.4 diff --git a/hwmixvolume.png b/hwmixvolume.png new file mode 100644 index 0000000..28226ee Binary files /dev/null and b/hwmixvolume.png differ diff --git a/sources b/sources index cfc1e1b..1564120 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8305f7137aa5542731df8fa351554645 alsa-tools-1.0.22-pruned.tar.bz2 +97c71d428558755b45b4d1dca1aede59 alsa-tools-1.0.23-pruned.tar.bz2