1# Copyright (c) 2015-2021 Hanspeter Portner (dev@open-music-kontrollers.ch) 2# 3# This is free software: you can redistribute it and/or modify 4# it under the terms of the Artistic License 2.0 as published by 5# The Perl Foundation. 6# 7# This source is distributed in the hope that it will be useful, 8# but WITHOUT ANY WARRANTY; without even the implied warranty of 9# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10# Artistic License 2.0 for more details. 11# 12# You should have received a copy of the Artistic License 2.0 13# along the source as a COPYING file. If not, obtain it from 14# http://www.perlfoundation.org/artistic_license_2_0. 15 16@prefix foaf: <http://xmlns.com/foaf/0.1/> . 17@prefix doap: <http://usefulinc.com/ns/doap#> . 18@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 19@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 20@prefix lv2: <http://lv2plug.in/ns/lv2core#> . 21@prefix atom: <http://lv2plug.in/ns/ext/atom#> . 22@prefix midi: <http://lv2plug.in/ns/ext/midi#> . 23@prefix time: <http://lv2plug.in/ns/ext/time#> . 24@prefix urid: <http://lv2plug.in/ns/ext/urid#> . 25@prefix patch: <http://lv2plug.in/ns/ext/patch#> . 26@prefix state: <http://lv2plug.in/ns/ext/state#> . 27@prefix log: <http://lv2plug.in/ns/ext/log#> . 28 29@prefix xpress: <http://open-music-kontrollers.ch/lv2/xpress#> . 30@prefix osc: <http://open-music-kontrollers.ch/lv2/osc#> . 31@prefix omk: <http://open-music-kontrollers.ch/ventosus#> . 32@prefix proj: <http://open-music-kontrollers.ch/lv2/> . 33@prefix sherlock: <http://open-music-kontrollers.ch/lv2/sherlock#> . 34 35osc:Event 36 a rdfs:Class ; 37 rdfs:subClassOf atom:Object ; 38 rdfs:label "OSC Event (Bundle or Message)" . 39 40xpress:Message 41 a rdfs:Class , 42 rdfs:Datatype ; 43 rdfs:subClassOf atom:Atom . 44 45# Maintainer 46omk:me 47 a foaf:Person ; 48 foaf:name "Hanspeter Portner" ; 49 foaf:mbox <mailto:dev@open-music-kontrollers.ch> ; 50 foaf:homepage <http://open-music-kontrollers.ch> . 51 52# Project 53proj:sherlock 54 a doap:Project ; 55 doap:maintainer omk:me ; 56 doap:name "Sherlock Bundle" . 57 58sherlock:overwrite 59 a lv2:Parameter ; 60 rdfs:label "Overwrite" ; 61 rdfs:comment "Overwrite buffer when maximum number of events reached" ; 62 rdfs:range atom:Bool . 63 64sherlock:block 65 a lv2:Parameter ; 66 rdfs:label "Block" ; 67 rdfs:comment "Block addition of newly received events" ; 68 rdfs:range atom:Bool . 69 70sherlock:follow 71 a lv2:Parameter ; 72 rdfs:label "Follow" ; 73 rdfs:comment "Automatically scroll to and show last added event" ; 74 rdfs:range atom:Bool . 75 76sherlock:pretty 77 a lv2:Parameter ; 78 rdfs:label "Pretty" ; 79 rdfs:comment "Toggle whether to pretty print or not" ; 80 rdfs:range atom:Bool . 81 82sherlock:trace 83 a lv2:Parameter ; 84 rdfs:label "Trace" ; 85 rdfs:comment "Toggle whether to show trace output on console" ; 86 rdfs:range atom:Bool . 87 88sherlock:filter 89 a lv2:Parameter ; 90 rdfs:label "Match" ; 91 rdfs:comment "Match events according to type or object type" ; 92 rdfs:range atom:URI . 93 94sherlock:negate 95 a lv2:Parameter ; 96 rdfs:label "Negate" ; 97 rdfs:comment "Toggle negation of filter" ; 98 rdfs:range atom:Bool . 99 100# Atom Inspector Plugin 101sherlock:atom_inspector 102 a lv2:Plugin, 103 lv2:AnalyserPlugin ; 104 doap:name "Sherlock Atom Inspector" ; 105 doap:license <https://spdx.org/licenses/Artistic-2.0> ; 106 lv2:project proj:sherlock ; 107 lv2:optionalFeature lv2:isLive, lv2:hardRTCapable, state:threadSafeRestore, log:log ; 108 lv2:requiredFeature urid:map, urid:unmap, state:loadDefaultState ; 109 lv2:extensionData state:interface ; 110 111 lv2:port [ 112 # input event port 113 a lv2:InputPort , 114 atom:AtomPort ; 115 atom:bufferType atom:Sequence ; 116 atom:supports midi:MidiEvent , 117 time:Position , 118 patch:Message , 119 osc:Event , 120 xpress:Message ; 121 lv2:index 0 ; 122 lv2:symbol "control" ; 123 lv2:name "Control" ; 124 lv2:designation lv2:control ; 125 ] , [ 126 # output event port 127 a lv2:OutputPort , 128 atom:AtomPort ; 129 atom:bufferType atom:Sequence ; 130 atom:supports midi:MidiEvent , 131 time:Position , 132 patch:Message , 133 osc:Event , 134 xpress:Message ; 135 lv2:index 1 ; 136 lv2:symbol "through" ; 137 lv2:name "Through" ; 138 ] , [ 139 # output notify port 140 a lv2:OutputPort , 141 atom:AtomPort ; 142 atom:bufferType atom:Sequence ; 143 atom:supports atom:Sequence , 144 patch:Message ; 145 lv2:index 2 ; 146 lv2:symbol "notify" ; 147 lv2:name "Notify" ; 148 lv2:designation lv2:control ; 149 ] ; 150 151 patch:writable 152 sherlock:overwrite , 153 sherlock:block , 154 sherlock:follow , 155 sherlock:pretty , 156 sherlock:trace , 157 sherlock:filter , 158 sherlock:negate ; 159 160 state:state [ 161 sherlock:overwrite true ; 162 sherlock:block false ; 163 sherlock:follow true ; 164 sherlock:pretty true ; 165 sherlock:trace false ; 166 sherlock:filter sherlock:matchAll ; 167 sherlock:negate false ; 168 ] . 169 170# MIDI Inspector Plugin 171sherlock:midi_inspector 172 a lv2:Plugin, 173 lv2:AnalyserPlugin ; 174 doap:name "Sherlock MIDI Inspector" ; 175 doap:license <https://spdx.org/licenses/Artistic-2.0> ; 176 lv2:project proj:sherlock ; 177 lv2:optionalFeature lv2:isLive, lv2:hardRTCapable, state:threadSafeRestore, log:log ; 178 lv2:requiredFeature urid:map, urid:unmap, state:loadDefaultState ; 179 lv2:extensionData state:interface ; 180 181 lv2:port [ 182 # input event port 183 a lv2:InputPort , 184 atom:AtomPort ; 185 atom:bufferType atom:Sequence ; 186 atom:supports midi:MidiEvent , 187 time:Position , 188 patch:Message ; 189 lv2:index 0 ; 190 lv2:symbol "control" ; 191 lv2:name "Control" ; 192 lv2:designation lv2:control ; 193 ] , [ 194 # output event port 195 a lv2:OutputPort , 196 atom:AtomPort ; 197 atom:bufferType atom:Sequence ; 198 atom:supports midi:MidiEvent ; 199 lv2:index 1 ; 200 lv2:symbol "through" ; 201 lv2:name "Through" ; 202 ] , [ 203 # output notify port 204 a lv2:OutputPort , 205 atom:AtomPort ; 206 atom:bufferType atom:Sequence ; 207 atom:supports atom:Sequence , 208 patch:Message ; 209 lv2:index 2 ; 210 lv2:symbol "notify" ; 211 lv2:name "Notify" ; 212 lv2:designation lv2:control ; 213 ] ; 214 215 patch:writable 216 sherlock:overwrite , 217 sherlock:block , 218 sherlock:follow ; 219 220 state:state [ 221 sherlock:overwrite true ; 222 sherlock:block false ; 223 sherlock:follow true ; 224 ] . 225 226# OSC Inspector Plugin 227sherlock:osc_inspector 228 a lv2:Plugin, 229 lv2:AnalyserPlugin ; 230 doap:name "Sherlock OSC Inspector" ; 231 doap:license <https://spdx.org/licenses/Artistic-2.0> ; 232 lv2:project proj:sherlock ; 233 lv2:optionalFeature lv2:isLive, lv2:hardRTCapable, state:threadSafeRestore, log:log ; 234 lv2:requiredFeature urid:map, urid:unmap, state:loadDefaultState ; 235 lv2:extensionData state:interface ; 236 237 lv2:port [ 238 # input event port 239 a lv2:InputPort , 240 atom:AtomPort ; 241 atom:bufferType atom:Sequence ; 242 atom:supports osc:Event , 243 time:Position , 244 patch:Message ; 245 lv2:index 0 ; 246 lv2:symbol "control" ; 247 lv2:name "Control" ; 248 lv2:designation lv2:control ; 249 ] , [ 250 # output event port 251 a lv2:OutputPort , 252 atom:AtomPort ; 253 atom:bufferType atom:Sequence ; 254 atom:supports osc:Event ; 255 lv2:index 1 ; 256 lv2:symbol "through" ; 257 lv2:name "Through" ; 258 ] , [ 259 # output notify port 260 a lv2:OutputPort , 261 atom:AtomPort ; 262 atom:bufferType atom:Sequence ; 263 atom:supports atom:Sequence , 264 patch:Message ; 265 lv2:index 2 ; 266 lv2:symbol "notify" ; 267 lv2:name "Notify" ; 268 lv2:designation lv2:control ; 269 ] ; 270 271 patch:writable 272 sherlock:overwrite , 273 sherlock:block , 274 sherlock:follow ; 275 276 state:state [ 277 sherlock:overwrite true ; 278 sherlock:block false ; 279 sherlock:follow true ; 280 ] . 281