diff options
author | David Robillard <d@drobilla.net> | 2020-03-22 16:36:44 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-04-10 19:46:04 +0200 |
commit | 430284545345539c9ffb31df889debac1d3888b5 (patch) | |
tree | dc9bb1f32f0d6fe34a7339221389048e199f14a5 /lv2/presets/presets.meta.ttl | |
parent | c4514483da1ab4f49148f9c4fe4ff5b559323217 (diff) | |
download | lv2-430284545345539c9ffb31df889debac1d3888b5.tar.xz |
Move documentation to metadata files and convert it to Markdown
Diffstat (limited to 'lv2/presets/presets.meta.ttl')
-rw-r--r-- | lv2/presets/presets.meta.ttl | 73 |
1 files changed, 72 insertions, 1 deletions
diff --git a/lv2/presets/presets.meta.ttl b/lv2/presets/presets.meta.ttl index 43857f6..cc6d33a 100644 --- a/lv2/presets/presets.meta.ttl +++ b/lv2/presets/presets.meta.ttl @@ -1,6 +1,8 @@ @prefix dcs: <http://ontologi.es/doap-changeset#> . @prefix doap: <http://usefulinc.com/ns/doap#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . +@prefix lv2: <http://lv2plug.in/ns/lv2core#> . +@prefix pset: <http://lv2plug.in/ns/ext/presets#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . <http://lv2plug.in/ns/ext/presets> @@ -58,5 +60,74 @@ rdfs:label "Initial release." ] ] - ] . + ] ; + lv2:documentation """ + +This is a vocabulary for LV2 plugin presets, that is, named sets of control +values and possibly other state. 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. + +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 them like so: + + :::turtle + eg:mypreset + a pset:Preset ; + lv2:appliesTo eg:myplugin ; + rdfs:seeAlso <mypreset.ttl> . + +"""^^lv2:Markdown . + +pset:Preset + lv2:documentation """ + +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: + + :::turtle + @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 + ] . + +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. + +Hosts SHOULD save user presets to a bundle in the user-local LV2 directory (for +example `~/.lv2`) with a name like +`<Plugin_Name>_<Preset_Name>.preset.lv2` (for example +`LV2_Amp_At_Eleven.preset.lv2`), where names are transformed to be valid LV2 +symbols for maximum compatibility. + +"""^^lv2:Markdown . + +pset:value + lv2:documentation """ + +This property is used in a similar way to lv2:default. + +"""^^lv2:Markdown . + +pset:preset + lv2:documentation """ + +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. + +"""^^lv2:Markdown . |