commit 026614f802f6fa517a34a0a7ced5236a8586abfe
parent bff99514595f223ef7a18db1878878ad1838cfec
Author: fundamental <mark.d.mccurry@gmail.com>
Date: Fri, 23 Oct 2020 19:44:24 -0400
Merge Sourceforge git repo's master branch
Diffstat:
3 files changed, 336 insertions(+), 3 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 "5")
+set(VERSION_REVISION "6")
#Set data directory, if any
if(DEFINED ZYN_DATADIR)
diff --git a/src/Effects/EffectMgr.cpp b/src/Effects/EffectMgr.cpp
@@ -502,7 +502,25 @@ void EffectMgr::getfromXML(XMLwrapper& xml)
if(xml.enterbranch("EFFECT_PARAMETERS")) {
for(int n = 0; n != 128; n++) {
if(xml.enterbranch("par_no", n) == 0) {
- settings[n] = -1; /* use default */
+ /*
+ * XXX workaround for old presets:
+ *
+ * All effect parameters have a default value.
+ * Default values are skipped when storing parameters,
+ * and must appear as the default value when loading.
+ *
+ * Up until recently it was assumed that the default
+ * value of all parameters is zero. This is no longer
+ * true, but when loading old presets we need to
+ * preserve this behaviour! Else sounds may change.
+ */
+ if (xml.fileversion() < version_type(3,0,6) &&
+ /* XXX old presets don't have DC offset */
+ (geteffect() != 6 || n < 11)) {
+ settings[n] = 0;
+ } else {
+ settings[n] = -1; /* use parameter default */
+ }
} else {
settings[n] = xml.getpar127("par", 0);
xml.exitbranch();
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="5" ZynAddSubFX-author="Nasca Octavian Paul">
+version-revision="6" ZynAddSubFX-author="Nasca Octavian Paul">
<INFORMATION>
<par_bool name="PADsynth_used" value="yes" />
</INFORMATION>
@@ -798,9 +798,24 @@ version-revision="5" ZynAddSubFX-author="Nasca Octavian Paul">
<par_no id="4">
<par name="par" value="29" />
</par_no>
+<par_no id="5">
+<par name="par" value="0" />
+</par_no>
+<par_no id="6">
+<par name="par" value="0" />
+</par_no>
<par_no id="7">
<par name="par" value="83" />
</par_no>
+<par_no id="8">
+<par name="par" value="0" />
+</par_no>
+<par_no id="9">
+<par name="par" value="0" />
+</par_no>
+<par_no id="10">
+<par name="par" value="0" />
+</par_no>
</EFFECT_PARAMETERS>
</EFFECT>
<par name="route" value="0" />
@@ -814,6 +829,33 @@ version-revision="5" ZynAddSubFX-author="Nasca Octavian Paul">
<par_no id="0">
<par name="par" value="56" />
</par_no>
+<par_no id="1">
+<par name="par" value="0" />
+</par_no>
+<par_no id="2">
+<par name="par" value="0" />
+</par_no>
+<par_no id="3">
+<par name="par" value="0" />
+</par_no>
+<par_no id="4">
+<par name="par" value="0" />
+</par_no>
+<par_no id="5">
+<par name="par" value="0" />
+</par_no>
+<par_no id="6">
+<par name="par" value="0" />
+</par_no>
+<par_no id="7">
+<par name="par" value="0" />
+</par_no>
+<par_no id="8">
+<par name="par" value="0" />
+</par_no>
+<par_no id="9">
+<par name="par" value="0" />
+</par_no>
<par_no id="10">
<par name="par" value="7" />
</par_no>
@@ -826,6 +868,9 @@ version-revision="5" ZynAddSubFX-author="Nasca Octavian Paul">
<par_no id="13">
<par name="par" value="36" />
</par_no>
+<par_no id="14">
+<par name="par" value="0" />
+</par_no>
<par_no id="15">
<par name="par" value="6" />
</par_no>
@@ -838,6 +883,9 @@ version-revision="5" ZynAddSubFX-author="Nasca Octavian Paul">
<par_no id="18">
<par name="par" value="32" />
</par_no>
+<par_no id="19">
+<par name="par" value="0" />
+</par_no>
<par_no id="20">
<par name="par" value="9" />
</par_no>
@@ -850,6 +898,12 @@ version-revision="5" ZynAddSubFX-author="Nasca Octavian Paul">
<par_no id="23">
<par name="par" value="64" />
</par_no>
+<par_no id="24">
+<par name="par" value="0" />
+</par_no>
+<par_no id="25">
+<par name="par" value="0" />
+</par_no>
<par_no id="26">
<par name="par" value="36" />
</par_no>
@@ -859,6 +913,12 @@ version-revision="5" ZynAddSubFX-author="Nasca Octavian Paul">
<par_no id="28">
<par name="par" value="57" />
</par_no>
+<par_no id="29">
+<par name="par" value="0" />
+</par_no>
+<par_no id="30">
+<par name="par" value="0" />
+</par_no>
<par_no id="31">
<par name="par" value="64" />
</par_no>
@@ -868,6 +928,12 @@ version-revision="5" ZynAddSubFX-author="Nasca Octavian Paul">
<par_no id="33">
<par name="par" value="64" />
</par_no>
+<par_no id="34">
+<par name="par" value="0" />
+</par_no>
+<par_no id="35">
+<par name="par" value="0" />
+</par_no>
<par_no id="36">
<par name="par" value="64" />
</par_no>
@@ -877,6 +943,12 @@ version-revision="5" ZynAddSubFX-author="Nasca Octavian Paul">
<par_no id="38">
<par name="par" value="64" />
</par_no>
+<par_no id="39">
+<par name="par" value="0" />
+</par_no>
+<par_no id="40">
+<par name="par" value="0" />
+</par_no>
<par_no id="41">
<par name="par" value="64" />
</par_no>
@@ -886,6 +958,12 @@ version-revision="5" ZynAddSubFX-author="Nasca Octavian Paul">
<par_no id="43">
<par name="par" value="64" />
</par_no>
+<par_no id="44">
+<par name="par" value="0" />
+</par_no>
+<par_no id="45">
+<par name="par" value="0" />
+</par_no>
<par_no id="46">
<par name="par" value="64" />
</par_no>
@@ -895,6 +973,243 @@ version-revision="5" ZynAddSubFX-author="Nasca Octavian Paul">
<par_no id="48">
<par name="par" value="64" />
</par_no>
+<par_no id="49">
+<par name="par" value="0" />
+</par_no>
+<par_no id="50">
+<par name="par" value="0" />
+</par_no>
+<par_no id="51">
+<par name="par" value="0" />
+</par_no>
+<par_no id="52">
+<par name="par" value="0" />
+</par_no>
+<par_no id="53">
+<par name="par" value="0" />
+</par_no>
+<par_no id="54">
+<par name="par" value="0" />
+</par_no>
+<par_no id="55">
+<par name="par" value="0" />
+</par_no>
+<par_no id="56">
+<par name="par" value="0" />
+</par_no>
+<par_no id="57">
+<par name="par" value="0" />
+</par_no>
+<par_no id="58">
+<par name="par" value="0" />
+</par_no>
+<par_no id="59">
+<par name="par" value="0" />
+</par_no>
+<par_no id="60">
+<par name="par" value="0" />
+</par_no>
+<par_no id="61">
+<par name="par" value="0" />
+</par_no>
+<par_no id="62">
+<par name="par" value="0" />
+</par_no>
+<par_no id="63">
+<par name="par" value="0" />
+</par_no>
+<par_no id="64">
+<par name="par" value="0" />
+</par_no>
+<par_no id="65">
+<par name="par" value="0" />
+</par_no>
+<par_no id="66">
+<par name="par" value="0" />
+</par_no>
+<par_no id="67">
+<par name="par" value="0" />
+</par_no>
+<par_no id="68">
+<par name="par" value="0" />
+</par_no>
+<par_no id="69">
+<par name="par" value="0" />
+</par_no>
+<par_no id="70">
+<par name="par" value="0" />
+</par_no>
+<par_no id="71">
+<par name="par" value="0" />
+</par_no>
+<par_no id="72">
+<par name="par" value="0" />
+</par_no>
+<par_no id="73">
+<par name="par" value="0" />
+</par_no>
+<par_no id="74">
+<par name="par" value="0" />
+</par_no>
+<par_no id="75">
+<par name="par" value="0" />
+</par_no>
+<par_no id="76">
+<par name="par" value="0" />
+</par_no>
+<par_no id="77">
+<par name="par" value="0" />
+</par_no>
+<par_no id="78">
+<par name="par" value="0" />
+</par_no>
+<par_no id="79">
+<par name="par" value="0" />
+</par_no>
+<par_no id="80">
+<par name="par" value="0" />
+</par_no>
+<par_no id="81">
+<par name="par" value="0" />
+</par_no>
+<par_no id="82">
+<par name="par" value="0" />
+</par_no>
+<par_no id="83">
+<par name="par" value="0" />
+</par_no>
+<par_no id="84">
+<par name="par" value="0" />
+</par_no>
+<par_no id="85">
+<par name="par" value="0" />
+</par_no>
+<par_no id="86">
+<par name="par" value="0" />
+</par_no>
+<par_no id="87">
+<par name="par" value="0" />
+</par_no>
+<par_no id="88">
+<par name="par" value="0" />
+</par_no>
+<par_no id="89">
+<par name="par" value="0" />
+</par_no>
+<par_no id="90">
+<par name="par" value="0" />
+</par_no>
+<par_no id="91">
+<par name="par" value="0" />
+</par_no>
+<par_no id="92">
+<par name="par" value="0" />
+</par_no>
+<par_no id="93">
+<par name="par" value="0" />
+</par_no>
+<par_no id="94">
+<par name="par" value="0" />
+</par_no>
+<par_no id="95">
+<par name="par" value="0" />
+</par_no>
+<par_no id="96">
+<par name="par" value="0" />
+</par_no>
+<par_no id="97">
+<par name="par" value="0" />
+</par_no>
+<par_no id="98">
+<par name="par" value="0" />
+</par_no>
+<par_no id="99">
+<par name="par" value="0" />
+</par_no>
+<par_no id="100">
+<par name="par" value="0" />
+</par_no>
+<par_no id="101">
+<par name="par" value="0" />
+</par_no>
+<par_no id="102">
+<par name="par" value="0" />
+</par_no>
+<par_no id="103">
+<par name="par" value="0" />
+</par_no>
+<par_no id="104">
+<par name="par" value="0" />
+</par_no>
+<par_no id="105">
+<par name="par" value="0" />
+</par_no>
+<par_no id="106">
+<par name="par" value="0" />
+</par_no>
+<par_no id="107">
+<par name="par" value="0" />
+</par_no>
+<par_no id="108">
+<par name="par" value="0" />
+</par_no>
+<par_no id="109">
+<par name="par" value="0" />
+</par_no>
+<par_no id="110">
+<par name="par" value="0" />
+</par_no>
+<par_no id="111">
+<par name="par" value="0" />
+</par_no>
+<par_no id="112">
+<par name="par" value="0" />
+</par_no>
+<par_no id="113">
+<par name="par" value="0" />
+</par_no>
+<par_no id="114">
+<par name="par" value="0" />
+</par_no>
+<par_no id="115">
+<par name="par" value="0" />
+</par_no>
+<par_no id="116">
+<par name="par" value="0" />
+</par_no>
+<par_no id="117">
+<par name="par" value="0" />
+</par_no>
+<par_no id="118">
+<par name="par" value="0" />
+</par_no>
+<par_no id="119">
+<par name="par" value="0" />
+</par_no>
+<par_no id="120">
+<par name="par" value="0" />
+</par_no>
+<par_no id="121">
+<par name="par" value="0" />
+</par_no>
+<par_no id="122">
+<par name="par" value="0" />
+</par_no>
+<par_no id="123">
+<par name="par" value="0" />
+</par_no>
+<par_no id="124">
+<par name="par" value="0" />
+</par_no>
+<par_no id="125">
+<par name="par" value="0" />
+</par_no>
+<par_no id="126">
+<par name="par" value="0" />
+</par_no>
+<par_no id="127">
+<par name="par" value="0" />
+</par_no>
</EFFECT_PARAMETERS>
</EFFECT>
<par name="route" value="0" />