105 lines
3.4 KiB
Turtle
105 lines
3.4 KiB
Turtle
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
|
|
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
|
|
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
|
|
<http://lv2plug.in/ns/ext/presets>
|
|
a owl:Ontology ;
|
|
rdfs:seeAlso <lv2-presets.doap.ttl> ;
|
|
lv2:documentation """
|
|
<p>This vocabulary describes a format for presets (i.e. named sets of control
|
|
values and possibly other state) for LV2 plugins. The structure of a
|
|
pset:Preset is deliberately identical to that of an lv2:Plugin, and can be
|
|
thought of as a plugin template or overlay.</p>
|
|
|
|
<p>Presets may be defined in any bundle, including the plugin's bundle,
|
|
separate third party preset bundles, or user preset bundles saved by hosts.
|
|
Since preset data tends to be large, it is recommended that plugins describe
|
|
presets in a separate file(s) to avoid slowing down hosts. The manifest.ttl of
|
|
a bundle containing presets should list the presets like so:</p>
|
|
|
|
<pre class="turtle-code">
|
|
eg:mypreset
|
|
a pset:Preset ;
|
|
lv2:appliesTo eg:myplugin ;
|
|
rdfs:seeAlso <mypreset.ttl> .
|
|
</pre>
|
|
""" .
|
|
|
|
pset:Bank
|
|
a rdfs:Class ;
|
|
rdfs:label "Bank" ;
|
|
rdfs:subClassOf [
|
|
a owl:Restriction ;
|
|
owl:onProperty rdfs:label ;
|
|
owl:someValuesFrom xsd:string ;
|
|
rdfs:comment "A Bank MUST have at least one string rdfs:label."
|
|
] ;
|
|
rdfs:comment "A bank of presets." .
|
|
|
|
pset:Preset
|
|
a rdfs:Class ;
|
|
rdfs:subClassOf lv2:PluginBase ;
|
|
rdfs:label "Preset" ;
|
|
rdfs:subClassOf [
|
|
a owl:Restriction ;
|
|
owl:onProperty rdfs:label ;
|
|
owl:someValuesFrom xsd:string ;
|
|
rdfs:comment "A Preset MUST have at least one string rdfs:label."
|
|
] ;
|
|
lv2:documentation """
|
|
<p>A Preset for an LV2 Plugin. The structure of a Preset deliberately mirrors that
|
|
of a plugin, so existing predicates can be used to describe any data associated with
|
|
the preset. For example:</p>
|
|
|
|
<pre class="turtle-code">
|
|
@prefix eg: <http://example.org/> .
|
|
|
|
eg:mypreset
|
|
a pset:Preset ;
|
|
rdfs:label "One louder" ;
|
|
lv2:appliesTo eg:myplugin ;
|
|
lv2:port [
|
|
lv2:symbol "volume1" ;
|
|
pset:value 11.0
|
|
] , [
|
|
lv2:symbol "volume2" ;
|
|
pset:value 11.0
|
|
] .
|
|
</pre>
|
|
|
|
<p>A Preset SHOULD have at least one lv2:appliesTo property. Each Port on a
|
|
Preset MUST have at least a lv2:symbol property and a pset:value property.</p>
|
|
|
|
<p>Hosts SHOULD save user presets to a bundle in the user-local LV2 directory
|
|
(e.g. ~/.lv2) with a name like
|
|
<code><Plugin_Name>_<Preset_Name>.preset.lv2</code>
|
|
(e.g. <code>LV2_Amp_At_Eleven.preset.lv2</code>), where names are transformed
|
|
to be valid LV2 symbols for maximum compatibility.</p>
|
|
""" .
|
|
|
|
pset:bank
|
|
a rdf:Property ;
|
|
rdfs:domain pset:Preset ;
|
|
rdfs:range pset:Bank ;
|
|
rdfs:label "bank" ;
|
|
rdfs:comment "The bank this preset belongs to." .
|
|
|
|
pset:value
|
|
a rdf:Property ;
|
|
rdfs:domain lv2:PortBase ;
|
|
rdfs:label "value" ;
|
|
rdfs:comment """Specifies the value of a Port on some Preset. This property is used in a similar way to e.g. lv2:default.""" .
|
|
|
|
pset:preset
|
|
a rdf:Property ;
|
|
rdfs:domain lv2:PluginBase ;
|
|
rdfs:range pset:Preset ;
|
|
rdfs:label "preset" ;
|
|
lv2:documentation """
|
|
<p>Specifies the preset currently applied to a plugin instance. This property
|
|
may be useful for saving state, or notifying a plugin instance at run-time
|
|
about a preset change.</p>
|
|
""" .
|