aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/eg-amp.lv2/manifest.ttl.in
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/eg-amp.lv2/manifest.ttl.in')
-rw-r--r--plugins/eg-amp.lv2/manifest.ttl.in68
1 files changed, 68 insertions, 0 deletions
diff --git a/plugins/eg-amp.lv2/manifest.ttl.in b/plugins/eg-amp.lv2/manifest.ttl.in
new file mode 100644
index 0000000..4a22f95
--- /dev/null
+++ b/plugins/eg-amp.lv2/manifest.ttl.in
@@ -0,0 +1,68 @@
+# LV2 plugins are installed in a ``bundle'', a directory with a standard
+# structure. Each bundle has a Turtle file named `manifest.ttl` which lists
+# the contents of the bundle.
+#
+# Hosts typically read the manifest of every installed bundle to discover
+# plugins on start-up, so it should be as small as possible for performance
+# reasons. Details that are only useful if the host chooses to load the plugin
+# are stored in other files and linked to from `manifest.ttl`.
+#
+# ==== URIs ====
+#
+# LV2 makes use of URIs as globally-unique identifiers for resources. For
+# example, the ID of the plugin described here is
+# `<http://lv2plug.in/plugins/eg-amp>`. Note that URIs are only used as
+# identifiers and don't necessarily imply that something can be accessed at
+# that address on the web (though that may be the case).
+#
+# ==== Namespace Prefixes ====
+#
+# Turtle files contain many URIs, but prefixes can be defined to improve
+# readability. For example, with the `lv2:` prefix below, `lv2:Plugin` can be
+# written instead of `<http://lv2plug.in/ns/lv2core#Plugin>`.
+
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+# ==== Describing a Plugin ====
+
+# Turtle files contain a set of ``statements'' which describe resources.
+# This file contains 3 statements:
+# [options="header"]
+# |================================================================
+# | Subject | Predicate | Object
+# | <http://lv2plug.in/plugins/eg-amp> | a | lv2:Plugin
+# | <http://lv2plug.in/plugins/eg-amp> | lv2:binary | <amp.so>
+# | <http://lv2plug.in/plugins/eg-amp> | rdfs:seeAlso | <amp.ttl>
+# |================================================================
+
+# Firstly, `<http://lv2plug.in/plugins/eg-amp>` is an LV2 plugin:
+<http://lv2plug.in/plugins/eg-amp> a lv2:Plugin .
+
+# The predicate ```a`'' is a Turtle shorthand for `rdf:type`.
+
+# The binary of that plugin can be found at `<amp.ext>`:
+<http://lv2plug.in/plugins/eg-amp> lv2:binary <amp@LIB_EXT@> .
+
+# This file is a template; the token `@LIB_EXT@` is replaced by the build
+# system with the appropriate extension for the current platform before
+# installation. For example, in the output `manifest.ttl`, the binary would be
+# listed as `<amp.so>`. Relative URIs in manifests are relative to the bundle
+# directory, so this refers to a binary with the given name in the same
+# directory as this manifest.
+
+# Finally, more information about this plugin can be found in `<amp.ttl>`:
+<http://lv2plug.in/plugins/eg-amp> rdfs:seeAlso <amp.ttl> .
+
+# ==== Abbreviation ====
+#
+# This file shows these statements individually for instructive purposes, but
+# the subject `<http://lv2plug.in/plugins/eg-amp>` is repetitive. Turtle
+# allows the semicolon to be used as a delimiter that repeats the previous
+# subject. For example, this manifest would more realistically be written like
+# so:
+
+<http://lv2plug.in/plugins/eg-amp>
+ a lv2:Plugin ;
+ lv2:binary <amp@LIB_EXT@> ;
+ rdfs:seeAlso <amp.ttl> .