Skip to content

Instantly share code, notes, and snippets.

@mxmilkiib
Created March 23, 2020 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mxmilkiib/6f65ee205fe84e2b166b3a38c932e785 to your computer and use it in GitHub Desktop.
Save mxmilkiib/6f65ee205fe84e2b166b3a38c932e785 to your computer and use it in GitHub Desktop.
@prefix : <http://lv2plug.in/ns/lv2core#> .
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix log: <http://lv2plug.in/ns/ext/log#> .
@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
@prefix pprop: <http://lv2plug.in/ns/ext/port-props#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix time: <http://lv2plug.in/ns/ext/time#> .
@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
@prefix ui: <http://lv2plug.in/ns/extensions/ui#> .
<https://www.zrythm.org/plugins/ZLFO>
a :Plugin,
:OscillatorPlugin ;
doap:name "ZLFO" ;
doap:maintainer [
foaf:name """Alexandros Theodotou""" ;
foaf:homepage <https://www.zrythm.org> ;
] ;
doap:license <https://www.gnu.org/licenses/agpl-3.0.html> ;
:project <https://www.zrythm.org/plugins> ;
:requiredFeature urid:map ;
:optionalFeature :hardRTCapable ;
:optionalFeature log:log ;
:port [
a :InputPort ,
atom:AtomPort ;
atom:bufferType atom:Sequence ;
atom:supports time:Position ;
:index 0 ;
:designation :control ;
:symbol "control" ;
:name "Control" ;
rdfs:comment "GUI/host to plugin communication" ;
] , [
a :OutputPort ,
atom:AtomPort ;
atom:bufferType atom:Sequence ;
:index 1 ;
:designation :control ;
:symbol "notify" ;
:name "Notify" ;
rdfs:comment "Plugin to GUI communication" ;
] , [
a :OutputPort ,
:ControlPort ;
:index 2 ;
:symbol "sample_to_ui" ;
:name "Sample to UI" ;
rdfs:comment "Plugin to GUI communication" ;
:default 0 ;
:minimum 0 ;
:maximum 30720000 ;
:portProperty :integer ;
:portProperty pprop:notOnGUI ;
] , [
a :InputPort ,
:CVPort ;
:index 3 ;
:symbol "cv_gate" ;
:name "Gate" ;
rdfs:comment "CV gate" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:CVPort ;
:index 4 ;
:symbol "cv_trigger" ;
:name "Trigger" ;
rdfs:comment "CV trigger" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty pprop:trigger, pprop:discreteCV ;
] , [
a :InputPort ,
:ControlPort ;
:index 5 ;
:symbol "gate" ;
:name "Gate" ;
rdfs:comment "Not used at the moment" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 6 ;
:symbol "trigger" ;
:name "Trigger" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty pprop:trigger ;
] , [
a :InputPort ,
:ControlPort ;
:index 7 ;
:symbol "gated_mode" ;
:name "Gated mode" ;
rdfs:comment "If this is on, output will only be produced if gate or CV gate have a non-zero signal" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty :toggled ;
] , [
a :InputPort ,
:ControlPort ;
:index 8 ;
:symbol "sync_rate" ;
:name "Sync rate" ;
:default 5 ;
:minimum 0 ;
:maximum 14 ;
:portProperty :integer ;
] , [
a :InputPort ,
:ControlPort ;
:index 9 ;
:symbol "sync_rate_type" ;
:name "Sync rate type" ;
:default 0 ;
:minimum 0 ;
:maximum 2 ;
:portProperty :integer ;
] , [
a :InputPort ,
:ControlPort ;
:index 10 ;
:symbol "freq" ;
:name "Frequency" ;
rdfs:comment "Frequency if free running" ;
:default 1.000000 ;
:minimum 0.010000 ;
:maximum 60.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 11 ;
:symbol "shift" ;
:name "Shift" ;
rdfs:comment "Shift (phase)" ;
:default 0.500000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 12 ;
:symbol "range_min" ;
:name "Range min" ;
:default -1.000000 ;
:minimum -1.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 13 ;
:symbol "range_max" ;
:name "Range max" ;
:default 1.000000 ;
:minimum -1.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 14 ;
:symbol "step_mode" ;
:name "Step mode" ;
rdfs:comment "Step mode enabled" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty :toggled ;
] , [
a :InputPort ,
:ControlPort ;
:index 15 ;
:symbol "free_running" ;
:name "Free running" ;
rdfs:comment "Free run toggle" ;
:default 1.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty :toggled ;
] , [
a :InputPort ,
:ControlPort ;
:index 16 ;
:symbol "grid_step" ;
:name "Grid step" ;
:default 3 ;
:minimum 0 ;
:maximum 5 ;
:portProperty :integer ;
] , [
a :InputPort ,
:ControlPort ;
:index 17 ;
:symbol "hinvert" ;
:name "H invert" ;
rdfs:comment "Horizontal invert" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty :toggled ;
] , [
a :InputPort ,
:ControlPort ;
:index 18 ;
:symbol "vinvert" ;
:name "V invert" ;
rdfs:comment "Vertical invert" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty :toggled ;
] , [
a :InputPort ,
:ControlPort ;
:index 19 ;
:symbol "sine_toggle" ;
:name "Sine toggle" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty :toggled ;
] , [
a :InputPort ,
:ControlPort ;
:index 20 ;
:symbol "saw_toggle" ;
:name "Saw toggle" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty :toggled ;
] , [
a :InputPort ,
:ControlPort ;
:index 21 ;
:symbol "square_toggle" ;
:name "Square toggle" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty :toggled ;
] , [
a :InputPort ,
:ControlPort ;
:index 22 ;
:symbol "triangle_toggle" ;
:name "Triangle toggle" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty :toggled ;
] , [
a :InputPort ,
:ControlPort ;
:index 23 ;
:symbol "custom_toggle" ;
:name "Custom toggle" ;
:default 1.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
:portProperty :toggled ;
] , [
a :InputPort ,
:ControlPort ;
:index 24 ;
:symbol "node_1_pos" ;
:name "Node 1 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 25 ;
:symbol "node_1_val" ;
:name "Node 1 value" ;
:default 1.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 26 ;
:symbol "node_1_curve" ;
:name "Node 1 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 27 ;
:symbol "node_2_pos" ;
:name "Node 2 position" ;
:default 1.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 28 ;
:symbol "node_2_val" ;
:name "Node 2 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 29 ;
:symbol "node_2_curve" ;
:name "Node 2 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 30 ;
:symbol "node_3_pos" ;
:name "Node 3 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 31 ;
:symbol "node_3_val" ;
:name "Node 3 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 32 ;
:symbol "node_3_curve" ;
:name "Node 3 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 33 ;
:symbol "node_4_pos" ;
:name "Node 4 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 34 ;
:symbol "node_4_val" ;
:name "Node 4 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 35 ;
:symbol "node_4_curve" ;
:name "Node 4 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 36 ;
:symbol "node_5_pos" ;
:name "Node 5 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 37 ;
:symbol "node_5_val" ;
:name "Node 5 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 38 ;
:symbol "node_5_curve" ;
:name "Node 5 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 39 ;
:symbol "node_6_pos" ;
:name "Node 6 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 40 ;
:symbol "node_6_val" ;
:name "Node 6 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 41 ;
:symbol "node_6_curve" ;
:name "Node 6 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 42 ;
:symbol "node_7_pos" ;
:name "Node 7 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 43 ;
:symbol "node_7_val" ;
:name "Node 7 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 44 ;
:symbol "node_7_curve" ;
:name "Node 7 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 45 ;
:symbol "node_8_pos" ;
:name "Node 8 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 46 ;
:symbol "node_8_val" ;
:name "Node 8 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 47 ;
:symbol "node_8_curve" ;
:name "Node 8 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 48 ;
:symbol "node_9_pos" ;
:name "Node 9 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 49 ;
:symbol "node_9_val" ;
:name "Node 9 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 50 ;
:symbol "node_9_curve" ;
:name "Node 9 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 51 ;
:symbol "node_10_pos" ;
:name "Node 10 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 52 ;
:symbol "node_10_val" ;
:name "Node 10 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 53 ;
:symbol "node_10_curve" ;
:name "Node 10 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 54 ;
:symbol "node_11_pos" ;
:name "Node 11 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 55 ;
:symbol "node_11_val" ;
:name "Node 11 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 56 ;
:symbol "node_11_curve" ;
:name "Node 11 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 57 ;
:symbol "node_12_pos" ;
:name "Node 12 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 58 ;
:symbol "node_12_val" ;
:name "Node 12 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 59 ;
:symbol "node_12_curve" ;
:name "Node 12 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 60 ;
:symbol "node_13_pos" ;
:name "Node 13 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 61 ;
:symbol "node_13_val" ;
:name "Node 13 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 62 ;
:symbol "node_13_curve" ;
:name "Node 13 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 63 ;
:symbol "node_14_pos" ;
:name "Node 14 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 64 ;
:symbol "node_14_val" ;
:name "Node 14 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 65 ;
:symbol "node_14_curve" ;
:name "Node 14 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 66 ;
:symbol "node_15_pos" ;
:name "Node 15 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 67 ;
:symbol "node_15_val" ;
:name "Node 15 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 68 ;
:symbol "node_15_curve" ;
:name "Node 15 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 69 ;
:symbol "node_16_pos" ;
:name "Node 16 position" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 70 ;
:symbol "node_16_val" ;
:name "Node 16 value" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 71 ;
:symbol "node_16_curve" ;
:name "Node 16 curve" ;
:default 0.000000 ;
:minimum 0.000000 ;
:maximum 1.000000 ;
] , [
a :InputPort ,
:ControlPort ;
:index 72 ;
:symbol "num_nodes" ;
:name "Node count" ;
:default 2 ;
:minimum 2 ;
:maximum 16 ;
:portProperty :integer ;
] , [
a :OutputPort ,
:CVPort ;
:index 73 ;
:symbol "sine_out" ;
:name "Sine" ;
] , [
a :OutputPort ,
:CVPort ;
:index 74 ;
:symbol "triangle_out" ;
:name "Triangle" ;
] , [
a :OutputPort ,
:CVPort ;
:index 75 ;
:symbol "saw_out" ;
:name "Saw" ;
] , [
a :OutputPort ,
:CVPort ;
:index 76 ;
:symbol "square_out" ;
:name "Square" ;
] , [
a :OutputPort ,
:CVPort ;
:index 77 ;
:symbol "custom_out" ;
:name "Custom" ;
] .
<https://www.zrythm.org/plugins/ZLFO#UI>
a ui:X11UI ;
:requiredFeature urid:map ,
ui:idleInterface ;
:optionalFeature log:log ,
ui:noUserResize ;
:extensionData ui:idleInterface ,
ui:showInterface ;
ui:portNotification [
ui:plugin "https://www.zrythm.org/plugins/ZLFO" ;
:symbol "notify" ;
ui:notifyType atom:Blank ;
] .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment