Skip to content

Instantly share code, notes, and snippets.

@aamedina
Last active December 18, 2022 18:32
Show Gist options
  • Select an option

  • Save aamedina/9abdd6272bf1c51ed4fd2acb8434dcc8 to your computer and use it in GitHub Desktop.

Select an option

Save aamedina/9abdd6272bf1c51ed4fd2acb8434dcc8 to your computer and use it in GitHub Desktop.
LV2 RDF vocabulary
(require '[net.wikipunk.rdf :as rdf])
;; rdf/read-vocab slurps the EDN triples output here from disk lazily (https://gist.github.com/aamedina/71efafc7b5a2b368bdf4a9a39ba6f859)
(transduce (comp
(map deref)
(map :vann/preferredNamespacePrefix)
(keep #(io/resource (str "lv2/" % ".edn")))
(mapcat rdf/read-vocab)
(filter (fn [[s p o]]
;; just a naive filter on :rdfs/subClassOf triples
(and (identical? :rdfs/subClassOf p)
(keyword? s)
(keyword? o)))))
(completing
(fn [h [tag _ parent]]
(try
(derive h tag parent)
(catch Throwable ex
;; throws when a dupe ancestor is added so just return the hierarchy
h))))
(make-hierarchy)
(vals (ns-publics 'net.wikipunk.rdf.lv2)))
;; assuming the hierarchy is in the system...
(descendants (:hierarchy (:lv2 system)) :lv2/Plugin)
;; #{:lv2/LimiterPlugin
:lv2/GatePlugin
:lv2/BandpassPlugin
:lv2/GeneratorPlugin
:lv2/DistortionPlugin
:lv2/FunctionPlugin
:lv2/DynamicsPlugin
:lv2/EnvelopePlugin
:lv2/AllpassPlugin
:lv2/OscillatorPlugin
:lv2/SpectralPlugin
:lv2/ParaEQPlugin
:lv2/PitchPlugin
:lv2/AnalyserPlugin
:lv2/DelayPlugin
:lv2/PhaserPlugin
:lv2/MIDIPlugin
:lv2/HighpassPlugin
:lv2/WaveshaperPlugin
:lv2/ChorusPlugin
:lv2/LowpassPlugin
:lv2/ModulatorPlugin
:lv2/AmplifierPlugin
:lv2/MultiEQPlugin
:lv2/ConverterPlugin
:lv2/UtilityPlugin
:lv2/InstrumentPlugin
:lv2/FlangerPlugin
:lv2/ReverbPlugin
:lv2/SpatialPlugin
:lv2/ExpanderPlugin
:lv2/ConstantPlugin
:lv2/EQPlugin
:lv2/SimulatorPlugin
:lv2/MixerPlugin
:lv2/FilterPlugin
:lv2/CombPlugin
:lv2/CompressorPlugin}
;; the lv2 hierarchy is a valid hierarchy for multimethod Clojure dispatch via clojure.core/isa?
{:parents
{:lv2/LimiterPlugin #{:lv2/DynamicsPlugin},
:patch/Response #{:patch/Message},
:patch/Request #{:patch/Message},
:pg/SixPointOneGroup #{:pg/DiscreteGroup},
:lv2/GatePlugin #{:lv2/DynamicsPlugin},
:atom/Sound #{:atom/Vector},
:param/CompressorControls #{:param/ControlGroup},
:midi/QuarterFrame #{:midi/SystemCommon},
:ui/Qt5UI #{:ui/UI},
:atom/Blank #{:atom/Object},
:log/Trace #{:log/Entry},
:lv2/Designation #{:rdf/Property},
:midi/SongSelect #{:midi/SystemCommon},
:lv2/BandpassPlugin #{:lv2/FilterPlugin},
:atom/AtomPort #{:lv2/Port},
:ev/EventPort #{:lv2/Port},
:ui/X11UI #{:ui/UI},
:atom/URI #{:atom/String},
:log/Note #{:log/Entry},
:lv2/AudioPort #{:lv2/Port},
:lv2/GeneratorPlugin #{:lv2/Plugin},
:lv2/DistortionPlugin #{:lv2/Plugin},
:lv2/FunctionPlugin #{:lv2/UtilityPlugin},
:atom/URID #{:atom/Atom},
:pg/AmbisonicGroup #{:pg/Group},
:midi/Continue #{:midi/SystemRealtime},
:atom/Resource #{:atom/Object},
:atom/Long #{:atom/Number},
:pset/Preset #{:lv2/PluginBase},
:pg/AmbisonicBH3P3Group #{:pg/AmbisonicGroup},
:pg/InputGroup #{:pg/Group},
:lv2/DynamicsPlugin #{:lv2/Plugin},
:ui/CocoaUI #{:ui/UI},
:midi/ProgramChange #{:midi/VoiceMessage},
:opts/Option #{:rdf/Property},
:midi/TuneRequest #{:midi/SystemCommon},
:atom/Int #{:atom/Number},
:ui/Qt4UI #{:ui/UI},
:lv2/EnvelopePlugin #{:lv2/DynamicsPlugin},
:midi/Stop #{:midi/SystemRealtime},
:pg/AmbisonicBH1P1Group #{:pg/AmbisonicGroup},
:lv2/AllpassPlugin #{:lv2/FilterPlugin},
:lv2/OscillatorPlugin #{:lv2/GeneratorPlugin},
:atom/Float #{:atom/Number},
:lv2/SpectralPlugin #{:lv2/Plugin},
:pg/FivePointOneGroup #{:pg/DiscreteGroup},
:atom/Double #{:atom/Number},
:lv2/ParaEQPlugin #{:lv2/EQPlugin},
:lv2/PitchPlugin #{:lv2/SpectralPlugin},
:midi/NoteOff #{:midi/VoiceMessage},
:lv2/AnalyserPlugin #{:lv2/UtilityPlugin},
:pg/OutputGroup #{:pg/Group},
:midi/Reset #{:midi/SystemRealtime},
:patch/Move #{:patch/Request},
:pg/AmbisonicBH2P1Group #{:pg/AmbisonicGroup},
:patch/Put #{:patch/Request},
:atom/Object #{:atom/Atom},
:lv2/Specification #{:doap/Project},
:lv2/DelayPlugin #{:lv2/Plugin},
:patch/Delete #{:patch/Request},
:pg/SevenPointOneGroup #{:pg/DiscreteGroup},
:atom/String #{:atom/Atom},
:pg/DiscreteGroup #{:pg/Group},
:pg/MonoGroup #{:pg/DiscreteGroup},
:midi/Aftertouch #{:midi/VoiceMessage},
:lv2/Plugin #{:lv2/PluginBase},
:midi/SystemRealtime #{:midi/SystemMessage},
:time/Time #{:time/Position},
:pg/AmbisonicBH2P2Group #{:pg/AmbisonicGroup},
:lv2/PhaserPlugin #{:lv2/ModulatorPlugin},
:ui/GtkUI #{:ui/UI},
:midi/ActiveSense #{:midi/SystemRealtime},
:patch/Ack #{:patch/Response},
:midi/ChannelPressure #{:midi/VoiceMessage},
:lv2/ControlPort #{:lv2/Port},
:pg/FivePointZeroGroup #{:pg/DiscreteGroup},
:patch/Patch #{:patch/Request},
:lv2/MIDIPlugin #{:lv2/Plugin},
:atom/Literal #{:atom/Atom},
:pg/SevenPointOneWideGroup #{:pg/DiscreteGroup},
:atom/Bool #{:atom/Atom},
:pg/AmbisonicBH1P0Group #{:pg/AmbisonicGroup},
:pg/ThreePointZeroGroup #{:pg/DiscreteGroup},
:lv2/HighpassPlugin #{:lv2/FilterPlugin},
:lv2/OutputPort #{:lv2/Port},
:lv2/WaveshaperPlugin #{:lv2/DistortionPlugin},
:lv2/ChorusPlugin #{:lv2/ModulatorPlugin},
:lv2/LowpassPlugin #{:lv2/FilterPlugin},
:lv2/ModulatorPlugin #{:lv2/Plugin},
:patch/Error #{:patch/Response},
:lv2/AmplifierPlugin #{:lv2/DynamicsPlugin},
:lv2/MultiEQPlugin #{:lv2/EQPlugin},
:patch/Set #{:patch/Request},
:lv2/ConverterPlugin #{:lv2/UtilityPlugin},
:atom/Path #{:atom/URI},
:pg/StereoGroup #{:pg/DiscreteGroup},
:lv2/Channel #{:lv2/Designation},
:midi/SystemExclusive #{:midi/SystemMessage},
:lv2/UtilityPlugin #{:lv2/Plugin},
:param/OscillatorControls #{:param/ControlGroup},
:lv2/InstrumentPlugin #{:lv2/GeneratorPlugin},
:lv2/FlangerPlugin #{:lv2/ModulatorPlugin},
:atom/Property #{:atom/Atom},
:param/ControlGroup #{:pg/Group},
:pg/FourPointZeroGroup #{:pg/DiscreteGroup},
:log/Warning #{:log/Entry},
:midi/NoteOn #{:midi/VoiceMessage},
:pg/AmbisonicBH2P0Group #{:pg/AmbisonicGroup},
:ui/PortProtocol #{:lv2/Feature},
:midi/VoiceMessage #{:midi/MidiEvent},
:param/FilterControls #{:param/ControlGroup},
:pg/AmbisonicBH3P2Group #{:pg/AmbisonicGroup},
:midi/SystemMessage #{:midi/MidiEvent},
:ev/FrameStamp #{:ev/TimeStamp},
:ui/WindowsUI #{:ui/UI},
:lv2/ReverbPlugin #{:lv2/DelayPlugin :lv2/SimulatorPlugin},
:lv2/SpatialPlugin #{:lv2/Plugin},
:midi/SystemCommon #{:midi/SystemMessage},
:pg/AmbisonicBH3P1Group #{:pg/AmbisonicGroup},
:midi/Bender #{:midi/VoiceMessage},
:lv2/Port #{:lv2/PortBase},
:atom/Chunk #{:atom/Atom},
:midi/Clock #{:midi/SystemRealtime},
:midi/SongPosition #{:midi/SystemCommon},
:patch/Insert #{:patch/Request},
:pg/AmbisonicBH3P0Group #{:pg/AmbisonicGroup},
:lv2/ScalePoint #{:lv2/Point},
:atom/Tuple #{:atom/Atom},
:time/Rate #{:time/Position},
:midi/Controller #{:midi/VoiceMessage},
:midi/MidiEvent #{:ev/Event :atom/Atom},
:lv2/ExpanderPlugin #{:lv2/DynamicsPlugin},
:lv2/ConstantPlugin #{:lv2/GeneratorPlugin},
:ui/Gtk3UI #{:ui/UI},
:patch/Copy #{:patch/Request},
:lv2/EQPlugin #{:lv2/FilterPlugin},
:lv2/SimulatorPlugin #{:lv2/Plugin},
:atom/Sequence #{:atom/Atom},
:pg/MidSideGroup #{:pg/DiscreteGroup},
:lv2/MixerPlugin #{:lv2/UtilityPlugin},
:morph/MorphPort #{:lv2/Port},
:lv2/CVPort #{:lv2/Port},
:param/EnvelopeControls #{:param/ControlGroup},
:atom/Number #{:atom/Atom},
:patch/Get #{:patch/Request},
:lv2/FilterPlugin #{:lv2/Plugin},
:lv2/CombPlugin #{:lv2/FilterPlugin},
:log/Error #{:log/Entry},
:midi/Start #{:midi/SystemRealtime},
:morph/AutoMorphPort #{:lv2/Port},
:lv2/InputPort #{:lv2/Port},
:lv2/Parameter #{:lv2/Designation :rdf/Property},
:lv2/CompressorPlugin #{:lv2/DynamicsPlugin},
:atom/Vector #{:atom/Atom}},
:ancestors
{:lv2/LimiterPlugin
#{:lv2/DynamicsPlugin :lv2/Plugin :lv2/PluginBase},
:patch/Response #{:patch/Message},
:patch/Request #{:patch/Message},
:pg/SixPointOneGroup #{:pg/Group :pg/DiscreteGroup},
:lv2/GatePlugin #{:lv2/DynamicsPlugin :lv2/Plugin :lv2/PluginBase},
:atom/Sound #{:atom/Atom :atom/Vector},
:param/CompressorControls #{:pg/Group :param/ControlGroup},
:midi/QuarterFrame
#{:midi/SystemMessage
:midi/SystemCommon
:midi/MidiEvent
:ev/Event
:atom/Atom},
:ui/Qt5UI #{:ui/UI},
:atom/Blank #{:atom/Object :atom/Atom},
:log/Trace #{:log/Entry},
:lv2/Designation #{:rdf/Property},
:midi/SongSelect
#{:midi/SystemMessage
:midi/SystemCommon
:midi/MidiEvent
:ev/Event
:atom/Atom},
:lv2/BandpassPlugin
#{:lv2/Plugin :lv2/PluginBase :lv2/FilterPlugin},
:atom/AtomPort #{:lv2/Port :lv2/PortBase},
:ev/EventPort #{:lv2/Port :lv2/PortBase},
:ui/X11UI #{:ui/UI},
:atom/URI #{:atom/String :atom/Atom},
:log/Note #{:log/Entry},
:lv2/AudioPort #{:lv2/Port :lv2/PortBase},
:lv2/GeneratorPlugin #{:lv2/Plugin :lv2/PluginBase},
:lv2/DistortionPlugin #{:lv2/Plugin :lv2/PluginBase},
:lv2/FunctionPlugin
#{:lv2/Plugin :lv2/UtilityPlugin :lv2/PluginBase},
:atom/URID #{:atom/Atom},
:pg/AmbisonicGroup #{:pg/Group},
:midi/Continue
#{:midi/SystemRealtime
:midi/SystemMessage
:midi/MidiEvent
:ev/Event
:atom/Atom},
:atom/Resource #{:atom/Object :atom/Atom},
:atom/Long #{:atom/Atom :atom/Number},
:pset/Preset #{:lv2/PluginBase},
:pg/AmbisonicBH3P3Group #{:pg/AmbisonicGroup :pg/Group},
:pg/InputGroup #{:pg/Group},
:lv2/DynamicsPlugin #{:lv2/Plugin :lv2/PluginBase},
:ui/CocoaUI #{:ui/UI},
:midi/ProgramChange
#{:midi/VoiceMessage :midi/MidiEvent :ev/Event :atom/Atom},
:opts/Option #{:rdf/Property},
:midi/TuneRequest
#{:midi/SystemMessage
:midi/SystemCommon
:midi/MidiEvent
:ev/Event
:atom/Atom},
:atom/Int #{:atom/Atom :atom/Number},
:ui/Qt4UI #{:ui/UI},
:lv2/EnvelopePlugin
#{:lv2/DynamicsPlugin :lv2/Plugin :lv2/PluginBase},
:midi/Stop
#{:midi/SystemRealtime
:midi/SystemMessage
:midi/MidiEvent
:ev/Event
:atom/Atom},
:pg/AmbisonicBH1P1Group #{:pg/AmbisonicGroup :pg/Group},
:lv2/AllpassPlugin
#{:lv2/Plugin :lv2/PluginBase :lv2/FilterPlugin},
:lv2/OscillatorPlugin
#{:lv2/GeneratorPlugin :lv2/Plugin :lv2/PluginBase},
:atom/Float #{:atom/Atom :atom/Number},
:lv2/SpectralPlugin #{:lv2/Plugin :lv2/PluginBase},
:pg/FivePointOneGroup #{:pg/Group :pg/DiscreteGroup},
:atom/Double #{:atom/Atom :atom/Number},
:lv2/ParaEQPlugin
#{:lv2/Plugin :lv2/EQPlugin :lv2/PluginBase :lv2/FilterPlugin},
:lv2/PitchPlugin
#{:lv2/SpectralPlugin :lv2/Plugin :lv2/PluginBase},
:midi/NoteOff
#{:midi/VoiceMessage :midi/MidiEvent :ev/Event :atom/Atom},
:lv2/AnalyserPlugin
#{:lv2/Plugin :lv2/UtilityPlugin :lv2/PluginBase},
:pg/OutputGroup #{:pg/Group},
:midi/Reset
#{:midi/SystemRealtime
:midi/SystemMessage
:midi/MidiEvent
:ev/Event
:atom/Atom},
:patch/Move #{:patch/Request :patch/Message},
:pg/AmbisonicBH2P1Group #{:pg/AmbisonicGroup :pg/Group},
:patch/Put #{:patch/Request :patch/Message},
:atom/Object #{:atom/Atom},
:lv2/Specification #{:doap/Project},
:lv2/DelayPlugin #{:lv2/Plugin :lv2/PluginBase},
:patch/Delete #{:patch/Request :patch/Message},
:pg/SevenPointOneGroup #{:pg/Group :pg/DiscreteGroup},
:atom/String #{:atom/Atom},
:pg/DiscreteGroup #{:pg/Group},
:pg/MonoGroup #{:pg/Group :pg/DiscreteGroup},
:midi/Aftertouch
#{:midi/VoiceMessage :midi/MidiEvent :ev/Event :atom/Atom},
:lv2/Plugin #{:lv2/PluginBase},
:midi/SystemRealtime
#{:midi/SystemMessage :midi/MidiEvent :ev/Event :atom/Atom},
:time/Time #{:time/Position},
:pg/AmbisonicBH2P2Group #{:pg/AmbisonicGroup :pg/Group},
:lv2/PhaserPlugin
#{:lv2/Plugin :lv2/ModulatorPlugin :lv2/PluginBase},
:ui/GtkUI #{:ui/UI},
:midi/ActiveSense
#{:midi/SystemRealtime
:midi/SystemMessage
:midi/MidiEvent
:ev/Event
:atom/Atom},
:patch/Ack #{:patch/Response :patch/Message},
:midi/ChannelPressure
#{:midi/VoiceMessage :midi/MidiEvent :ev/Event :atom/Atom},
:lv2/ControlPort #{:lv2/Port :lv2/PortBase},
:pg/FivePointZeroGroup #{:pg/Group :pg/DiscreteGroup},
:patch/Patch #{:patch/Request :patch/Message},
:lv2/MIDIPlugin #{:lv2/Plugin :lv2/PluginBase},
:atom/Literal #{:atom/Atom},
:pg/SevenPointOneWideGroup #{:pg/Group :pg/DiscreteGroup},
:atom/Bool #{:atom/Atom},
:pg/AmbisonicBH1P0Group #{:pg/AmbisonicGroup :pg/Group},
:pg/ThreePointZeroGroup #{:pg/Group :pg/DiscreteGroup},
:lv2/HighpassPlugin
#{:lv2/Plugin :lv2/PluginBase :lv2/FilterPlugin},
:lv2/OutputPort #{:lv2/Port :lv2/PortBase},
:lv2/WaveshaperPlugin
#{:lv2/DistortionPlugin :lv2/Plugin :lv2/PluginBase},
:lv2/ChorusPlugin
#{:lv2/Plugin :lv2/ModulatorPlugin :lv2/PluginBase},
:lv2/LowpassPlugin
#{:lv2/Plugin :lv2/PluginBase :lv2/FilterPlugin},
:lv2/ModulatorPlugin #{:lv2/Plugin :lv2/PluginBase},
:patch/Error #{:patch/Response :patch/Message},
:lv2/AmplifierPlugin
#{:lv2/DynamicsPlugin :lv2/Plugin :lv2/PluginBase},
:lv2/MultiEQPlugin
#{:lv2/Plugin :lv2/EQPlugin :lv2/PluginBase :lv2/FilterPlugin},
:patch/Set #{:patch/Request :patch/Message},
:lv2/ConverterPlugin
#{:lv2/Plugin :lv2/UtilityPlugin :lv2/PluginBase},
:atom/Path #{:atom/URI :atom/String :atom/Atom},
:pg/StereoGroup #{:pg/Group :pg/DiscreteGroup},
:lv2/Channel #{:lv2/Designation :rdf/Property},
:midi/SystemExclusive
#{:midi/SystemMessage :midi/MidiEvent :ev/Event :atom/Atom},
:lv2/UtilityPlugin #{:lv2/Plugin :lv2/PluginBase},
:param/OscillatorControls #{:pg/Group :param/ControlGroup},
:lv2/InstrumentPlugin
#{:lv2/GeneratorPlugin :lv2/Plugin :lv2/PluginBase},
:lv2/FlangerPlugin
#{:lv2/Plugin :lv2/ModulatorPlugin :lv2/PluginBase},
:atom/Property #{:atom/Atom},
:param/ControlGroup #{:pg/Group},
:pg/FourPointZeroGroup #{:pg/Group :pg/DiscreteGroup},
:log/Warning #{:log/Entry},
:midi/NoteOn
#{:midi/VoiceMessage :midi/MidiEvent :ev/Event :atom/Atom},
:pg/AmbisonicBH2P0Group #{:pg/AmbisonicGroup :pg/Group},
:ui/PortProtocol #{:lv2/Feature},
:midi/VoiceMessage #{:midi/MidiEvent :ev/Event :atom/Atom},
:param/FilterControls #{:pg/Group :param/ControlGroup},
:pg/AmbisonicBH3P2Group #{:pg/AmbisonicGroup :pg/Group},
:midi/SystemMessage #{:midi/MidiEvent :ev/Event :atom/Atom},
:ev/FrameStamp #{:ev/TimeStamp},
:ui/WindowsUI #{:ui/UI},
:lv2/ReverbPlugin
#{:lv2/DelayPlugin
:lv2/Plugin
:lv2/SimulatorPlugin
:lv2/PluginBase},
:lv2/SpatialPlugin #{:lv2/Plugin :lv2/PluginBase},
:midi/SystemCommon
#{:midi/SystemMessage :midi/MidiEvent :ev/Event :atom/Atom},
:pg/AmbisonicBH3P1Group #{:pg/AmbisonicGroup :pg/Group},
:midi/Bender
#{:midi/VoiceMessage :midi/MidiEvent :ev/Event :atom/Atom},
:lv2/Port #{:lv2/PortBase},
:atom/Chunk #{:atom/Atom},
:midi/Clock
#{:midi/SystemRealtime
:midi/SystemMessage
:midi/MidiEvent
:ev/Event
:atom/Atom},
:midi/SongPosition
#{:midi/SystemMessage
:midi/SystemCommon
:midi/MidiEvent
:ev/Event
:atom/Atom},
:patch/Insert #{:patch/Request :patch/Message},
:pg/AmbisonicBH3P0Group #{:pg/AmbisonicGroup :pg/Group},
:lv2/ScalePoint #{:lv2/Point},
:atom/Tuple #{:atom/Atom},
:time/Rate #{:time/Position},
:midi/Controller
#{:midi/VoiceMessage :midi/MidiEvent :ev/Event :atom/Atom},
:midi/MidiEvent #{:ev/Event :atom/Atom},
:lv2/ExpanderPlugin
#{:lv2/DynamicsPlugin :lv2/Plugin :lv2/PluginBase},
:lv2/ConstantPlugin
#{:lv2/GeneratorPlugin :lv2/Plugin :lv2/PluginBase},
:ui/Gtk3UI #{:ui/UI},
:patch/Copy #{:patch/Request :patch/Message},
:lv2/EQPlugin #{:lv2/Plugin :lv2/PluginBase :lv2/FilterPlugin},
:lv2/SimulatorPlugin #{:lv2/Plugin :lv2/PluginBase},
:atom/Sequence #{:atom/Atom},
:pg/MidSideGroup #{:pg/Group :pg/DiscreteGroup},
:lv2/MixerPlugin #{:lv2/Plugin :lv2/UtilityPlugin :lv2/PluginBase},
:morph/MorphPort #{:lv2/Port :lv2/PortBase},
:lv2/CVPort #{:lv2/Port :lv2/PortBase},
:param/EnvelopeControls #{:pg/Group :param/ControlGroup},
:atom/Number #{:atom/Atom},
:patch/Get #{:patch/Request :patch/Message},
:lv2/FilterPlugin #{:lv2/Plugin :lv2/PluginBase},
:lv2/CombPlugin #{:lv2/Plugin :lv2/PluginBase :lv2/FilterPlugin},
:log/Error #{:log/Entry},
:midi/Start
#{:midi/SystemRealtime
:midi/SystemMessage
:midi/MidiEvent
:ev/Event
:atom/Atom},
:morph/AutoMorphPort #{:lv2/Port :lv2/PortBase},
:lv2/InputPort #{:lv2/Port :lv2/PortBase},
:lv2/Parameter #{:lv2/Designation :rdf/Property},
:lv2/CompressorPlugin
#{:lv2/DynamicsPlugin :lv2/Plugin :lv2/PluginBase},
:atom/Vector #{:atom/Atom}},
:descendants
{:patch/Response #{:patch/Ack :patch/Error},
:patch/Request
#{:patch/Move
:patch/Put
:patch/Delete
:patch/Patch
:patch/Set
:patch/Insert
:patch/Copy
:patch/Get},
:lv2/Designation #{:lv2/Channel :lv2/Parameter},
:atom/URI #{:atom/Path},
:lv2/GeneratorPlugin
#{:lv2/OscillatorPlugin :lv2/InstrumentPlugin :lv2/ConstantPlugin},
:lv2/DistortionPlugin #{:lv2/WaveshaperPlugin},
:pg/AmbisonicGroup
#{:pg/AmbisonicBH3P3Group
:pg/AmbisonicBH1P1Group
:pg/AmbisonicBH2P1Group
:pg/AmbisonicBH2P2Group
:pg/AmbisonicBH1P0Group
:pg/AmbisonicBH2P0Group
:pg/AmbisonicBH3P2Group
:pg/AmbisonicBH3P1Group
:pg/AmbisonicBH3P0Group},
:lv2/DynamicsPlugin
#{:lv2/LimiterPlugin
:lv2/GatePlugin
:lv2/EnvelopePlugin
:lv2/AmplifierPlugin
:lv2/ExpanderPlugin
:lv2/CompressorPlugin},
:ui/UI
#{:ui/Qt5UI
:ui/X11UI
:ui/CocoaUI
:ui/Qt4UI
:ui/GtkUI
:ui/WindowsUI
:ui/Gtk3UI},
:lv2/SpectralPlugin #{:lv2/PitchPlugin},
:pg/Group
#{:pg/SixPointOneGroup
:param/CompressorControls
:pg/AmbisonicGroup
:pg/AmbisonicBH3P3Group
:pg/InputGroup
:pg/AmbisonicBH1P1Group
:pg/FivePointOneGroup
:pg/OutputGroup
:pg/AmbisonicBH2P1Group
:pg/SevenPointOneGroup
:pg/DiscreteGroup
:pg/MonoGroup
:pg/AmbisonicBH2P2Group
:pg/FivePointZeroGroup
:pg/SevenPointOneWideGroup
:pg/AmbisonicBH1P0Group
:pg/ThreePointZeroGroup
:pg/StereoGroup
:param/OscillatorControls
:param/ControlGroup
:pg/FourPointZeroGroup
:pg/AmbisonicBH2P0Group
:param/FilterControls
:pg/AmbisonicBH3P2Group
:pg/AmbisonicBH3P1Group
:pg/AmbisonicBH3P0Group
:pg/MidSideGroup
:param/EnvelopeControls},
:atom/Object #{:atom/Blank :atom/Resource},
:lv2/DelayPlugin #{:lv2/ReverbPlugin},
:atom/String #{:atom/URI :atom/Path},
:pg/DiscreteGroup
#{:pg/SixPointOneGroup
:pg/FivePointOneGroup
:pg/SevenPointOneGroup
:pg/MonoGroup
:pg/FivePointZeroGroup
:pg/SevenPointOneWideGroup
:pg/ThreePointZeroGroup
:pg/StereoGroup
:pg/FourPointZeroGroup
:pg/MidSideGroup},
:lv2/Plugin
#{:lv2/LimiterPlugin
:lv2/GatePlugin
:lv2/BandpassPlugin
:lv2/GeneratorPlugin
:lv2/DistortionPlugin
:lv2/FunctionPlugin
:lv2/DynamicsPlugin
:lv2/EnvelopePlugin
:lv2/AllpassPlugin
:lv2/OscillatorPlugin
:lv2/SpectralPlugin
:lv2/ParaEQPlugin
:lv2/PitchPlugin
:lv2/AnalyserPlugin
:lv2/DelayPlugin
:lv2/PhaserPlugin
:lv2/MIDIPlugin
:lv2/HighpassPlugin
:lv2/WaveshaperPlugin
:lv2/ChorusPlugin
:lv2/LowpassPlugin
:lv2/ModulatorPlugin
:lv2/AmplifierPlugin
:lv2/MultiEQPlugin
:lv2/ConverterPlugin
:lv2/UtilityPlugin
:lv2/InstrumentPlugin
:lv2/FlangerPlugin
:lv2/ReverbPlugin
:lv2/SpatialPlugin
:lv2/ExpanderPlugin
:lv2/ConstantPlugin
:lv2/EQPlugin
:lv2/SimulatorPlugin
:lv2/MixerPlugin
:lv2/FilterPlugin
:lv2/CombPlugin
:lv2/CompressorPlugin},
:midi/SystemRealtime
#{:midi/Continue
:midi/Stop
:midi/Reset
:midi/ActiveSense
:midi/Clock
:midi/Start},
:lv2/Feature #{:ui/PortProtocol},
:time/Position #{:time/Time :time/Rate},
:ev/TimeStamp #{:ev/FrameStamp},
:doap/Project #{:lv2/Specification},
:lv2/ModulatorPlugin
#{:lv2/PhaserPlugin :lv2/ChorusPlugin :lv2/FlangerPlugin},
:lv2/UtilityPlugin
#{:lv2/FunctionPlugin
:lv2/AnalyserPlugin
:lv2/ConverterPlugin
:lv2/MixerPlugin},
:param/ControlGroup
#{:param/CompressorControls
:param/OscillatorControls
:param/FilterControls
:param/EnvelopeControls},
:rdf/Property
#{:lv2/Designation :opts/Option :lv2/Channel :lv2/Parameter},
:midi/VoiceMessage
#{:midi/ProgramChange
:midi/NoteOff
:midi/Aftertouch
:midi/ChannelPressure
:midi/NoteOn
:midi/Bender
:midi/Controller},
:midi/SystemMessage
#{:midi/QuarterFrame
:midi/SongSelect
:midi/Continue
:midi/TuneRequest
:midi/Stop
:midi/Reset
:midi/SystemRealtime
:midi/ActiveSense
:midi/SystemExclusive
:midi/SystemCommon
:midi/Clock
:midi/SongPosition
:midi/Start},
:midi/SystemCommon
#{:midi/QuarterFrame
:midi/SongSelect
:midi/TuneRequest
:midi/SongPosition},
:lv2/Port
#{:atom/AtomPort
:ev/EventPort
:lv2/AudioPort
:lv2/ControlPort
:lv2/OutputPort
:morph/MorphPort
:lv2/CVPort
:morph/AutoMorphPort
:lv2/InputPort},
:log/Entry #{:log/Trace :log/Note :log/Warning :log/Error},
:lv2/Point #{:lv2/ScalePoint},
:midi/MidiEvent
#{:midi/QuarterFrame
:midi/SongSelect
:midi/Continue
:midi/ProgramChange
:midi/TuneRequest
:midi/Stop
:midi/NoteOff
:midi/Reset
:midi/Aftertouch
:midi/SystemRealtime
:midi/ActiveSense
:midi/ChannelPressure
:midi/SystemExclusive
:midi/NoteOn
:midi/VoiceMessage
:midi/SystemMessage
:midi/SystemCommon
:midi/Bender
:midi/Clock
:midi/SongPosition
:midi/Controller
:midi/Start},
:lv2/EQPlugin #{:lv2/ParaEQPlugin :lv2/MultiEQPlugin},
:lv2/SimulatorPlugin #{:lv2/ReverbPlugin},
:ev/Event
#{:midi/QuarterFrame
:midi/SongSelect
:midi/Continue
:midi/ProgramChange
:midi/TuneRequest
:midi/Stop
:midi/NoteOff
:midi/Reset
:midi/Aftertouch
:midi/SystemRealtime
:midi/ActiveSense
:midi/ChannelPressure
:midi/SystemExclusive
:midi/NoteOn
:midi/VoiceMessage
:midi/SystemMessage
:midi/SystemCommon
:midi/Bender
:midi/Clock
:midi/SongPosition
:midi/Controller
:midi/MidiEvent
:midi/Start},
:lv2/PluginBase
#{:lv2/LimiterPlugin
:lv2/GatePlugin
:lv2/BandpassPlugin
:lv2/GeneratorPlugin
:lv2/DistortionPlugin
:lv2/FunctionPlugin
:pset/Preset
:lv2/DynamicsPlugin
:lv2/EnvelopePlugin
:lv2/AllpassPlugin
:lv2/OscillatorPlugin
:lv2/SpectralPlugin
:lv2/ParaEQPlugin
:lv2/PitchPlugin
:lv2/AnalyserPlugin
:lv2/DelayPlugin
:lv2/Plugin
:lv2/PhaserPlugin
:lv2/MIDIPlugin
:lv2/HighpassPlugin
:lv2/WaveshaperPlugin
:lv2/ChorusPlugin
:lv2/LowpassPlugin
:lv2/ModulatorPlugin
:lv2/AmplifierPlugin
:lv2/MultiEQPlugin
:lv2/ConverterPlugin
:lv2/UtilityPlugin
:lv2/InstrumentPlugin
:lv2/FlangerPlugin
:lv2/ReverbPlugin
:lv2/SpatialPlugin
:lv2/ExpanderPlugin
:lv2/ConstantPlugin
:lv2/EQPlugin
:lv2/SimulatorPlugin
:lv2/MixerPlugin
:lv2/FilterPlugin
:lv2/CombPlugin
:lv2/CompressorPlugin},
:atom/Atom
#{:atom/Sound
:midi/QuarterFrame
:atom/Blank
:midi/SongSelect
:atom/URI
:atom/URID
:midi/Continue
:atom/Resource
:atom/Long
:midi/ProgramChange
:midi/TuneRequest
:atom/Int
:midi/Stop
:atom/Float
:atom/Double
:midi/NoteOff
:midi/Reset
:atom/Object
:atom/String
:midi/Aftertouch
:midi/SystemRealtime
:midi/ActiveSense
:midi/ChannelPressure
:atom/Literal
:atom/Bool
:atom/Path
:midi/SystemExclusive
:atom/Property
:midi/NoteOn
:midi/VoiceMessage
:midi/SystemMessage
:midi/SystemCommon
:midi/Bender
:atom/Chunk
:midi/Clock
:midi/SongPosition
:atom/Tuple
:midi/Controller
:midi/MidiEvent
:atom/Sequence
:atom/Number
:midi/Start
:atom/Vector},
:atom/Number #{:atom/Long :atom/Int :atom/Float :atom/Double},
:patch/Message
#{:patch/Response
:patch/Request
:patch/Move
:patch/Put
:patch/Delete
:patch/Ack
:patch/Patch
:patch/Error
:patch/Set
:patch/Insert
:patch/Copy
:patch/Get},
:lv2/PortBase
#{:atom/AtomPort
:ev/EventPort
:lv2/AudioPort
:lv2/ControlPort
:lv2/OutputPort
:lv2/Port
:morph/MorphPort
:lv2/CVPort
:morph/AutoMorphPort
:lv2/InputPort},
:lv2/FilterPlugin
#{:lv2/BandpassPlugin
:lv2/AllpassPlugin
:lv2/ParaEQPlugin
:lv2/HighpassPlugin
:lv2/LowpassPlugin
:lv2/MultiEQPlugin
:lv2/EQPlugin
:lv2/CombPlugin},
:atom/Vector #{:atom/Sound}}}
(ns net.wikipunk.rdf.lv2
"LV2 RDF vocabulary"
(:refer-clojure :exclude [atom time]))
(def lv2
{:vann/preferredNamespacePrefix "lv2"
:vann/preferredNamespaceUri "http://lv2plug.in/ns/lv2core#"
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/core.lv2/lv2core.ttl"})
(def atom
{:vann/preferredNamespacePrefix "atom"
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/atom#"
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/atom.lv2/atom.ttl"})
(def bufsz
{:vann/preferredNamespacePrefix "bufsz",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/buf-size#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/buf-size.lv2/buf-size.ttl"})
(def da
{:vann/preferredNamespacePrefix "da",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/data-access#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/data-access.lv2/data-access.ttl"})
(def dman
{:vann/preferredNamespacePrefix "dman",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/dynmanifest#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/dynmanifest.lv2/dynmanifest.ttl"})
(def ev
{:vann/preferredNamespacePrefix "ev",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/event#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/event.lv2/event.ttl"})
(def ia
{:vann/preferredNamespacePrefix "ia",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/instance-access#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/instance-access.lv2/instance-access.ttl"})
(def log
{:vann/preferredNamespacePrefix "log",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/log#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/log.lv2/log.ttl"})
(def midi
{:vann/preferredNamespacePrefix "midi",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/midi#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/midi.lv2/midi.ttl"})
(def morph
{:vann/preferredNamespacePrefix "morph",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/morph#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/morph.lv2/morph.ttl"})
(def opts
{:vann/preferredNamespacePrefix "opts",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/options#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/options.lv2/options.ttl"})
(def param
{:vann/preferredNamespacePrefix "param",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/parameters#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/parameters.lv2/parameters.ttl"})
(def patch
{:vann/preferredNamespacePrefix "patch",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/patch#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/patch.lv2/patch.ttl"})
(def pg
{:vann/preferredNamespacePrefix "pg",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/port-groups#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/port-groups.lv2/port-groups.ttl"})
(def pprops
{:vann/preferredNamespacePrefix "pprops",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/port-props#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/port-props.lv2/port-props.ttl"})
(def pset
{:vann/preferredNamespacePrefix "pset",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/presets#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/presets.lv2/presets.ttl"})
(def rsz
{:vann/preferredNamespacePrefix "rsz",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/resize-port#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/resize-port.lv2/resize-port.ttl"})
(def state
{:vann/preferredNamespacePrefix "state",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/state#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/state.lv2/state.ttl"})
(def time
{:vann/preferredNamespacePrefix "time",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/time#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/time.lv2/time.ttl"})
(def ui
{:vann/preferredNamespacePrefix "ui",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/ui#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/ui.lv2/ui.ttl"})
(def units
{:vann/preferredNamespacePrefix "units",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/units#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/units.lv2/units.ttl"})
(def umap
{:vann/preferredNamespacePrefix "umap",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/uri-map#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/uri-map.lv2/uri-map.ttl"})
(def urid
{:vann/preferredNamespacePrefix "urid",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/urid#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/urid.lv2/urid.ttl"})
(def work
{:vann/preferredNamespacePrefix "work",
:vann/preferredNamespaceUri "http://lv2plug.in/ns/ext/worker#",
:dcat/downloadURL "https://gitlab.com/lv2/lv2/-/raw/master/lv2/worker.lv2/worker.ttl"})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment