diff --git a/aldrin-65a8db7be79e.diff b/aldrin-65a8db7be79e.diff new file mode 100644 index 0000000..e57d4ed --- /dev/null +++ b/aldrin-65a8db7be79e.diff @@ -0,0 +1,20 @@ +# HG changeset patch -- Bitbucket.org +# Project Aldrin +# URL http://bitbucket.org/paniq/aldrin/overview +# User jmmcd +# Date 1238628185 -3600 +# Node ID 65a8db7be79e5a55343fff33e0234702a2c04416 +# Parent 66f9f971fdf278d83f620cea4a7de3585d1d1c31 +Fix segfault in waveedit when deleting end of waveform. Fixes #16 on bitbucket. Thanks to bucket_brigade for the fix. + +--- a/src/aldrin/waveedit.py ++++ b/src/aldrin/waveedit.py +@@ -115,7 +115,7 @@ class WaveEditView(gtk.DrawingArea): + player = com.get('aldrin.core.player') + if self.selection: + begin,end = self.selection +- self.level.remove_sample_range(begin,end) ++ self.level.remove_sample_range(begin,end-1) + self.selection = None + player.history_commit("remove sample range") + self.sample_changed() diff --git a/aldrin-firstdev.patch b/aldrin-firstdev.patch new file mode 100644 index 0000000..6256fc4 --- /dev/null +++ b/aldrin-firstdev.patch @@ -0,0 +1,42 @@ +diff -rupN aldrin.old/src/components/driver.py aldrin/src/components/driver.py +--- aldrin.old/src/components/driver.py 2009-01-09 16:25:22.000000000 -0500 ++++ aldrin/src/components/driver.py 2010-03-06 04:32:27.000000000 -0500 +@@ -155,22 +155,33 @@ class AudioDriver: + + # second round: if we didnt find them from the config, + # pick good alternatives. ++ ++ # regardless of what was chosen as input, if output ++ # has an input as well, prefer that one first. ++ # We also prefer the first device since it is usually the ++ # default system device. Unfortunately, the armstrong api ++ # does not provide us a default value. ++ if (output == -1 and input == -1): ++ for i in range(self.driver.get_count()): ++ if (self.driver.is_output(i) and self.driver.is_input(i)): ++ output = i ++ input = i ++ break + + if output == -1: + for i in range(self.driver.get_count()): + if self.driver.is_output(i): + output = i +- +- # regardless of what was chosen as input, if output +- # has an input as well, prefer that one first. +- if self.driver.is_input(output): +- input = output ++ break + + # take output channel if it supports input + if input == -1: + for i in range(self.driver.get_count()): + if self.driver.is_input(i): + input = i ++ break ++ if self.driver.is_input(output): ++ input = output + + if output == -1: + raise self.AudioInitException diff --git a/aldrin.spec b/aldrin.spec index 1191a90..f196ddc 100644 --- a/aldrin.spec +++ b/aldrin.spec @@ -1,14 +1,23 @@ -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5) +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} +%endif Name: aldrin Version: 0.13 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Modular music sequencer/tracker Group: Applications/Multimedia License: GPLv2+ URL: http://code.google.com/p/aldrin-sequencer/ Source0: http://aldrin-sequencer.googlecode.com/files/%{name}-%{version}.tar.gz Patch0: aldrin-docfix.patch +# Choose the first detected device instead of last one. Prevents crashes on +# some systems I tried that supply multiple output devices per sound card. +# http://bitbucket.org/paniq/aldrin/issue/32/device-order-patch +Patch1: aldrin-firstdev.patch +# Fix segfault in waveedit when deleting end of waveform. +# http://bitbucket.org/paniq/aldrin/issue/16/segfault-when-deleting-the-end-of-a-wav +Patch2: aldrin-65a8db7be79e.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: scons @@ -26,7 +35,8 @@ samples. %prep %setup -q -n %{name} %patch0 -p1 -b .docfix - +%patch1 -p1 -b .firstdev +%patch2 -p1 -b .delete.waveform %build # Fix encoding @@ -80,6 +90,11 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/icons/hicolor/*/apps/* %changelog +* Sat Mar 06 2010 Orcan Ogetbil - 0.13-4 +- Change device order in autodetect. Prevents a possible crash. +- Fix segfault in waveedit when deleting end of waveform. +- Comply with new python guidelines + * Wed Aug 05 2009 Orcan Ogetbil - 0.13-3 - Update the .desktop file