Copy from Alexandre repository

This commit is contained in:
fls committed 2026-09-17 18:13:02 -03:00
commit 355594d3c8
102 files changed
+5948

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "date",
"language": "javascript",
"extension": "webaudio",
"help": "Date",
"label": "Date",
"color": "150:10:20:150",
"group": "Input Device",
"codes": {
"declaration": "\n// block_$id$ = $label$\nvar $port[day]$ = [];\nvar $port[month]$ = [];\nvar $port[year]$ = [];\n\nvar $port[generate]$ = function(value){\n var d = new Date();\n for (var i = 0; i < $port[day]$.length ; i++){\n $port[day]$[i](d.getDate());\n }\n for (var i = 0; i < $port[month]$.length ; i++){\n $port[month]$[i](d.getMonth());\n }\n for (var i = 0; i < $port[year]$.length ; i++){\n $port[year]$[i](d.getFullYear());\n }\n return true;\n };\n\n"
},
"properties": [],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Day",
"conn_type": "Output",
"name": "day"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Month",
"conn_type": "Output",
"name": "month"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Year",
"conn_type": "Output",
"name": "year"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Generate",
"conn_type": "Input",
"name": "generate"
}
]
}
@@ -0,0 +1,37 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "deviceorientation",
"language": "javascript",
"extension": "webaudio",
"help": "Device Orientation",
"label": "Device Orientation",
"color": "50:50:50:150",
"group": "Input Device",
"codes": {
"onload": "\nwindow.addEventListener('deviceorientation', handleDeviceOrientation$id$);\n ",
"declaration": "\nvar $port[alpha]$ = [];\nvar $port[beta]$ = [];\nvar $port[gamma]$ = [];\n\nfunction handleDeviceOrientation$id$(event){\n for (var i = 0 ; i < $port[alpha]$.length ; i++)\n $port[alpha]$[i](event.alpha);\n \n for (var i = 0 ; i < $port[beta]$.length ; i++)\n $port[beta]$[i](event.beta);\n \n for (var i = 0 ; i < $port[gamma]$.length ; i++)\n $port[gamma]$[i](event.gamma); \n} \n"
},
"properties": [],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"conn_type": "Output",
"name": "alpha",
"label": "Alpha"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"conn_type": "Output",
"name": "beta",
"label": "Beta"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"conn_type": "Output",
"name": "gamma",
"label": "Gamma"
}
]
}
+54
View File
@@ -0,0 +1,54 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "hour",
"language": "javascript",
"extension": "webaudio",
"help": "Hour",
"label": "Hour",
"color": "150:10:20:150",
"group": "Input Device",
"codes": {
"declaration": "\n// block_$id$ = $label$\nvar $port[hour]$ = [];\nvar $port[minute]$ = [];\nvar $port[second]$ = [];\nvar $port[millisecond]$ = [];\nvar $port[time]$ = [];\n\nvar $port[generate]$ = function(value){\n var d = new Date();\n for (var i = 0; i < $port[hour]$.length ; i++){\n $port[hour]$[i](d.getHours());\n }\n for (var i = 0; i < $port[minute]$.length ; i++){\n $port[minute]$[i](d.getMinutes());\n }\n for (var i = 0; i < $port[second]$.length ; i++){\n $port[second]$[i](d.getSeconds());\n }\n for (var i = 0; i < $port[millisecond]$.length ; i++){\n $port[millisecond]$[i](d.getMilliseconds());\n }\n for (var i = 0; i < $port[time]$.length ; i++){\n $port[time]$[i](d.getTime());\n }\n return true;\n };\n\n"
},
"properties": [],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Hour",
"conn_type": "Output",
"name": "hour"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Minute",
"conn_type": "Output",
"name": "minute"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Second",
"conn_type": "Output",
"name": "second"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Millisecond",
"conn_type": "Output",
"name": "millisecond"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Time",
"conn_type": "Output",
"name": "time"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Generate",
"conn_type": "Input",
"name": "generate"
}
]
}
+31
View File
@@ -0,0 +1,31 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "keyboard",
"language": "javascript",
"extension": "webaudio",
"help": "Keyboard",
"label": "Keyboard",
"color": "50:150:250:150",
"group": "Input Device",
"codes": {
"function": "\nvar keyboard_char_output = [];\nvar keyboard_float_output = [];\ndocument.onkeypress = function(evt){\n evt = evt || window.event;\n\n var value = evt.keyCode || evt.which;\n for (var i = 0; i < keyboard_float_output.length ; i++)\n for (var j = 0; j < keyboard_float_output[i].length ; j++)\n keyboard_float_output[i][j](value);\n\n value = String.fromCharCode(value);\n for (var i = 0; i < keyboard_char_output.length ; i++)\n for (var j = 0; j < keyboard_char_output[i].length ; j++)\n keyboard_char_output[i][j](value);\n};\n",
"declaration": "\n// block_$id$ = KeyBoard Input\nvar $port[char_output]$ = [];\nvar $port[float_output]$ = [];\nkeyboard_char_output.push($port[char_output]$);\nkeyboard_float_output.push($port[float_output]$);\n"
},
"properties": [],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Float Output",
"conn_type": "Output",
"name": "float_output"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.char",
"label": "Char Output",
"conn_type": "Output",
"name": "char_output"
}
]
}
+57
View File
@@ -0,0 +1,57 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "metronome",
"language": "javascript",
"extension": "webaudio",
"help": "Metronome",
"label": "Metronome",
"color": "150:150:250:150",
"group": "Input Device",
"codes": {
"declaration": "\n// block_$id$ = Float Value\nvar block_$id$_timeout;\nvar block_$id$_value = $prop[value]$;\nvar block_$id$_time = $prop[time]$;\nvar $port[float]$ = [];\n\nvar $port[start]$ = function(value){\n timeout_$id$_value();\n return true;\n };\n\nvar $port[stop]$ = function(value){\n if (value > 0) {\n clearTimeout(block_$id$_timeout);\n }\n return true;\n };\n\n",
"execution": "\nfunction timeout_$id$_value(){\n for (var i = 0; i < $port[float]$.length ; i++){\n $port[float]$[i](block_$id$_value);\n }\n block_$id$_timeout = setTimeout(timeout_$id$_value, block_$id$_time);\n};\n",
"onload": ""
},
"properties": [
{
"name": "value",
"label": "Value",
"type": "Float",
"lower": 0,
"upper": 20000,
"step": 1,
"value": 1
},
{
"name": "time",
"label": "Time (ms)",
"type": "Float",
"lower": 0,
"upper": 20000,
"step": 1,
"value": 1000
}
],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Float",
"conn_type": "Output",
"name": "float"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Start",
"conn_type": "Input",
"name": "start"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"conn_type": "Input",
"label": "Stop",
"name": "stop"
}
]
}
+25
View File
@@ -0,0 +1,25 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "microphone",
"language": "javascript",
"extension": "webaudio",
"help": "Microphone",
"label": "Microphone",
"color": "150:150:250:150",
"group": "Input Device",
"codes": {
"declaration": "\n</script>\n<div>\n <span class=\"title\">Microphone</span>\n</div>\n<div>\n <div>\n <span class=\"label\">Gain</span>\n <input type=\"range\" id=\"gain-slider_$id$\" class=\"slider\" min=\"-20\" max=\"20\" step=\"1\" value=\"0\" />\n <span id=\"gain-display_$id$\" class=\"label\">0 db</span>\n </div>\n</div>\n\n<script>\n var gain = 0;\n var audioSource;\n var block_$id$;\n\n block_$id$ = context.createBiquadFilter();\n block_$id$.type = \"lowshelf\";\n block_$id$.frequency.value = 1000;\n\n var $port[output]$ = block_$id$;\n\n navigator.getUserMedia =\n navigator.getUserMedia ||\n navigator.webkitGetUserMedia ||\n navigator.mozGetUserMedia ||\n navigator.msGetUserMedia;\n\nif (navigator.getUserMedia) {\n navigator.getUserMedia (\n {\n audio: true,\n video: false\n },\n function (stream) {\n audioSource = context.createMediaStreamSource(stream);\n\n var gainDisplay = document.getElementById('gain-display_$id$');\n var gainSlider = document.getElementById('gain-slider_$id$');\n\n gainSlider.addEventListener('input', function () {\n gain = parseFloat(gainSlider.value)\n gainDisplay.textContent = gain + ' db';\n block_$id$.gain.value = gainSlider.value;\n });\n\n audioSource.connect(block_$id$);\n },\n function (err) {\n console.log('Error initializing user media stream: ' + err);\n }\n );\n}\n",
"onload": "\n"
},
"properties": [],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.sound",
"label": "Output",
"conn_type": "Output",
"name": "output"
}
]
}
+37
View File
@@ -0,0 +1,37 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "mouseclick",
"language": "javascript",
"extension": "webaudio",
"help": "Mouse Click",
"label": "Mouse Click",
"color": "50:50:50:150",
"group": "Input Device",
"codes": {
"function": "\n// ----------------- Mouse click ----------------------------\n// Variable to keep output ports\nvar x_click_ports = [];\nvar y_click_ports = [];\nvar button_click_ports = [];\n\ndocument.onmousedown = getMouseClick;\nfunction getMouseClick(event) {\n // X value\n for (var i = 0; i < x_click_ports.length ; i++)\n for (var j = 0; j < x_click_ports[i].length ; j++)\n x_click_ports[i][j](event.x);\n\n // Y value\n for (var i = 0; i < y_click_ports.length ; i++)\n for (var j = 0; j < y_click_ports[i].length ; j++)\n y_click_ports[i][j](event.y);\n\n // Button value\n for (var i = 0; i < button_click_ports.length ; i++)\n for (var j = 0; j < button_click_ports[i].length ; j++)\n button_click_ports[i][j](event.button);\n\n return true\n}\n// ----------------- Mouse position ----------------------------\n",
"declaration": "\n// block_$id$ = Mouse\nvar $port[x]$ = [];\nvar $port[y]$ = [];\nvar $port[button]$ = [];\nx_click_ports.push($port[x]$);\ny_click_ports.push($port[y]$);\nbutton_click_ports.push($port[button]$);\n"
},
"properties": [],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"conn_type": "Output",
"name": "x",
"label": "X"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"conn_type": "Output",
"name": "y",
"label": "Y"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"conn_type": "Output",
"name": "button",
"label": "Button"
}
]
}
+31
View File
@@ -0,0 +1,31 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "mouseposition",
"language": "javascript",
"extension": "webaudio",
"help": "Mouse Position",
"label": "Mouse Position",
"color": "50:50:50:150",
"group": "Input Device",
"codes": {
"function": "\n// ----------------- Mouse position ----------------------------\n// Detect if the browser is IE or not.\n// If it is not IE, we assume that the browser is NS.\nvar IE = document.all?true:false\n\n// If NS -- that is, !IE -- then set up for mouse capture\nif (!IE) document.captureEvents(Event.MOUSEMOVE)\n\n// Set-up to use getMouseXY function onMouseMove\ndocument.onmousemove = getMouseXY;\n\n// Temporary variables to hold mouse x-y pos.s\nvar tempX = 0\nvar tempY = 0\n\n// Variable to keep output ports\nvar x_ports = [];\nvar y_ports = [];\n\n// Main function to retrieve mouse x-y pos.s\n\nfunction getMouseXY(e) {\n if (IE) { // grab the x-y pos.s if browser is IE\n tempX = event.clientX + document.body.scrollLeft\n tempY = event.clientY + document.body.scrollTop\n } else { // grab the x-y pos.s if browser is NS\n tempX = e.pageX\n tempY = e.pageY\n }\n // catch possible negative values in NS4\n if (tempX < 0){tempX = 0}\n if (tempY < 0){tempY = 0}\n\n // X value\n for (var i = 0; i < x_ports.length ; i++)\n for (var j = 0; j < x_ports[i].length ; j++)\n x_ports[i][j](tempX);\n\n // Y value\n for (var i = 0; i < y_ports.length ; i++)\n for (var j = 0; j < y_ports[i].length ; j++)\n y_ports[i][j](tempY);\n return true\n}\n// ----------------- Mouse position ----------------------------\n",
"declaration": "\n// block_$id$ = Mouse\nvar $port[x]$ = [];\nvar $port[y]$ = [];\nx_ports.push($port[x]$);\ny_ports.push($port[y]$);\n"
},
"properties": [],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"conn_type": "Output",
"name": "x",
"label": "X"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"conn_type": "Output",
"name": "y",
"label": "Y"
}
]
}
@@ -0,0 +1,32 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "orientationchange",
"language": "javascript",
"extension": "webaudio",
"help": "Orientation Change",
"label": "Orientation Change",
"color": "50:50:50:150",
"group": "Input Device",
"codes": {
"onload": "\nwindow.addEventListener('orientationchange', onOrientationChange$id$, false);\n ",
"declaration": "\nvar $port[portrait]$ = [];\nvar $port[landscape]$ = [];\n\nfunction onOrientationChange$id$(event){\n var isPortrait = window.orientation % 180 === 0;\n if (window.orientation % 180 === 0) {\n for (var i = 0 ; i < $port[portrait]$.length ; i++)\n $port[portrait]$[i](isPortrait);\n \n } else { \n for (var i = 0 ; i < $port[landscape]$.length ; i++)\n $port[landscape]$[i](isPortrait);\n } \n}\n",
"execution": "\nonOrientationChange$id$();\n"
},
"properties": [],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.bool",
"conn_type": "Output",
"name": "portrait",
"label": "Portrait"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.bool",
"conn_type": "Output",
"name": "landscape",
"label": "Landscape"
}
]
}
+49
View File
@@ -0,0 +1,49 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "random",
"language": "javascript",
"extension": "webaudio",
"help": "Random",
"label": "Random",
"color": "150:150:250:150",
"group": "Input Device",
"codes": {
"declaration": "\n// block_$id$ = $label$\nvar block_$id$_min = $prop[min]$;\nvar block_$id$_max = $prop[max]$;\nvar $port[float]$ = [];\n\nvar $port[generate]$ = function(value){\n value = Math.floor((Math.random() * (block_$id$_max - block_$id$_min)) + block_$id$_min);\n for (var i = 0; i < $port[float]$.length ; i++){\n $port[float]$[i](value);\n }\n return true;\n };\n\n"
},
"properties": [
{
"name": "min",
"label": "Min",
"type": "Float",
"lower": -20000,
"upper": 20000,
"step": 1,
"value": 1
},
{
"name": "max",
"label": "Max",
"type": "Float",
"lower": -20000,
"upper": 20000,
"step": 1,
"value": 100
}
],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Float",
"conn_type": "Output",
"name": "float"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Generate",
"conn_type": "Input",
"name": "generate"
}
]
}
+31
View File
@@ -0,0 +1,31 @@
{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "upkeyboard",
"language": "javascript",
"extension": "webaudio",
"help": "UpKeyboard",
"label": "UpKeyboard",
"color": "50:150:250:150",
"group": "Input Device",
"codes": {
"function": "\nvar keyboard_char_output = [];\nvar keyboard_float_output = [];\ndocument.onkeyup = function(evt){\n evt = evt || window.event;\n\n var value = evt.keyCode || evt.which;\n for (var i = 0; i < keyboard_float_output.length ; i++)\n for (var j = 0; j < keyboard_float_output[i].length ; j++)\n keyboard_float_output[i][j](value);\n\n value = String.fromCharCode(value);\n for (var i = 0; i < keyboard_char_output.length ; i++)\n for (var j = 0; j < keyboard_char_output[i].length ; j++)\n keyboard_char_output[i][j](value);\n};\n",
"declaration": "\n// block_$id$ = KeyBoard Input\nvar $port[char_output]$ = [];\nvar $port[float_output]$ = [];\nkeyboard_char_output.push($port[char_output]$);\nkeyboard_float_output.push($port[float_output]$);\n"
},
"properties": [],
"ports": [
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.float",
"label": "Float Output",
"conn_type": "Output",
"name": "float_output"
},
{
"type": "mosaicode_lib_javascript_webaudio.extensions.ports.char",
"label": "Char Output",
"conn_type": "Output",
"name": "char_output"
}
]
}