aboutsummaryrefslogtreecommitdiff
path: root/vm.ttl
diff options
context:
space:
mode:
authorHanspeter Portner <dev@open-music-kontrollers.ch>2017-03-18 23:00:56 +0100
committerHanspeter Portner <dev@open-music-kontrollers.ch>2017-03-18 23:00:56 +0100
commite7db12af0954a831527b05476a9961219d9154ff (patch)
tree824ddc930d540153da8a502614e66e9be599ae6f /vm.ttl
downloadvm.lv2-e7db12af0954a831527b05476a9961219d9154ff.tar.xz
intial commit.
Diffstat (limited to 'vm.ttl')
-rw-r--r--vm.ttl294
1 files changed, 294 insertions, 0 deletions
diff --git a/vm.ttl b/vm.ttl
new file mode 100644
index 0000000..c109b45
--- /dev/null
+++ b/vm.ttl
@@ -0,0 +1,294 @@
+# Copyright (c) 2017 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 foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
+@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
+@prefix log: <http://lv2plug.in/ns/ext/log#> .
+@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
+@prefix state: <http://lv2plug.in/ns/ext/state#> .
+@prefix rsz: <http://lv2plug.in/ns/ext/resize-port#> .
+@prefix time: <http://lv2plug.in/ns/ext/time#> .
+@prefix patch: <http://lv2plug.in/ns/ext/patch#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+@prefix work: <http://lv2plug.in/ns/ext/worker#> .
+
+@prefix lic: <http://opensource.org/licenses/> .
+@prefix omk: <http://open-music-kontrollers.ch/ventosus#> .
+@prefix proj: <http://open-music-kontrollers.ch/lv2/> .
+@prefix vm: <http://open-music-kontrollers.ch/lv2/vm#> .
+
+# 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:vm
+ a doap:Project ;
+ doap:maintainer omk:me ;
+ doap:name "Vm Bundle" .
+
+# Parameters
+vm:graph
+ a lv2:Parameter ;
+ rdfs:range atom:Tuple ;
+ rdfs:label "Graph" ;
+ rdfs:comment "vm graph tuple" .
+
+vm:opPush
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Push Control" .
+vm:opAdd
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Addition" .
+vm:opSub
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Subtraction" .
+vm:opMul
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Multiplication" .
+vm:opDiv
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Division" .
+vm:opNeg
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Negate" .
+vm:opPow
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Power" .
+vm:opSqrt
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Square root" .
+vm:opExp
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Exponentiation" .
+vm:opExp2
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Exponentiation base 2" .
+vm:opExp10
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Exponentiation base 10" .
+vm:opLog
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Logarithm" .
+vm:opLog2
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Logarithm base 2" .
+vm:opLog10
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Logarithm base 10" .
+vm:opSin
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Sinus" .
+vm:opCos
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Cosinus" .
+vm:opSwap
+ a rdfs:Class, owl:Class ;
+ rdfs:label "Swap" .
+
+# Plugin
+vm:vm
+ a lv2:Plugin,
+ lv2:ConverterPlugin ;
+ doap:name "Vm" ;
+ doap:license lic:Artistic-2.0 ;
+ lv2:project proj:vm ;
+ lv2:requiredFeature urid:map, work:schedule, state:loadDefaultState ;
+ lv2:optionalFeature lv2:isLive, lv2:hardRTCapable, log:log, state:threadSafeRestore ;
+ lv2:extensionData state:interface, work:interface ;
+
+ lv2:port [
+ a lv2:InputPort ,
+ atom:AtomPort ;
+ atom:bufferType atom:Sequence ;
+ atom:supports midi:MidiEvent ,
+ time:Position ,
+ patch:Message ;
+ lv2:index 0 ;
+ lv2:symbol "control" ;
+ lv2:name "Control" ;
+ lv2:designation lv2:control ;
+ rsz:minimumSize 65536 ;
+ ] , [
+ a lv2:OutputPort ,
+ atom:AtomPort ;
+ atom:bufferType atom:Sequence ;
+ atom:supports midi:MidiEvent ,
+ patch:Message ;
+ lv2:index 1 ;
+ lv2:symbol "notify" ;
+ lv2:name "Notify" ;
+ lv2:designation lv2:control ;
+ rsz:minimumSize 65536 ;
+ ] , [
+ a lv2:InputPort,
+ lv2:ControlPort;
+ lv2:index 2 ;
+ lv2:symbol "control_in_0" ;
+ lv2:name "Control In 0" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ lv2:default 0.5;
+ ] , [
+ a lv2:InputPort,
+ lv2:ControlPort;
+ lv2:index 3 ;
+ lv2:symbol "control_in_1" ;
+ lv2:name "Control In 1" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ lv2:default 0.0;
+ ] , [
+ a lv2:InputPort,
+ lv2:ControlPort;
+ lv2:index 4 ;
+ lv2:symbol "control_in_2" ;
+ lv2:name "Control In 2" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ lv2:default 0.0;
+ ] , [
+ a lv2:InputPort,
+ lv2:ControlPort;
+ lv2:index 5 ;
+ lv2:symbol "control_in_3" ;
+ lv2:name "Control In 3" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ lv2:default 0.0;
+ ] , [
+ a lv2:InputPort,
+ lv2:ControlPort;
+ lv2:index 6 ;
+ lv2:symbol "control_in_4" ;
+ lv2:name "Control In 4" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ lv2:default 0.0;
+ ] , [
+ a lv2:InputPort,
+ lv2:ControlPort;
+ lv2:index 7 ;
+ lv2:symbol "control_in_5" ;
+ lv2:name "Control In 5" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ lv2:default 0.0;
+ ] , [
+ a lv2:InputPort,
+ lv2:ControlPort;
+ lv2:index 8 ;
+ lv2:symbol "control_in_6" ;
+ lv2:name "Control In 6" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ lv2:default 0.0;
+ ] , [
+ a lv2:InputPort,
+ lv2:ControlPort;
+ lv2:index 9 ;
+ lv2:symbol "control_in_7" ;
+ lv2:name "Control In 7" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ lv2:default 0.0;
+ ] , [
+ a lv2:OutputPort,
+ lv2:ControlPort;
+ lv2:index 10 ;
+ lv2:symbol "control_out_0" ;
+ lv2:name "Control Out 0" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ ] , [
+ a lv2:OutputPort,
+ lv2:ControlPort;
+ lv2:index 11 ;
+ lv2:symbol "control_out_1" ;
+ lv2:name "Control Out 1" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ ] , [
+ a lv2:OutputPort,
+ lv2:ControlPort;
+ lv2:index 12 ;
+ lv2:symbol "control_out_2" ;
+ lv2:name "Control Out 2" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ ] , [
+ a lv2:OutputPort,
+ lv2:ControlPort;
+ lv2:index 13 ;
+ lv2:symbol "control_out_3" ;
+ lv2:name "Control Out 3" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ ] , [
+ a lv2:OutputPort,
+ lv2:ControlPort;
+ lv2:index 14 ;
+ lv2:symbol "control_out_4" ;
+ lv2:name "Control Out 4" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ ] , [
+ a lv2:OutputPort,
+ lv2:ControlPort;
+ lv2:index 15 ;
+ lv2:symbol "control_out_5" ;
+ lv2:name "Control Out 5" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ ] , [
+ a lv2:OutputPort,
+ lv2:ControlPort;
+ lv2:index 16 ;
+ lv2:symbol "control_out_6" ;
+ lv2:name "Control Out 6" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ ] , [
+ a lv2:OutputPort,
+ lv2:ControlPort;
+ lv2:index 17 ;
+ lv2:symbol "control_out_7" ;
+ lv2:name "Control Out 7" ;
+ lv2:minimum 0.0;
+ lv2:maximum 1.0;
+ ] ;
+
+ #patch:writable
+ # vm:graph ;
+
+ state:state [
+ vm:graph [
+ a atom:Tuple ;
+ rdf:value (
+ 0 vm:opPush
+ 0.5 vm:opMul
+ 0.5 vm:opAdd
+ )
+ ]
+ ] .