[fluidsynth] - Fix garbled sound issues. Upstream ticket #87

Orcan Ogetbil oget at fedoraproject.org
Sat Oct 2 05:00:49 UTC 2010


commit 8ee7b132d4c0bcbbfd41bdce177f82e14aca281b
Author: Orcan Ogetbil <oget.fedora at gmail.com>
Date:   Sat Oct 2 01:00:46 2010 -0400

    - Fix garbled sound issues. Upstream ticket #87

 fluidsynth-diff-trunk-from-r371-to-r373.diff |   48 ++++++++++++++++++++++++++
 fluidsynth.spec                              |   10 ++++-
 2 files changed, 56 insertions(+), 2 deletions(-)
---
diff --git a/fluidsynth-diff-trunk-from-r371-to-r373.diff b/fluidsynth-diff-trunk-from-r371-to-r373.diff
new file mode 100644
index 0000000..5b26e0c
--- /dev/null
+++ b/fluidsynth-diff-trunk-from-r371-to-r373.diff
@@ -0,0 +1,48 @@
+Index: trunk/fluidsynth/src/synth/fluid_synth.c
+===================================================================
+--- trunk/fluidsynth/src/synth/fluid_synth.c (revision 368)
++++ trunk/fluidsynth/src/synth/fluid_synth.c (revision 373)
+@@ -2906,5 +2906,5 @@
+   fluid_real_t** right_in;
+   double time = fluid_utime();
+-  int i, num, available, count, bytes;
++  int i, j, num, available, count, bytes;
+   float cpu_load;
+ 
+@@ -2923,6 +2923,13 @@
+ 
+     for (i = 0; i < synth->audio_channels; i++) {
++#ifdef WITH_FLOAT
+       FLUID_MEMCPY(left[i], left_in[i] + synth->cur, bytes);
+       FLUID_MEMCPY(right[i], right_in[i] + synth->cur, bytes);
++#else //WITH_FLOAT
++      for (j = 0; j < num; j++) {
++          left[i][j] = (float) left_in[i][j + synth->cur];
++          right[i][j] = (float) right_in[i][j + synth->cur];
++      }
++#endif //WITH_FLOAT
+     }
+     count += num;
+@@ -2933,5 +2940,5 @@
+   while (count < len) {
+     fluid_rvoice_mixer_set_mix_fx(synth->eventhandler->mixer, 0);
+-    fluid_synth_render_blocks(synth, 1);
++    fluid_synth_render_blocks(synth, 1); // TODO: 
+     fluid_rvoice_mixer_get_bufs(synth->eventhandler->mixer, &left_in, &right_in);
+ 
+@@ -2940,6 +2947,13 @@
+ 
+     for (i = 0; i < synth->audio_channels; i++) {
++#ifdef WITH_FLOAT
+       FLUID_MEMCPY(left[i] + count, left_in[i], bytes);
+       FLUID_MEMCPY(right[i] + count, right_in[i], bytes);
++#else //WITH_FLOAT
++      for (j = 0; j < num; j++) {
++          left[i][j + count] = (float) left_in[i][j];
++          right[i][j + count] = (float) right_in[i][j];
++      }
++#endif //WITH_FLOAT
+     }
+ 
+
+ 	  	 
diff --git a/fluidsynth.spec b/fluidsynth.spec
index 3c6f155..b67eaea 100644
--- a/fluidsynth.spec
+++ b/fluidsynth.spec
@@ -1,9 +1,12 @@
 Summary:      Real-time software synthesizer
 Name:         fluidsynth
 Version:      1.1.2
-Release:      1%{?dist}
+Release:      2%{?dist}
 URL:          http://www.fluidsynth.org/
 Source0:      http://downloads.sourceforge.net/fluidsynth/fluidsynth-%{version}.tar.bz2
+# Fix garbled sound issues. From upstream trunk
+# https://sourceforge.net/apps/trac/fluidsynth/ticket/87
+Patch0:       fluidsynth-diff-trunk-from-r371-to-r373.diff
 License:      LGPLv2+
 Group:        Applications/Multimedia
 BuildRoot:    %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -57,7 +60,7 @@ for building programs that link against fluidsynth.
 
 %prep
 %setup -q
-
+%patch0 -p2 -b .garbled
 
 %build
 mkdir -p %{_target_platform}
@@ -107,6 +110,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Sat Oct 01 2010 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 1.1.2-2
+- Fix garbled sound issues. Upstream ticket #87
+
 * Wed Sep 01 2010 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 1.1.2-1
 - Update to 1.1.2 (with cmake)
 


More information about the scm-commits mailing list