gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

commit ebc1247c47dd77f735336e15d8d51575bc4db336
parent b7645f8e2f8d4aeaefb631ee5b7e55a419ca6b7f
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Fri,  2 Aug 2024 19:30:39 +0200

analyze a patch and assign some tags automatically

Diffstat:
Msource/nord/n2x/n2xJucePlugin/n2xPatchManager.cpp | 22++++++++++++++++++++++
1 file changed, 22 insertions(+), 0 deletions(-)

diff --git a/source/nord/n2x/n2xJucePlugin/n2xPatchManager.cpp b/source/nord/n2x/n2xJucePlugin/n2xPatchManager.cpp @@ -60,6 +60,28 @@ namespace n2xJucePlugin p->tags.add(pluginLib::patchDB::TagType::CustomA, isSingle ? "Program" : "Performance"); + if(isSingle) + { + const auto distRmSync = n2x::State::getSingleParam(_sysex, n2x::SingleParam::Distortion, 0); + if(distRmSync & 1) + p->tags.add(pluginLib::patchDB::TagType::Tag, "Sync"); + if(distRmSync & 2) + p->tags.add(pluginLib::patchDB::TagType::Tag, "RingMod"); + if(distRmSync & (1<<4)) + p->tags.add(pluginLib::patchDB::TagType::Tag, "Distortion"); + + if(n2x::State::getSingleParam(_sysex, n2x::SingleParam::Unison, 0)) + p->tags.add(pluginLib::patchDB::TagType::Tag, "Unison"); + + const auto voiceMode = n2x::State::getSingleParam(_sysex, n2x::SingleParam::VoiceMode, 0); + if(voiceMode == 2) + p->tags.add(pluginLib::patchDB::TagType::Tag, "Poly"); + else if(voiceMode == 1) + p->tags.add(pluginLib::patchDB::TagType::Tag, "Legato"); + else + p->tags.add(pluginLib::patchDB::TagType::Tag, "Mono"); + } + p->name = getPatchName(_sysex); p->sysex = std::move(_sysex); p->program = program;