zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

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:
MCMakeLists.txt | 2+-
Msrc/Effects/EffectMgr.cpp | 20+++++++++++++++++++-
Msrc/Tests/guitar-adnote.xmz | 317++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
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" />