c++/lv2-demo-modul/manifest.ttl
author František Kučera <franta-hg@frantovo.cz>
Sat, 19 Apr 2025 12:14:50 +0200
changeset 60 376c886727ec
parent 59 d6614ad97bed
permissions -rw-r--r--
SQLite: demo modul: příklad přesunut sem: https://hg.frantovo.cz/blog/sqlite-demo-modul/
franta-hg@59
     1
# LV2 plugins are installed in a ``bundle'', a directory with a standard
franta-hg@59
     2
# structure.  Each bundle has a Turtle file named `manifest.ttl` which lists
franta-hg@59
     3
# the contents of the bundle.
franta-hg@59
     4
#
franta-hg@59
     5
# Hosts typically read the manifest of every installed bundle to discover
franta-hg@59
     6
# plugins on start-up, so it should be as small as possible for performance
franta-hg@59
     7
# reasons.  Details that are only useful if the host chooses to load the plugin
franta-hg@59
     8
# are stored in other files and linked to from `manifest.ttl`.
franta-hg@59
     9
#
franta-hg@59
    10
# ==== URIs ====
franta-hg@59
    11
#
franta-hg@59
    12
# LV2 makes use of URIs as globally-unique identifiers for resources.  For
franta-hg@59
    13
# example, the ID of the plugin described here is
franta-hg@59
    14
# `<http://lv2plug.in/plugins/eg-amp>`.  Note that URIs are only used as
franta-hg@59
    15
# identifiers and don't necessarily imply that something can be accessed at
franta-hg@59
    16
# that address on the web (though that may be the case).
franta-hg@59
    17
#
franta-hg@59
    18
# ==== Namespace Prefixes ====
franta-hg@59
    19
#
franta-hg@59
    20
# Turtle files contain many URIs, but prefixes can be defined to improve
franta-hg@59
    21
# readability.  For example, with the `lv2:` prefix below, `lv2:Plugin` can be
franta-hg@59
    22
# written instead of `<http://lv2plug.in/ns/lv2core#Plugin>`.
franta-hg@59
    23
franta-hg@59
    24
@prefix lv2:  <http://lv2plug.in/ns/lv2core#> .
franta-hg@59
    25
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
franta-hg@59
    26
franta-hg@59
    27
# ==== Describing a Plugin ====
franta-hg@59
    28
franta-hg@59
    29
# Turtle files contain a set of ``statements'' which describe resources.
franta-hg@59
    30
# This file contains 3 statements:
franta-hg@59
    31
# [options="header"]
franta-hg@59
    32
# |================================================================
franta-hg@59
    33
# | Subject                             | Predicate    | Object
franta-hg@59
    34
# | <http://lv2plug.in/plugins/eg-amp>  | a            | lv2:Plugin
franta-hg@59
    35
# | <http://lv2plug.in/plugins/eg-amp>  | lv2:binary   | <amp.so>
franta-hg@59
    36
# | <http://lv2plug.in/plugins/eg-amp>  | rdfs:seeAlso | <amp.ttl>
franta-hg@59
    37
# |================================================================
franta-hg@59
    38
franta-hg@59
    39
# Firstly, `<http://lv2plug.in/plugins/eg-amp>` is an LV2 plugin:
franta-hg@59
    40
<http://lv2plug.in/plugins/eg-amp> a lv2:Plugin .
franta-hg@59
    41
franta-hg@59
    42
# The predicate ```a`'' is a Turtle shorthand for `rdf:type`.
franta-hg@59
    43
franta-hg@59
    44
# The binary of that plugin can be found at `<amp.ext>`:
franta-hg@59
    45
<http://lv2plug.in/plugins/eg-amp> lv2:binary <amp.so> .
franta-hg@59
    46
franta-hg@59
    47
# This file is a template; the token `@LIB_EXT@` is replaced by the build
franta-hg@59
    48
# system with the appropriate extension for the current platform before
franta-hg@59
    49
# installation.  For example, in the output `manifest.ttl`, the binary would be
franta-hg@59
    50
# listed as `<amp.so>`.  Relative URIs in manifests are relative to the bundle
franta-hg@59
    51
# directory, so this refers to a binary with the given name in the same
franta-hg@59
    52
# directory as this manifest.
franta-hg@59
    53
franta-hg@59
    54
# Finally, more information about this plugin can be found in `<amp.ttl>`:
franta-hg@59
    55
<http://lv2plug.in/plugins/eg-amp> rdfs:seeAlso <amp.ttl> .
franta-hg@59
    56
franta-hg@59
    57
# ==== Abbreviation ====
franta-hg@59
    58
#
franta-hg@59
    59
# This file shows these statements individually for instructive purposes, but
franta-hg@59
    60
# the subject `<http://lv2plug.in/plugins/eg-amp>` is repetitive.  Turtle
franta-hg@59
    61
# allows the semicolon to be used as a delimiter that repeats the previous
franta-hg@59
    62
# subject.  For example, this manifest would more realistically be written like
franta-hg@59
    63
# so:
franta-hg@59
    64
franta-hg@59
    65
<http://lv2plug.in/plugins/eg-amp>
franta-hg@59
    66
	a lv2:Plugin ;
franta-hg@59
    67
	lv2:binary <amp.so>  ;
franta-hg@59
    68
	rdfs:seeAlso <amp.ttl> .