@prefix cv: . @prefix doap: . @prefix foaf: . @prefix lv2: . @prefix rdf: . @prefix rdfs: . a lv2:Specification ; rdfs:seeAlso <../../meta/meta.ttl> ; doap:license ; doap:name "LV2 CV Port" ; doap:shortdesc "Control Voltage ports for LV2 plugins." ; doap:created "2011-09-25" ; doap:developer ; lv2:documentation """

This extension defines Control Voltage (CV) ports, which are audio-rate control ports like those used on classical voltage-controlled synthesizers. These ports serve as control ports like lv2:ControlPort but can also be used for audio-rate modulation of control signals. This enables many types of processing and synthesis which are not possible with a lower control rate.

""" . cv:CVPort a rdfs:Class ; rdfs:label "CV Port" ; rdfs:subClassOf lv2:Port ; lv2:documentation """

Ports of this type have identical semantics to lv2:AudioPort in terms of buffer format and connection/input/output logistics. However, rather than the buffer representing audio, the buffer represents audio-rate control data. A CVPort SHOULD have the same properties a lv2:ControlPort typically has to describe appropriate control values (e.g. lv2:minimum, lv2:maximum, lv2:default)

Hosts SHOULD take care to prevent data from a CVPort port from being used as audio except in cases where this is known to be safe.

Example:

<http://example.org/some-plugin>
    lv2:port [
        a cv:CVPort, lv2:InputPort ;
        lv2:index 0 ;
        lv2:minimum -1.0 ;
        lv2:maximum 1.0 ;
        lv2:default 0.0 ;
        lv2:symbol "modulation" ;
        lv2:name "Modulation" ;
    ] .
""" .