# parameq/profile.ttl
#
# GENERATED by bin/write-profile.js. Do not edit: the digests are of the
# files on disk, and editing them by hand is how a profile comes to describe
# artefacts that no longer exist. Edit profile.json and run ./build.sh.

@base <https://strandz.it/jigdaw/plugins/parameq/> .

@prefix jig:   <http://purl.org/stuff/jigdaw/> .
@prefix trn:   <http://purl.org/stuff/transmissions/> .
@prefix pu:    <http://purl.org/stuff/plugin-universe/> .
@prefix lv2:   <http://lv2plug.in/ns/lv2core#> .
@prefix midi:  <http://lv2plug.in/ns/ext/midi#> .
@prefix units: <http://lv2plug.in/ns/extensions/units#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix doap:  <http://usefulinc.com/ns/doap#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .

<>
    a jig:WebPlugin , trn:PluginProfile ;
    rdfs:label "Parameq" ;
    rdfs:comment "Six-band stereo parametric equalizer in C++: peak, low and high shelf, low and high pass, band pass and notch shapes per band, each with its own enable, frequency, gain and Q." ;
    trn:vendor "danja" ;
    doap:revision "1.0.0" ;
    doap:developer <http://danny.ayers.name> ;
    foaf:homepage <> ;
    trn:role trn:AudioEffect ;
    trn:accepts trn:Audio ;
    trn:produces trn:Audio ;
    trn:genre "EQ" ;
    trn:caution "A low pass or high pass corner within a few percent of Nyquist (half the sample rate) behaves like a gentler slope than the shape suggests, because the bilinear transform compresses the top octave." ;
    trn:format trn:Jig , trn:WebAudio ;
    pu:licenceId "Apache-2.0" ;

    jig:audioInputs 1 ;
    jig:inputChannels 2 ;
    jig:audioOutputs 1 ;
    jig:outputChannels 2 ;
    jig:renderQuantum 128 ;
    jig:latencyFrames 0 ;
    jig:stateless true ;

    jig:module <#module> ;
    jig:processor <#processor> ;
    jig:ui <#ui> ;

    lv2:port <#enabled> , <#b1_on> , <#b1_type> , <#b1_freq> , <#b1_gain> , <#b1_q> , <#b2_on> , <#b2_type> , <#b2_freq> , <#b2_gain> , <#b2_q> , <#b3_on> , <#b3_type> , <#b3_freq> , <#b3_gain> , <#b3_q> , <#b4_on> , <#b4_type> , <#b4_freq> , <#b4_gain> , <#b4_q> , <#b5_on> , <#b5_type> , <#b5_freq> , <#b5_gain> , <#b5_q> , <#b6_on> , <#b6_type> , <#b6_freq> , <#b6_gain> , <#b6_q> .

<#module>
    a jig:Module ;
    jig:location <parameq.wasm> ;
    jig:mediaType "application/wasm" ;
    jig:abi jig:Abi1 ;
    jig:integrity "sha384-S7LvVwQBQyI45xPrHARWSDqH+Ic5ju81IYRsl/eEXrHMPl+Za6CK8kyVNz/h6TQM" .

<#processor>
    a jig:Processor ;
    jig:location <parameq-processor.js> ;
    jig:mediaType "text/javascript" ;
    jig:registeredName "parameq" ;
    jig:integrity "sha384-yZdYOrkY9u4TtmFjrTvzaW531h6fzZBZHYGaPDnRwCQ87vKyZBavi/Sg4ntQqUUx" .

<#ui>
    a jig:UserInterface ;
    jig:location <ui/index.html> ;
    jig:mediaType "text/html" ;
    jig:integrity "sha384-G8wMmicdAv6+qAYwkG1Fd7usBzsxHjbl/sBYUmlONm+qMKnPa66Oa2TFHF47mZzU" .

<#enabled>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "enabled" ; lv2:name "Enabled" ;
    lv2:default 1 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 0 ;
    lv2:portProperty lv2:toggled .

<#b1_on>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b1_on" ; lv2:name "Band 1 On" ;
    lv2:default 1 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 1 ;
    lv2:portProperty lv2:toggled .

<#b1_type>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b1_type" ; lv2:name "Band 1 Type" ;
    lv2:default 4 ; lv2:minimum 0 ; lv2:maximum 6 ;
    jig:paramIndex 2 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#b1_type-0> ,
        <#b1_type-1> ,
        <#b1_type-2> ,
        <#b1_type-3> ,
        <#b1_type-4> ,
        <#b1_type-5> ,
        <#b1_type-6> .

<#b1_type-0> rdfs:label "Peak" ; rdf:value 0 .

<#b1_type-1> rdfs:label "Low Shelf" ; rdf:value 1 .

<#b1_type-2> rdfs:label "High Shelf" ; rdf:value 2 .

<#b1_type-3> rdfs:label "Low Pass" ; rdf:value 3 .

<#b1_type-4> rdfs:label "High Pass" ; rdf:value 4 .

<#b1_type-5> rdfs:label "Band Pass" ; rdf:value 5 .

<#b1_type-6> rdfs:label "Notch" ; rdf:value 6 .

<#b1_freq>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b1_freq" ; lv2:name "Band 1 Freq" ;
    lv2:default 80 ; lv2:minimum 20 ; lv2:maximum 20000 ;
    jig:paramIndex 3 ;
    units:unit units:hz .

<#b1_gain>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b1_gain" ; lv2:name "Band 1 Gain" ;
    lv2:default 0 ; lv2:minimum -24 ; lv2:maximum 24 ;
    jig:paramIndex 4 ;
    units:unit units:db .

<#b1_q>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b1_q" ; lv2:name "Band 1 Q" ;
    lv2:default 0.7 ; lv2:minimum 0.1 ; lv2:maximum 10 ;
    jig:paramIndex 5 .

<#b2_on>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b2_on" ; lv2:name "Band 2 On" ;
    lv2:default 1 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 6 ;
    lv2:portProperty lv2:toggled .

<#b2_type>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b2_type" ; lv2:name "Band 2 Type" ;
    lv2:default 1 ; lv2:minimum 0 ; lv2:maximum 6 ;
    jig:paramIndex 7 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#b2_type-0> ,
        <#b2_type-1> ,
        <#b2_type-2> ,
        <#b2_type-3> ,
        <#b2_type-4> ,
        <#b2_type-5> ,
        <#b2_type-6> .

<#b2_type-0> rdfs:label "Peak" ; rdf:value 0 .

<#b2_type-1> rdfs:label "Low Shelf" ; rdf:value 1 .

<#b2_type-2> rdfs:label "High Shelf" ; rdf:value 2 .

<#b2_type-3> rdfs:label "Low Pass" ; rdf:value 3 .

<#b2_type-4> rdfs:label "High Pass" ; rdf:value 4 .

<#b2_type-5> rdfs:label "Band Pass" ; rdf:value 5 .

<#b2_type-6> rdfs:label "Notch" ; rdf:value 6 .

<#b2_freq>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b2_freq" ; lv2:name "Band 2 Freq" ;
    lv2:default 250 ; lv2:minimum 20 ; lv2:maximum 20000 ;
    jig:paramIndex 8 ;
    units:unit units:hz .

<#b2_gain>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b2_gain" ; lv2:name "Band 2 Gain" ;
    lv2:default 0 ; lv2:minimum -24 ; lv2:maximum 24 ;
    jig:paramIndex 9 ;
    units:unit units:db .

<#b2_q>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b2_q" ; lv2:name "Band 2 Q" ;
    lv2:default 1 ; lv2:minimum 0.1 ; lv2:maximum 10 ;
    jig:paramIndex 10 .

<#b3_on>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b3_on" ; lv2:name "Band 3 On" ;
    lv2:default 1 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 11 ;
    lv2:portProperty lv2:toggled .

<#b3_type>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b3_type" ; lv2:name "Band 3 Type" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 6 ;
    jig:paramIndex 12 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#b3_type-0> ,
        <#b3_type-1> ,
        <#b3_type-2> ,
        <#b3_type-3> ,
        <#b3_type-4> ,
        <#b3_type-5> ,
        <#b3_type-6> .

<#b3_type-0> rdfs:label "Peak" ; rdf:value 0 .

<#b3_type-1> rdfs:label "Low Shelf" ; rdf:value 1 .

<#b3_type-2> rdfs:label "High Shelf" ; rdf:value 2 .

<#b3_type-3> rdfs:label "Low Pass" ; rdf:value 3 .

<#b3_type-4> rdfs:label "High Pass" ; rdf:value 4 .

<#b3_type-5> rdfs:label "Band Pass" ; rdf:value 5 .

<#b3_type-6> rdfs:label "Notch" ; rdf:value 6 .

<#b3_freq>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b3_freq" ; lv2:name "Band 3 Freq" ;
    lv2:default 1000 ; lv2:minimum 20 ; lv2:maximum 20000 ;
    jig:paramIndex 13 ;
    units:unit units:hz .

<#b3_gain>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b3_gain" ; lv2:name "Band 3 Gain" ;
    lv2:default 0 ; lv2:minimum -24 ; lv2:maximum 24 ;
    jig:paramIndex 14 ;
    units:unit units:db .

<#b3_q>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b3_q" ; lv2:name "Band 3 Q" ;
    lv2:default 1 ; lv2:minimum 0.1 ; lv2:maximum 10 ;
    jig:paramIndex 15 .

<#b4_on>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b4_on" ; lv2:name "Band 4 On" ;
    lv2:default 1 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 16 ;
    lv2:portProperty lv2:toggled .

<#b4_type>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b4_type" ; lv2:name "Band 4 Type" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 6 ;
    jig:paramIndex 17 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#b4_type-0> ,
        <#b4_type-1> ,
        <#b4_type-2> ,
        <#b4_type-3> ,
        <#b4_type-4> ,
        <#b4_type-5> ,
        <#b4_type-6> .

<#b4_type-0> rdfs:label "Peak" ; rdf:value 0 .

<#b4_type-1> rdfs:label "Low Shelf" ; rdf:value 1 .

<#b4_type-2> rdfs:label "High Shelf" ; rdf:value 2 .

<#b4_type-3> rdfs:label "Low Pass" ; rdf:value 3 .

<#b4_type-4> rdfs:label "High Pass" ; rdf:value 4 .

<#b4_type-5> rdfs:label "Band Pass" ; rdf:value 5 .

<#b4_type-6> rdfs:label "Notch" ; rdf:value 6 .

<#b4_freq>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b4_freq" ; lv2:name "Band 4 Freq" ;
    lv2:default 4000 ; lv2:minimum 20 ; lv2:maximum 20000 ;
    jig:paramIndex 18 ;
    units:unit units:hz .

<#b4_gain>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b4_gain" ; lv2:name "Band 4 Gain" ;
    lv2:default 0 ; lv2:minimum -24 ; lv2:maximum 24 ;
    jig:paramIndex 19 ;
    units:unit units:db .

<#b4_q>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b4_q" ; lv2:name "Band 4 Q" ;
    lv2:default 1 ; lv2:minimum 0.1 ; lv2:maximum 10 ;
    jig:paramIndex 20 .

<#b5_on>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b5_on" ; lv2:name "Band 5 On" ;
    lv2:default 1 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 21 ;
    lv2:portProperty lv2:toggled .

<#b5_type>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b5_type" ; lv2:name "Band 5 Type" ;
    lv2:default 2 ; lv2:minimum 0 ; lv2:maximum 6 ;
    jig:paramIndex 22 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#b5_type-0> ,
        <#b5_type-1> ,
        <#b5_type-2> ,
        <#b5_type-3> ,
        <#b5_type-4> ,
        <#b5_type-5> ,
        <#b5_type-6> .

<#b5_type-0> rdfs:label "Peak" ; rdf:value 0 .

<#b5_type-1> rdfs:label "Low Shelf" ; rdf:value 1 .

<#b5_type-2> rdfs:label "High Shelf" ; rdf:value 2 .

<#b5_type-3> rdfs:label "Low Pass" ; rdf:value 3 .

<#b5_type-4> rdfs:label "High Pass" ; rdf:value 4 .

<#b5_type-5> rdfs:label "Band Pass" ; rdf:value 5 .

<#b5_type-6> rdfs:label "Notch" ; rdf:value 6 .

<#b5_freq>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b5_freq" ; lv2:name "Band 5 Freq" ;
    lv2:default 8000 ; lv2:minimum 20 ; lv2:maximum 20000 ;
    jig:paramIndex 23 ;
    units:unit units:hz .

<#b5_gain>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b5_gain" ; lv2:name "Band 5 Gain" ;
    lv2:default 0 ; lv2:minimum -24 ; lv2:maximum 24 ;
    jig:paramIndex 24 ;
    units:unit units:db .

<#b5_q>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b5_q" ; lv2:name "Band 5 Q" ;
    lv2:default 1 ; lv2:minimum 0.1 ; lv2:maximum 10 ;
    jig:paramIndex 25 .

<#b6_on>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b6_on" ; lv2:name "Band 6 On" ;
    lv2:default 1 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 26 ;
    lv2:portProperty lv2:toggled .

<#b6_type>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b6_type" ; lv2:name "Band 6 Type" ;
    lv2:default 3 ; lv2:minimum 0 ; lv2:maximum 6 ;
    jig:paramIndex 27 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#b6_type-0> ,
        <#b6_type-1> ,
        <#b6_type-2> ,
        <#b6_type-3> ,
        <#b6_type-4> ,
        <#b6_type-5> ,
        <#b6_type-6> .

<#b6_type-0> rdfs:label "Peak" ; rdf:value 0 .

<#b6_type-1> rdfs:label "Low Shelf" ; rdf:value 1 .

<#b6_type-2> rdfs:label "High Shelf" ; rdf:value 2 .

<#b6_type-3> rdfs:label "Low Pass" ; rdf:value 3 .

<#b6_type-4> rdfs:label "High Pass" ; rdf:value 4 .

<#b6_type-5> rdfs:label "Band Pass" ; rdf:value 5 .

<#b6_type-6> rdfs:label "Notch" ; rdf:value 6 .

<#b6_freq>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b6_freq" ; lv2:name "Band 6 Freq" ;
    lv2:default 16000 ; lv2:minimum 20 ; lv2:maximum 20000 ;
    jig:paramIndex 28 ;
    units:unit units:hz .

<#b6_gain>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b6_gain" ; lv2:name "Band 6 Gain" ;
    lv2:default 0 ; lv2:minimum -24 ; lv2:maximum 24 ;
    jig:paramIndex 29 ;
    units:unit units:db .

<#b6_q>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "b6_q" ; lv2:name "Band 6 Q" ;
    lv2:default 0.7 ; lv2:minimum 0.1 ; lv2:maximum 10 ;
    jig:paramIndex 30 .
