props.ttl 4.04 KB
Newer Older
Hanspeter Portner's avatar
Hanspeter Portner committed
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
# Copyright (c) 2015 Hanspeter Portner (dev@open-music-kontrollers.ch)
#
# This is free software: you can redistribute it and/or modify
# it under the terms of the Artistic License 2.0 as published by
# The Perl Foundation.
#
# This source is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# Artistic License 2.0 for more details.
#
# You should have received a copy of the Artistic License 2.0
# along the source as a COPYING file. If not, obtain it from
# http://www.perlfoundation.org/artistic_license_2_0.

@prefix owl:			<http://www.w3.org/2002/07/owl#> .
@prefix foaf:			<http://xmlns.com/foaf/0.1/> .
@prefix doap:			<http://usefulinc.com/ns/doap#> .
@prefix rdf:			<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: 		<http://www.w3.org/2000/01/rdf-schema#> .
@prefix lv2:			<http://lv2plug.in/ns/lv2core#> .
@prefix atom:			<http://lv2plug.in/ns/ext/atom#> .
@prefix urid:			<http://lv2plug.in/ns/ext/urid#> .
@prefix state:		<http://lv2plug.in/ns/ext/state#> .
@prefix patch:		<http://lv2plug.in/ns/ext/patch#> .
26
@prefix log:			<http://lv2plug.in/ns/ext/log#> .
27
@prefix units:		<http://lv2plug.in/ns/extensions/units#> .
28
@prefix xsd:			<http://www.w3.org/2001/XMLSchema#> .
Hanspeter Portner's avatar
Hanspeter Portner committed
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

@prefix lic:			<http://opensource.org/licenses/> .
@prefix omk:			<http://open-music-kontrollers.ch/ventosus#> .
@prefix proj:			<http://open-music-kontrollers.ch/lv2/> .
@prefix props:		<http://open-music-kontrollers.ch/lv2/props#> .

# Maintainer
omk:me
	a foaf:Person ;
	foaf:name "Hanspeter Portner" ;
	foaf:mbox <mailto:dev@open-music-kontrollers.ch> ;
	foaf:homepage <http://open-music-kontrollers.ch> .

# Project
proj:props
	a doap:Project ;
	doap:maintainer omk:me ;
	doap:name "Props Bundle" .

48 49 50 51
props:statInt
	a lv2:Parameter ;
	rdfs:range atom:Int ;
	rdfs:label "statInt" ;
52
	rdfs:comment "This is a 32-bit integer" ;
53
	units:unit units:hz ;
54 55 56 57 58 59 60
	lv2:minimum 0 ;
	lv2:maximum 10 .

props:statLong
	a lv2:Parameter ;
	rdfs:range atom:Long ;
	rdfs:label "statLong" ;
61
	rdfs:comment "This is a 64-bit integer" ;
62
	units:unit units:khz ;
63
	lv2:minimum 0 ;
Hanspeter Portner's avatar
Hanspeter Portner committed
64
	lv2:maximum 20 .
65 66 67 68 69

props:statFloat
	a lv2:Parameter ;
	rdfs:range atom:Float ;
	rdfs:label "statFloat" ;
70
	rdfs:comment "This is a 32-bit float" ;
71
	units:unit units:mhz ;
72 73 74 75 76 77 78
	lv2:minimum -0.5 ;
	lv2:maximum 0.5 .

props:statDouble
	a lv2:Parameter ;
	rdfs:range atom:Double ;
	rdfs:label "statDouble" ;
79
	rdfs:comment "This is a 64-bit double" ;
80
	units:unit units:db ;
81 82 83
	lv2:minimum -1.0 ;
	lv2:maximum 1.0 .

84 85 86
props:statString
	a lv2:Parameter ;
	rdfs:range atom:String ;
87 88
	rdfs:label "statString" ;
	rdfs:comment "This is a string" .
89 90 91 92

props:statPath
	a lv2:Parameter ;
	rdfs:range atom:Path ;
93 94
	rdfs:label "statPath" ;
	rdfs:comment "This is a path" .
95

96 97 98 99 100 101
props:statChunk
	a lv2:Parameter ;
	rdfs:range atom:Chunk;
	rdfs:label "statChunk" ;
	rdfs:comment "This is a chunk" .

Hanspeter Portner's avatar
Hanspeter Portner committed
102 103 104 105 106 107 108
# Looper Test
props:test
	a lv2:Plugin ,
		lv2:ConverterPlugin ;
	doap:name "Props Test" ;
	doap:license lic:Artistic-2.0 ;
	lv2:project proj:props ;
Hanspeter Portner's avatar
Hanspeter Portner committed
109
	lv2:requiredFeature urid:map, log:log, state:loadDefaultState ;
110 111
	lv2:optionalFeature lv2:isLive, lv2:hardRTCapable, state:threadSafeRestore ;
	lv2:extensionData	state:interface ;
Hanspeter Portner's avatar
Hanspeter Portner committed
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

	lv2:port [
		# sink event port
	  a lv2:InputPort ,
			atom:AtomPort ;
		atom:bufferType atom:Sequence ;
		atom:supports patch:Message ;
		lv2:index 0 ;
		lv2:symbol "event_in" ;
		lv2:name "Event Input" ;
		lv2:designation lv2:control ;
	] , [
		# source event port
	  a lv2:OutputPort ,
			atom:AtomPort ;
		atom:bufferType atom:Sequence ;
		atom:supports patch:Message ;
		lv2:index 1 ;
		lv2:symbol "event_out" ;
		lv2:name "Event Output" ;
		lv2:designation lv2:control ;
133 134
	] ;

135 136 137 138 139 140
	patch:writable
		props:statInt ,
		props:statFloat ,
		props:statString ,
		props:statPath ,
		props:statChunk ;
141

142 143 144
	patch:readable
		props:statLong ,
		props:statDouble ;
Hanspeter Portner's avatar
Hanspeter Portner committed
145

146 147
	state:state [
		props:statInt 4 ;
148
		props:statFloat "0.4"^^xsd:float ;
149
		props:statString "Hello world" ;
150
		props:statPath <file://tmp/props.ttl> ;
151
		props:statChunk "AQIDBAUGBw=="^^xsd:base64Binary ;
Hanspeter Portner's avatar
Hanspeter Portner committed
152
	] .