# Dynamic manifest specification for LV2 # Revision 1 # # Copyright (C) 2008, 2009 Stefano D'Angelo # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @prefix dman: . @prefix lv2: . @prefix rdf: . @prefix rdfs: . @prefix owl: . @prefix xsd: . @prefix doap: . @prefix foaf: . a doap:Project ; a lv2:Specification ; doap:license ; doap:name "LV2 Dynamic Manifest" ; doap:homepage ; doap:created "2009-06-13" ; doap:shortdesc "An LV2-based specification for dynamic data generation." ; doap:programming-language "C" ; doap:release [ doap:revision "1.1pre1" ; doap:created "2010-10-29" ] ; doap:maintainer [ a foaf:Person ; foaf:name "Stefano D'Angelo" ; ] . ###################################### ## Dynamic manifest generator class ## ###################################### dman:DynManifest a rdfs:Class ; rdfs:label "Dynamic manifest generator" ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty rdf:type ; owl:hasValue dman:DynManifest ; rdfs:comment "A DynManifest has rdf:type dman:DynManifest." ] , [ a owl:Restriction ; owl:onProperty lv2:binary ; owl:minCardinality 1 ; rdfs:comment """A DynManifest has at least 1 lv2:binary. The binary must be a library with at least the functions described in lv2_dyn_manifest.h implemented. """ ] ; rdfs:comment """ The class which represents a dynamic manifest generator. There MUST NOT be any instances of :DynManifest in the generated manifest. All relative URIs in the generated data MUST be relative to the base path that would be used to parse a normal LV2 manifest (the bundle path). """ . ############## ## Features ## ############## dman:optionalFeature a rdf:Property ; rdfs:domain dman:DynManifest ; rdfs:range lv2:Feature ; rdfs:label "Optional feature" ; rdfs:comment """ Signifies that a dynamic manifest generator is able to make use of or provide a certain feature. If the host supports this feature, it MUST pass its URI and any additional data to the dynamic manifest generator in the lv2_dyn_manifest_open() function. The dynamic manifest generator MUST NOT fail because an optional feature is possibly not supported by the host.""" . dman:requiredFeature a rdf:Property ; rdfs:domain dman:DynManifest ; rdfs:range lv2:Feature ; rdfs:label "Required feature" ; rdfs:comment """ Signifies that a dynamic manifest generator requires a certain feature in order to function. If the host supports this feature, it MUST pass its URI and any additional data to the dynamic manifest generator in the lv2_dyn_manifest_open() function. The dynamic manifest generator MUST fail if a required feature is not present; hosts SHOULD always check this before attempting to perform futher operations on the dynamic manifest generator. """ .