aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2022-07-07 18:59:32 -0400
committerDavid Robillard <d@drobilla.net>2022-07-17 18:14:00 -0400
commit1eccbe4355685b322194df72b5de2382d5290b3b (patch)
tree0677b5c2f577a5024c351a164527f4bdd91a639b
parentd4a970f6962dda28133290194832b726b566ddab (diff)
downloadlv2-1eccbe4355685b322194df72b5de2382d5290b3b.tar.xz
Rearrange source tree to be directly usable by dependants
This allows the LV2 source distribution to be used as an include path for compilers and an LV2_PATH for applications, at the expense of self-contained bundles. That's a nice idea, but it made LV2 itself weird and annoying to depend on. This rearranges things so that directories in the source tree correspond more closely to installation directories. To make this possible, the "aux" directory in the documentation output has been changed to "style", to avoid the reserved name "aux" on Windows.
-rw-r--r--doc/c/reference.doxygen.in56
-rw-r--r--doc/index.html.in2
-rw-r--r--doc/meson.build23
-rw-r--r--doc/ns/ext/meson.build54
-rw-r--r--doc/ns/extensions/meson.build35
-rw-r--r--doc/ns/meson.build59
-rw-r--r--doc/style/asciidoc.css (renamed from doc/asciidoc.css)0
-rw-r--r--doc/style/meson.build16
-rw-r--r--doc/style/pygments.css (renamed from doc/pygments.css)0
-rw-r--r--doc/style/style.css (renamed from doc/style.css)0
-rw-r--r--include/lv2/atom/atom.h (renamed from lv2/atom/atom.h)0
-rw-r--r--include/lv2/atom/forge.h (renamed from lv2/atom/forge.h)0
-rw-r--r--include/lv2/atom/util.h (renamed from lv2/atom/util.h)0
-rw-r--r--include/lv2/buf-size/buf-size.h (renamed from lv2/buf-size/buf-size.h)0
-rw-r--r--include/lv2/core/attributes.h (renamed from lv2/core/attributes.h)0
-rw-r--r--include/lv2/core/lv2.h (renamed from lv2/core/lv2.h)0
-rw-r--r--include/lv2/core/lv2_util.h (renamed from lv2/core/lv2_util.h)0
-rw-r--r--include/lv2/data-access/data-access.h (renamed from lv2/data-access/data-access.h)0
-rw-r--r--include/lv2/dynmanifest/dynmanifest.h (renamed from lv2/dynmanifest/dynmanifest.h)0
-rw-r--r--include/lv2/event/event-helpers.h (renamed from lv2/event/event-helpers.h)0
-rw-r--r--include/lv2/event/event.h (renamed from lv2/event/event.h)0
-rw-r--r--include/lv2/instance-access/instance-access.h (renamed from lv2/instance-access/instance-access.h)0
-rw-r--r--include/lv2/log/log.h (renamed from lv2/log/log.h)0
-rw-r--r--include/lv2/log/logger.h (renamed from lv2/log/logger.h)0
-rw-r--r--include/lv2/midi/midi.h (renamed from lv2/midi/midi.h)0
-rw-r--r--include/lv2/morph/morph.h (renamed from lv2/morph/morph.h)0
-rw-r--r--include/lv2/options/options.h (renamed from lv2/options/options.h)0
-rw-r--r--include/lv2/parameters/parameters.h (renamed from lv2/parameters/parameters.h)0
-rw-r--r--include/lv2/patch/patch.h (renamed from lv2/patch/patch.h)0
-rw-r--r--include/lv2/port-groups/port-groups.h (renamed from lv2/port-groups/port-groups.h)0
-rw-r--r--include/lv2/port-props/port-props.h (renamed from lv2/port-props/port-props.h)0
-rw-r--r--include/lv2/presets/presets.h (renamed from lv2/presets/presets.h)0
-rw-r--r--include/lv2/resize-port/resize-port.h (renamed from lv2/resize-port/resize-port.h)0
-rw-r--r--include/lv2/state/state.h (renamed from lv2/state/state.h)0
-rw-r--r--include/lv2/time/time.h (renamed from lv2/time/time.h)0
-rw-r--r--include/lv2/ui/ui.h (renamed from lv2/ui/ui.h)0
-rw-r--r--include/lv2/units/units.h (renamed from lv2/units/units.h)0
-rw-r--r--include/lv2/uri-map/uri-map.h (renamed from lv2/uri-map/uri-map.h)0
-rw-r--r--include/lv2/urid/urid.h (renamed from lv2/urid/urid.h)0
-rw-r--r--include/lv2/worker/worker.h (renamed from lv2/worker/worker.h)0
-rw-r--r--lv2/atom.lv2/atom.meta.ttl (renamed from lv2/atom/atom.meta.ttl)0
-rw-r--r--lv2/atom.lv2/atom.ttl (renamed from lv2/atom/atom.ttl)5
-rw-r--r--lv2/atom.lv2/manifest.ttl (renamed from lv2/atom/manifest.ttl)0
-rw-r--r--lv2/atom/meson.build61
-rw-r--r--lv2/buf-size.lv2/buf-size.meta.ttl (renamed from lv2/buf-size/buf-size.meta.ttl)0
-rw-r--r--lv2/buf-size.lv2/buf-size.ttl (renamed from lv2/buf-size/buf-size.ttl)3
-rw-r--r--lv2/buf-size.lv2/manifest.ttl (renamed from lv2/buf-size/manifest.ttl)0
-rw-r--r--lv2/buf-size/meson.build40
-rw-r--r--lv2/core.lv2/lv2core.meta.ttl (renamed from lv2/core/lv2core.meta.ttl)0
-rw-r--r--lv2/core.lv2/lv2core.ttl (renamed from lv2/core/lv2core.ttl)4
-rw-r--r--lv2/core.lv2/manifest.ttl (renamed from lv2/core/manifest.ttl)0
-rw-r--r--lv2/core.lv2/meta.ttl (renamed from lv2/core/meta.ttl)4
-rw-r--r--lv2/core.lv2/people.ttl (renamed from lv2/core/people.ttl)0
-rw-r--r--lv2/core/meson.build44
-rw-r--r--lv2/data-access.lv2/data-access.meta.ttl (renamed from lv2/data-access/data-access.meta.ttl)1
-rw-r--r--lv2/data-access.lv2/data-access.ttl (renamed from lv2/data-access/data-access.ttl)3
-rw-r--r--lv2/data-access.lv2/manifest.ttl (renamed from lv2/data-access/manifest.ttl)0
-rw-r--r--lv2/data-access/meson.build40
-rw-r--r--lv2/dynmanifest.lv2/dynmanifest.meta.ttl (renamed from lv2/dynmanifest/dynmanifest.meta.ttl)0
-rw-r--r--lv2/dynmanifest.lv2/dynmanifest.ttl (renamed from lv2/dynmanifest/dynmanifest.ttl)3
-rw-r--r--lv2/dynmanifest.lv2/manifest.ttl (renamed from lv2/dynmanifest/manifest.ttl)0
-rw-r--r--lv2/dynmanifest/meson.build40
-rw-r--r--lv2/event.lv2/event.meta.ttl (renamed from lv2/event/event.meta.ttl)0
-rw-r--r--lv2/event.lv2/event.ttl (renamed from lv2/event/event.ttl)4
-rw-r--r--lv2/event.lv2/manifest.ttl (renamed from lv2/event/manifest.ttl)0
-rw-r--r--lv2/event/meson.build41
-rw-r--r--lv2/instance-access.lv2/instance-access.meta.ttl (renamed from lv2/instance-access/instance-access.meta.ttl)0
-rw-r--r--lv2/instance-access.lv2/instance-access.ttl (renamed from lv2/instance-access/instance-access.ttl)3
-rw-r--r--lv2/instance-access.lv2/manifest.ttl (renamed from lv2/instance-access/manifest.ttl)0
-rw-r--r--lv2/instance-access/meson.build40
-rw-r--r--lv2/log.lv2/log.meta.ttl (renamed from lv2/log/log.meta.ttl)0
-rw-r--r--lv2/log.lv2/log.ttl (renamed from lv2/log/log.ttl)3
-rw-r--r--lv2/log.lv2/manifest.ttl (renamed from lv2/log/manifest.ttl)0
-rw-r--r--lv2/log/meson.build41
-rw-r--r--lv2/meson.build52
-rw-r--r--lv2/midi.lv2/manifest.ttl (renamed from lv2/midi/manifest.ttl)0
-rw-r--r--lv2/midi.lv2/midi.meta.ttl (renamed from lv2/midi/midi.meta.ttl)0
-rw-r--r--lv2/midi.lv2/midi.ttl (renamed from lv2/midi/midi.ttl)3
-rw-r--r--lv2/midi/meson.build40
-rw-r--r--lv2/morph.lv2/manifest.ttl (renamed from lv2/morph/manifest.ttl)0
-rw-r--r--lv2/morph.lv2/morph.meta.ttl (renamed from lv2/morph/morph.meta.ttl)0
-rw-r--r--lv2/morph.lv2/morph.ttl (renamed from lv2/morph/morph.ttl)3
-rw-r--r--lv2/morph/meson.build40
-rw-r--r--lv2/options.lv2/manifest.ttl (renamed from lv2/options/manifest.ttl)0
-rw-r--r--lv2/options.lv2/options.meta.ttl (renamed from lv2/options/options.meta.ttl)0
-rw-r--r--lv2/options.lv2/options.ttl (renamed from lv2/options/options.ttl)3
-rw-r--r--lv2/options/meson.build40
-rw-r--r--lv2/parameters.lv2/manifest.ttl (renamed from lv2/parameters/manifest.ttl)0
-rw-r--r--lv2/parameters.lv2/parameters.meta.ttl (renamed from lv2/parameters/parameters.meta.ttl)0
-rw-r--r--lv2/parameters.lv2/parameters.ttl (renamed from lv2/parameters/parameters.ttl)0
-rw-r--r--lv2/parameters/meson.build40
-rw-r--r--lv2/patch.lv2/manifest.ttl (renamed from lv2/patch/manifest.ttl)0
-rw-r--r--lv2/patch.lv2/patch.meta.ttl (renamed from lv2/patch/patch.meta.ttl)0
-rw-r--r--lv2/patch.lv2/patch.ttl (renamed from lv2/patch/patch.ttl)3
-rw-r--r--lv2/patch/meson.build40
-rw-r--r--lv2/port-groups.lv2/manifest.ttl (renamed from lv2/port-groups/manifest.ttl)0
-rw-r--r--lv2/port-groups.lv2/port-groups.meta.ttl (renamed from lv2/port-groups/port-groups.meta.ttl)0
-rw-r--r--lv2/port-groups.lv2/port-groups.ttl (renamed from lv2/port-groups/port-groups.ttl)0
-rw-r--r--lv2/port-groups/meson.build40
-rw-r--r--lv2/port-props.lv2/manifest.ttl (renamed from lv2/port-props/manifest.ttl)0
-rw-r--r--lv2/port-props.lv2/port-props.meta.ttl (renamed from lv2/port-props/port-props.meta.ttl)0
-rw-r--r--lv2/port-props.lv2/port-props.ttl (renamed from lv2/port-props/port-props.ttl)0
-rw-r--r--lv2/port-props/meson.build40
-rw-r--r--lv2/presets.lv2/manifest.ttl (renamed from lv2/presets/manifest.ttl)0
-rw-r--r--lv2/presets.lv2/presets.meta.ttl (renamed from lv2/presets/presets.meta.ttl)0
-rw-r--r--lv2/presets.lv2/presets.ttl (renamed from lv2/presets/presets.ttl)0
-rw-r--r--lv2/presets/meson.build40
-rw-r--r--lv2/resize-port.lv2/manifest.ttl (renamed from lv2/resize-port/manifest.ttl)0
-rw-r--r--lv2/resize-port.lv2/resize-port.meta.ttl (renamed from lv2/resize-port/resize-port.meta.ttl)0
-rw-r--r--lv2/resize-port.lv2/resize-port.ttl (renamed from lv2/resize-port/resize-port.ttl)3
-rw-r--r--lv2/resize-port/meson.build40
-rw-r--r--lv2/state.lv2/manifest.ttl (renamed from lv2/state/manifest.ttl)0
-rw-r--r--lv2/state.lv2/state.meta.ttl (renamed from lv2/state/state.meta.ttl)0
-rw-r--r--lv2/state.lv2/state.ttl (renamed from lv2/state/state.ttl)3
-rw-r--r--lv2/state/meson.build40
-rw-r--r--lv2/time.lv2/manifest.ttl (renamed from lv2/time/manifest.ttl)0
-rw-r--r--lv2/time.lv2/time.meta.ttl (renamed from lv2/time/time.meta.ttl)0
-rw-r--r--lv2/time.lv2/time.ttl (renamed from lv2/time/time.ttl)3
-rw-r--r--lv2/time/meson.build40
-rw-r--r--lv2/ui.lv2/manifest.ttl (renamed from lv2/ui/manifest.ttl)0
-rw-r--r--lv2/ui.lv2/ui.meta.ttl (renamed from lv2/ui/ui.meta.ttl)0
-rw-r--r--lv2/ui.lv2/ui.ttl (renamed from lv2/ui/ui.ttl)3
-rw-r--r--lv2/ui/meson.build40
-rw-r--r--lv2/units.lv2/manifest.ttl (renamed from lv2/units/manifest.ttl)0
-rw-r--r--lv2/units.lv2/units.meta.ttl (renamed from lv2/units/units.meta.ttl)0
-rw-r--r--lv2/units.lv2/units.ttl (renamed from lv2/units/units.ttl)3
-rw-r--r--lv2/units/meson.build40
-rw-r--r--lv2/uri-map.lv2/manifest.ttl (renamed from lv2/uri-map/manifest.ttl)0
-rw-r--r--lv2/uri-map.lv2/uri-map.meta.ttl (renamed from lv2/uri-map/uri-map.meta.ttl)0
-rw-r--r--lv2/uri-map.lv2/uri-map.ttl (renamed from lv2/uri-map/uri-map.ttl)3
-rw-r--r--lv2/uri-map/meson.build40
-rw-r--r--lv2/urid.lv2/manifest.ttl (renamed from lv2/urid/manifest.ttl)0
-rw-r--r--lv2/urid.lv2/urid.meta.ttl (renamed from lv2/urid/urid.meta.ttl)0
-rw-r--r--lv2/urid.lv2/urid.ttl (renamed from lv2/urid/urid.ttl)3
-rw-r--r--lv2/urid/meson.build40
-rw-r--r--lv2/worker.lv2/manifest.ttl (renamed from lv2/worker/manifest.ttl)0
-rw-r--r--lv2/worker.lv2/worker.meta.ttl (renamed from lv2/worker/worker.meta.ttl)0
-rw-r--r--lv2/worker.lv2/worker.ttl (renamed from lv2/worker/worker.ttl)3
-rw-r--r--lv2/worker/meson.build40
-rw-r--r--meson.build275
-rw-r--r--plugins/meson.build4
-rwxr-xr-xscripts/lv2_build_index.py2
-rw-r--r--test/atom_test_utils.c (renamed from lv2/atom/atom-test-utils.c)0
-rw-r--r--test/meson.build27
-rw-r--r--test/test_atom.c (renamed from lv2/atom/atom-test.c)3
-rw-r--r--test/test_forge_overflow.c (renamed from lv2/atom/forge-overflow-test.c)3
146 files changed, 465 insertions, 1202 deletions
diff --git a/doc/c/reference.doxygen.in b/doc/c/reference.doxygen.in
index 6318484..3280f75 100644
--- a/doc/c/reference.doxygen.in
+++ b/doc/c/reference.doxygen.in
@@ -865,34 +865,34 @@ WARN_LOGFILE =
# Note: If this tag is empty the current directory is searched.
INPUT = @LV2_SRCDIR@/doc/c/mainpage.md \
- @LV2_SRCDIR@/lv2/atom/atom.h \
- @LV2_SRCDIR@/lv2/atom/forge.h \
- @LV2_SRCDIR@/lv2/atom/util.h \
- @LV2_SRCDIR@/lv2/buf-size/buf-size.h \
- @LV2_SRCDIR@/lv2/core/lv2.h \
- @LV2_SRCDIR@/lv2/data-access/data-access.h \
- @LV2_SRCDIR@/lv2/dynmanifest/dynmanifest.h \
- @LV2_SRCDIR@/lv2/event/event-helpers.h \
- @LV2_SRCDIR@/lv2/event/event.h \
- @LV2_SRCDIR@/lv2/instance-access/instance-access.h \
- @LV2_SRCDIR@/lv2/log/log.h \
- @LV2_SRCDIR@/lv2/log/logger.h \
- @LV2_SRCDIR@/lv2/midi/midi.h \
- @LV2_SRCDIR@/lv2/morph/morph.h \
- @LV2_SRCDIR@/lv2/options/options.h \
- @LV2_SRCDIR@/lv2/parameters/parameters.h \
- @LV2_SRCDIR@/lv2/patch/patch.h \
- @LV2_SRCDIR@/lv2/port-groups/port-groups.h \
- @LV2_SRCDIR@/lv2/port-props/port-props.h \
- @LV2_SRCDIR@/lv2/presets/presets.h \
- @LV2_SRCDIR@/lv2/resize-port/resize-port.h \
- @LV2_SRCDIR@/lv2/state/state.h \
- @LV2_SRCDIR@/lv2/time/time.h \
- @LV2_SRCDIR@/lv2/ui/ui.h \
- @LV2_SRCDIR@/lv2/units/units.h \
- @LV2_SRCDIR@/lv2/uri-map/uri-map.h \
- @LV2_SRCDIR@/lv2/urid/urid.h \
- @LV2_SRCDIR@/lv2/worker/worker.h
+ @LV2_SRCDIR@/include/lv2/atom/atom.h \
+ @LV2_SRCDIR@/include/lv2/atom/forge.h \
+ @LV2_SRCDIR@/include/lv2/atom/util.h \
+ @LV2_SRCDIR@/include/lv2/buf-size/buf-size.h \
+ @LV2_SRCDIR@/include/lv2/core/lv2.h \
+ @LV2_SRCDIR@/include/lv2/data-access/data-access.h \
+ @LV2_SRCDIR@/include/lv2/dynmanifest/dynmanifest.h \
+ @LV2_SRCDIR@/include/lv2/event/event-helpers.h \
+ @LV2_SRCDIR@/include/lv2/event/event.h \
+ @LV2_SRCDIR@/include/lv2/instance-access/instance-access.h \
+ @LV2_SRCDIR@/include/lv2/log/log.h \
+ @LV2_SRCDIR@/include/lv2/log/logger.h \
+ @LV2_SRCDIR@/include/lv2/midi/midi.h \
+ @LV2_SRCDIR@/include/lv2/morph/morph.h \
+ @LV2_SRCDIR@/include/lv2/options/options.h \
+ @LV2_SRCDIR@/include/lv2/parameters/parameters.h \
+ @LV2_SRCDIR@/include/lv2/patch/patch.h \
+ @LV2_SRCDIR@/include/lv2/port-groups/port-groups.h \
+ @LV2_SRCDIR@/include/lv2/port-props/port-props.h \
+ @LV2_SRCDIR@/include/lv2/presets/presets.h \
+ @LV2_SRCDIR@/include/lv2/resize-port/resize-port.h \
+ @LV2_SRCDIR@/include/lv2/state/state.h \
+ @LV2_SRCDIR@/include/lv2/time/time.h \
+ @LV2_SRCDIR@/include/lv2/ui/ui.h \
+ @LV2_SRCDIR@/include/lv2/units/units.h \
+ @LV2_SRCDIR@/include/lv2/uri-map/uri-map.h \
+ @LV2_SRCDIR@/include/lv2/urid/urid.h \
+ @LV2_SRCDIR@/include/lv2/worker/worker.h
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/doc/index.html.in b/doc/index.html.in
index e097eab..6f3e0f9 100644
--- a/doc/index.html.in
+++ b/doc/index.html.in
@@ -6,7 +6,7 @@
<meta http-equiv="Content-Type"
content="application/xhtml+xml;charset=utf-8" />
<link rel="stylesheet" type="text/css"
- href="../aux/style.css" />
+ href="../style/style.css" />
</head>
<body>
diff --git a/doc/meson.build b/doc/meson.build
deleted file mode 100644
index 230211e..0000000
--- a/doc/meson.build
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-if doxygen.found()
- aux_files = files(
- 'pygments.css',
- 'style.css'
- )
-
- foreach file : aux_files
- configure_file(
- input: file,
- output: '@PLAINNAME@',
- copy: true,
- install_dir: lv2_docdir / 'aux')
- endforeach
-
- subdir('ns')
-
- build_docs = true
-else
- build_docs = false
-endif
diff --git a/doc/ns/ext/meson.build b/doc/ns/ext/meson.build
index 4a2ca1f..f6ad06b 100644
--- a/doc/ns/ext/meson.build
+++ b/doc/ns/ext/meson.build
@@ -11,3 +11,57 @@ if get_option('online_docs')
output: '.htaccess',
)
endif
+
+spec_names = [
+ 'atom',
+ 'buf-size',
+ 'data-access',
+ 'dynmanifest',
+ 'event',
+ 'instance-access',
+ 'log',
+ 'midi',
+ 'morph',
+ 'options',
+ 'parameters',
+ 'patch',
+ 'port-groups',
+ 'port-props',
+ 'presets',
+ 'resize-port',
+ 'state',
+ 'time',
+ 'uri-map',
+ 'urid',
+ 'worker',
+]
+
+if build_docs
+ foreach name : spec_names
+ spec_file = files(lv2_source_root / 'lv2' / name + '.lv2' / name + '.ttl')
+
+ custom_target(
+ name + '.html',
+ command: lv2specgen_command_prefix + [
+ '--docdir=../../c/html',
+ '--style-uri=../../style/style.css',
+ '@INPUT@',
+ '@OUTPUT@',
+ ],
+ depends: doc_deps,
+ input: spec_file,
+ install: true,
+ install_dir: lv2_docdir / 'ns' / 'ext',
+ output: name + '.html',
+ )
+
+ if get_option('online_docs')
+ configure_file(
+ copy: true,
+ input: spec_file,
+ install_dir: lv2_docdir / 'ns' / 'ext',
+ output: '@PLAINNAME@',
+ )
+ endif
+ endforeach
+endif
diff --git a/doc/ns/extensions/meson.build b/doc/ns/extensions/meson.build
index b54e3d2..5a25184 100644
--- a/doc/ns/extensions/meson.build
+++ b/doc/ns/extensions/meson.build
@@ -11,3 +11,38 @@ if get_option('online_docs')
output: '.htaccess',
)
endif
+
+spec_names = [
+ 'ui',
+ 'units',
+]
+
+if build_docs
+ foreach name : spec_names
+ spec_file = files(lv2_source_root / 'lv2' / name + '.lv2' / name + '.ttl')
+
+ custom_target(
+ name + '.html',
+ command: lv2specgen_command_prefix + [
+ '--docdir=../../c/html',
+ '--style-uri=../../style/style.css',
+ '@INPUT@',
+ '@OUTPUT@',
+ ],
+ depends: doc_deps,
+ input: spec_file,
+ install: true,
+ install_dir: lv2_docdir / 'ns' / 'extensions',
+ output: name + '.html',
+ )
+
+ if get_option('online_docs')
+ configure_file(
+ copy: true,
+ input: spec_file,
+ install_dir: lv2_docdir / 'ns' / 'ext',
+ output: '@PLAINNAME@',
+ )
+ endif
+ endforeach
+endif
diff --git a/doc/ns/meson.build b/doc/ns/meson.build
index 26471b9..bb471c9 100644
--- a/doc/ns/meson.build
+++ b/doc/ns/meson.build
@@ -12,20 +12,67 @@ if get_option('online_docs')
)
endif
+######################
+# Core Documentation #
+######################
+
+if build_docs
+ spec_file = files(lv2_source_root / 'lv2' / 'core.lv2' / 'lv2core.ttl')
+
+ lv2_core_docs = custom_target(
+ 'lv2core.html',
+ command: lv2specgen_command_prefix + [
+ '--docdir=../c/html',
+ '--style-uri=../style/style.css',
+ '@INPUT@',
+ '@OUTPUT@',
+ ],
+ input: spec_file,
+ output: 'lv2core.html',
+ depends: doc_deps,
+ install: true,
+ install_dir: lv2_docdir / 'ns',
+ )
+
+ if get_option('online_docs')
+ configure_file(
+ copy: true,
+ input: spec_file,
+ install_dir: lv2_docdir / 'ns' / 'ext',
+ output: '@PLAINNAME@',
+ )
+ endif
+endif
+
+###########################
+# Extension Documentation #
+###########################
+
subdir('ext')
subdir('extensions')
+#########
+# Index #
+#########
+
lv2_build_index = files(lv2_source_root / 'scripts' / 'lv2_build_index.py')
+lv2_build_index_command = [
+ lv2_build_index,
+ '--lv2-version', meson.project_version(),
+ '--lv2-source-root', lv2_source_root,
+]
+
+if get_option('online_docs')
+ lv2_build_index_command += [
+ '--online',
+ ]
+endif
+
index = custom_target(
'index.html',
capture: true,
- command: [
- lv2_build_index,
- '--lv2-version', meson.project_version(),
- '--lv2-source-root', lv2_source_root,
- '@INPUT@'
- ],
+ command: lv2_build_index_command + ['@INPUT@'],
input: spec_files,
install: true,
install_dir: lv2_docdir / 'ns',
diff --git a/doc/asciidoc.css b/doc/style/asciidoc.css
index 2e64544..2e64544 100644
--- a/doc/asciidoc.css
+++ b/doc/style/asciidoc.css
diff --git a/doc/style/meson.build b/doc/style/meson.build
new file mode 100644
index 0000000..7ae9a04
--- /dev/null
+++ b/doc/style/meson.build
@@ -0,0 +1,16 @@
+# Copyright 2022 David Robillard <d@drobilla.net>
+# SPDX-License-Identifier: CC0-1.0 OR ISC
+
+style_files = files(
+ 'pygments.css',
+ 'style.css'
+)
+
+foreach file : style_files
+ configure_file(
+ copy: true,
+ input: file,
+ install_dir: lv2_docdir / 'style',
+ output: '@PLAINNAME@',
+ )
+endforeach
diff --git a/doc/pygments.css b/doc/style/pygments.css
index 2472b1a..2472b1a 100644
--- a/doc/pygments.css
+++ b/doc/style/pygments.css
diff --git a/doc/style.css b/doc/style/style.css
index fca399e..fca399e 100644
--- a/doc/style.css
+++ b/doc/style/style.css
diff --git a/lv2/atom/atom.h b/include/lv2/atom/atom.h
index b090c1e..b090c1e 100644
--- a/lv2/atom/atom.h
+++ b/include/lv2/atom/atom.h
diff --git a/lv2/atom/forge.h b/include/lv2/atom/forge.h
index 280bd53..280bd53 100644
--- a/lv2/atom/forge.h
+++ b/include/lv2/atom/forge.h
diff --git a/lv2/atom/util.h b/include/lv2/atom/util.h
index 16d2c00..16d2c00 100644
--- a/lv2/atom/util.h
+++ b/include/lv2/atom/util.h
diff --git a/lv2/buf-size/buf-size.h b/include/lv2/buf-size/buf-size.h
index d96e17d..d96e17d 100644
--- a/lv2/buf-size/buf-size.h
+++ b/include/lv2/buf-size/buf-size.h
diff --git a/lv2/core/attributes.h b/include/lv2/core/attributes.h
index 81791a2..81791a2 100644
--- a/lv2/core/attributes.h
+++ b/include/lv2/core/attributes.h
diff --git a/lv2/core/lv2.h b/include/lv2/core/lv2.h
index 84c40a5..84c40a5 100644
--- a/lv2/core/lv2.h
+++ b/include/lv2/core/lv2.h
diff --git a/lv2/core/lv2_util.h b/include/lv2/core/lv2_util.h
index f3766aa..f3766aa 100644
--- a/lv2/core/lv2_util.h
+++ b/include/lv2/core/lv2_util.h
diff --git a/lv2/data-access/data-access.h b/include/lv2/data-access/data-access.h
index de3b6b6..de3b6b6 100644
--- a/lv2/data-access/data-access.h
+++ b/include/lv2/data-access/data-access.h
diff --git a/lv2/dynmanifest/dynmanifest.h b/include/lv2/dynmanifest/dynmanifest.h
index 674577b..674577b 100644
--- a/lv2/dynmanifest/dynmanifest.h
+++ b/include/lv2/dynmanifest/dynmanifest.h
diff --git a/lv2/event/event-helpers.h b/include/lv2/event/event-helpers.h
index bf1b885..bf1b885 100644
--- a/lv2/event/event-helpers.h
+++ b/include/lv2/event/event-helpers.h
diff --git a/lv2/event/event.h b/include/lv2/event/event.h
index 045ac12..045ac12 100644
--- a/lv2/event/event.h
+++ b/include/lv2/event/event.h
diff --git a/lv2/instance-access/instance-access.h b/include/lv2/instance-access/instance-access.h
index 2986f69..2986f69 100644
--- a/lv2/instance-access/instance-access.h
+++ b/include/lv2/instance-access/instance-access.h
diff --git a/lv2/log/log.h b/include/lv2/log/log.h
index cc62bef..cc62bef 100644
--- a/lv2/log/log.h
+++ b/include/lv2/log/log.h
diff --git a/lv2/log/logger.h b/include/lv2/log/logger.h
index d6919a2..d6919a2 100644
--- a/lv2/log/logger.h
+++ b/include/lv2/log/logger.h
diff --git a/lv2/midi/midi.h b/include/lv2/midi/midi.h
index f7e0500..f7e0500 100644
--- a/lv2/midi/midi.h
+++ b/include/lv2/midi/midi.h
diff --git a/lv2/morph/morph.h b/include/lv2/morph/morph.h
index 370937a..370937a 100644
--- a/lv2/morph/morph.h
+++ b/include/lv2/morph/morph.h
diff --git a/lv2/options/options.h b/include/lv2/options/options.h
index 06e5db4..06e5db4 100644
--- a/lv2/options/options.h
+++ b/include/lv2/options/options.h
diff --git a/lv2/parameters/parameters.h b/include/lv2/parameters/parameters.h
index 66a7561..66a7561 100644
--- a/lv2/parameters/parameters.h
+++ b/include/lv2/parameters/parameters.h
diff --git a/lv2/patch/patch.h b/include/lv2/patch/patch.h
index 4db2abb..4db2abb 100644
--- a/lv2/patch/patch.h
+++ b/include/lv2/patch/patch.h
diff --git a/lv2/port-groups/port-groups.h b/include/lv2/port-groups/port-groups.h
index 0ff25c7..0ff25c7 100644
--- a/lv2/port-groups/port-groups.h
+++ b/include/lv2/port-groups/port-groups.h
diff --git a/lv2/port-props/port-props.h b/include/lv2/port-props/port-props.h
index ff4adcd..ff4adcd 100644
--- a/lv2/port-props/port-props.h
+++ b/include/lv2/port-props/port-props.h
diff --git a/lv2/presets/presets.h b/include/lv2/presets/presets.h
index 716ab32..716ab32 100644
--- a/lv2/presets/presets.h
+++ b/include/lv2/presets/presets.h
diff --git a/lv2/resize-port/resize-port.h b/include/lv2/resize-port/resize-port.h
index a3a11c4..a3a11c4 100644
--- a/lv2/resize-port/resize-port.h
+++ b/include/lv2/resize-port/resize-port.h
diff --git a/lv2/state/state.h b/include/lv2/state/state.h
index 01ec598..01ec598 100644
--- a/lv2/state/state.h
+++ b/include/lv2/state/state.h
diff --git a/lv2/time/time.h b/include/lv2/time/time.h
index 1dce219..1dce219 100644
--- a/lv2/time/time.h
+++ b/include/lv2/time/time.h
diff --git a/lv2/ui/ui.h b/include/lv2/ui/ui.h
index fb41d90..fb41d90 100644
--- a/lv2/ui/ui.h
+++ b/include/lv2/ui/ui.h
diff --git a/lv2/units/units.h b/include/lv2/units/units.h
index 09ae16b..09ae16b 100644
--- a/lv2/units/units.h
+++ b/include/lv2/units/units.h
diff --git a/lv2/uri-map/uri-map.h b/include/lv2/uri-map/uri-map.h
index 47cde1c..47cde1c 100644
--- a/lv2/uri-map/uri-map.h
+++ b/include/lv2/uri-map/uri-map.h
diff --git a/lv2/urid/urid.h b/include/lv2/urid/urid.h
index b537d14..b537d14 100644
--- a/lv2/urid/urid.h
+++ b/include/lv2/urid/urid.h
diff --git a/lv2/worker/worker.h b/include/lv2/worker/worker.h
index 4fd89f9..4fd89f9 100644
--- a/lv2/worker/worker.h
+++ b/include/lv2/worker/worker.h
diff --git a/lv2/atom/atom.meta.ttl b/lv2/atom.lv2/atom.meta.ttl
index adab5f4..adab5f4 100644
--- a/lv2/atom/atom.meta.ttl
+++ b/lv2/atom.lv2/atom.meta.ttl
diff --git a/lv2/atom/atom.ttl b/lv2/atom.lv2/atom.ttl
index ef221ad..bdeaebf 100644
--- a/lv2/atom/atom.ttl
+++ b/lv2/atom.lv2/atom.ttl
@@ -9,10 +9,7 @@
<http://lv2plug.in/ns/ext/atom>
a owl:Ontology ;
- rdfs:seeAlso <atom.h> ,
- <util.h> ,
- <forge.h> ,
- <atom.meta.ttl> ;
+ rdfs:seeAlso <atom.meta.ttl> ;
rdfs:label "LV2 Atom" ;
rdfs:comment "A generic value container and several data types." ;
owl:imports <http://lv2plug.in/ns/lv2core> ,
diff --git a/lv2/atom/manifest.ttl b/lv2/atom.lv2/manifest.ttl
index 3cb5134..3cb5134 100644
--- a/lv2/atom/manifest.ttl
+++ b/lv2/atom.lv2/manifest.ttl
diff --git a/lv2/atom/meson.build b/lv2/atom/meson.build
deleted file mode 100644
index 3dc43b3..0000000
--- a/lv2/atom/meson.build
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'atom'
-path = 'ns' / 'ext' / name
-
-atom_data = files(
- 'atom.meta.ttl',
- 'atom.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'atom.h',
- 'forge.h',
- 'util.h',
-)
-
-tests = [
- 'atom-test',
- 'forge-overflow-test',
-]
-
-# Install specification bundle
-install_data(atom_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build and run tests
-if not get_option('tests').disabled()
- foreach test : tests
- test(test,
- executable(
- test,
- files('@0@.c'.format(test)),
- c_args: c_suppressions,
- include_directories: include_directories('../../'),
- ),
- suite: 'unit')
- endforeach
-endif
-
-# Build documentation
-if build_docs
- custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('atom.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/buf-size/buf-size.meta.ttl b/lv2/buf-size.lv2/buf-size.meta.ttl
index b1d8011..b1d8011 100644
--- a/lv2/buf-size/buf-size.meta.ttl
+++ b/lv2/buf-size.lv2/buf-size.meta.ttl
diff --git a/lv2/buf-size/buf-size.ttl b/lv2/buf-size.lv2/buf-size.ttl
index c78d2cc..4f6bd52 100644
--- a/lv2/buf-size/buf-size.ttl
+++ b/lv2/buf-size.lv2/buf-size.ttl
@@ -10,8 +10,7 @@
a owl:Ontology ;
rdfs:label "LV2 Buf Size" ;
rdfs:comment "Access to, and restrictions on, buffer sizes." ;
- rdfs:seeAlso <buf-size.h> ,
- <buf-size.meta.ttl> ;
+ rdfs:seeAlso <buf-size.meta.ttl> ;
owl:imports <http://lv2plug.in/ns/lv2core> ,
<http://lv2plug.in/ns/ext/options> .
diff --git a/lv2/buf-size/manifest.ttl b/lv2/buf-size.lv2/manifest.ttl
index d242f97..d242f97 100644
--- a/lv2/buf-size/manifest.ttl
+++ b/lv2/buf-size.lv2/manifest.ttl
diff --git a/lv2/buf-size/meson.build b/lv2/buf-size/meson.build
deleted file mode 100644
index c0b3a5e..0000000
--- a/lv2/buf-size/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'buf-size'
-path = 'ns' / 'ext' / name
-
-buf_size_data = files(
- 'buf-size.meta.ttl',
- 'buf-size.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'buf-size.h',
-)
-
-# Install extension bundle
-install_data(buf_size_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_buf_size_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('buf-size.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/core/lv2core.meta.ttl b/lv2/core.lv2/lv2core.meta.ttl
index 9faea9d..9faea9d 100644
--- a/lv2/core/lv2core.meta.ttl
+++ b/lv2/core.lv2/lv2core.meta.ttl
diff --git a/lv2/core/lv2core.ttl b/lv2/core.lv2/lv2core.ttl
index bd9fc93..f78865b 100644
--- a/lv2/core/lv2core.ttl
+++ b/lv2/core.lv2/lv2core.ttl
@@ -9,9 +9,7 @@
a owl:Ontology ;
rdfs:label "LV2" ;
rdfs:comment "An extensible open standard for audio plugins." ;
- rdfs:seeAlso <lv2.h> ,
- <lv2_util.h> ,
- <lv2core.meta.ttl> ;
+ rdfs:seeAlso <lv2core.meta.ttl> ;
owl:imports doap: .
lv2:Specification
diff --git a/lv2/core/manifest.ttl b/lv2/core.lv2/manifest.ttl
index 6e61dde..6e61dde 100644
--- a/lv2/core/manifest.ttl
+++ b/lv2/core.lv2/manifest.ttl
diff --git a/lv2/core/meta.ttl b/lv2/core.lv2/meta.ttl
index 34cfa4f..d8878c1 100644
--- a/lv2/core/meta.ttl
+++ b/lv2/core.lv2/meta.ttl
@@ -48,6 +48,10 @@ THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH R
rdfs:label "Replace canonical dcs ontology with a minimal version for LV2."
] , [
rdfs:label "Switch to Meson build system."
+ ] , [
+ rdfs:label "Separate API headers from data."
+ ] , [
+ rdfs:label "Rearrange source tree to be directly usable by dependants."
]
]
] , [
diff --git a/lv2/core/people.ttl b/lv2/core.lv2/people.ttl
index 52d0384..52d0384 100644
--- a/lv2/core/people.ttl
+++ b/lv2/core.lv2/people.ttl
diff --git a/lv2/core/meson.build b/lv2/core/meson.build
deleted file mode 100644
index a629d0a..0000000
--- a/lv2/core/meson.build
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'core'
-path = 'ns' / 'lv2core'
-
-core_data = files(
- 'lv2core.meta.ttl',
- 'lv2core.ttl',
- 'manifest.ttl',
- 'meta.ttl',
- 'people.ttl',
-)
-
-headers = files(
- 'attributes.h',
- 'lv2.h',
- 'lv2_util.h',
-)
-
-# Install specification bundle
-install_data(core_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / 'ns' / 'lv2core')
-endif
-
-# Build documentation
-if build_docs
- lv2_core_docs = custom_target(
- 'lv2core.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../html',
- '--style-uri=../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('lv2core.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns',
- output: 'lv2core.html',
- )
-endif
diff --git a/lv2/data-access/data-access.meta.ttl b/lv2/data-access.lv2/data-access.meta.ttl
index 3184110..822b28c 100644
--- a/lv2/data-access/data-access.meta.ttl
+++ b/lv2/data-access.lv2/data-access.meta.ttl
@@ -7,7 +7,6 @@
<http://lv2plug.in/ns/ext/data-access>
a doap:Project ;
- rdfs:seeAlso <data-access.h> ;
doap:license <http://opensource.org/licenses/isc> ;
doap:name "LV2 Data Access" ;
doap:shortdesc "Provides access to plugin extension data." ;
diff --git a/lv2/data-access/data-access.ttl b/lv2/data-access.lv2/data-access.ttl
index 0185cd0..b0dc6f4 100644
--- a/lv2/data-access/data-access.ttl
+++ b/lv2/data-access.lv2/data-access.ttl
@@ -6,6 +6,5 @@
a lv2:Feature ;
rdfs:label "data access" ;
rdfs:comment "A feature that provides access to plugin extension data." ;
- rdfs:seeAlso <data-access.h> ,
- <data-access.meta.ttl> .
+ rdfs:seeAlso <data-access.meta.ttl> .
diff --git a/lv2/data-access/manifest.ttl b/lv2/data-access.lv2/manifest.ttl
index 9585a5e..9585a5e 100644
--- a/lv2/data-access/manifest.ttl
+++ b/lv2/data-access.lv2/manifest.ttl
diff --git a/lv2/data-access/meson.build b/lv2/data-access/meson.build
deleted file mode 100644
index 05b086b..0000000
--- a/lv2/data-access/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'data-access'
-path = 'ns' / 'ext' / 'data-access'
-
-data_access_data = files(
- 'data-access.meta.ttl',
- 'data-access.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'data-access.h',
-)
-
-# Install specification bundle
-install_data(data_access_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_data_access_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('data-access.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/dynmanifest/dynmanifest.meta.ttl b/lv2/dynmanifest.lv2/dynmanifest.meta.ttl
index 4e66d98..4e66d98 100644
--- a/lv2/dynmanifest/dynmanifest.meta.ttl
+++ b/lv2/dynmanifest.lv2/dynmanifest.meta.ttl
diff --git a/lv2/dynmanifest/dynmanifest.ttl b/lv2/dynmanifest.lv2/dynmanifest.ttl
index 4e2e830..b46d694 100644
--- a/lv2/dynmanifest/dynmanifest.ttl
+++ b/lv2/dynmanifest.lv2/dynmanifest.ttl
@@ -9,8 +9,7 @@
a owl:Ontology ;
rdfs:label "LV2 Dyn Manifest" ;
rdfs:comment "Support for dynamic manifest data generation." ;
- rdfs:seeAlso <dynmanifest.h> ,
- <dynmanifest.meta.ttl> .
+ rdfs:seeAlso <dynmanifest.meta.ttl> .
dman:DynManifest
a rdfs:Class ;
diff --git a/lv2/dynmanifest/manifest.ttl b/lv2/dynmanifest.lv2/manifest.ttl
index db27a73..db27a73 100644
--- a/lv2/dynmanifest/manifest.ttl
+++ b/lv2/dynmanifest.lv2/manifest.ttl
diff --git a/lv2/dynmanifest/meson.build b/lv2/dynmanifest/meson.build
deleted file mode 100644
index ba78972..0000000
--- a/lv2/dynmanifest/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'dynmanifest'
-path = 'ns' / 'ext' / 'dynmanifest'
-
-dynmanifest_data = files(
- 'dynmanifest.meta.ttl',
- 'dynmanifest.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'dynmanifest.h',
-)
-
-# Install specification bundle
-install_data(dynmanifest_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_dynmanifest_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('dynmanifest.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/event/event.meta.ttl b/lv2/event.lv2/event.meta.ttl
index e9c26bc..e9c26bc 100644
--- a/lv2/event/event.meta.ttl
+++ b/lv2/event.lv2/event.meta.ttl
diff --git a/lv2/event/event.ttl b/lv2/event.lv2/event.ttl
index 119e606..2d871f6 100644
--- a/lv2/event/event.ttl
+++ b/lv2/event.lv2/event.ttl
@@ -9,9 +9,7 @@
owl:deprecated true ;
rdfs:label "LV2 Event" ;
rdfs:comment "A port-based real-time generic event interface." ;
- rdfs:seeAlso <event.h> ,
- <event-helpers.h> ,
- <event.meta.ttl> ;
+ rdfs:seeAlso <event.meta.ttl> ;
owl:imports <http://lv2plug.in/ns/lv2core> .
ev:EventPort
diff --git a/lv2/event/manifest.ttl b/lv2/event.lv2/manifest.ttl
index 230fe73..230fe73 100644
--- a/lv2/event/manifest.ttl
+++ b/lv2/event.lv2/manifest.ttl
diff --git a/lv2/event/meson.build b/lv2/event/meson.build
deleted file mode 100644
index 020acc8..0000000
--- a/lv2/event/meson.build
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'event'
-path = 'ns' / 'ext' / 'event'
-
-event_data = files(
- 'event.meta.ttl',
- 'event.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'event-helpers.h',
- 'event.h',
-)
-
-# Install specification bundle
-install_data(event_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_event_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('event.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/instance-access/instance-access.meta.ttl b/lv2/instance-access.lv2/instance-access.meta.ttl
index 875e2f8..875e2f8 100644
--- a/lv2/instance-access/instance-access.meta.ttl
+++ b/lv2/instance-access.lv2/instance-access.meta.ttl
diff --git a/lv2/instance-access/instance-access.ttl b/lv2/instance-access.lv2/instance-access.ttl
index 085ae37..637f4e0 100644
--- a/lv2/instance-access/instance-access.ttl
+++ b/lv2/instance-access.lv2/instance-access.ttl
@@ -6,6 +6,5 @@
a lv2:Feature ;
rdfs:label "instance access" ;
rdfs:comment "A feature that provides access to a plugin instance." ;
- rdfs:seeAlso <instance-access.h> ,
- <instance-access.meta.ttl> .
+ rdfs:seeAlso <instance-access.meta.ttl> .
diff --git a/lv2/instance-access/manifest.ttl b/lv2/instance-access.lv2/manifest.ttl
index e6c8810..e6c8810 100644
--- a/lv2/instance-access/manifest.ttl
+++ b/lv2/instance-access.lv2/manifest.ttl
diff --git a/lv2/instance-access/meson.build b/lv2/instance-access/meson.build
deleted file mode 100644
index 70ff48e..0000000
--- a/lv2/instance-access/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'instance-access'
-path = 'ns' / 'ext' / 'instance-access'
-
-instance_access_data = files(
- 'instance-access.meta.ttl',
- 'instance-access.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'instance-access.h',
-)
-
-# Install specification bundle
-install_data(instance_access_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_instance_access_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('instance-access.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/log/log.meta.ttl b/lv2/log.lv2/log.meta.ttl
index 87cff43..87cff43 100644
--- a/lv2/log/log.meta.ttl
+++ b/lv2/log.lv2/log.meta.ttl
diff --git a/lv2/log/log.ttl b/lv2/log.lv2/log.ttl
index a8c4236..0b334ed 100644
--- a/lv2/log/log.ttl
+++ b/lv2/log.lv2/log.ttl
@@ -9,8 +9,7 @@
a owl:Ontology ;
rdfs:label "LV2 Log" ;
rdfs:comment "A feature for writing log messages." ;
- rdfs:seeAlso <log.h> ,
- <log.meta.ttl> ;
+ rdfs:seeAlso <log.meta.ttl> ;
owl:imports <http://lv2plug.in/ns/lv2core> .
log:Entry
diff --git a/lv2/log/manifest.ttl b/lv2/log.lv2/manifest.ttl
index bcaeff3..bcaeff3 100644
--- a/lv2/log/manifest.ttl
+++ b/lv2/log.lv2/manifest.ttl
diff --git a/lv2/log/meson.build b/lv2/log/meson.build
deleted file mode 100644
index 9b13db0..0000000
--- a/lv2/log/meson.build
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'log'
-path = 'ns' / 'ext' / 'log'
-
-log_data = files(
- 'log.meta.ttl',
- 'log.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'log.h',
- 'logger.h',
-)
-
-# Install specification bundle
-install_data(log_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_log_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('log.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/meson.build b/lv2/meson.build
deleted file mode 100644
index d8875eb..0000000
--- a/lv2/meson.build
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-dirs = [
- 'atom',
- 'buf-size',
- 'core',
- 'data-access',
- 'dynmanifest',
- 'event',
- 'instance-access',
- 'log',
- 'midi',
- 'morph',
- 'options',
- 'parameters',
- 'patch',
- 'port-groups',
- 'port-props',
- 'presets',
- 'resize-port',
- 'state',
- 'time',
- 'ui',
- 'units',
- 'uri-map',
- 'urid',
- 'worker',
-]
-
-foreach dir : dirs
- subdir(dir)
-endforeach
-
-if not get_option('tests').disabled()
- check_python = pymod.find_installation('python3',
- modules: ['rdflib'],
- required: get_option('tests'))
-
- if check_python.found()
- lv2_check_specification = files(
- lv2_source_root / 'scripts' / 'lv2_check_specification.py'
- )
-
- foreach dir : dirs
- test(dir,
- lv2_check_specification,
- args: files(dir / 'manifest.ttl'),
- suite: ['spec'])
- endforeach
- endif
-endif
diff --git a/lv2/midi/manifest.ttl b/lv2/midi.lv2/manifest.ttl
index f141936..f141936 100644
--- a/lv2/midi/manifest.ttl
+++ b/lv2/midi.lv2/manifest.ttl
diff --git a/lv2/midi/midi.meta.ttl b/lv2/midi.lv2/midi.meta.ttl
index 7efdb01..7efdb01 100644
--- a/lv2/midi/midi.meta.ttl
+++ b/lv2/midi.lv2/midi.meta.ttl
diff --git a/lv2/midi/midi.ttl b/lv2/midi.lv2/midi.ttl
index 81f3495..4a0e8c9 100644
--- a/lv2/midi/midi.ttl
+++ b/lv2/midi.lv2/midi.ttl
@@ -11,8 +11,7 @@
a owl:Ontology ;
rdfs:label "LV2 MIDI" ;
rdfs:comment "A normalised definition of raw MIDI." ;
- rdfs:seeAlso <midi.h> ,
- <midi.meta.ttl> .
+ rdfs:seeAlso <midi.meta.ttl> .
midi:ActiveSense
a rdfs:Class ;
diff --git a/lv2/midi/meson.build b/lv2/midi/meson.build
deleted file mode 100644
index 7907dfa..0000000
--- a/lv2/midi/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'midi'
-path = 'ns' / 'ext' / 'midi'
-
-midi_data = files(
- 'midi.meta.ttl',
- 'midi.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'midi.h',
-)
-
-# Install specification bundle
-install_data(midi_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_midi_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('midi.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/morph/manifest.ttl b/lv2/morph.lv2/manifest.ttl
index 7c85cfd..7c85cfd 100644
--- a/lv2/morph/manifest.ttl
+++ b/lv2/morph.lv2/manifest.ttl
diff --git a/lv2/morph/morph.meta.ttl b/lv2/morph.lv2/morph.meta.ttl
index c247783..c247783 100644
--- a/lv2/morph/morph.meta.ttl
+++ b/lv2/morph.lv2/morph.meta.ttl
diff --git a/lv2/morph/morph.ttl b/lv2/morph.lv2/morph.ttl
index a771e03..9b8ef51 100644
--- a/lv2/morph/morph.ttl
+++ b/lv2/morph.lv2/morph.ttl
@@ -12,8 +12,7 @@
a owl:Ontology ;
rdfs:label "LV2 Morph" ;
rdfs:comment "Ports that can dynamically change type." ;
- rdfs:seeAlso <morph.h> ,
- <morph.meta.ttl> ;
+ rdfs:seeAlso <morph.meta.ttl> ;
owl:imports <http://lv2plug.in/ns/lv2core> .
morph:MorphPort
diff --git a/lv2/morph/meson.build b/lv2/morph/meson.build
deleted file mode 100644
index 0742c03..0000000
--- a/lv2/morph/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'morph'
-path = 'ns' / 'ext' / 'morph'
-
-morph_data = files(
- 'morph.meta.ttl',
- 'morph.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'morph.h',
-)
-
-# Install specification bundle
-install_data(morph_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_morph_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('morph.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/options/manifest.ttl b/lv2/options.lv2/manifest.ttl
index 18db448..18db448 100644
--- a/lv2/options/manifest.ttl
+++ b/lv2/options.lv2/manifest.ttl
diff --git a/lv2/options/options.meta.ttl b/lv2/options.lv2/options.meta.ttl
index 838b0b9..838b0b9 100644
--- a/lv2/options/options.meta.ttl
+++ b/lv2/options.lv2/options.meta.ttl
diff --git a/lv2/options/options.ttl b/lv2/options.lv2/options.ttl
index 78defef..5f9fcc9 100644
--- a/lv2/options/options.ttl
+++ b/lv2/options.lv2/options.ttl
@@ -9,8 +9,7 @@
a owl:Ontology ;
rdfs:label "LV2 Options" ;
rdfs:comment "Runtime options for LV2 plugins and UIs." ;
- rdfs:seeAlso <options.h> ,
- <options.meta.ttl> ;
+ rdfs:seeAlso <options.meta.ttl> ;
owl:imports <http://lv2plug.in/ns/lv2core> .
opts:Option
diff --git a/lv2/options/meson.build b/lv2/options/meson.build
deleted file mode 100644
index 5644b87..0000000
--- a/lv2/options/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'options'
-path = 'ns' / 'ext' / 'options'
-
-options_data = files(
- 'options.meta.ttl',
- 'options.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'options.h',
-)
-
-# Install specification bundle
-install_data(options_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_options_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('options.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/parameters/manifest.ttl b/lv2/parameters.lv2/manifest.ttl
index 57f5d2e..57f5d2e 100644
--- a/lv2/parameters/manifest.ttl
+++ b/lv2/parameters.lv2/manifest.ttl
diff --git a/lv2/parameters/parameters.meta.ttl b/lv2/parameters.lv2/parameters.meta.ttl
index 9d7c623..9d7c623 100644
--- a/lv2/parameters/parameters.meta.ttl
+++ b/lv2/parameters.lv2/parameters.meta.ttl
diff --git a/lv2/parameters/parameters.ttl b/lv2/parameters.lv2/parameters.ttl
index 9987812..9987812 100644
--- a/lv2/parameters/parameters.ttl
+++ b/lv2/parameters.lv2/parameters.ttl
diff --git a/lv2/parameters/meson.build b/lv2/parameters/meson.build
deleted file mode 100644
index ae50866..0000000
--- a/lv2/parameters/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'parameters'
-path = 'ns' / 'ext' / 'parameters'
-
-parameters_data = files(
- 'parameters.meta.ttl',
- 'parameters.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'parameters.h',
-)
-
-# Install specification bundle
-install_data(parameters_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_parameters_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('parameters.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/patch/manifest.ttl b/lv2/patch.lv2/manifest.ttl
index 4bf9cfb..4bf9cfb 100644
--- a/lv2/patch/manifest.ttl
+++ b/lv2/patch.lv2/manifest.ttl
diff --git a/lv2/patch/patch.meta.ttl b/lv2/patch.lv2/patch.meta.ttl
index 12cb6c6..12cb6c6 100644
--- a/lv2/patch/patch.meta.ttl
+++ b/lv2/patch.lv2/patch.meta.ttl
diff --git a/lv2/patch/patch.ttl b/lv2/patch.lv2/patch.ttl
index c7f6d76..33d04d1 100644
--- a/lv2/patch/patch.ttl
+++ b/lv2/patch.lv2/patch.ttl
@@ -7,8 +7,7 @@
<http://lv2plug.in/ns/ext/patch>
a owl:Ontology ;
- rdfs:seeAlso <patch.h> ,
- <patch.meta.ttl> ;
+ rdfs:seeAlso <patch.meta.ttl> ;
rdfs:label "LV2 Patch" ;
rdfs:comment "A protocol for accessing and manipulating properties." .
diff --git a/lv2/patch/meson.build b/lv2/patch/meson.build
deleted file mode 100644
index cb54fb6..0000000
--- a/lv2/patch/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'patch'
-path = 'ns' / 'ext' / 'patch'
-
-patch_data = files(
- 'patch.meta.ttl',
- 'patch.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'patch.h',
-)
-
-# Install specification bundle
-install_data(patch_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_patch_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('patch.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/port-groups/manifest.ttl b/lv2/port-groups.lv2/manifest.ttl
index a887cb0..a887cb0 100644
--- a/lv2/port-groups/manifest.ttl
+++ b/lv2/port-groups.lv2/manifest.ttl
diff --git a/lv2/port-groups/port-groups.meta.ttl b/lv2/port-groups.lv2/port-groups.meta.ttl
index 67408ec..67408ec 100644
--- a/lv2/port-groups/port-groups.meta.ttl
+++ b/lv2/port-groups.lv2/port-groups.meta.ttl
diff --git a/lv2/port-groups/port-groups.ttl b/lv2/port-groups.lv2/port-groups.ttl
index 2806821..2806821 100644
--- a/lv2/port-groups/port-groups.ttl
+++ b/lv2/port-groups.lv2/port-groups.ttl
diff --git a/lv2/port-groups/meson.build b/lv2/port-groups/meson.build
deleted file mode 100644
index 816109f..0000000
--- a/lv2/port-groups/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'port-groups'
-path = 'ns' / 'ext' / 'port-groups'
-
-port_groups_data = files(
- 'port-groups.meta.ttl',
- 'port-groups.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'port-groups.h',
-)
-
-# Install specification bundle
-install_data(port_groups_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_port_groups_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('port-groups.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/port-props/manifest.ttl b/lv2/port-props.lv2/manifest.ttl
index 45f598d..45f598d 100644
--- a/lv2/port-props/manifest.ttl
+++ b/lv2/port-props.lv2/manifest.ttl
diff --git a/lv2/port-props/port-props.meta.ttl b/lv2/port-props.lv2/port-props.meta.ttl
index 7077e4b..7077e4b 100644
--- a/lv2/port-props/port-props.meta.ttl
+++ b/lv2/port-props.lv2/port-props.meta.ttl
diff --git a/lv2/port-props/port-props.ttl b/lv2/port-props.lv2/port-props.ttl
index ea25c6b..ea25c6b 100644
--- a/lv2/port-props/port-props.ttl
+++ b/lv2/port-props.lv2/port-props.ttl
diff --git a/lv2/port-props/meson.build b/lv2/port-props/meson.build
deleted file mode 100644
index 900b637..0000000
--- a/lv2/port-props/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'port-props'
-path = 'ns' / 'ext' / 'port-props'
-
-port_props_data = files(
- 'port-props.meta.ttl',
- 'port-props.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'port-props.h',
-)
-
-# Install specification bundle
-install_data(port_props_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_port_props_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('port-props.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/presets/manifest.ttl b/lv2/presets.lv2/manifest.ttl
index b9cacf5..b9cacf5 100644
--- a/lv2/presets/manifest.ttl
+++ b/lv2/presets.lv2/manifest.ttl
diff --git a/lv2/presets/presets.meta.ttl b/lv2/presets.lv2/presets.meta.ttl
index 8ff25c1..8ff25c1 100644
--- a/lv2/presets/presets.meta.ttl
+++ b/lv2/presets.lv2/presets.meta.ttl
diff --git a/lv2/presets/presets.ttl b/lv2/presets.lv2/presets.ttl
index 60189ea..60189ea 100644
--- a/lv2/presets/presets.ttl
+++ b/lv2/presets.lv2/presets.ttl
diff --git a/lv2/presets/meson.build b/lv2/presets/meson.build
deleted file mode 100644
index a3f2feb..0000000
--- a/lv2/presets/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'presets'
-path = 'ns' / 'ext' / 'presets'
-
-presets_data = files(
- 'presets.meta.ttl',
- 'presets.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'presets.h',
-)
-
-# Install specification bundle
-install_data(presets_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_presets_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('presets.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/resize-port/manifest.ttl b/lv2/resize-port.lv2/manifest.ttl
index 9fae8b8..9fae8b8 100644
--- a/lv2/resize-port/manifest.ttl
+++ b/lv2/resize-port.lv2/manifest.ttl
diff --git a/lv2/resize-port/resize-port.meta.ttl b/lv2/resize-port.lv2/resize-port.meta.ttl
index d44620c..d44620c 100644
--- a/lv2/resize-port/resize-port.meta.ttl
+++ b/lv2/resize-port.lv2/resize-port.meta.ttl
diff --git a/lv2/resize-port/resize-port.ttl b/lv2/resize-port.lv2/resize-port.ttl
index a6712e7..6f42c8f 100644
--- a/lv2/resize-port/resize-port.ttl
+++ b/lv2/resize-port.lv2/resize-port.ttl
@@ -9,8 +9,7 @@
a owl:Ontology ;
rdfs:label "LV2 Resize Port" ;
rdfs:comment "Dynamically sized LV2 port buffers." ;
- rdfs:seeAlso <resize-port.h> ,
- <resize-port.meta.ttl> ;
+ rdfs:seeAlso <resize-port.meta.ttl> ;
owl:imports <http://lv2plug.in/ns/lv2core> .
rsz:resize
diff --git a/lv2/resize-port/meson.build b/lv2/resize-port/meson.build
deleted file mode 100644
index cd18a2c..0000000
--- a/lv2/resize-port/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'resize-port'
-path = 'ns' / 'ext' / 'resize-port'
-
-resize_port_data = files(
- 'resize-port.meta.ttl',
- 'resize-port.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'resize-port.h',
-)
-
-# Install specification bundle
-install_data(resize_port_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_resize_port_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('resize-port.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/state/manifest.ttl b/lv2/state.lv2/manifest.ttl
index e56c4e5..e56c4e5 100644
--- a/lv2/state/manifest.ttl
+++ b/lv2/state.lv2/manifest.ttl
diff --git a/lv2/state/state.meta.ttl b/lv2/state.lv2/state.meta.ttl
index cebe0ac..cebe0ac 100644
--- a/lv2/state/state.meta.ttl
+++ b/lv2/state.lv2/state.meta.ttl
diff --git a/lv2/state/state.ttl b/lv2/state.lv2/state.ttl
index 48537c8..463fdb9 100644
--- a/lv2/state/state.ttl
+++ b/lv2/state.lv2/state.ttl
@@ -8,8 +8,7 @@
a owl:Ontology ;
rdfs:label "LV2 State" ;
rdfs:comment "An interface for LV2 plugins to save and restore state." ;
- rdfs:seeAlso <state.h> ,
- <state.meta.ttl> ;
+ rdfs:seeAlso <state.meta.ttl> ;
owl:imports <http://lv2plug.in/ns/lv2core> .
state:interface
diff --git a/lv2/state/meson.build b/lv2/state/meson.build
deleted file mode 100644
index 7914797..0000000
--- a/lv2/state/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'state'
-path = 'ns' / 'ext' / 'state'
-
-state_data = files(
- 'state.meta.ttl',
- 'state.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'state.h',
-)
-
-# Install specification bundle
-install_data(state_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_state_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('state.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/time/manifest.ttl b/lv2/time.lv2/manifest.ttl
index d80aa75..d80aa75 100644
--- a/lv2/time/manifest.ttl
+++ b/lv2/time.lv2/manifest.ttl
diff --git a/lv2/time/time.meta.ttl b/lv2/time.lv2/time.meta.ttl
index 2b99cb7..2b99cb7 100644
--- a/lv2/time/time.meta.ttl
+++ b/lv2/time.lv2/time.meta.ttl
diff --git a/lv2/time/time.ttl b/lv2/time.lv2/time.ttl
index a4085c6..f3da9b0 100644
--- a/lv2/time/time.ttl
+++ b/lv2/time.lv2/time.ttl
@@ -8,8 +8,7 @@
a owl:Ontology ;
rdfs:label "LV2 Time" ;
rdfs:comment "A vocabulary for describing musical time." ;
- rdfs:seeAlso <time.h> ,
- <time.meta.ttl> .
+ rdfs:seeAlso <time.meta.ttl> .
time:Time
a rdfs:Class ,
diff --git a/lv2/time/meson.build b/lv2/time/meson.build
deleted file mode 100644
index 5f47e89..0000000
--- a/lv2/time/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'time'
-path = 'ns' / 'ext' / 'time'
-
-time_data = files(
- 'time.meta.ttl',
- 'time.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'time.h',
-)
-
-# Install specification bundle
-install_data(time_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_time_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('time.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/ui/manifest.ttl b/lv2/ui.lv2/manifest.ttl
index d3b12b5..d3b12b5 100644
--- a/lv2/ui/manifest.ttl
+++ b/lv2/ui.lv2/manifest.ttl
diff --git a/lv2/ui/ui.meta.ttl b/lv2/ui.lv2/ui.meta.ttl
index 95336bf..95336bf 100644
--- a/lv2/ui/ui.meta.ttl
+++ b/lv2/ui.lv2/ui.meta.ttl
diff --git a/lv2/ui/ui.ttl b/lv2/ui.lv2/ui.ttl
index b355764..1c2e455 100644
--- a/lv2/ui/ui.ttl
+++ b/lv2/ui.lv2/ui.ttl
@@ -10,8 +10,7 @@
a owl:Ontology ;
rdfs:label "LV2 UI" ;
rdfs:comment "User interfaces for LV2 plugins." ;
- rdfs:seeAlso <ui.h> ,
- <ui.meta.ttl> ;
+ rdfs:seeAlso <ui.meta.ttl> ;
owl:imports <http://lv2plug.in/ns/lv2core> ,
<http://lv2plug.in/ns/ext/options> .
diff --git a/lv2/ui/meson.build b/lv2/ui/meson.build
deleted file mode 100644
index 3eb4223..0000000
--- a/lv2/ui/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'ui'
-path = 'ns' / 'extensions' / 'ui'
-
-ui_data = files(
- 'ui.meta.ttl',
- 'ui.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'ui.h',
-)
-
-# Install specification bundle
-install_data(ui_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_ui_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('ui.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'extensions',
- output: name + '.html',
- )
-endif
diff --git a/lv2/units/manifest.ttl b/lv2/units.lv2/manifest.ttl
index c6c9286..c6c9286 100644
--- a/lv2/units/manifest.ttl
+++ b/lv2/units.lv2/manifest.ttl
diff --git a/lv2/units/units.meta.ttl b/lv2/units.lv2/units.meta.ttl
index a857046..a857046 100644
--- a/lv2/units/units.meta.ttl
+++ b/lv2/units.lv2/units.meta.ttl
diff --git a/lv2/units/units.ttl b/lv2/units.lv2/units.ttl
index 959c063..21a1898 100644
--- a/lv2/units/units.ttl
+++ b/lv2/units.lv2/units.ttl
@@ -8,8 +8,7 @@
a owl:Ontology ;
rdfs:label "LV2 Units" ;
rdfs:comment "Units for LV2 values." ;
- rdfs:seeAlso <units.h> ,
- <units.meta.ttl> .
+ rdfs:seeAlso <units.meta.ttl> .
units:Unit
a rdfs:Class ,
diff --git a/lv2/units/meson.build b/lv2/units/meson.build
deleted file mode 100644
index 00d50dc..0000000
--- a/lv2/units/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'units'
-path = 'ns' / 'extensions' / 'units'
-
-units_data = files(
- 'units.meta.ttl',
- 'units.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'units.h',
-)
-
-# Install specification bundle
-install_data(units_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_units_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('units.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'extensions',
- output: name + '.html',
- )
-endif
diff --git a/lv2/uri-map/manifest.ttl b/lv2/uri-map.lv2/manifest.ttl
index a64e4fb..a64e4fb 100644
--- a/lv2/uri-map/manifest.ttl
+++ b/lv2/uri-map.lv2/manifest.ttl
diff --git a/lv2/uri-map/uri-map.meta.ttl b/lv2/uri-map.lv2/uri-map.meta.ttl
index acd1c26..acd1c26 100644
--- a/lv2/uri-map/uri-map.meta.ttl
+++ b/lv2/uri-map.lv2/uri-map.meta.ttl
diff --git a/lv2/uri-map/uri-map.ttl b/lv2/uri-map.lv2/uri-map.ttl
index bfb0d0b..7a7d6e3 100644
--- a/lv2/uri-map/uri-map.ttl
+++ b/lv2/uri-map.lv2/uri-map.ttl
@@ -9,6 +9,5 @@
owl:deprecated true ;
rdfs:label "LV2 URI Map" ;
rdfs:comment "A feature for mapping URIs to integers." ;
- rdfs:seeAlso <uri-map.h> ,
- <uri-map.meta.ttl> .
+ rdfs:seeAlso <uri-map.meta.ttl> .
diff --git a/lv2/uri-map/meson.build b/lv2/uri-map/meson.build
deleted file mode 100644
index 1961645..0000000
--- a/lv2/uri-map/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'uri-map'
-path = 'ns' / 'ext' / 'uri-map'
-
-uri_map_data = files(
- 'uri-map.meta.ttl',
- 'uri-map.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'uri-map.h',
-)
-
-# Install specification bundle
-install_data(uri_map_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_uri_map_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('uri-map.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/urid/manifest.ttl b/lv2/urid.lv2/manifest.ttl
index 772e2b6..772e2b6 100644
--- a/lv2/urid/manifest.ttl
+++ b/lv2/urid.lv2/manifest.ttl
diff --git a/lv2/urid/urid.meta.ttl b/lv2/urid.lv2/urid.meta.ttl
index b2a74fa..b2a74fa 100644
--- a/lv2/urid/urid.meta.ttl
+++ b/lv2/urid.lv2/urid.meta.ttl
diff --git a/lv2/urid/urid.ttl b/lv2/urid.lv2/urid.ttl
index 53aa1e5..6ce666a 100644
--- a/lv2/urid/urid.ttl
+++ b/lv2/urid.lv2/urid.ttl
@@ -7,8 +7,7 @@
a owl:Ontology ;
rdfs:label "LV2 URID" ;
rdfs:comment "Features for mapping URIs to and from integers." ;
- rdfs:seeAlso <urid.h> ,
- <urid.meta.ttl> ;
+ rdfs:seeAlso <urid.meta.ttl> ;
owl:imports <http://lv2plug.in/ns/lv2core> .
urid:map
diff --git a/lv2/urid/meson.build b/lv2/urid/meson.build
deleted file mode 100644
index 38efe4b..0000000
--- a/lv2/urid/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'urid'
-path = 'ns' / 'ext' / 'urid'
-
-urid_data = files(
- 'urid.meta.ttl',
- 'urid.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'urid.h',
-)
-
-# Install specification bundle
-install_data(urid_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_urid_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('urid.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/lv2/worker/manifest.ttl b/lv2/worker.lv2/manifest.ttl
index 692720d..692720d 100644
--- a/lv2/worker/manifest.ttl
+++ b/lv2/worker.lv2/manifest.ttl
diff --git a/lv2/worker/worker.meta.ttl b/lv2/worker.lv2/worker.meta.ttl
index 2fc51bc..2fc51bc 100644
--- a/lv2/worker/worker.meta.ttl
+++ b/lv2/worker.lv2/worker.meta.ttl
diff --git a/lv2/worker/worker.ttl b/lv2/worker.lv2/worker.ttl
index cb8a81a..581be71 100644
--- a/lv2/worker/worker.ttl
+++ b/lv2/worker.lv2/worker.ttl
@@ -10,8 +10,7 @@
rdfs:label "LV2 Worker" ;
rdfs:comment "Support for doing non-realtime work in plugins." ;
owl:imports <http://lv2plug.in/ns/lv2core> ;
- rdfs:seeAlso <worker.h> ,
- <worker.meta.ttl> .
+ rdfs:seeAlso <worker.meta.ttl> .
work:interface
a lv2:ExtensionData ;
diff --git a/lv2/worker/meson.build b/lv2/worker/meson.build
deleted file mode 100644
index 248c594..0000000
--- a/lv2/worker/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'worker'
-path = 'ns' / 'ext' / 'worker'
-
-worker_data = files(
- 'worker.meta.ttl',
- 'worker.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'worker.h',
-)
-
-# Install specification bundle
-install_data(worker_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_worker_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('worker.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif
diff --git a/meson.build b/meson.build
index 5fbf3ba..44dbdb4 100644
--- a/meson.build
+++ b/meson.build
@@ -61,33 +61,232 @@ endif
# Generage pkg-config file for external dependants
pkg.generate(
- name: 'LV2',
+ description: 'Plugin standard for audio systems',
filebase: 'lv2',
+ name: 'LV2',
subdirs: ['lv2'],
+ variables: [
+ 'lv2dir=' + lv2dir,
+ 'plugindir=' + lv2dir,
+ ],
version: meson.project_version(),
- description: 'Plugin standard for audio systems')
+)
# Declare dependency for internal meson dependants
lv2_dep = declare_dependency(
- include_directories: include_directories('.'),
- version: meson.project_version())
+ include_directories: include_directories('include'),
+ variables: [
+ 'lv2dir=' + lv2_source_root / 'lv2',
+ 'plugindir=' + lv2_build_root / 'plugins',
+ ],
+ version: meson.project_version(),
+)
##################
# Specifications #
##################
-doc_python_modules = [
- 'lxml',
- 'markdown',
- 'pygments',
- 'rdflib',
+# Extensions in http://lv2plug.in/ns/ext/
+ext_names = [
+ 'atom',
+ 'buf-size',
+ 'data-access',
+ 'dynmanifest',
+ 'event',
+ 'instance-access',
+ 'log',
+ 'midi',
+ 'morph',
+ 'options',
+ 'parameters',
+ 'patch',
+ 'port-groups',
+ 'port-props',
+ 'presets',
+ 'resize-port',
+ 'state',
+ 'time',
+ 'uri-map',
+ 'urid',
+ 'worker',
+]
+
+# Extensions in http://lv2plug.in/ns/extensions/
+extensions_names = [
+ 'ui',
+ 'units',
]
+# All extensions (not core) in http://lv2plug.in/ns/
+all_extension_names = ext_names + extensions_names
+
+# All specifications in http://lv2plug.in/ns/
+all_spec_names = ['core'] + ext_names + extensions_names
+
+###############
+# API Headers #
+###############
+
+prefix = get_option('prefix')
+includedir = get_option('includedir')
+
+install_subdir('include/lv2', install_dir: includedir)
+
+if get_option('old_headers')
+ uri_include_dir = prefix / includedir / 'lv2' / 'lv2plug.in' / 'ns'
+ include_prefix = 'include' / 'lv2'
+
+ # Install the core headers specially, because they are inconsistent
+
+ core_headers = files(
+ include_prefix / 'core' / 'attributes.h',
+ include_prefix / 'core' / 'lv2.h',
+ include_prefix / 'core' / 'lv2_util.h',
+ )
+
+ # Core headers are inconsistently in "lv2plug.in/ns/lv2core"
+ install_data(core_headers, install_dir: uri_include_dir / 'lv2core')
+
+ # Some extensions are in "lv2plug.in/ns/ext"
+ foreach dir : ext_names
+ install_subdir(
+ include_prefix / dir,
+ install_dir: uri_include_dir / 'ext',
+ )
+ endforeach
+
+ # Some extensions are in "lv2plug.in/ns/extensions"
+ foreach dir : extensions_names
+ install_subdir(
+ include_prefix / dir,
+ install_dir: uri_include_dir / 'extensions',
+ )
+ endforeach
+endif
+
+#######################
+# Scripts and Schemas #
+#######################
+
+subdir('scripts')
+subdir('schemas.lv2')
+
+##################
+# Specifications #
+##################
+
+lv2_check_specification = files('scripts' / 'lv2_check_specification.py')
+
+check_python = pymod.find_installation(
+ 'python3',
+ modules: ['rdflib'],
+ required: get_option('tests'),
+)
+
+foreach bundle_name : all_spec_names
+ bundle = 'lv2' / bundle_name + '.lv2'
+
+ # Check specification
+ if check_python.found()
+ test(
+ bundle_name,
+ lv2_check_specification,
+ args: files(bundle / 'manifest.ttl'),
+ suite: ['spec'],
+ )
+ endif
+
+ # Install specification bundle
+ install_subdir(bundle, install_dir: lv2dir)
+endforeach
+
+spec_files = files(
+ 'lv2/atom.lv2/atom.meta.ttl',
+ 'lv2/atom.lv2/atom.ttl',
+ 'lv2/atom.lv2/manifest.ttl',
+ 'lv2/buf-size.lv2/buf-size.meta.ttl',
+ 'lv2/buf-size.lv2/buf-size.ttl',
+ 'lv2/buf-size.lv2/manifest.ttl',
+ 'lv2/core.lv2/lv2core.meta.ttl',
+ 'lv2/core.lv2/lv2core.ttl',
+ 'lv2/core.lv2/manifest.ttl',
+ 'lv2/core.lv2/meta.ttl',
+ 'lv2/core.lv2/people.ttl',
+ 'lv2/data-access.lv2/data-access.meta.ttl',
+ 'lv2/data-access.lv2/data-access.ttl',
+ 'lv2/data-access.lv2/manifest.ttl',
+ 'lv2/dynmanifest.lv2/dynmanifest.meta.ttl',
+ 'lv2/dynmanifest.lv2/dynmanifest.ttl',
+ 'lv2/dynmanifest.lv2/manifest.ttl',
+ 'lv2/event.lv2/event.meta.ttl',
+ 'lv2/event.lv2/event.ttl',
+ 'lv2/event.lv2/manifest.ttl',
+ 'lv2/instance-access.lv2/instance-access.meta.ttl',
+ 'lv2/instance-access.lv2/instance-access.ttl',
+ 'lv2/instance-access.lv2/manifest.ttl',
+ 'lv2/log.lv2/log.meta.ttl',
+ 'lv2/log.lv2/log.ttl',
+ 'lv2/log.lv2/manifest.ttl',
+ 'lv2/midi.lv2/manifest.ttl',
+ 'lv2/midi.lv2/midi.meta.ttl',
+ 'lv2/midi.lv2/midi.ttl',
+ 'lv2/morph.lv2/manifest.ttl',
+ 'lv2/morph.lv2/morph.meta.ttl',
+ 'lv2/morph.lv2/morph.ttl',
+ 'lv2/options.lv2/manifest.ttl',
+ 'lv2/options.lv2/options.meta.ttl',
+ 'lv2/options.lv2/options.ttl',
+ 'lv2/parameters.lv2/manifest.ttl',
+ 'lv2/parameters.lv2/parameters.meta.ttl',
+ 'lv2/parameters.lv2/parameters.ttl',
+ 'lv2/patch.lv2/manifest.ttl',
+ 'lv2/patch.lv2/patch.meta.ttl',
+ 'lv2/patch.lv2/patch.ttl',
+ 'lv2/port-groups.lv2/manifest.ttl',
+ 'lv2/port-groups.lv2/port-groups.meta.ttl',
+ 'lv2/port-groups.lv2/port-groups.ttl',
+ 'lv2/port-props.lv2/manifest.ttl',
+ 'lv2/port-props.lv2/port-props.meta.ttl',
+ 'lv2/port-props.lv2/port-props.ttl',
+ 'lv2/presets.lv2/manifest.ttl',
+ 'lv2/presets.lv2/presets.meta.ttl',
+ 'lv2/presets.lv2/presets.ttl',
+ 'lv2/resize-port.lv2/manifest.ttl',
+ 'lv2/resize-port.lv2/resize-port.meta.ttl',
+ 'lv2/resize-port.lv2/resize-port.ttl',
+ 'lv2/state.lv2/manifest.ttl',
+ 'lv2/state.lv2/state.meta.ttl',
+ 'lv2/state.lv2/state.ttl',
+ 'lv2/time.lv2/manifest.ttl',
+ 'lv2/time.lv2/time.meta.ttl',
+ 'lv2/time.lv2/time.ttl',
+ 'lv2/ui.lv2/manifest.ttl',
+ 'lv2/ui.lv2/ui.meta.ttl',
+ 'lv2/ui.lv2/ui.ttl',
+ 'lv2/units.lv2/manifest.ttl',
+ 'lv2/units.lv2/units.meta.ttl',
+ 'lv2/units.lv2/units.ttl',
+ 'lv2/uri-map.lv2/manifest.ttl',
+ 'lv2/uri-map.lv2/uri-map.meta.ttl',
+ 'lv2/uri-map.lv2/uri-map.ttl',
+ 'lv2/urid.lv2/manifest.ttl',
+ 'lv2/urid.lv2/urid.meta.ttl',
+ 'lv2/urid.lv2/urid.ttl',
+ 'lv2/worker.lv2/manifest.ttl',
+ 'lv2/worker.lv2/worker.meta.ttl',
+ 'lv2/worker.lv2/worker.ttl',
+)
+
+#################
+# Documentation #
+#################
+
# Determine if all the dependencies for building documentation are present
+doxygen = find_program('doxygen', required: get_option('docs'))
build_docs = false
doc_deps = []
if not get_option('docs').disabled()
- doxygen = find_program('doxygen', required: get_option('docs'))
+ doc_python_modules = ['lxml', 'markdown', 'pygments', 'rdflib']
python = pymod.find_installation(
'python3',
@@ -98,46 +297,23 @@ if not get_option('docs').disabled()
build_docs = doxygen.found() and python.found()
endif
-# Basic scripts and schema data
-subdir('scripts')
-subdir('schemas.lv2')
+# Run Doxygen first to generate tags
+subdir('doc/c')
+
+# Set up lv2specgen and lv2specgen_command_prefix (which references tags)
+subdir('lv2specgen')
-# Run Doxygen to generate tags file and HTML code documentation
+# Generate specification documentation
if build_docs
- subdir('doc/c')
+ subdir('doc/style')
+ subdir('doc/ns')
endif
-# Set up lv2specgen for generating individual specification documentation
-subdir('lv2specgen')
+###########
+# Plugins #
+###########
-# Specifications (and their individual documentation)
-subdir('lv2')
-spec_files = (atom_data +
- buf_size_data +
- core_data +
- data_access_data +
- dynmanifest_data +
- event_data +
- instance_access_data +
- log_data +
- midi_data +
- morph_data +
- options_data +
- parameters_data +
- patch_data +
- port_groups_data +
- port_props_data +
- presets_data +
- resize_port_data +
- state_data +
- time_data +
- ui_data +
- units_data +
- uri_map_data +
- urid_data +
- worker_data)
-
-# Plugins and "Programming LV2 Plugins" book
+# Example plugins and "Programming LV2 Plugins" book
if not get_option('plugins').disabled()
subdir('plugins')
endif
@@ -152,15 +328,6 @@ subdir('util')
# Data and build tests
subdir('test')
-#################
-# Documentation #
-#################
-
-# Top-level documentation
-if build_docs
- subdir('doc')
-endif
-
########
# News #
########
diff --git a/plugins/meson.build b/plugins/meson.build
index ee114ef..08b3feb 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -68,9 +68,9 @@ if not get_option('docs').disabled()
build_by_default: true,
command: [
asciidoc,
- '-a', 'stylesdir=' + lv2_source_root / 'doc',
+ '-a', 'stylesdir=' + lv2_source_root / 'doc' / 'style',
'-a', 'source-highlighter=pygments',
- '-a', 'pygments-style=' + lv2_source_root / 'doc' / 'style.css',
+ '-a', 'pygments-style=' + lv2_source_root / 'doc' / 'style' / 'style.css',
'-b', 'html',
'-o', '@OUTPUT@',
'@INPUT@',
diff --git a/scripts/lv2_build_index.py b/scripts/lv2_build_index.py
index 444e078..bc91911 100755
--- a/scripts/lv2_build_index.py
+++ b/scripts/lv2_build_index.py
@@ -102,7 +102,7 @@ def _spec_link_columns(spec, root, name, online):
# API
col += '<td><a rel="rdfs:seeAlso"'
- col += f' href="../doc/html/group__{stem}.html">{name}'
+ col += f' href="../html/group__{stem}.html">{name}'
col += "</a></td>"
return col
diff --git a/lv2/atom/atom-test-utils.c b/test/atom_test_utils.c
index ae368c8..ae368c8 100644
--- a/lv2/atom/atom-test-utils.c
+++ b/test/atom_test_utils.c
diff --git a/test/meson.build b/test/meson.build
index 0b8339a..fe85e74 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -9,7 +9,7 @@
codespell = find_program('codespell', required: get_option('tests'))
if codespell.found()
ignore = [
- lv2_source_root / 'doc' / 'pygments.css',
+ lv2_source_root / 'doc' / 'style' / 'pygments.css',
lv2_source_root / 'lv2specgen' / 'DTD',
lv2_source_root / 'schemas.lv2' / 'doap.ttl',
]
@@ -108,3 +108,28 @@ endif
if is_variable('pylint') and pylint.found()
test('pylint', pylint, args: strict_python_scripts, suite: 'scripts')
endif
+
+##############
+# Unit Tests #
+##############
+
+test_names = [
+ 'atom',
+ 'forge_overflow',
+]
+
+# Build and run tests
+if not get_option('tests').disabled()
+ foreach test_name : test_names
+ test(
+ test_name,
+ executable(
+ test_name,
+ files('test_@0@.c'.format(test_name)),
+ c_args: c_suppressions,
+ dependencies: lv2_dep,
+ ),
+ suite: 'unit',
+ )
+ endforeach
+endif
diff --git a/lv2/atom/atom-test.c b/test/test_atom.c
index 230a7cd..5771694 100644
--- a/lv2/atom/atom-test.c
+++ b/test/test_atom.c
@@ -14,7 +14,8 @@
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "lv2/atom/atom-test-utils.c"
+#include "atom_test_utils.c"
+
#include "lv2/atom/atom.h"
#include "lv2/atom/forge.h"
#include "lv2/atom/util.h"
diff --git a/lv2/atom/forge-overflow-test.c b/test/test_forge_overflow.c
index 27f3497..e00b40d 100644
--- a/lv2/atom/forge-overflow-test.c
+++ b/test/test_forge_overflow.c
@@ -14,7 +14,8 @@
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "lv2/atom/atom-test-utils.c"
+#include "atom_test_utils.c"
+
#include "lv2/atom/atom.h"
#include "lv2/atom/forge.h"
#include "lv2/urid/urid.h"