mosaicode/tests/control/assets/block.json

102 lines
2.8 KiB
JSON

{
"id": -1,
"version": "0.0.1",
"x": 0,
"y": 0,
"is_collapsed": false,
"type": "mosaicode_lib_javascript_webaudio.extensions.blocks.filter",
"language": "javascript",
"extension": "",
"file": null,
"help": "",
"label": "Filter",
"color": "#32963296",
"group": "Sound",
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.sound",
"label": "Sound",
"conn_type": "INPUT",
"name": "sound_input",
"index": 0
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.sound",
"label": "Frequency",
"conn_type": "INPUT",
"name": "osc_freq",
"index": 1
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Frequency",
"conn_type": "INPUT",
"name": "freq",
"index": 2
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Gain",
"conn_type": "INPUT",
"name": "gain",
"index": 3
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Q",
"conn_type": "INPUT",
"name": "q",
"index": 4
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.sound",
"label": "Sound",
"conn_type": "OUTPUT",
"name": "output",
"index": 5
}
],
"maxIO": 6,
"properties": [
{
"name": "type",
"label": "Type",
"value": "highpass",
"type": "Combo",
"values": ["allpass", "bandpass", "highshelf", "highpass", "lowpass", "lowshelf", "notch", "peaking"]
},
{
"name": "freq",
"label": "Frequency",
"value": 200,
"type": "Float",
"lower": 0,
"upper": 48000,
"step": 1
},
{
"name": "gain",
"label": "Gain",
"value": 1,
"type": "Float",
"lower": 0,
"upper": 100,
"step": 0.1
},
{
"name": "Q",
"label": "Q",
"value": 200,
"type": "Float",
"lower": 0,
"upper": 48000,
"step": 1
}
],
"codes": {
"declaration": "\n\n// block_$id$ = $label$\nvar block_$id$ = context.createBiquadFilter();\nvar $port[osc_freq]$ = block_$id$.frequency;\nblock_$id$.type = '$prop[type]$';\nblock_$id$.frequency.value = '$prop[freq]$';\nblock_$id$.gain.value = $prop[gain]$;\nblock_$id$.Q.value = $prop[Q]$;\n\nvar $port[freq]$ = function(value){\n block_$id$.frequency.value = parseFloat(value);\n return true;\n };\n\nvar $port[q]$ = function(value){\n block_$id$.Q.value = parseFloat(value);\n return true;\n };\n\nvar $port[gain]$ = function(value){\n block_$id$.gain.value = parseFloat(value);\n return true;\n };\n\nvar $port[sound_input]$ = block_$id$;\nvar $port[output]$ = block_$id$;\n"
},
"gen_codes": {},
"weight": 0,
"connections": []
}