From dc60e66eb54483d95c03a8661cb2a4704e6b42e7 Mon Sep 17 00:00:00 2001 From: Orcan Ogetbil Date: Sun, 30 May 2010 15:59:57 +0000 Subject: [PATCH] - Change device order in autodetect. Prevents a possible crash. - Fix segfault in waveedit when deleting end of waveform. - Comply with new python guidelines --- aldrin-65a8db7be79e.diff | 20 +++++++++++++++++++ aldrin-firstdev.patch | 42 ++++++++++++++++++++++++++++++++++++++++ aldrin.spec | 30 ++++++++++++++++++++++++---- 3 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 aldrin-65a8db7be79e.diff create mode 100644 aldrin-firstdev.patch 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 25320e3..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: 1%{?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 @@ -41,8 +51,9 @@ touch -r CREDITS CREDITS~ %{__rm} -rf $RPM_BUILD_ROOT scons install PREFIX=%{_prefix} DESTDIR=$RPM_BUILD_ROOT -desktop-file-install --vendor="fedora" \ +desktop-file-install --vendor="fedora" \ --remove-category="Application" \ + --add-category="Sequencer" \ --delete-original \ --dir=$RPM_BUILD_ROOT%{_datadir}/applications \ $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop @@ -79,6 +90,17 @@ 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 + +* Fri Jul 24 2009 Fedora Release Engineering - 0.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Fri Feb 27 2009 Orcan Ogetbil - 0.13-1 - Update to version 0.13