{ "source": "JSON", "data": "BLOCK", "version": "0.0.1", "type": "javascript.playback", "language": "javascript", "extension": "webaudio", "help": "Playback", "label": "Playback", "color": "#D3C124", "group": "Sound", "codes": [ { "name": "declaration", "code": "\nvar block_$id$ = context.createBufferSource();\nvar $port[output]$ = block_$id$;\n" }, { "name": "html", "code": "\n$prop[label]$ \n" }, { "name": "execution", "code": "\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" }, { "name": "onload", "code": "" } ], "properties": [ { "name": "loop", "label": "Loop", "type": "Check", "value": "True" }, { "name": "label", "label": "Label", "type": "String", "value": "Playback" } ], "ports": [ { "conn_type": "output", "name": "output", "label": "Output", "type": "javascript.sound" } ] }