{"id":124,"date":"2026-08-27T09:27:00","date_gmt":"2026-08-27T06:27:00","guid":{"rendered":"https:\/\/mzxbox.ru\/?page_id=124"},"modified":"2026-08-27T13:31:30","modified_gmt":"2026-08-27T10:31:30","slug":"124-2","status":"publish","type":"page","link":"https:\/\/mzxbox.ru\/?page_id=124","title":{"rendered":"Simple performer"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">catalogTestPerformer.json<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#FFFFFF\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>{\n\t\"label\": \"Test Performer Plugin\",\n\t\"purpose\": \"Performer\",\n\t\"kind\": \"testPerformerPluginV1_0\",\n\t\"ui\": \"http:\/\/127.0.0.1:8080\/performer\/ui1.html\",\n\t\"evaluate\": \"createNewTestPerformerPlugin\",\n\t\"script\": \"http:\/\/127.0.0.1:8080\/performer\/plugin1.js\"\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #A31515\">&quot;label&quot;<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #A31515\">&quot;Test Performer Plugin&quot;<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #A31515\">&quot;purpose&quot;<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #A31515\">&quot;Performer&quot;<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #A31515\">&quot;kind&quot;<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #A31515\">&quot;testPerformerPluginV1_0&quot;<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #A31515\">&quot;ui&quot;<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #A31515\">&quot;http:\/\/127.0.0.1:8080\/performer\/ui1.html&quot;<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #A31515\">&quot;evaluate&quot;<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #A31515\">&quot;createNewTestPerformerPlugin&quot;<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #A31515\">&quot;script&quot;<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #A31515\">&quot;http:\/\/127.0.0.1:8080\/performer\/plugin1.js&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">plugin1.ts<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#FFFFFF\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>function createNewTestPerformerPlugin() {\n\tlet audioContext = null;\n\tlet outputVolume = null;\n\tlet properties = {\n\t\tvolume: 0.7,\n\t\tkind: 'sine'\n\t};\n\tlet nodes = [];\n\treturn {\n\t\tlaunch: (context, parameters) => {\n\t\t\tif (!(outputVolume)) {\n\t\t\t\taudioContext = context;\n\t\t\t\toutputVolume = audioContext.createGain();\n\t\t\t}\n\t\t\tif (parameters) {\n\t\t\t\tproperties = parameters;\n\t\t\t}\n\t\t\toutputVolume.gain.value = properties.volume;\n\t\t},\n\t\tbusy: () => {\n\t\t\treturn false;\n\t\t},\n\t\tstrum: (when, pitches, tempo, slides) => {\n\t\t\tconst wholeDUration = slides.reduce((sum, currentSlide) => sum + currentSlide.duration, 0);\n\t\t\tpitches.forEach((singlePitch) => {\n\t\t\t\tlet beep = audioContext.createOscillator();\n\t\t\t\tbeep.frequency.value = 440 * Math.pow(Math.pow(2, (1 \/ 12)), singlePitch - 69);\n\t\t\t\tbeep.type = properties.kind;\n\t\t\t\tbeep.connect(outputVolume);\n\t\t\t\tbeep.start(when);\n\t\t\t\tbeep.stop(when + wholeDUration);\n\t\t\t\tnodes.push(beep);\n\t\t\t});\n\t\t},\n\t\tcancel: () => {\n\t\t\tnodes.forEach((node) => {\n\t\t\t\tnode.disconnect();\n\t\t\t});\n\t\t\tnodes = [];\n\t\t},\n\t\toutput: () => {\n\t\t\treturn outputVolume;\n\t\t}\n\t};\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">function<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">createNewTestPerformerPlugin<\/span><span style=\"color: #000000\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">audioContext<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #0000FF\">null<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">outputVolume<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #0000FF\">null<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">properties<\/span><span style=\"color: #000000\"> = {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">volume:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0.7<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">kind:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">&#39;sine&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t};<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">nodes<\/span><span style=\"color: #000000\"> = [];<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #AF00DB\">return<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #795E26\">launch<\/span><span style=\"color: #001080\">:<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">context<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">) <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #AF00DB\">if<\/span><span style=\"color: #000000\"> (!(<\/span><span style=\"color: #001080\">outputVolume<\/span><span style=\"color: #000000\">)) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">audioContext<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">context<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">outputVolume<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">audioContext<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">createGain<\/span><span style=\"color: #000000\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #AF00DB\">if<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">properties<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #001080\">outputVolume<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">gain<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">value<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">properties<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">volume<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t},<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #795E26\">busy<\/span><span style=\"color: #001080\">:<\/span><span style=\"color: #000000\"> () <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #AF00DB\">return<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">false<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t},<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #795E26\">strum<\/span><span style=\"color: #001080\">:<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">when<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">pitches<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">tempo<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">slides<\/span><span style=\"color: #000000\">) <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">wholeDUration<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">slides<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">reduce<\/span><span style=\"color: #000000\">((<\/span><span style=\"color: #001080\">sum<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">currentSlide<\/span><span style=\"color: #000000\">) <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">sum<\/span><span style=\"color: #000000\"> + <\/span><span style=\"color: #001080\">currentSlide<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">duration<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #001080\">pitches<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">forEach<\/span><span style=\"color: #000000\">((<\/span><span style=\"color: #001080\">singlePitch<\/span><span style=\"color: #000000\">) <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">beep<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">audioContext<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">createOscillator<\/span><span style=\"color: #000000\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">beep<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">frequency<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">value<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #098658\">440<\/span><span style=\"color: #000000\"> * <\/span><span style=\"color: #001080\">Math<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">pow<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">Math<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">pow<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">, (<\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\"> \/ <\/span><span style=\"color: #098658\">12<\/span><span style=\"color: #000000\">)), <\/span><span style=\"color: #001080\">singlePitch<\/span><span style=\"color: #000000\"> - <\/span><span style=\"color: #098658\">69<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">beep<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">type<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">properties<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">kind<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">beep<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">outputVolume<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">beep<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">start<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">when<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">beep<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">stop<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">when<\/span><span style=\"color: #000000\"> + <\/span><span style=\"color: #001080\">wholeDUration<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">nodes<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">push<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">beep<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t});<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t},<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #795E26\">cancel<\/span><span style=\"color: #001080\">:<\/span><span style=\"color: #000000\"> () <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #001080\">nodes<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">forEach<\/span><span style=\"color: #000000\">((<\/span><span style=\"color: #001080\">node<\/span><span style=\"color: #000000\">) <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">node<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">disconnect<\/span><span style=\"color: #000000\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t});<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #001080\">nodes<\/span><span style=\"color: #000000\"> = [];<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t},<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #795E26\">output<\/span><span style=\"color: #001080\">:<\/span><span style=\"color: #000000\"> () <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #AF00DB\">return<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">outputVolume<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t};<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">ui1.html<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#FFFFFF\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;html>\n\n&lt;head>\n\t&lt;style>\n\t\tbody {\n\t\t\tbackground: silver;\n\t\t}\n\t&lt;\/style>\n&lt;\/head>\n\n&lt;body>\n\t&lt;h1>Test Performer Plugin&lt;\/h1>\n\t&lt;p>Volume&lt;\/p>\n\t&lt;p>&lt;input type=\"range\" id=\"volumeslider\" min=\"0\" max=\"1\" step=\"0.1\" onchange=\"setVolume(this.value);\" \/>&lt;\/p>\n\t&lt;p>Wave type&lt;\/p>\n\t&lt;p>\n\t\t&lt;input type=\"radio\" id=\"wave1\" name=\"beepkind\" onclick=\"setKind('sine');\" \/>Sine\n\t\t&lt;br \/>\n\t\t&lt;input type=\"radio\" id=\"wave2\" name=\"beepkind\" onclick=\"setKind('square');\" \/>Square\n\t\t&lt;br \/>\n\t\t&lt;input type=\"radio\" id=\"wave3\" name=\"beepkind\" onclick=\"setKind('sawtooth');\" \/>Sawtooth\n\t\t&lt;br \/>\n\t\t&lt;input type=\"radio\" id=\"wave4\" name=\"beepkind\" onclick=\"setKind('triangle');\" \/>Triangle\n\t&lt;\/p>\n&lt;\/body>\n&lt;script>\n\tlet dialigId = '';\n\tlet properties = {\n\t\tvolume: 0.7,\n\t\tkind: 'sine'\n\t};\n\n\tfunction setKind(kind) {\n\t\tproperties.kind = kind;\n\t\tpostMessageToHost();\n\t}\n\n\tfunction setVolume(nn) {\n\t\tproperties.volume = nn;\n\t\tpostMessageToHost();\n\t}\n\n\tfunction onHostMessage(messageEvent) {\n\t\tif (dialigId) {\n\t\t\tif (messageEvent.data.hostData) {\n\t\t\t\tproperties = messageEvent.data.hostData;\n\t\t\t}\n\t\t\tdocument.getElementById('volumeslider').value = properties.volume;\n\t\t\tswitch (properties.kind) {\n\t\t\t\tcase 'sine':\n\t\t\t\t\tdocument.getElementById('wave1').checked = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'square':\n\t\t\t\t\tdocument.getElementById('wave2').checked = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'sawtooth':\n\t\t\t\t\tdocument.getElementById('wave3').checked = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tdocument.getElementById('wave4').checked = true;\n\t\t\t}\n\t\t} else {\n\t\t\tdialigId = messageEvent.data.hostData;\n\t\t}\n\t}\n\n\tfunction postMessageToHost() {\n\t\twindow.parent.postMessage({\n\t\t\tdialogID: dialigId,\n\t\t\tpluginData: properties,\n\t\t\tdone: false,\n\t\t\tscreenWait: false\n\t\t}, '*');\n\t}\n\twindow.addEventListener('message', onHostMessage, false);\n\tpostMessageToHost();\n&lt;\/script>\n\n&lt;\/html><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #800000\">&lt;html&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #800000\">&lt;head&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #800000\">&lt;style&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\tbody <\/span><span style=\"color: #0000FF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t<\/span><span style=\"color: #001080\">background<\/span><span style=\"color: #000000FF\">: <\/span><span style=\"color: #001080\">silver<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #0000FF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #800000\">&lt;\/style&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #800000\">&lt;\/head&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #800000\">&lt;body&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #800000\">&lt;h1&gt;<\/span><span style=\"color: #000000\">Test Performer Plugin<\/span><span style=\"color: #800000\">&lt;\/h1&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #800000\">&lt;p&gt;<\/span><span style=\"color: #000000\">Volume<\/span><span style=\"color: #800000\">&lt;\/p&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #800000\">&lt;p&gt;&lt;input<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">type<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;range&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">id<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;volumeslider&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">min<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;0&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">max<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;1&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">step<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;0.1&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">onchange<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;setVolume(this.value);&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;&lt;\/p&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #800000\">&lt;p&gt;<\/span><span style=\"color: #000000\">Wave type<\/span><span style=\"color: #800000\">&lt;\/p&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #800000\">&lt;p&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #800000\">&lt;input<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">type<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;radio&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">id<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;wave1&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">name<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;beepkind&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">onclick<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;setKind(&#39;sine&#39;);&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><span style=\"color: #000000\">Sine<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #800000\">&lt;br<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #800000\">&lt;input<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">type<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;radio&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">id<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;wave2&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">name<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;beepkind&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">onclick<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;setKind(&#39;square&#39;);&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><span style=\"color: #000000\">Square<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #800000\">&lt;br<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #800000\">&lt;input<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">type<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;radio&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">id<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;wave3&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">name<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;beepkind&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">onclick<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;setKind(&#39;sawtooth&#39;);&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><span style=\"color: #000000\">Sawtooth<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #800000\">&lt;br<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #800000\">&lt;input<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">type<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;radio&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">id<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;wave4&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">name<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;beepkind&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">onclick<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;setKind(&#39;triangle&#39;);&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><span style=\"color: #000000\">Triangle<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t<\/span><span style=\"color: #800000\">&lt;\/p&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #800000\">&lt;\/body&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #800000\">&lt;script&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\tlet dialigId = &#39;&#39;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\tlet properties = <\/span><span style=\"color: #0000FF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #001080\">volume<\/span><span style=\"color: #000000FF\">: <\/span><span style=\"color: #098658\">0.7<\/span><span style=\"color: #000000FF\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #001080\">kind<\/span><span style=\"color: #000000FF\">: <\/span><span style=\"color: #A31515\">&#39;sine&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\tfunction setKind(kind) <\/span><span style=\"color: #0000FF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #001080\">properties<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #001080\">kind<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #001080\">kind<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #795E26\">postMessageToHost<\/span><span style=\"color: #000000FF\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t<\/span><span style=\"color: #0000FF\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\tfunction setVolume(nn) <\/span><span style=\"color: #0000FF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #001080\">properties<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #001080\">volume<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #001080\">nn<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #795E26\">postMessageToHost<\/span><span style=\"color: #000000FF\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t<\/span><span style=\"color: #0000FF\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\tfunction onHostMessage(messageEvent) <\/span><span style=\"color: #0000FF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #795E26\">if<\/span><span style=\"color: #000000FF\"> (<\/span><span style=\"color: #001080\">dialigId<\/span><span style=\"color: #000000FF\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t<\/span><span style=\"color: #795E26\">if<\/span><span style=\"color: #000000FF\"> (messageEvent.data.hostData) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t<\/span><span style=\"color: #001080\">properties<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #001080\">messageEvent<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #001080\">data<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #001080\">hostData<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\tdocument.getElementById(<\/span><span style=\"color: #A31515\">&#39;volumeslider&#39;<\/span><span style=\"color: #001080\">).value = properties.volume;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">\t\t\tswitch (properties.kind) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">\t\t\t\tcase <\/span><span style=\"color: #A31515\">&#39;sine&#39;<\/span><span style=\"color: #001080\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t\t<\/span><span style=\"color: #001080\">document<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">getElementById<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #A31515\">&#39;wave1&#39;<\/span><span style=\"color: #000000FF\">).<\/span><span style=\"color: #001080\">checked<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #0000FF\">true<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t\t<\/span><span style=\"color: #001080\">break<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t<\/span><span style=\"color: #001080\">case<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #A31515\">&#39;square&#39;<\/span><span style=\"color: #000000FF\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t\t<\/span><span style=\"color: #001080\">document<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">getElementById<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #A31515\">&#39;wave2&#39;<\/span><span style=\"color: #000000FF\">).<\/span><span style=\"color: #001080\">checked<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #0000FF\">true<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t\t<\/span><span style=\"color: #001080\">break<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t<\/span><span style=\"color: #001080\">case<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #A31515\">&#39;sawtooth&#39;<\/span><span style=\"color: #000000FF\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t\t<\/span><span style=\"color: #001080\">document<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">getElementById<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #A31515\">&#39;wave3&#39;<\/span><span style=\"color: #000000FF\">).<\/span><span style=\"color: #001080\">checked<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #0000FF\">true<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t\t<\/span><span style=\"color: #001080\">break<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t<\/span><span style=\"color: #001080\">default<\/span><span style=\"color: #000000FF\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t\t\t<\/span><span style=\"color: #001080\">document<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">getElementById<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #A31515\">&#39;wave4&#39;<\/span><span style=\"color: #000000FF\">).<\/span><span style=\"color: #001080\">checked<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #0000FF\">true<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #000000\"> else <\/span><span style=\"color: #0000FF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t<\/span><span style=\"color: #001080\">dialigId<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #001080\">messageEvent<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #001080\">data<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #001080\">hostData<\/span><span style=\"color: #000000FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #0000FF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\tfunction postMessageToHost() <\/span><span style=\"color: #0000FF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t<\/span><span style=\"color: #001080\">window<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #001080\">parent<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">postMessage<\/span><span style=\"color: #000000FF\">({<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t<\/span><span style=\"color: #001080\">dialogID:<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #001080\">dialigId<\/span><span style=\"color: #000000FF\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t<\/span><span style=\"color: #001080\">pluginData:<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #001080\">properties<\/span><span style=\"color: #000000FF\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t<\/span><span style=\"color: #001080\">done:<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #0000FF\">false<\/span><span style=\"color: #000000FF\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t\t<\/span><span style=\"color: #001080\">screenWait:<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #0000FF\">false<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t\t}, <\/span><span style=\"color: #A31515\">&#39;*&#39;<\/span><span style=\"color: #000000FF\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000FF\">\t<\/span><span style=\"color: #0000FF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\twindow.addEventListener(&#39;message&#39;, onHostMessage, false);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\tpostMessageToHost();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #800000\">&lt;\/script&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #800000\">&lt;\/html&gt;<\/span><\/span><\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>catalogTestPerformer.json plugin1.ts ui1.html<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":112,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"mzxbox-template-front","meta":{"footnotes":""},"class_list":["post-124","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mzxbox.ru\/index.php?rest_route=\/wp\/v2\/pages\/124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mzxbox.ru\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mzxbox.ru\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mzxbox.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mzxbox.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=124"}],"version-history":[{"count":4,"href":"https:\/\/mzxbox.ru\/index.php?rest_route=\/wp\/v2\/pages\/124\/revisions"}],"predecessor-version":[{"id":150,"href":"https:\/\/mzxbox.ru\/index.php?rest_route=\/wp\/v2\/pages\/124\/revisions\/150"}],"up":[{"embeddable":true,"href":"https:\/\/mzxbox.ru\/index.php?rest_route=\/wp\/v2\/pages\/112"}],"wp:attachment":[{"href":"https:\/\/mzxbox.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}