commit 6447bafaae3cb1043513421eef552152decccb31
parent cdec549cd7caffe5305358bf64a43a5f4728759d
Author: Johannes Lorenz <johannes89@ist-einmalig.de>
Date: Sun, 12 Nov 2017 01:27:51 +0100
Merge branch 'master' into default_values
Diffstat:
9 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -3,7 +3,7 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
project(zynaddsubfx)
set(VERSION_MAJOR "3")
set(VERSION_MINOR "0")
-set(VERSION_REVISION "2")
+set(VERSION_REVISION "3")
#Set data directory, if any
if(DEFINED ZYN_DATADIR)
diff --git a/HISTORY.txt b/HISTORY.txt
@@ -1,3 +1,13 @@
+3.0.3 (Mid October 2017)
+ - Add bank search to FLTK/NTK GUI
+ - Add parallel padsynth sample generation
+ - Remove X11 dependency for non-GUI builds
+ - Fix crash when changing modulation types in running notes
+ - Fix NullEngine usleep() on windows
+ - Fix loading filter parameters with older xml
+ - Fix effect saving when updating with zyn-fusion interface
+ - Fix minor bugs
+
3.0.2 (21 July 2017)
- Upgrade MIDI learn system to include host automations and macro
learned controls
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
@@ -147,6 +147,11 @@ elseif (OssEnable)
"Default Output module: [null, alsa, oss, jack, portaudio]")
SET (DefaultInput oss CACHE STRING
"Default Input module: [null, alsa, oss, jack]")
+elseif (PaEnable)
+ SET (DefaultOutput pa CACHE STRING
+ "Default Output module: [null, alsa, oss, jack, portaudio]")
+ SET (DefaultInput null CACHE STRING
+ "Default Input module: [null, alsa, oss, jack]")
else()
SET (DefaultOutput null CACHE STRING
"Default Output module: [null, alsa, oss, jack, portaudio]")
diff --git a/src/Misc/MiddleWare.cpp b/src/Misc/MiddleWare.cpp
@@ -60,7 +60,6 @@
namespace zyn {
using std::string;
-using std::mutex;
int Pexitprogram = 0;
/******************************************************************************
@@ -209,8 +208,18 @@ void preparePadSynth(string path, PADnoteParameters *p, rtosc::RtData &d)
assert(!path.empty());
path += "sample";
- mutex rtdata_mutex;
- unsigned num = p->sampleGenerator([&rtdata_mutex,&path,&d]
+#ifdef WIN32
+ unsigned num = p->sampleGenerator([&path,&d]
+ (unsigned N, PADnoteParameters::Sample &s)
+ {
+ //printf("sending info to '%s'\n",
+ // (path+to_s(N)).c_str());
+ d.chain((path+to_s(N)).c_str(), "ifb",
+ s.size, s.basefreq, sizeof(float*), &s.smp);
+ }, []{return false;}, 1);
+#else
+ std::mutex rtdata_mutex;
+ unsigned num = p->sampleGenerator([&rtdata_mutex, &path,&d]
(unsigned N, PADnoteParameters::Sample &s)
{
//printf("sending info to '%s'\n",
@@ -220,6 +229,8 @@ void preparePadSynth(string path, PADnoteParameters *p, rtosc::RtData &d)
s.size, s.basefreq, sizeof(float*), &s.smp);
rtdata_mutex.unlock();
}, []{return false;});
+#endif
+
//clear out unused samples
for(unsigned i = num; i < PAD_MAX_SAMPLES; ++i) {
d.chain((path+to_s(i)).c_str(), "ifb",
diff --git a/src/Params/PADnoteParameters.cpp b/src/Params/PADnoteParameters.cpp
@@ -965,6 +965,11 @@ int PADnoteParameters::sampleGenerator(PADnoteParameters::callback cb,
delete[] spectrum;
};
+#ifdef WIN32
+ //Temporarily disable multi-threading here as C++11 threads are broken on
+ //mingw cross compilation
+ thread_cb(1,0);
+#else
unsigned nthreads = std::min(max_threads,
std::thread::hardware_concurrency());
std::vector<std::thread> threads(nthreads);
@@ -972,6 +977,7 @@ int PADnoteParameters::sampleGenerator(PADnoteParameters::callback cb,
threads[i] = std::thread(thread_cb, nthreads, i);
for(unsigned i = 0; i < nthreads; ++i)
threads[i].join();
+#endif
return samplemax;
}
diff --git a/src/Tests/guitar-adnote.xmz b/src/Tests/guitar-adnote.xmz
@@ -2,7 +2,7 @@
<?xml version="1.0f" encoding="UTF-8"?>
<!DOCTYPE ZynAddSubFX-data>
<ZynAddSubFX-data version-major="3" version-minor="0"
-version-revision="2" ZynAddSubFX-author="Nasca Octavian Paul">
+version-revision="3" ZynAddSubFX-author="Nasca Octavian Paul">
<INFORMATION>
<par_bool name="PADsynth_used" value="yes" />
</INFORMATION>
diff --git a/zynaddsubfx-alsa.desktop b/zynaddsubfx-alsa.desktop
@@ -2,6 +2,7 @@
Name=ZynAddSubFX - Alsa
Comment=A powerful realtime software synthesizer
Comment[fr]=Un synthétiseur logiciel temps-réel puissant
+Comment[pl]=Funkcjonalny syntezator wirtualny czasu rzeczywistego
Keywords=audio;sound;alsa;midi;synth;synthesizer;
Exec=zynaddsubfx -I alsa -O alsa
Icon=zynaddsubfx
diff --git a/zynaddsubfx-jack.desktop b/zynaddsubfx-jack.desktop
@@ -2,6 +2,7 @@
Name=ZynAddSubFX - Jack
Comment=A powerful realtime software synthesizer
Comment[fr]=Un synthétiseur logiciel temps-réel puissant
+Comment[pl]=Funkcjonalny syntezator wirtualny czasu rzeczywistego
Keywords=audio;sound;jack;midi;synth;synthesizer;
Exec=zynaddsubfx -I jack -O jack
Icon=zynaddsubfx
diff --git a/zynaddsubfx-oss.desktop b/zynaddsubfx-oss.desktop
@@ -2,6 +2,7 @@
Name=ZynAddSubFX - OSS
Comment=A powerful realtime software synthesizer
Comment[fr]=Un synthétiseur logiciel temps-réel puissant
+Comment[pl]=Funkcjonalny syntezator wirtualny czasu rzeczywistego
Keywords=audio;sound;alsa;midi;synth;synthesizer;
Exec=zynaddsubfx -I OSS -O OSS
Icon=zynaddsubfx