{"id":130,"date":"2026-08-27T09:30:20","date_gmt":"2026-08-27T06:30:20","guid":{"rendered":"https:\/\/mzxbox.ru\/?page_id=130"},"modified":"2026-08-27T13:41:12","modified_gmt":"2026-08-27T10:41:12","slug":"130-2","status":"publish","type":"page","link":"https:\/\/mzxbox.ru\/?page_id=130","title":{"rendered":"Simple filter"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">catalogTestFilter.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 Filter Plugin\",\n\t\"purpose\": \"Filter\",\n\t\"kind\": \"tesFilterPluginV1_0\",\n\t\"ui\": \"http:\/\/127.0.0.1:8080\/filter\/ui3.html\",\n\t\"evaluate\": \"createNewTestFilterPlugin\",\n\t\"script\": \"http:\/\/127.0.0.1:8080\/filter\/plugin3.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 Filter 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;Filter&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;tesFilterPluginV1_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\/filter\/ui3.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;createNewTestFilterPlugin&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\/filter\/plugin3.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\">plugin3.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 createNewTestFilterPlugin() {\n\tlet audioContext = null;\n\tlet inputGainNode;\n\tlet outputGainNode;\n\tlet flanger;\n\tlet properties = {\n\t\tspeed: 1\n\t};\n\n\tfunction flangerNode(audioContext, fromNode, toNode) {\n\t\tlet inputGainNode = audioContext.createGain();\n\t\tlet wetGainNode = audioContext.createGain();\n\t\tlet delayNode = audioContext.createDelay();\n\t\tlet gainNode = audioContext.createGain();\n\t\tlet feedbackGainNode = audioContext.createGain();\n\t\tlet oscillatorNode = audioContext.createOscillator();\n\n\t\toscillatorNode.connect(gainNode);\n\t\tgainNode.connect(delayNode.delayTime);\n\t\tinputGainNode.connect(wetGainNode);\n\t\tinputGainNode.connect(delayNode);\n\t\tdelayNode.connect(wetGainNode);\n\t\tdelayNode.connect(feedbackGainNode);\n\t\tfeedbackGainNode.connect(inputGainNode);\n\n\t\toscillatorNode.type = 'sine';\n\t\toscillatorNode.start(0);\n\n\t\tthis.reset = function (delay, depth, feedback, speed) {\n\t\t\tdelayNode.delayTime.value = delay;\n\t\t\tgainNode.gain.value = depth;\n\t\t\tfeedbackGainNode.gain.value = feedback;\n\t\t\toscillatorNode.frequency.value = speed;\n\t\t};\n\t\tfromNode.connect(inputGainNode);\n\t\twetGainNode.connect(toNode);\n\t\tthis.reset(0.005, 0.01, 0.5, 0.25);\n\t\treturn this;\n\t}\n\treturn {\n\t\tlaunch: (context, parameters) => {\n\t\t\tif (!(inputGainNode)) {\n\t\t\t\taudioContext = context;\n\n\t\t\t\tinputGainNode = audioContext.createGain();\n\t\t\t\toutputGainNode = audioContext.createGain();\n\t\t\t\tflanger = flangerNode(audioContext, inputGainNode, outputGainNode);\n\n\t\t\t}\n\t\t\tif (parameters) {\n\t\t\t\tproperties = parameters;\n\t\t\t\tflanger.reset(0.005, 0.01, 0.5, properties.speed);\n\t\t\t}\n\t\t},\n\t\tbusy: () => {\n\t\t\treturn false;\n\t\t},\n\t\tschedule: (when, tempo, parameters) => {\n\t\t\tif (parameters) {\n\t\t\t\tlet point = parameters;\n\t\t\t\tflanger.speed = point.speed;\n\t\t\t\tflanger.reset(0.005, 0.01, 0.5, point.speed);\n\t\t\t}\n\t\t},\n\t\toutput: () => {\n\t\t\treturn outputGainNode;\n\t\t},\n\t\tinput: () => {\n\t\t\treturn inputGainNode;\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\">createNewTestFilterPlugin<\/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\">inputGainNode<\/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\">outputGainNode<\/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\">flanger<\/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\">speed:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1<\/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\">\t<\/span><span style=\"color: #0000FF\">function<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">flangerNode<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">audioContext<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">fromNode<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">toNode<\/span><span style=\"color: #000000\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">inputGainNode<\/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<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">wetGainNode<\/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<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">delayNode<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">audioContext<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">createDelay<\/span><span style=\"color: #000000\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">gainNode<\/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<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">feedbackGainNode<\/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<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">oscillatorNode<\/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>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">oscillatorNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">gainNode<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">gainNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">delayNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">delayTime<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">inputGainNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">wetGainNode<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">inputGainNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">delayNode<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">delayNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">wetGainNode<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">delayNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">feedbackGainNode<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">feedbackGainNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">inputGainNode<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">oscillatorNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">type<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #A31515\">&#39;sine&#39;<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">oscillatorNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">start<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #0000FF\">this<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">reset<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #0000FF\">function<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">delay<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">depth<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">feedback<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">speed<\/span><span style=\"color: #000000\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #001080\">delayNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">delayTime<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">value<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">delay<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #001080\">gainNode<\/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\">depth<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #001080\">feedbackGainNode<\/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\">feedback<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t<\/span><span style=\"color: #001080\">oscillatorNode<\/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: #001080\">speed<\/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: #001080\">fromNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">inputGainNode<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #001080\">wetGainNode<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">toNode<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #0000FF\">this<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">reset<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #098658\">0.005<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #098658\">0.01<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #098658\">0.5<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #098658\">0.25<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t<\/span><span style=\"color: #AF00DB\">return<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">this<\/span><span style=\"color: #000000\">;<\/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: #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\">inputGainNode<\/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>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">inputGainNode<\/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\t<\/span><span style=\"color: #001080\">outputGainNode<\/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\t<\/span><span style=\"color: #001080\">flanger<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #795E26\">flangerNode<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">audioContext<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">inputGainNode<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">outputGainNode<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><\/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\t<\/span><span style=\"color: #001080\">flanger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">reset<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #098658\">0.005<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #098658\">0.01<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #098658\">0.5<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">properties<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">speed<\/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\">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\">schedule<\/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\">tempo<\/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\">parameters<\/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\">point<\/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\">flanger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">speed<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">point<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">speed<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\t\t\t\t<\/span><span style=\"color: #001080\">flanger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">reset<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #098658\">0.005<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #098658\">0.01<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #098658\">0.5<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">point<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">speed<\/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\">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\">outputGainNode<\/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\">input<\/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\">inputGainNode<\/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\">ui3.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 Filter Plugin&lt;\/h1>\n\t&lt;p>Flanger speed&lt;\/p>\n\t&lt;p>&lt;input type=\"range\" id=\"flangerslider\" min=\"0.05\" max=\"0.5\" step=\"0.05\" onchange=\"setSpeed(this.value);\" \/>&lt;\/p>\n&lt;\/body>\n&lt;script>\n\tlet dialigId = '';\n\tlet properties = {\n\t\tspeed: 0.25\n\t};\n\n\tfunction setSpeed(ss) {\n\t\tproperties.speed = ss;\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\tsetSpeed(properties.speed);\n\t\t\t}\n\t\t\tdocument.getElementById('flangerslider').value = properties.speed;\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 Filter 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\">Flanger speed<\/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;flangerslider&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">min<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;0.05&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">max<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;0.5&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">step<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;0.05&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">onchange<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;setSpeed(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: #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\">speed<\/span><span style=\"color: #000000FF\">: <\/span><span style=\"color: #098658\">0.25<\/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 setSpeed(ss) <\/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\">speed<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #000000FF\"> <\/span><span style=\"color: #001080\">ss<\/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\t<\/span><span style=\"color: #795E26\">setSpeed<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #001080\">properties<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #001080\">speed<\/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;flangerslider&#39;<\/span><span style=\"color: #001080\">).value = properties.speed;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">\t\t} else {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">\t\t\tdialigId = messageEvent.data.hostData;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">\t\t}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">\t}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #001080\">\tfunction postMessageToHost() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">\t\twindow.parent.postMessage({<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">\t\t\tdialogID:<\/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>catalogTestFilter.json plugin3.ts ui3.html<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":112,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"mzxbox-template-front","meta":{"footnotes":""},"class_list":["post-130","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mzxbox.ru\/index.php?rest_route=\/wp\/v2\/pages\/130","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=130"}],"version-history":[{"count":4,"href":"https:\/\/mzxbox.ru\/index.php?rest_route=\/wp\/v2\/pages\/130\/revisions"}],"predecessor-version":[{"id":154,"href":"https:\/\/mzxbox.ru\/index.php?rest_route=\/wp\/v2\/pages\/130\/revisions\/154"}],"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=130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}