# A plugin profile — machine-readable facts about Mop.
#
# Host this next to your plugin as profile.ttl and it can be read by this
# catalogue and by anything else that speaks RDF. It is yours: edit it, version
# it with the plugin, and it stays correct because you control it.
#
# The subject below is the plugin's homepage, which is what identifies it here.
# If you would rather use your own namespace, change that one IRI and keep the
# foaf:homepage line, so the two can still be joined up.
#
# Terms: https://plugin-universe.com/ns   Guide: https://plugin-universe.com/about/profiles

@prefix trn:  <http://purl.org/stuff/transmissions/> .
@prefix pu:   <http://purl.org/stuff/plugin-universe/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix schema: <https://schema.org/> .

<https://strandz.it/jigdaw/plugins/mop/>
    a trn:PluginProfile ;
    rdfs:label "Mop" ;
    rdfs:comment "Eighteen voice OPL3 FM General MIDI instrument, capped at eight voices by default, based on mop by M. Glargaard. The AdLib Sound Blaster sound of DOS-era games: FM timbres from mop's own bank, a drum kit on channel 10, and every control answering to a MIDI CC." ;
    trn:vendor "danja" ;
    foaf:homepage <https://strandz.it/jigdaw/plugins/mop/> ;
    trn:format trn:Jig ;
    trn:role trn:Instrument, trn:AudioInstrument ;
    trn:accepts trn:Midi ;
    trn:produces trn:Audio ;
    trn:requires trn:MidiEvents ;
    pu:category <http://purl.org/stuff/plugin-universe/category/instrument> ;
    pu:licenceId "Zlib" ;
    trn:caution "Eight voices by default out of the eighteen the chip has. A ninth note steals the oldest voice rather than being refused; raise Voices toward eighteen for dense arrangements. Percussion is MIDI channel 10, notes 35 to 81. Pitched notes play on any other channel. The Program control sets the instrument on every melodic channel at once, which is how presets are auditioned. An incoming program change overrides a single channel without moving the panel. Every control but Program answers to a MIDI CC as well, one controller per port as the profile's midi:binding declarations say. A host automating a parameter and a controller sending its CC will fight. Channel volume, expression, pan, sustain and pitch bend arrive as MIDI on each channel and are not panel controls: CC 7, 11, 10 and 64 behave as mop does." .
