{ "source": "JSON", "data": "BLOCK", "version": "0.0.1", "type": "playback", "language": "javascript", "extension": "webaudio", "help": "Playback", "label": "Playback", "color": "150:150:250:150", "group": "Sound", "codes": { "declaration": "\nvar block_$id$ = context.createBufferSource();\nvar $port[output]$ = block_$id$;\n", "html": "\n$prop[label]$ \n", "execution": "\nfunction handleFile_$id$() {\n var input_pb_$id$ = document.getElementById(\"pb_$id$\");\n input_pb_$id$.addEventListener(\"change\", handleFile_$id$, false);\n\n var reader = new FileReader();\n reader.onload = function(ev) {\n context.decodeAudioData(ev.target.result, function(buffer) {\n block_$id$.buffer = buffer;\n block_$id$.loop = (\"$prop[loop]$\" == \"True\");\n });\n };\n reader.readAsArrayBuffer(input_pb_$id$.files[0]);\n $port[output]$.start();\n}\n", "onload": "" }, "properties": [ { "name": "loop", "label": "Loop", "type": "Check", "value": "True" }, { "name": "label", "label": "Label", "type": "String", "value": "Playback" } ], "ports": [ { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.sound", "label": "Output", "conn_type": "Output", "name": "output" } ] }