-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmanifest.ttl.in
77 lines (66 loc) · 3.27 KB
/
manifest.ttl.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# 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 lv2p: <http://lv2plug.in/ns/ext/presets#> .
@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 | <psx-reverb.so>
# | <http://lv2plug.in/plugins/eg-amp> | rdfs:seeAlso | <psx-reverb.ttl>
# |================================================================
# Firstly, `<http://lv2plug.in/plugins/eg-amp>` is an LV2 plugin:
<http://github.com/ipatix/lv2-psx-reverb>
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://github.com/ipatix/lv2-psx-reverb>
lv2:binary <psx-reverb@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 `<psx-reverb.ttl>`:
<http://github.com/ipatix/lv2-psx-reverb>
rdfs:seeAlso <psx-reverb.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://github.com/ipatix/lv2-psx-reverb>
a lv2:Plugin ;
lv2:binary <psx-reverb@LIB_EXT@> ;
rdfs:seeAlso <psx-reverb.ttl> .
<http://github.com/ipatix/lv2-psx-reverb/ffix>
a lv2p:Plugin ;
lv2:appliesTo <http://github.com/ipatix/lv2-psx-reverb> ;
rdfs:seeAlso <presets.ttl> .