Package: musescore2 / 2.3.2+dfsg4-16

upstream/synth-glitches.diff Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Origin: upstream, commit:4253d779cf46b9a72e5b170b6f14dcc332c7d0d7
Author: Eric Fontaine <eric@ericfontainejazz.com>
Description: fix #291756 explicitly-signed char fluid pitchadj
 C standards say that "char" may either be a "signed char" or "unsigned
 char" but that it is up to the compilers implementation or the platform
 which is followed. Some non x86 platforms, including PowerPC and ARM,
 treat unspecified chars as unsigned chars, so it is necessary to
 explicitly declare them as "signed char" (or to compile with
 "--signed_chars").
 .
 This fix ensures that fluid synth's sample's pitchadj value are
 correctly read as signed.

--- a/fluid/sfont.cpp
+++ b/fluid/sfont.cpp
@@ -811,9 +811,9 @@ unsigned char SFont::READB()
 //   READC
 //---------------------------------------------------------
 
-char SFont::READC()
+signed char SFont::READC()
       {
-      char var;
+      signed char var;
       safe_fread(&var, 1);
       return var;
       }
--- a/fluid/sfont.h
+++ b/fluid/sfont.h
@@ -92,7 +92,7 @@ class SFont {
       void FSKIP(int size)    {  return safe_fseek(size); }
       void FSKIPW();
       unsigned char READB();
-      char READC();
+      signed char READC();
       void READSTR(char*);
 
       void safe_fread(void *buf, int count);