DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit fce8f5a880551c8ce97275846549ecad7fb23f65
parent 41750f73adcf019956d04d47256c699764580a9e
Author: falkTX <falktx@falktx.com>
Date:   Sat, 18 Sep 2021 11:07:20 +0100

LV2: Generate properties for plugin state keys, passing validation

Signed-off-by: falkTX <falktx@falktx.com>

Diffstat:
Mdistrho/src/DistrhoPluginLV2export.cpp | 15+++++++++++++++
1 file changed, 15 insertions(+), 0 deletions(-)

diff --git a/distrho/src/DistrhoPluginLV2export.cpp b/distrho/src/DistrhoPluginLV2export.cpp @@ -1078,7 +1078,10 @@ void lv2_generate_ttl(const char* const basename) presetsString += "@prefix lv2: <" LV2_CORE_PREFIX "> .\n"; presetsString += "@prefix pset: <" LV2_PRESETS_PREFIX "> .\n"; # if DISTRHO_PLUGIN_WANT_STATE + presetsString += "@prefix owl: <http://www.w3.org/2002/07/owl#> .\n"; + presetsString += "@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .\n"; presetsString += "@prefix state: <" LV2_STATE_PREFIX "> .\n"; + presetsString += "@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n"; # endif presetsString += "\n"; @@ -1100,6 +1103,18 @@ void lv2_generate_ttl(const char* const basename) String presetString; +# if DISTRHO_PLUGIN_WANT_FULL_STATE + for (uint32_t i=0; i<numStates; ++i) + { + presetString = "<" DISTRHO_PLUGIN_LV2_STATE_PREFIX + plugin.getStateKey(i) + ">\n"; + presetString += " a owl:DatatypeProperty ;\n"; + presetString += " rdfs:label \"Plugin state key-value string pair\" ;\n"; + presetString += " rdfs:domain state:State ;\n"; + presetString += " rdfs:range xsd:string .\n\n"; + presetsString += presetString; + } +# endif + for (uint32_t i=0; i<numPrograms; ++i) { std::snprintf(strBuf, 0xff, "%03i", i+1);