# Copyright (c) 2015 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 lv2: .
@prefix atom: .
@prefix time: .
@prefix midi: .
@prefix bufsz: .
@prefix pg: .
@prefix patch: .
@prefix sys: .
@prefix lic: .
@prefix omk: .
@prefix proj: .
@prefix synthpod: .
# system-port definitions
sys:interface
a lv2:ExtensionData .
sys:dynamicPorts
a lv2:Feature .
# Maintainer
omk:me
a foaf:Person ;
foaf:name "Hanspeter Portner" ;
foaf:mbox ;
foaf:homepage .
# Project
proj:synthpod
a doap:Project ;
doap:maintainer omk:me ;
doap:name "Synthpod Bundle" .
# Audio groups
synthpod:group_sink
a pg:InputGroup ,
pg:StereoGroup ;
lv2:name "Sink" ;
lv2:symbol "sink" .
synthpod:group_source
a pg:OutputGroup ,
pg:StereoGroup ;
lv2:name "Source" ;
lv2:symbol "source" .
# Sink Plugin
synthpod:sink
a lv2:Plugin ,
lv2:InstrumentPlugin ;
doap:name "Synthpod System Sink" ;
doap:license lic:Artistic-2.0 ;
lv2:project proj:synthpod ;
lv2:requiredFeature bufsz:boundedBlockLength ;
lv2:optionalFeature lv2:isLive, lv2:hardRTCapable ;
lv2:extensionData sys:interface ;
lv2:port [
# event in
a lv2:InputPort ,
atom:AtomPort ;
atom:bufferType atom:Sequence ;
atom:supports midi:MidiEvent ;
atom:supports atom:Object ;
atom:supports time:Position ;
atom:supports patch:Message ;
lv2:index 0 ;
lv2:symbol "event_sink" ;
lv2:name "Event Sink" ;
lv2:designation lv2:control ;
pg:group synthpod:group_sink ;
] , [
# audio in 1
a lv2:InputPort ,
lv2:AudioPort ;
lv2:index 1 ;
lv2:symbol "audio_sink_1" ;
lv2:name "Audio Sink 1" ;
lv2:designation pg:left ;
pg:group synthpod:group_sink ;
] , [
# audio in 2
a lv2:InputPort ,
lv2:AudioPort ;
lv2:index 2 ;
lv2:symbol "audio_sink_2" ;
lv2:name "Audio Sink 2" ;
lv2:designation pg:right ;
pg:group synthpod:group_sink ;
] , [
# control in
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 3 ;
lv2:symbol "control_sink_1" ;
lv2:name "Control Sink 1" ;
pg:group synthpod:group_sink ;
] , [
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 4 ;
lv2:symbol "control_sink_2" ;
lv2:name "Control Sink 2" ;
pg:group synthpod:group_sink ;
] , [
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 5 ;
lv2:symbol "control_sink_3" ;
lv2:name "Control Sink 3" ;
pg:group synthpod:group_sink ;
] , [
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 6 ;
lv2:symbol "control_sink_4" ;
lv2:name "Control Sink 4" ;
pg:group synthpod:group_sink ;
] .
# Source Plugin
synthpod:source
a lv2:Plugin ,
lv2:InstrumentPlugin ;
doap:name "Synthpod System Source" ;
doap:license lic:Artistic-2.0 ;
lv2:project proj:synthpod ;
lv2:requiredFeature bufsz:boundedBlockLength ;
lv2:optionalFeature lv2:isLive, lv2:hardRTCapable ;
lv2:extensionData sys:interface ;
lv2:port [
# event in
a lv2:OutputPort ,
atom:AtomPort ;
atom:bufferType atom:Sequence ;
atom:supports midi:MidiEvent ;
atom:supports atom:Object ;
atom:supports time:Position ;
atom:supports patch:Message ;
lv2:index 0 ;
lv2:symbol "event_source" ;
lv2:name "Event Source" ;
lv2:designation lv2:control ;
pg:group synthpod:group_source ;
] , [
# audio in 1
a lv2:OutputPort ,
lv2:AudioPort ;
lv2:index 1 ;
lv2:symbol "audio_source_1" ;
lv2:name "Audio Source 1" ;
lv2:designation pg:left ;
pg:group synthpod:group_source ;
] , [
# audio in 2
a lv2:OutputPort ,
lv2:AudioPort ;
lv2:index 2 ;
lv2:symbol "audio_source_2" ;
lv2:name "Audio Source 2" ;
lv2:designation pg:right ;
pg:group synthpod:group_source ;
] , [
# control in
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 3 ;
lv2:symbol "control_source_1" ;
lv2:name "Control Source 1" ;
pg:group synthpod:group_source ;
] , [
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 4 ;
lv2:symbol "control_source_2" ;
lv2:name "Control Source 2" ;
pg:group synthpod:group_source ;
] , [
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 5 ;
lv2:symbol "control_source_3" ;
lv2:name "Control Source 3" ;
pg:group synthpod:group_source ;
] , [
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 6 ;
lv2:symbol "control_source_4" ;
lv2:name "Control Source 4" ;
pg:group synthpod:group_source ;
] .
# MIDI Sink Plugin
synthpod:midi_sink
a lv2:Plugin ,
lv2:InstrumentPlugin ;
doap:name "Synthpod MIDI Sink" ;
doap:license lic:Artistic-2.0 ;
lv2:project proj:synthpod ;
lv2:requiredFeature bufsz:boundedBlockLength, sys:dynamicPorts ;
lv2:optionalFeature lv2:isLive, lv2:hardRTCapable ;
lv2:extensionData sys:interface ;
lv2:port [
a lv2:InputPort ,
atom:AtomPort ;
atom:bufferType atom:Sequence ;
atom:supports midi:MidiEvent ;
lv2:index 0 ;
lv2:symbol "midi_sink" ;
lv2:name "MIDI Sink" ;
lv2:designation lv2:control ;
pg:group synthpod:group_sink ;
] .
# MIDI Source Plugin
synthpod:midi_source
a lv2:Plugin ,
lv2:InstrumentPlugin ;
doap:name "Synthpod MIDI Source" ;
doap:license lic:Artistic-2.0 ;
lv2:project proj:synthpod ;
lv2:requiredFeature bufsz:boundedBlockLength, sys:dynamicPorts ;
lv2:optionalFeature lv2:isLive, lv2:hardRTCapable ;
lv2:extensionData sys:interface ;
lv2:port [
a lv2:OutputPort ,
atom:AtomPort ;
atom:bufferType atom:Sequence ;
atom:supports midi:MidiEvent ;
lv2:index 0 ;
lv2:symbol "midi_source" ;
lv2:name "MIDI Source" ;
lv2:designation lv2:control ;
pg:group synthpod:group_source ;
] .
# OSC Sink Plugin
synthpod:osc_sink
a lv2:Plugin ,
lv2:InstrumentPlugin ;
doap:name "Synthpod OSC Sink" ;
doap:license lic:Artistic-2.0 ;
lv2:project proj:synthpod ;
lv2:requiredFeature bufsz:boundedBlockLength, sys:dynamicPorts ;
lv2:optionalFeature lv2:isLive, lv2:hardRTCapable ;
lv2:extensionData sys:interface ;
lv2:port [
a lv2:InputPort ,
atom:AtomPort ;
atom:bufferType atom:Sequence ;
atom:supports atom:Object ;
lv2:index 0 ;
lv2:symbol "osc_sink" ;
lv2:name "OSC Sink" ;
lv2:designation lv2:control ;
pg:group synthpod:group_sink ;
] .
# OSC Source Plugin
synthpod:osc_source
a lv2:Plugin ,
lv2:InstrumentPlugin ;
doap:name "Synthpod OSC Source" ;
doap:license lic:Artistic-2.0 ;
lv2:project proj:synthpod ;
lv2:requiredFeature bufsz:boundedBlockLength, sys:dynamicPorts ;
lv2:optionalFeature lv2:isLive, lv2:hardRTCapable ;
lv2:extensionData sys:interface ;
lv2:port [
a lv2:OutputPort ,
atom:AtomPort ;
atom:bufferType atom:Sequence ;
atom:supports atom:Object ;
lv2:index 0 ;
lv2:symbol "osc_source" ;
lv2:name "OSC Source" ;
lv2:designation lv2:control ;
pg:group synthpod:group_source ;
] .
# CV Sink Plugin
synthpod:cv_sink
a lv2:Plugin ,
lv2:InstrumentPlugin ;
doap:name "Synthpod CV Sink" ;
doap:license lic:Artistic-2.0 ;
lv2:project proj:synthpod ;
lv2:requiredFeature bufsz:boundedBlockLength, sys:dynamicPorts ;
lv2:optionalFeature lv2:isLive, lv2:hardRTCapable ;
lv2:extensionData sys:interface ;
lv2:port [
a lv2:InputPort ,
lv2:CVPort ;
lv2:index 0 ;
lv2:symbol "cv_sink_1" ;
lv2:name "CV Sink 1" ;
pg:group synthpod:group_sink ;
] , [
a lv2:InputPort ,
lv2:CVPort ;
lv2:index 1 ;
lv2:symbol "cv_sink_2" ;
lv2:name "CV Sink 2" ;
pg:group synthpod:group_sink ;
] , [
a lv2:InputPort ,
lv2:CVPort ;
lv2:index 2 ;
lv2:symbol "cv_sink_3" ;
lv2:name "CV Sink 3" ;
pg:group synthpod:group_sink ;
] , [
a lv2:InputPort ,
lv2:CVPort ;
lv2:index 3 ;
lv2:symbol "cv_sink_4" ;
lv2:name "CV Sink 4" ;
pg:group synthpod:group_sink ;
] .
# CV Source Plugin
synthpod:cv_source
a lv2:Plugin ,
lv2:InstrumentPlugin ;
doap:name "Synthpod CV Source" ;
doap:license lic:Artistic-2.0 ;
lv2:project proj:synthpod ;
lv2:requiredFeature bufsz:boundedBlockLength, sys:dynamicPorts ;
lv2:optionalFeature lv2:isLive, lv2:hardRTCapable ;
lv2:extensionData sys:interface ;
lv2:port [
a lv2:OutputPort ,
lv2:CVPort ;
lv2:index 0 ;
lv2:symbol "cv_source_1" ;
lv2:name "CV Source 1" ;
pg:group synthpod:group_source ;
] , [
a lv2:OutputPort ,
lv2:CVPort ;
lv2:index 1 ;
lv2:symbol "cv_source_2" ;
lv2:name "CV Source 2" ;
pg:group synthpod:group_source ;
] , [
a lv2:OutputPort ,
lv2:CVPort ;
lv2:index 2 ;
lv2:symbol "cv_source_3" ;
lv2:name "CV Source 3" ;
pg:group synthpod:group_source ;
] , [
a lv2:OutputPort ,
lv2:CVPort ;
lv2:index 3 ;
lv2:symbol "cv_source_4" ;
lv2:name "CV Source 4" ;
pg:group synthpod:group_source ;
] .
# Audio Sink Plugin
synthpod:audio_sink
a lv2:Plugin ,
lv2:InstrumentPlugin ;
doap:name "Synthpod Audio Sink" ;
doap:license lic:Artistic-2.0 ;
lv2:project proj:synthpod ;
lv2:requiredFeature bufsz:boundedBlockLength, sys:dynamicPorts ;
lv2:optionalFeature lv2:isLive, lv2:hardRTCapable ;
lv2:extensionData sys:interface ;
lv2:port [
a lv2:InputPort ,
lv2:AudioPort ;
lv2:index 0 ;
lv2:symbol "audio_sink_1" ;
lv2:name "Audio Sink 1" ;
pg:group synthpod:group_sink ;
] , [
a lv2:InputPort ,
lv2:AudioPort ;
lv2:index 1 ;
lv2:symbol "audio_sink_2" ;
lv2:name "Audio Sink 2" ;
pg:group synthpod:group_sink ;
] , [
a lv2:InputPort ,
lv2:AudioPort ;
lv2:index 2 ;
lv2:symbol "audio_sink_3" ;
lv2:name "Audio Sink 3" ;
pg:group synthpod:group_sink ;
] , [
a lv2:InputPort ,
lv2:AudioPort ;
lv2:index 3 ;
lv2:symbol "audio_sink_4" ;
lv2:name "Audio Sink 4" ;
pg:group synthpod:group_sink ;
] .
# AudioSource Plugin
synthpod:audio_source
a lv2:Plugin ,
lv2:InstrumentPlugin ;
doap:name "Synthpod Audio Source" ;
doap:license lic:Artistic-2.0 ;
lv2:project proj:synthpod ;
lv2:requiredFeature bufsz:boundedBlockLength, sys:dynamicPorts ;
lv2:optionalFeature lv2:isLive, lv2:hardRTCapable ;
lv2:extensionData sys:interface ;
lv2:port [
a lv2:OutputPort ,
lv2:AudioPort ;
lv2:index 0 ;
lv2:symbol "audio_source_1" ;
lv2:name "Audio Source 1" ;
pg:group synthpod:group_source ;
] , [
a lv2:OutputPort ,
lv2:AudioPort ;
lv2:index 1 ;
lv2:symbol "audio_source_2" ;
lv2:name "Audio Source 2" ;
pg:group synthpod:group_source ;
] , [
a lv2:OutputPort ,
lv2:AudioPort ;
lv2:index 2 ;
lv2:symbol "audio_source_3" ;
lv2:name "Audio Source 3" ;
pg:group synthpod:group_source ;
] , [
a lv2:OutputPort ,
lv2:AudioPort ;
lv2:index 3 ;
lv2:symbol "audio_source_4" ;
lv2:name "Audio Source 4" ;
pg:group synthpod:group_source ;
] .