summaryrefslogtreecommitdiffstats
path: root/audio/lmms/gcc6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'audio/lmms/gcc6.patch')
-rw-r--r--audio/lmms/gcc6.patch112
1 files changed, 112 insertions, 0 deletions
diff --git a/audio/lmms/gcc6.patch b/audio/lmms/gcc6.patch
new file mode 100644
index 0000000000..ef7fbe75c9
--- /dev/null
+++ b/audio/lmms/gcc6.patch
@@ -0,0 +1,112 @@
+From a06cb0126ccb025993efb2d81c7cbfd8edd60609 Mon Sep 17 00:00:00 2001
+From: Javier Serrano Polo <javier@jasp.net>
+Date: Sat, 30 Apr 2016 00:00:09 +0200
+Subject: [PATCH] Fixed build problems with GCC 6
+
+---
+ plugins/LadspaEffect/calf/src/modules_limit.cpp | 3 ++-
+ plugins/opl2/fmopl.c | 29 +++++++++++-----------
+ .../zynaddsubfx/zynaddsubfx/src/UI/EnvelopeUI.fl | 6 +++--
+ .../zynaddsubfx/zynaddsubfx/src/UI/ResonanceUI.fl | 6 +++--
+ 5 files changed, 29 insertions(+), 22 deletions(-)
+
+diff --git a/plugins/LadspaEffect/calf/src/modules_limit.cpp b/plugins/LadspaEffect/calf/src/modules_limit.cpp
+index 3930078..cd3d6fa 100644
+--- a/plugins/LadspaEffect/calf/src/modules_limit.cpp
++++ b/plugins/LadspaEffect/calf/src/modules_limit.cpp
+@@ -540,7 +540,8 @@ uint32_t multibandlimiter_audio_module::process(uint32_t offset, uint32_t numsam
+ } // process single strip with filter
+
+ // write multiband coefficient to buffer
+- buffer[pos] = std::min(*params[param_limit] / std::max(fabs(sum_left), fabs(sum_right)), 1.0);
++ float pre_buffer = *params[param_limit] / std::max(fabs(sum_left), fabs(sum_right));
++ buffer[pos] = std::min(pre_buffer, 1.0f);
+
+ for (int i = 0; i < strips; i++) {
+ // process gain reduction
+diff --git a/plugins/opl2/fmopl.c b/plugins/opl2/fmopl.c
+index 9b411a2..3dd4a51 100644
+--- a/plugins/opl2/fmopl.c
++++ b/plugins/opl2/fmopl.c
+@@ -653,21 +653,21 @@ static void init_timetables( FM_OPL *OPL , int ARRATE , int DRRATE ) {
+ double rate;
+
+ /* make attack rate & decay rate tables */
+- for ( i = 0; i < 4; i++ ) OPL->AR_TABLE[i] = OPL->DR_TABLE[i] = 0; {
+- for (i = 4; i <= 60; i++) {
+- rate = OPL->freqbase; /* frequency rate */
+- if( i < 60 ) {
+- rate *= 1.0+(i&3)*0.25; /* b0-1 : x1 , x1.25 , x1.5 , x1.75 */
+- }
+- rate *= 1<<((i>>2)-1); /* b2-5 : shift bit */
+- rate *= (double)(EG_ENT<<ENV_BITS);
+- OPL->AR_TABLE[i] = rate / ARRATE;
+- OPL->DR_TABLE[i] = rate / DRRATE;
+- }
+- for ( i = 60; i < 75; i++ ) {
+- OPL->AR_TABLE[i] = EG_AED-1;
+- OPL->DR_TABLE[i] = OPL->DR_TABLE[60];
++ for ( i = 0; i < 4; i++ ) OPL->AR_TABLE[i] = OPL->DR_TABLE[i] = 0;
++ for (i = 4; i <= 60; i++) {
++ rate = OPL->freqbase; /* frequency rate */
++ if( i < 60 ) {
++ rate *= 1.0+(i&3)*0.25; /* b0-1 : x1 , x1.25 , x1.5 , x1.75 */
+ }
++ rate *= 1<<((i>>2)-1); /* b2-5 : shift bit */
++ rate *= (double)(EG_ENT<<ENV_BITS);
++ OPL->AR_TABLE[i] = rate / ARRATE;
++ OPL->DR_TABLE[i] = rate / DRRATE;
++ }
++ for ( i = 60; i < 75; i++ ) {
++ OPL->AR_TABLE[i] = EG_AED-1;
++ OPL->DR_TABLE[i] = OPL->DR_TABLE[60];
++ }
+ #if 0
+ for ( i = 0; i < 64 ; i++ ) { /* make for overflow area */
+ LOG(LOG_WAR,("rate %2d , ar %f ms , dr %f ms \n",i,
+@@ -675,7 +675,6 @@ static void init_timetables( FM_OPL *OPL , int ARRATE , int DRRATE ) {
+ ((double)(EG_ENT<<ENV_BITS) / OPL->DR_TABLE[i]) * (1000.0 / OPL->rate) ));
+ }
+ #endif
+- }
+ }
+
+ /* ---------- generic table initialize ---------- */
+diff --git a/plugins/zynaddsubfx/zynaddsubfx/src/UI/EnvelopeUI.fl b/plugins/zynaddsubfx/zynaddsubfx/src/UI/EnvelopeUI.fl
+index 359f64c..db70677 100644
+--- a/plugins/zynaddsubfx/zynaddsubfx/src/UI/EnvelopeUI.fl
++++ b/plugins/zynaddsubfx/zynaddsubfx/src/UI/EnvelopeUI.fl
+@@ -204,12 +204,14 @@ if (event==FL_RELEASE){
+
+ if ((event==FL_DRAG)&&(currentpoint>=0)){
+ int ny=127-(int) (y_*127.0/h());
+- if (ny<0) ny=0;if (ny>127) ny=127;
++ if (ny<0) ny=0;
++ if (ny>127) ny=127;
+ env->Penvval[currentpoint]=ny;
+
+ int dx=(int)((x_-cpx)*0.1);
+ int newdt=cpdt+dx;
+- if (newdt<0) newdt=0;if (newdt>127) newdt=127;
++ if (newdt<0) newdt=0;
++ if (newdt>127) newdt=127;
+ if (currentpoint!=0) env->Penvdt[currentpoint]=newdt;
+ else env->Penvdt[currentpoint]=0;
+
+diff --git a/plugins/zynaddsubfx/zynaddsubfx/src/UI/ResonanceUI.fl b/plugins/zynaddsubfx/zynaddsubfx/src/UI/ResonanceUI.fl
+index f1b887c..5ab7290 100644
+--- a/plugins/zynaddsubfx/zynaddsubfx/src/UI/ResonanceUI.fl
++++ b/plugins/zynaddsubfx/zynaddsubfx/src/UI/ResonanceUI.fl
+@@ -133,8 +133,10 @@ if ( (x_>=0)&&(x_<w()) && (y_>=0)&&(y_<h())){
+ if ((event==FL_PUSH)||(event==FL_DRAG)){
+ int leftbutton=1;
+ if (Fl::event_button()==FL_RIGHT_MOUSE) leftbutton=0;
+- if (x_<0) x_=0;if (y_<0) y_=0;
+- if (x_>=w()) x_=w();if (y_>=h()-1) y_=h()-1;
++ if (x_<0) x_=0;
++ if (y_<0) y_=0;
++ if (x_>=w()) x_=w();
++ if (y_>=h()-1) y_=h()-1;
+
+ if ((oldx<0)||(oldx==x_)){
+ int sn=(int)(x_*1.0/w()*N_RES_POINTS);