38 lines
1.4 KiB
JSON
38 lines
1.4 KiB
JSON
{
|
|
"source": "JSON",
|
|
"data": "BLOCK",
|
|
"version": "0.0.1",
|
|
"type": "modulus",
|
|
"language": "javascript",
|
|
"extension": "webaudio",
|
|
"help": "Modulus Operation (%)",
|
|
"label": "Modulus",
|
|
"color": "200:200:25:150",
|
|
"group": "Arithmetics",
|
|
"codes": {
|
|
"onload": "\n\n",
|
|
"declaration": "\nvar dividend$id$ = 0.0;\nvar divisor$id$ = 1.0;\n \nvar $port[rest]$ = [];\n\nfunction modulus$id$() {\n if (divisor$id$ === 0.0) {\n divisor$id$ = 1.0;\n }\n \n var rest = dividend$id$ % divisor$id$;\n for (var i = 0; i < $port[rest]$.length ; i++){\n $port[rest]$[i](rest);\n }\n \n return true;\n}\n\nvar $port[dividend]$ = function(value){\n dividend$id$ = Math.round(value);\n modulus$id$();\n return true;\n};\n\nvar $port[divisor]$ = function(value){\n divisor$id$ = Math.round(value);\n modulus$id$();\n return true;\n};\n",
|
|
"execution": "\n\n"
|
|
},
|
|
"properties": [],
|
|
"ports": [
|
|
{
|
|
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
|
|
"name": "dividend",
|
|
"label": "Dividend",
|
|
"conn_type": "Input"
|
|
},
|
|
{
|
|
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
|
|
"name": "divisor",
|
|
"label": "Divisor",
|
|
"conn_type": "Input"
|
|
},
|
|
{
|
|
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
|
|
"name": "rest",
|
|
"label": "Rest",
|
|
"conn_type": "Output"
|
|
}
|
|
]
|
|
} |