# Copyright (c) 2015-2021 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: . @prefix doap: . @prefix rdfs: . @prefix rdf: . @prefix lv2: . @prefix atom: . @prefix midi: . @prefix time: . @prefix urid: . @prefix patch: . @prefix state: . @prefix log: . @prefix xpress: . @prefix osc: . @prefix omk: . @prefix proj: . @prefix sherlock: . osc:Event a rdfs:Class ; rdfs:subClassOf atom:Object ; rdfs:label "OSC Event (Bundle or Message)" . xpress:Message a rdfs:Class , rdfs:Datatype ; rdfs:subClassOf atom:Atom . # Maintainer omk:me a foaf:Person ; foaf:name "Hanspeter Portner" ; foaf:mbox ; foaf:homepage . # Project proj:sherlock a doap:Project ; doap:maintainer omk:me ; doap:name "Sherlock Bundle" . sherlock:overwrite a lv2:Parameter ; rdfs:label "Overwrite" ; rdfs:comment "Overwrite buffer when maximum number of events reached" ; rdfs:range atom:Bool . sherlock:block a lv2:Parameter ; rdfs:label "Block" ; rdfs:comment "Block addition of newly received events" ; rdfs:range atom:Bool . sherlock:follow a lv2:Parameter ; rdfs:label "Follow" ; rdfs:comment "Automatically scroll to and show last added event" ; rdfs:range atom:Bool . sherlock:pretty a lv2:Parameter ; rdfs:label "Pretty" ; rdfs:comment "Toggle whether to pretty print or not" ; rdfs:range atom:Bool . sherlock:trace a lv2:Parameter ; rdfs:label "Trace" ; rdfs:comment "Toggle whether to show trace output on console" ; rdfs:range atom:Bool . sherlock:filter a lv2:Parameter ; rdfs:label "Match" ; rdfs:comment "Match events according to type or object type" ; rdfs:range atom:URI . sherlock:negate a lv2:Parameter ; rdfs:label "Negate" ; rdfs:comment "Toggle negation of filter" ; rdfs:range atom:Bool . # Atom Inspector Plugin sherlock:atom_inspector a lv2:Plugin, lv2:AnalyserPlugin ; doap:name "Sherlock Atom Inspector" ; doap:license ; lv2:project proj:sherlock ; lv2:optionalFeature lv2:isLive, lv2:hardRTCapable, state:threadSafeRestore, log:log ; lv2:requiredFeature urid:map, urid:unmap, state:loadDefaultState ; lv2:extensionData state:interface ; lv2:port [ # input event port a lv2:InputPort , atom:AtomPort ; atom:bufferType atom:Sequence ; atom:supports midi:MidiEvent , time:Position , patch:Message , osc:Event , xpress:Message ; lv2:index 0 ; lv2:symbol "control" ; lv2:name "Control" ; lv2:designation lv2:control ; ] , [ # output event port a lv2:OutputPort , atom:AtomPort ; atom:bufferType atom:Sequence ; atom:supports midi:MidiEvent , time:Position , patch:Message , osc:Event , xpress:Message ; lv2:index 1 ; lv2:symbol "through" ; lv2:name "Through" ; ] , [ # output notify port a lv2:OutputPort , atom:AtomPort ; atom:bufferType atom:Sequence ; atom:supports atom:Sequence , patch:Message ; lv2:index 2 ; lv2:symbol "notify" ; lv2:name "Notify" ; lv2:designation lv2:control ; ] ; patch:writable sherlock:overwrite , sherlock:block , sherlock:follow , sherlock:pretty , sherlock:trace , sherlock:filter , sherlock:negate ; state:state [ sherlock:overwrite true ; sherlock:block false ; sherlock:follow true ; sherlock:pretty true ; sherlock:trace false ; sherlock:filter sherlock:matchAll ; sherlock:negate false ; ] . # MIDI Inspector Plugin sherlock:midi_inspector a lv2:Plugin, lv2:AnalyserPlugin ; doap:name "Sherlock MIDI Inspector" ; doap:license ; lv2:project proj:sherlock ; lv2:optionalFeature lv2:isLive, lv2:hardRTCapable, state:threadSafeRestore, log:log ; lv2:requiredFeature urid:map, urid:unmap, state:loadDefaultState ; lv2:extensionData state:interface ; lv2:port [ # input event 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 ; ] , [ # output event port a lv2:OutputPort , atom:AtomPort ; atom:bufferType atom:Sequence ; atom:supports midi:MidiEvent ; lv2:index 1 ; lv2:symbol "through" ; lv2:name "Through" ; ] , [ # output notify port a lv2:OutputPort , atom:AtomPort ; atom:bufferType atom:Sequence ; atom:supports atom:Sequence , patch:Message ; lv2:index 2 ; lv2:symbol "notify" ; lv2:name "Notify" ; lv2:designation lv2:control ; ] ; patch:writable sherlock:overwrite , sherlock:block , sherlock:follow ; state:state [ sherlock:overwrite true ; sherlock:block false ; sherlock:follow true ; ] . # OSC Inspector Plugin sherlock:osc_inspector a lv2:Plugin, lv2:AnalyserPlugin ; doap:name "Sherlock OSC Inspector" ; doap:license ; lv2:project proj:sherlock ; lv2:optionalFeature lv2:isLive, lv2:hardRTCapable, state:threadSafeRestore, log:log ; lv2:requiredFeature urid:map, urid:unmap, state:loadDefaultState ; lv2:extensionData state:interface ; lv2:port [ # input event port a lv2:InputPort , atom:AtomPort ; atom:bufferType atom:Sequence ; atom:supports osc:Event , time:Position , patch:Message ; lv2:index 0 ; lv2:symbol "control" ; lv2:name "Control" ; lv2:designation lv2:control ; ] , [ # output event port a lv2:OutputPort , atom:AtomPort ; atom:bufferType atom:Sequence ; atom:supports osc:Event ; lv2:index 1 ; lv2:symbol "through" ; lv2:name "Through" ; ] , [ # output notify port a lv2:OutputPort , atom:AtomPort ; atom:bufferType atom:Sequence ; atom:supports atom:Sequence , patch:Message ; lv2:index 2 ; lv2:symbol "notify" ; lv2:name "Notify" ; lv2:designation lv2:control ; ] ; patch:writable sherlock:overwrite , sherlock:block , sherlock:follow ; state:state [ sherlock:overwrite true ; sherlock:block false ; sherlock:follow true ; ] .