Update ZynAddSubFx to v3.0.3.

This update include many bugfixes and many new features over v2.4.3.
The list of changes would be too long for this commit message.
Please refer to the ZynAddSubFx release announcements at
zynaddsubfx-user@lists.sourceforge.net for more information.

PR:		220958
PR:		223635
Tested by:	pi @
Approved by:	maintainer
This commit is contained in:
Hans Petter Selasky 2017-12-06 09:57:32 +00:00
parent 4049774e59
commit a4b790f653
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=455641
10 changed files with 906 additions and 342 deletions

View File

@ -2,11 +2,9 @@
# $FreeBSD$
PORTNAME= zynaddsubfx
PORTVERSION= 2.4.3
PORTREVISION= 7
PORTVERSION= 3.0.3
CATEGORIES= audio
MASTER_SITES= SF
DISTNAME= ZynAddSubFX-${PORTVERSION}
MAINTAINER= hselasky@FreeBSD.org
COMMENT= Realtime software synthesizer
@ -14,19 +12,20 @@ COMMENT= Realtime software synthesizer
LICENSE= GPLv2
LIB_DEPENDS= libfftw3.so:math/fftw3 \
libmxml.so:textproc/mxml
libmxml.so:textproc/mxml \
liblo.so:audio/liblo
USES= tar:bzip2 cmake pkgconfig
USE_LDCONFIG= yes
OPTIONS_DEFINE= JACK GUI PORTAUDIO LASH LO DOCS EXAMPLES
OPTIONS_DEFAULT= JACK GUI PORTAUDIO
OPTIONS_DEFINE= OSS JACK GUI PORTAUDIO LASH DOCS EXAMPLES
OPTIONS_DEFAULT= OSS JACK GUI PORTAUDIO
OPTIONS_RADIO= AUDIO
OPTIONS_RADIO_AUDIO= ALSAMIDI DSSI
OPTIONS_SUB= yes
ALSAMIDI_DESC= MIDI input through ALSA
DSSI_DESC= DSSI Plugin
LO_DESC= Open Sound Control support via LibLO
ALSAMIDI_LIB_DEPENDS= libasound.so:audio/alsa-lib
ALSAMIDI_CMAKE_OFF= -DAlsaEnable:BOOL=OFF
@ -37,27 +36,32 @@ DSSI_RUN_DEPENDS= dssi>0:audio/dssi
DSSI_CFLAGS= -I${LOCALBASE}/include/dssi
DSSI_CMAKE_OFF= -DDssiEnable:BOOL=OFF
GUI_LIB_DEPENDS= libfltk.so:x11-toolkits/fltk
GUI_LIB_DEPENDS= libfltk.so:x11-toolkits/fltk \
libpng16.so:graphics/png \
libfontconfig.so:x11-fonts/fontconfig
GUI_ON= -DGuiModule:STRING=fltk
GUI_CMAKE_OFF= -DGuiModule:STRING=OFF
GUI_USE+= XORG=x11,xext,xfixes,xcursor,ice,sm,xpm,xinerama,xft
GUI_USE+= GL=glu
GUI_USES= jpeg
LO_LIB_DEPENDS= liblo.so:audio/liblo
LO_CMAKE_OFF= -DLibloEnable:BOOL=OFF
OSS_CMAKE_ON= -DOssEnable:BOOL=ON
OSS_CMAKE_OFF= -DOssEnable:BOOL=OFF
LASH_LIB_DEPENDS= liblash.so:audio/lash
LASH_CMAKE_OFF= -DLashEnabe:BOOL=OFF
LASH_CMAKE_OFF= -DLashEnable:BOOL=OFF
JACK_LIB_DEPENDS= libjack.so:audio/jack
JACK_CMAKE_OFF= -DJackEnable:BOOL=OFF
PORTAUDIO_LIB_DEPENDS= libportaudio.so:audio/portaudio
PORTAUDIO_CMAKE_OFF= -DPaEnabe:BOOL=OFF
PORTAUDIO_LDFLAGS= -lportaudio
PORTAUDIO_CMAKE_OFF= -DPaEnable:BOOL=OFF
PORTAUDIO_LDFLAGS= -L${LOCALBASE}/lib -lportaudio
PORTDOCS= *
DOCSRCDIR1= ${WRKSRC}
DOC_FILES1= AUTHORS.txt ChangeLog FAQ.txt HISTORY.txt README.txt
DOC_FILES1= AUTHORS.txt ChangeLog HISTORY.txt
DOCSRCDIR2= ${WRKSRC}/doc
DOCSDIR2= ${DOCSDIR}/doc
@ -70,6 +74,9 @@ DOC_FILES3= *.png *.jpg
PORTEXAMPLES= *
CMAKE_ARGS+= -DZYN_DATADIR:STRING=${DATADIR}
CMAKE_ARGS+= -DZYN_EXAMPLESDIR:STRING=${EXAMPLESDIR}
.include <bsd.port.pre.mk>
.if ${ARCH} == "i386" || ${ARCH} == "amd64"
@ -77,17 +84,14 @@ CFLAGS+= -DASM_F2I_YES
.endif
post-patch:
@${REINPLACE_CMD} -e \
'/FILES/s|^|#| ; \
/DESTINATION/s|^|#| ; \
/[[:blank:]])/s|^|#|' ${WRKSRC}/CMakeLists.txt
@${REINPLACE_CMD} -e \
's|-O3 .* -fomit-frame-pointer|| ; \
/-DASM_F2I_YES/d ; \
/-g #/d ; \
/pthread/d ; \
s|lib64|lib|' ${WRKSRC}/src/CMakeLists.txt
@${REINPLACE_CMD} -e 's|%%DATADIR%%|${DATADIR}|' ${WRKSRC}/src/Misc/Config.cpp
/-g #/d' ${WRKSRC}/src/CMakeLists.txt
post-configure-GUI-off:
# kill a stray -lX11, fixed upstream
@${REINPLACE_CMD} -e 's| -lX11||' ${WRKSRC}/build.ninja
post-install:
@${MKDIR} ${STAGEDIR}${DATADIR}/banks \
@ -101,7 +105,5 @@ post-install:
${INSTALL_DATA} ${DOC_FILES1:S|^|${DOCSRCDIR1}/|} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${DOC_FILES2:S|^|${DOCSRCDIR2}/|} ${STAGEDIR}${DOCSDIR2}
${INSTALL_DATA} ${DOC_FILES3:S|^|${DOCSRCDIR3}/|} ${STAGEDIR}${DOCSDIR3}
(cd ${WRKSRC}/instruments/examples && \
${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
.include <bsd.port.post.mk>

View File

@ -1,2 +1,3 @@
SHA256 (ZynAddSubFX-2.4.3.tar.bz2) = b84b595660ccec3ebc364c29c2d29def7d28a6947fc1dfb26bd8c34ca0e7f54d
SIZE (ZynAddSubFX-2.4.3.tar.bz2) = 2536667
TIMESTAMP = 1512549274
SHA256 (zynaddsubfx-3.0.3.tar.bz2) = 11de448f9664076e9e8f2bcb8f7f45bf54a13516b7d6693da1ef8c511b8ed7c1
SIZE (zynaddsubfx-3.0.3.tar.bz2) = 7989258

View File

@ -1,93 +0,0 @@
commit ecfc42ce3e2564e71ef78f48a2c736bf37f17281
Author: fundamental <mark.d.mccurry@gmail.com>
Date: Wed Oct 31 23:43:55 2012 -0400
C++11: Build now compiles without errors
Due to std::complex<T>::imag() and ::real() changing their signatures, in C++11,
code dealing with these was updated to compile under both versions of C++.
diff --git a/src/Effects/Alienwah.cpp b/src/Effects/Alienwah.cpp
index 078a964..b3110ba 100644
--- src/Effects/Alienwah.cpp
+++ src/Effects/Alienwah.cpp
@@ -65,7 +65,7 @@ void Alienwah::out(const Stereo<float *> &smp)
complex<float> tmp = clfol * x + oldclfol * x1;
complex<float> out = tmp * oldl[oldk];
- out.real() += (1 - fabs(fb)) * smp.l[i] * pangainL;
+ out += (1 - fabs(fb)) * smp.l[i] * pangainL;
oldl[oldk] = out;
float l = out.real() * 10.0f * (fb + 0.1f);
@@ -74,7 +74,7 @@ void Alienwah::out(const Stereo<float *> &smp)
tmp = clfor * x + oldclfor * x1;
out = tmp * oldr[oldk];
- out.real() += (1 - fabs(fb)) * smp.r[i] * pangainR;
+ out += (1 - fabs(fb)) * smp.r[i] * pangainR;
oldr[oldk] = out;
float r = out.real() * 10.0f * (fb + 0.1f);
diff --git a/src/Params/PADnoteParameters.cpp b/src/Params/PADnoteParameters.cpp
index 8d612b5..c972233 100644
--- src/Params/PADnoteParameters.cpp
+++ src/Params/PADnoteParameters.cpp
@@ -477,7 +477,7 @@ void PADnoteParameters::generatespectrum_bandwidthMode(float *spectrum,
float idfreq = i / (float)profilesize - 0.5f;
idfreq *= ibw;
int spfreq = (int) (idfreq + ibasefreq);
- float fspfreq = fmod((double)idfreq + ibasefreq, 1.0f);
+ float fspfreq = fmodf((float)idfreq + ibasefreq, 1.0f);
if(spfreq <= 0)
continue;
if(spfreq >= size - 1)
diff --git a/src/Synth/OscilGen.cpp b/src/Synth/OscilGen.cpp
index 3351d82..44e40e4 100644
--- src/Synth/OscilGen.cpp
+++ src/Synth/OscilGen.cpp
@@ -616,12 +616,9 @@ void OscilGen::prepare()
clearAll(oscilFFTfreqs);
if(Pcurrentbasefunc == 0) //the sine case
for(int i = 0; i < MAX_AD_HARMONICS - 1; ++i) {
- oscilFFTfreqs[i
- + 1].real() = -hmag[i]
- * sinf(hphase[i] * (i + 1)) / 2.0f;
- oscilFFTfreqs[i
- + 1].imag() = hmag[i]
- * cosf(hphase[i] * (i + 1)) / 2.0f;
+ oscilFFTfreqs[i + 1] =
+ std::complex<float>(-hmag[i] * sinf(hphase[i] * (i + 1)) / 2.0f,
+ hmag[i] * cosf(hphase[i] * (i + 1)) / 2.0f);
}
else
for(int j = 0; j < MAX_AD_HARMONICS; ++j) {
@@ -698,10 +695,12 @@ void OscilGen::adaptiveharmonic(fft_t *f, float freq)
break;
else {
if(down) {
- f[high].real() += inf[i].real() * (1.0f - low);
- f[high].imag() += inf[i].imag() * (1.0f - low);
- f[high + 1].real() += inf[i].real() * low;
- f[high + 1].imag() += inf[i].imag() * low;
+ f[high] =
+ std::complex<float>(f[high].real() + inf[i].real() * (1.0f - low),
+ f[high].imag() + inf[i].imag() * (1.0f - low));
+
+ f[high + 1] = std::complex<float>(f[high + 1].real() + inf[i].real() * low,
+ f[high + 1].imag() + inf[i].imag() * low);
}
else {
hc = inf[high].real()
@@ -1112,8 +1111,9 @@ void OscilGen::getfromXML(XMLwrapper *xml)
if(xml->enterbranch("BASE_FUNCTION")) {
for(int i = 1; i < synth->oscilsize / 2; ++i)
if(xml->enterbranch("BF_HARMONIC", i)) {
- basefuncFFTfreqs[i].real() = xml->getparreal("cos", 0.0f);
- basefuncFFTfreqs[i].imag() = xml->getparreal("sin", 0.0f);
+ basefuncFFTfreqs[i] =
+ std::complex<float>(xml->getparreal("cos", 0.0f),
+ xml->getparreal("sin", 0.0f));
xml->exitbranch();
}
xml->exitbranch();

View File

@ -1,30 +0,0 @@
--- src/CMakeLists.txt.orig 2012-06-16 04:22:35 UTC
+++ src/CMakeLists.txt
@@ -127,6 +127,13 @@ set (BuildOptionsDebug
# From here on, the setting variables have been prepared so concentrate
# on the actual compiling.
+if(PaEnable)
+ include_directories(${PORTAUDIO_INCLUDE_DIRS})
+ add_definitions(-DPORTAUDIO=1)
+ list(APPEND AUDIO_LIBRARIES ${PORTAUDIO_LIBRARIES})
+ list(APPEND AUDIO_LIBRARY_DIRS ${PORTAUDIO_LIBRARY_DIRS})
+endif()
+
if(AlsaEnable)
list(APPEND AUDIO_LIBRARIES ${ASOUND_LIBRARY})
list(APPEND AUDIO_LIBRARY_DIRS ${ASOUND_LIBRARY_DIRS})
@@ -143,13 +150,6 @@ if(OssEnable)
add_definitions(-DOSS=1)
endif(OssEnable)
-if(PaEnable)
- include_directories(${PORTAUDIO_INCLUDE_DIR})
- add_definitions(-DPORTAUDIO=1)
- list(APPEND AUDIO_LIBRARIES ${PORTAUDIO_LIBRARIES})
- list(APPEND AUDIO_LIBRARY_DIRS ${PORTAUDIO_LIBRARY_DIRS})
-endif()
-
if (CompileTests)
ENABLE_TESTING()
endif()

View File

@ -1,26 +0,0 @@
--- src/Misc/Config.cpp.orig 2011-12-19 21:14:30 UTC
+++ src/Misc/Config.cpp
@@ -84,10 +84,9 @@ void Config::init()
//banks
cfg.bankRootDirList[0] = "~/banks";
cfg.bankRootDirList[1] = "./";
- cfg.bankRootDirList[2] = "/usr/share/zynaddsubfx/banks";
- cfg.bankRootDirList[3] = "/usr/local/share/zynaddsubfx/banks";
- cfg.bankRootDirList[4] = "../banks";
- cfg.bankRootDirList[5] = "banks";
+ cfg.bankRootDirList[2] = "%%DATADIR%%/banks";
+ cfg.bankRootDirList[3] = "../banks";
+ cfg.bankRootDirList[4] = "banks";
}
if(cfg.presetsDirList[0].empty()) {
@@ -95,8 +94,7 @@ void Config::init()
cfg.presetsDirList[0] = "./";
cfg.presetsDirList[1] = "../presets";
cfg.presetsDirList[2] = "presets";
- cfg.presetsDirList[3] = "/usr/share/zynaddsubfx/presets";
- cfg.presetsDirList[4] = "/usr/local/share/zynaddsubfx/presets";
+ cfg.presetsDirList[3] = "%%DATADIR%%/presets";
}
cfg.LinuxALSAaudioDev = "default";
cfg.nameTag = "";

View File

@ -1,11 +0,0 @@
--- src/Misc/Master.h.orig 2012-06-16 04:02:12 UTC
+++ src/Misc/Master.h
@@ -33,6 +33,8 @@
#include "../Params/Controller.h"
+#include <pthread.h>
+
typedef enum {
MUTEX_TRYLOCK, MUTEX_LOCK, MUTEX_UNLOCK
} lockset;

View File

@ -1,10 +0,0 @@
--- src/Misc/Part.h.orig 2012-06-14 14:35:03 UTC
+++ src/Misc/Part.h
@@ -30,6 +30,7 @@
#include "../Misc/Microtonal.h"
#include <list> // For the monomemnotes list.
+#include <pthread.h>
class EffectMgr;
class ADnoteParameters;

View File

@ -1,10 +0,0 @@
--- src/Nio/SafeQueue.h.orig 2011-12-19 21:14:30 UTC
+++ src/Nio/SafeQueue.h
@@ -2,6 +2,7 @@
#ifndef SAFEQUEUE_H
#define SAFEQUEUE_H
#include <cstdlib>
+#include <pthread.h>
#include <semaphore.h>
/**

View File

@ -1,17 +0,0 @@
CMake 2.8.12 support.
It does not make sense to add MYFLTK_LIBRARIES (which translates to
something like "-L/usr/local/lib -lfoo -lbar") to the link interface
library of a static library like libzynaddsubfx_gui.a.
Removing FLTK_LIBRARIES does not cause any problems either, as
GUI_LIBRARIES in src/CMakeLists.txt sets all the required GUI-related
libraries that need to be linked against the zynaddsubfx binary.
--- src/UI/CMakeLists.txt.orig 2012-06-10 22:20:18 UTC
+++ src/UI/CMakeLists.txt
@@ -32,5 +32,3 @@ add_library(zynaddsubfx_gui STATIC
NioUI.cpp
WidgetPDial.cpp
)
-
-target_link_libraries(zynaddsubfx_gui ${FLTK_LIBRARIES} ${MYFLTK_LIBRARIES})

File diff suppressed because it is too large Load Diff