LJ/webui/index.html

1767 lines
81 KiB
HTML

<!DOCTYPE html>
<!-- Head block -->
<!-- DO NOT EDIT index.html page. Edit the right block then python build.py -->
<!--
LJ webapp 'mg' stand for main grid elements
-->
<html>
<head>
<meta charset="utf-8">
<title>LJ</title>
<!-- Web audio buttons defaults -->
<script src="webcomponents-lite.js"></script>
<script>
WebAudioControlsOptions={
useMidi:1,
knobSrc:"knobs/simplegray.png",
knobSprites:100,
switchSrc:"knobs/switch_toggle.png",
sliderSrc:"knobs/vsliderbody.png",
sliderKnobsrc:"knobs/vsliderknob.png",
}
</script>
<script src="webaudio-controls.js"></script>
<link rel="stylesheet" href="LJgrid.css" />
<link rel="stylesheet" type="text/css" href="selector.min.css">
<script type="application/javascript" src="selector.min.js"></script>
<!-- Javascript for this webapp is a the end of this html page and in LJ.js -->
<script src="LJ.js"></script>
</head>
<body style="background-color:#222;">
<!--
MainGrid : Webpage one column, different raws displayed or hidden by menu button
-->
<div class="maingrid">
<!-- End of Header block -->
<!--
Title block and laser state
-->
<div class="mgtitle">
<!-- LJ Logo -->
<div><img src="knobs/ljaylogo.png">
</div>
<!-- ON OFF button -->
<div class="onoffgrid">
<div class="lasertextxs">/on</div>
<div><webaudio-switch id="on" height="57" width="57" value="0" src="knobs/onoff3.png" type="toggle"></webaudio-switch></div>
</div>
<!-- Lasers states grid -->
<div class="lsttgrid">
<div></div>
<div></div>
<div class="lasertextxs">S</div>
<div class="lasertextxs">C</div>
<!-- Laser 0 lstt & lack -->
<div class="lasertextxs">0</div>
<div></div>
<div><webaudio-knob id="lstt/0" src="knobs/leds.png" height="17" width="17" diameter="17" min="0" max="6" value="0" sprites="6"></webaudio-knob></div>
<div><webaudio-knob id="lack/0" src="knobs/leds.png" height="17" width="17" diameter="17" min="0" max="6" value="0" sprites="6"></webaudio-knob></div>
<!-- Laser 1 lstt & lack -->
<div class="lasertextxs">1</div>
<div></div>
<div><webaudio-knob id="lstt/1" src="knobs/leds.png" height="17" width="17" diameter="17" min="0" max="6" value="0" sprites="6"></webaudio-knob></div>
<div><webaudio-knob id="lack/1" src="knobs/leds.png" height="17" width="17" diameter="17" min="0" max="6" value="0" sprites="6"></webaudio-knob></div>
<!-- Laser 2 lstt & lack -->
<div class="lasertextxs">2</div>
<div></div>
<div><webaudio-knob id="lstt/2" src="knobs/leds.png" height="17" width="17" diameter="17" min="0" max="6" value="0" sprites="6"></webaudio-knob></div>
<div><webaudio-knob id="lack/2" src="knobs/leds.png" height="17" width="17" diameter="17" min="0" max="6" value="0" sprites="6"></webaudio-knob></div>
<!-- Laser 3 lstt & lack -->
<div class="lasertextxs">3</div>
<div></div>
<div><webaudio-knob id="lstt/3" src="knobs/leds.png" height="17" width="17" diameter="17" min="0" max="6" value="0" sprites="6"></webaudio-knob></div>
<div><webaudio-knob id="lack/3" src="knobs/leds.png" height="17" width="17" diameter="17" min="0" max="6" value="0" sprites="6"></webaudio-knob></div>
</div>
<!-- blackout button -->
<div class="blackout">
<div class="lasertextxs">Emergy Black</div>
<div><webaudio-switch id="emergency" height="64" width="64" value="0" src="knobs/blackout.png" type="toggle"></webaudio-switch></div>
</div>
<div>
<div class="topgrid">
<div>
<!-- Glyph destination LJ client Selection -->
<webaudio-switch id="glyph/start" value="0" height="27" width="80" tooltip="Switch-B" src="knobs/glyph.png"></webaudio-switch>
<select onclick="buttonClicked(this.value)" id="virtual" value="0">
<option value="glyph/ljclient 0">0</option>
<option value="glyph/ljclient 1">1</option>
<option value="glyph/ljclient 2">2</option>
<option value="glyph/ljclient 3">3</option>
</select>
<!-- Glyph Point List destination -->
<select onclick="buttonClicked(this.value)">
<option value="glyph/pl 0">0</option>
<option value="glyph/pl 1">1</option>
<option value="glyph/pl 2">2</option>
<option value="glyph/pl 3">3</option>
</select>
</div>
<div>
<!-- FFT destination LJ client Selection -->
<webaudio-switch id="fft/start" value="0" height="27" width="80" tooltip="Switch-B" src="knobs/fft.png"></webaudio-switch>
<select onclick="buttonClicked(this.value)" id="virtual" value="0">
<option value="fft/ljclient 0">0</option>
<option value="fft/ljclient 1">1</option>
<option value="fft/ljclient 2">2</option>
<option value="fft/ljclient 3">3</option>
</select>
<!-- FFT Point List destination -->
<select onclick="buttonClicked(this.value)">
<option value="fft/pl 0">0</option>
<option value="fft/pl 1">1</option>
<option value="fft/pl 2">2</option>
<option value="fft/pl 3">3</option>
</select>
</div>
<div>
<!-- Nozoids destination LJ client Selection -->
<webaudio-switch id="nozoid/start" value="0" height="27" width="80" tooltip="Switch-B" src="knobs/nozoids.png"></webaudio-switch>
<select onclick="buttonClicked(this.value)" id="virtual" value="0">
<option value="nozoid/ljclient 0">0</option>
<option value="nozoid/ljclient 1">1</option>
<option value="nozoid/ljclient 2">2</option>
<option value="nozoid/ljclient 3">3</option>
</select>
<!-- Nozoids Point List destination -->
<select onclick="buttonClicked(this.value)">
<option value="nozoid/pl 0">0</option>
<option value="nozoid/pl 1">1</option>
<option value="nozoid/pl 2">2</option>
<option value="nozoid/pl 3">3</option>
</select>
</div>
<!--
<div class="app">
<x-sign>
<div class="glitch __city" data-text="paris city">
</div>
<div class="glitch __info" data-text="paris city">
</div>
<div class="glitch __state">
<table class="t-info">
<tr>
<th class="xl-info" colspan="2" rowspan="2"></th>
<th class="sm-info" colspan="2"></th>
</tr>
<tr>
<td class="sm-info" colspan="2">http://www.teamlaser.fr</td>
</tr>
</table>
</div>
</x-sign>
</div>
-->
<!--
<div class="lasertext">Laser</div>
<div><webaudio-knob id="noteon" src="knobs/Prophetic5.png" diameter="70" min="16" max="20" value="0" sprites="5"></webaudio-knob></div>
<div><webaudio-param style="font-size:medium;" link="noteon"></webaudio-param></div>
<div class="lasertext">Set</div>
<div><webaudio-knob id="noteon" src="knobs/Prophetic5.png" diameter="70" min="8" max="12" value="4" sprites="5"></webaudio-knob></div>
<div class="lasertext">Curve</div>
<div><webaudio-knob id="noteon" src="knobs/Prophetic10.png" diameter="70" min="0" max="7" value="4" sprites="10"></webaudio-knob></div>
<div class="lasertext">Simu</div>
<div><webaudio-knob id="noteon" src="knobs/Prophetic5.png" diameter="70" min="24" max="28" value="0" sprites="5"></webaudio-knob></div>
-->
</div>
</div>
<div></div>
<div></div>
</div>
<!-- End of Title block -->
<!--
Menu Block : buttons and Status display
-->
<div id="mgstatus" class="mgstatus">
<div>
<!-- Horizontal menu buttons -->
<webaudio-switch id="align" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/align.png"></webaudio-switch>
<webaudio-switch id="simu" value="1" height="27" width="75" tooltip="Switch-B" src="knobs/simu.png"></webaudio-switch>
<webaudio-switch id="live" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/live.png"></webaudio-switch>
<webaudio-switch id="run" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/run.png"></webaudio-switch>
<!--
<button class="button" id="showrun" onclick="showRun()">Run</button>
<button class="button" id="shownozoid" onclick="showNozoid()">Nozoid</button>
-->
</div>
<div>
<!-- Client actually drawn Selection -->
<span class="lasertext">Scene</span>
<select onclick="buttonClicked(this.value)" id="virtual" value="0">
<option value="noteon 0">0</option>
<option value="noteon 1">1</option>
<option value="noteon 2">2</option>
<option value="noteon 3">3</option>
</select>
<!-- Point List drawn in simulator -->
<span class="lasertext">PL</span>
<select onclick="buttonClicked(this.value)">
<option value="noteon 24">0</option>
<option value="noteon 25">1</option>
<option value="noteon 26">2</option>
<option value="noteon 27">3</option>
</select>
</div>
<div>
<div>
<!-- Plugins selection menu -->
<button class="info" id="showstatus">OFFLINE</button>
<select onclick="buttonClicked(this.value)" value="lj/pluginsUI">
<option value="lj/pluginsUI">Plugins</option>
<option value="planet/planetUI">Planetarium</option>
<option value="nozoid/nozoidUI">Nozoid</option>
<option value="bank0/vjUI">VJing</option>
<option value="pose/poseUI">Pose</option>
<option value="words/wordsUI">Words</option>
<option value="ai/aiUI">AI</option>
<option value="lissa/lissaUI">Lissa</option>
</select>
<!--
<span class="lasertext">Laser</span>
<select onclick="buttonClicked(this.value)">
<option value="noteon 24" selected >0</option>
<option value="noteon 25">1</option>
<option value="noteon 26">2</option>
<option value="noteon 27">3</option>
</select>
-->
</div>
</div>
</div>
<!-- End of Menu block -->
<!--
Align grid block
-->
<div id="mgalign" class="mgalign">
<!-- Laser 0 -->
<div class="laserbox">
<!-- IP laser 0 -->
<div>
<form onsubmit="onSubmit(); return false;">
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="ip/0">
</form>
</div>
<div>
<!-- Align Icons -->
<webaudio-switch id="grid/0" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/grid.png"></webaudio-switch>
<webaudio-switch id="mouse/0" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/mouse.png"></webaudio-switch>
<!-- Blackout icon -->
<webaudio-switch id="black/0" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/blackout.png"></webaudio-switch>
<!-- Swap Icons -->
<webaudio-switch id="swap/X/0" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/swapx.png"></webaudio-switch>
<webaudio-switch id="swap/Y/0" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/swapy.png"></webaudio-switch>
</div>
<!-- Lasergrid 0 -->
<div class="lasergrid" style="background-image: url(knobs/lasergrid0.png);">
<!-- kPPS & Points-->
<div><webaudio-param id="kpps/0" link="kpps/0" ></webaudio-param></div>
<div><webaudio-param id="points/0" link="points/0"></webaudio-param></div>
<div class="lasertext">kPPS</div>
<div class="lasertext">Points</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Offset X & Offset Y -->
<div><webaudio-knob id="loffset/X/0" diameter="60" min="-320" max="320" value="0"></webaudio-knob></div>
<div><webaudio-knob id="loffset/Y/0" diameter="60" min="-320" max="320" value="0"></webaudio-knob></div>
<div class="lasertext">Offset X</div>
<div class="lasertext">Offset Y</div>
<div><webaudio-param link="loffset/X/0" value="0"></webaudio-param></div>
<div><webaudio-param link="loffset/Y/0" value="0"></webaudio-param></div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Scale X & Scale Y -->
<div><webaudio-knob id="scale/X/0" diameter="60" min="-10" max="10" value="0"></webaudio-knob></div>
<div><webaudio-knob id="scale/Y/0" diameter="60" min="-10" max="10" value="0"></webaudio-knob></div>
<div class="lasertext">Scale X</div>
<div class="lasertext">Scale Y</div>
<div><webaudio-param link="scale/X/0" value="0"></webaudio-param></div>
<div><webaudio-param link="scale/Y/0" value="0"></webaudio-param></div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Angle & Intensity -->
<div><webaudio-knob id="angle/0" diameter="60" min="-1" max="1" value="0"></webaudio-knob></div>
<div><webaudio-knob id="intens/0" diameter="60" min="0" max="127" value="127"></webaudio-knob></div>
<div class="lasertext">Angle</div>
<div class="lasertext">Intens.</div>
</div>
</div>
<!-- Laser 1 -->
<div class="laserbox">
<!-- IP laser 1 -->
<div>
<form onsubmit="onSubmit(); return false;">
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="ip/1">
</form>
</div>
<div>
<!-- Align Icons -->
<webaudio-switch id="grid/1" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/grid.png"></webaudio-switch>
<webaudio-switch id="mouse/1" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/mouse.png"></webaudio-switch>
<!-- Blackout icon -->
<webaudio-switch id="black/1" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/blackout.png"></webaudio-switch>
<!-- Swap Icons -->
<webaudio-switch id="swap/X/1" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/swapx.png"></webaudio-switch>
<webaudio-switch id="swap/Y/1" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/swapy.png"></webaudio-switch>
</div>
<!-- Lasergrid 1 -->
<div class="lasergrid" style="background-image: url(knobs/lasergrid1.png);">
<!-- kPPS & Points-->
<div><webaudio-param id="kpps/1" link="kpps/1"></webaudio-param></div>
<div><webaudio-param id="points/1" link="points/1"></webaudio-param></div>
<div class="lasertext">kPPS</div>
<div class="lasertext">Points</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Offset X & Offset Y -->
<div><webaudio-knob id="loffset/X/1" diameter="60" min="-20" max="20" value="0"></webaudio-knob></div>
<div><webaudio-knob id="loffset/Y/1" diameter="60" min="-20" max="20" value="0"></webaudio-knob></div>
<div class="lasertext">Offset X</div>
<div class="lasertext">Offset Y</div>
<div><webaudio-param link="loffset/X/1" value="0"></webaudio-param></div>
<div><webaudio-param link="loffset/Y/1" value="0"></webaudio-param></div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Scale X & Scale Y -->
<div><webaudio-knob id="scale/X/1" diameter="60" min="-10" max="10" value="0"></webaudio-knob></div>
<div><webaudio-knob id="scale/Y/1" diameter="60" min="-10" max="10" value="0"></webaudio-knob></div>
<div class="lasertext">Scale X</div>
<div class="lasertext">Scale Y</div>
<div><webaudio-param link="scale/X/1" value="0"></webaudio-param></div>
<div><webaudio-param link="scale/Y/1" value="0"></webaudio-param></div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Angle & Intensity -->
<div><webaudio-knob id="angle/1" diameter="60" min="-1" max="1" value="0"></webaudio-knob></div>
<div><webaudio-knob id="intens/1" diameter="60" min="0" max="127"value="127"></webaudio-knob></div>
<div class="lasertext">Angle</div>
<div class="lasertext">Intens.</div>
</div>
</div>
<!-- Laser 2 -->
<div class="laserbox">
<!-- IP laser 2 -->
<div>
<form onsubmit="onSubmit(); return false;">
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="ip/2">
</form>
</div>
<div>
<!-- Align Icons -->
<webaudio-switch id="grid/2" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/grid.png"></webaudio-switch>
<webaudio-switch id="mouse/2" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/mouse.png"></webaudio-switch>
<!-- Blackout icon -->
<webaudio-switch id="black/2" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/blackout.png"></webaudio-switch>
<!-- Swap Icons -->
<webaudio-switch id="swap/X/2" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/swapx.png"></webaudio-switch>
<webaudio-switch id="swap/Y/2" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/swapy.png"></webaudio-switch>
</div>
<!-- Laser 2 grid -->
<div class="lasergrid" style="background-image: url(knobs/lasergrid2.png)">
<!-- kPPS & Points-->
<div><webaudio-param id="kpps/2" link="kpps/2"></webaudio-param></div>
<div><webaudio-param id="points/2" link="points/2"></webaudio-param></div>
<div class="lasertext">kPPS</div>
<div class="lasertext">Points</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Offset X & Offset Y -->
<div><webaudio-knob id="loffset/X/2" diameter="60" min="-20" max="20" value="0"></webaudio-knob></div>
<div><webaudio-knob id="loffset/Y/2" diameter="60" min="-20" max="20" value="0"></webaudio-knob></div>
<div class="lasertext">Offset X</div>
<div class="lasertext">Offset Y</div>
<div><webaudio-param link="loffset/X/2" value="0"></webaudio-param></div>
<div><webaudio-param link="loffset/Y/2" value="0"></webaudio-param></div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Scale X & Scale Y -->
<div><webaudio-knob id="scale/X/2" diameter="60" min="-10" max="10" value="0"></webaudio-knob></div>
<div><webaudio-knob id="scale/Y/2" diameter="60" min="-10" max="10" value="0"></webaudio-knob></div>
<div class="lasertext">Scale X</div>
<div class="lasertext">Scale Y</div>
<div><webaudio-param link="scale/X/2" value="0"></webaudio-param></div>
<div><webaudio-param link="scale/Y/2" value="0"></webaudio-param></div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Angle & Intensity -->
<div><webaudio-knob id="angle/2" diameter="60" min="-1" max="1" value="0"></webaudio-knob></div>
<div><webaudio-knob id="intens/2" diameter="60" min="0" max="127"value="127"></webaudio-knob></div>
<div class="lasertext">Angle</div>
<div class="lasertext">Intens.</div>
</div>
</div>
<!-- Laser 3 -->
<div class="laserbox">
<!-- IP laser 3 -->
<div>
<form onsubmit="onSubmit(); return false;">
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="ip/3">
</form>
</div>
<div>
<!-- Align Icons -->
<webaudio-switch id="grid/3" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/grid.png"></webaudio-switch>
<webaudio-switch id="mouse/3" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/mouse.png"></webaudio-switch>
<!-- Blackout icon -->
<webaudio-switch id="black/3" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/blackout.png"></webaudio-switch>
<!-- Swap Icons -->
<webaudio-switch id="swap/X/3" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/swapx.png"></webaudio-switch>
<webaudio-switch id="swap/Y/3" value="0" height="25" width="21" tooltip="Switch-B" src="knobs/swapy.png"></webaudio-switch>
</div>
<!-- Laser 3 grid -->
<div class="lasergrid" style="background-image: url(knobs/lasergrid3.png)">
<!-- kPPS & Points-->
<div><webaudio-param id="kpps/3" link="kpps/3" ></webaudio-param></div>
<div><webaudio-param id="points/3" link="points/3"></webaudio-param></div>
<div class="lasertext">kPPS</div>
<div class="lasertext">Points</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Offset X & Offset Y -->
<div><webaudio-knob id="loffset/X/3" diameter="60" min="-20" max="20" value="0"></webaudio-knob></div>
<div><webaudio-knob id="loffset/Y/3" diameter="60" min="-20" max="20" value="0"></webaudio-knob></div>
<div class="lasertext">Offset X</div>
<div class="lasertext">Offset Y</div>
<div><webaudio-param link="loffset/X/3" value="0"></webaudio-param></div>
<div><webaudio-param link="loffset/Y/3" value="0"></webaudio-param></div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Scale X & Scale Y -->
<div><webaudio-knob id="scale/X/3" diameter="60" min="-10" max="10" value="0"></webaudio-knob></div>
<div><webaudio-knob id="scale/Y/3" diameter="60" min="-10" max="10" value="0"></webaudio-knob></div>
<div class="lasertext">Scale X</div>
<div class="lasertext">Scale Y</div>
<div><webaudio-param link="scale/X/3" value="0"></webaudio-param></div>
<div><webaudio-param link="scale/Y/3" value="0"></webaudio-param></div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Angle & Intensity -->
<div><webaudio-knob id="angle/2" diameter="60" min="-1" max="1" value="0"></webaudio-knob></div>
<div><webaudio-knob id="intens/3" diameter="60" min="0" max="127" value="127"></webaudio-knob></div>
<div class="lasertext">Angle</div>
<div class="lasertext">Intens.</div>
</div>
</div>
<div>
<canvas id="aligncanvas" width="336" height="400" style="border-color: #445;border-style:groove;border-width:1px;"></canvas>
</div>
</div>
<!-- End of Align block -->
<!--
Live
-->
<div id="mglive" class="mglive">
<!-- with AI Interface -->
<div class="withaibox">
<div class="lasertext" style="border-color:#334;border-style: groove;border-width:1px;">With AI
</div>
<div class="withaigrid">
<!-- Velocity X Expression -->
<div><webaudio-knob id="ai/velocity" diameter="60" min="0" max="127" value="64"></webaudio-knob></div>
<div><webaudio-knob id="ai/expressivity" diameter="60" min="0" max="127" value="64"></webaudio-knob></div>
<div><webaudio-param link="ai/velocity" value="64"></webaudio-param></div>
<div><webaudio-param link="ai/expressivity" value="64"></webaudio-param></div>
<div class="lasertext">Velocity</div>
<div class="lasertext">Express.</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Sensibility & Beauty -->
<div><webaudio-knob id="ai/sensibility" diameter="60" min="0" max="127" value="64"></webaudio-knob></div>
<div><webaudio-knob id="ai/beauty" diameter="60" min="0" max="127" value="64"></webaudio-knob></div>
<div><webaudio-param link="ai/sensibility" value="64"></webaudio-param></div>
<div><webaudio-param link="ai/beauty" value="64"></webaudio-param></div>
<div class="lasertext">Sens.</div>
<div class="lasertext">Beauty</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- CC 1 & CC 2 -->
<div><webaudio-knob id="cc/1" diameter="60" min="1" max="127" value="64"></webaudio-knob></div>
<div><webaudio-knob id="cc/2" diameter="60" min="1" max="127" value="64"></webaudio-knob></div>
<div><webaudio-param link="cc/1" value="1"></webaudio-param></div>
<div><webaudio-param link="cc/2" value="1"></webaudio-param></div>
<div class="lasertext">CC 1</div>
<div class="lasertext">CC 2</div>
</div>
</div>
<!-- Lissa interface -->
<div class="lissabox">
<div class="lasertext" style="border-color:#334;border-style: groove;border-width:1px;">LISSA
</div>
<div class="lissagrid">
<!-- Select X & Select Y -->
<div><webaudio-knob id="cc/5" diameter="60" min="0" max="127" value="0"></webaudio-knob></div>
<div><webaudio-knob id="cc/6" diameter="60" min="0" max="127" value="0"></webaudio-knob></div>
<div><webaudio-param link="cc/5" value="0"></webaudio-param></div>
<div><webaudio-param link="cc/6" value="0"></webaudio-param></div>
<div class="lasertext">Select X</div>
<div class="lasertext">Select Y</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- FOV & Dist -->
<div><webaudio-knob id="cc/21" diameter="60" min="1" max="127" value="1"></webaudio-knob></div>
<div><webaudio-knob id="cc/22" diameter="60" min="1" max="127" value="1"></webaudio-knob></div>
<div><webaudio-param link="cc/21" value="0"></webaudio-param></div>
<div><webaudio-param link="cc/22" value="0"></webaudio-param></div>
<div class="lasertext">FOV</div>
<div class="lasertext">Dist</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Offset X & Offset Y -->
<div><webaudio-knob id="cc/1" diameter="60" min="1" max="127" value="1"></webaudio-knob></div>
<div><webaudio-knob id="cc/2" diameter="60" min="1" max="127" value="1"></webaudio-knob></div>
<div><webaudio-param link="cc/1" value="0"></webaudio-param></div>
<div><webaudio-param link="cc/2" value="0"></webaudio-param></div>
<div class="lasertext">Offset X</div>
<div class="lasertext">Offset Y</div>
</div>
</div>
<!-- 3D proj interface -->
<div class="projgrid">
<div></div>
<div class="lasertext" style="border-color:#334;border-style: groove;border-width:1px;">3D ROT</div>
<div></div>
<div class="spacer"></div>
<div class="spacer"></div>
<div class="spacer"></div>
<div><webaudio-knob id="cc/29" diameter="60" min="0" max="127" value="0" ></webaudio-knob></div>
<div><webaudio-knob id="cc/10" diameter="60" min="0" max="127" value="0"></webaudio-knob></div>
<div><webaudio-knob id="cc/31" diameter="60" min="0" max="127" value="0"></webaudio-knob></div>
<div><webaudio-param link="cc/29" value="0"></webaudio-param></div>
<div><webaudio-param link="cc/10" value="0"></webaudio-param></div>
<div><webaudio-param link="cc/31" value="0"></webaudio-param></div>
<div class="lasertext">X</div>
<div class="lasertext">Y</div>
<div class="lasertext">Z</div>
</div>
</div>
<!-- End of Live block --><!--
Simulator header block and interfaces
-->
<div id = "mgsimu" class="mgsimu">
<!-- Simu left part : Canvas -->
<div>
<canvas id="canvas" width="500" height="400" style="border-color: #445;border-style:groove;border-width:1px;"></canvas>
</div>
<!-- Right part interfaces -->
<div>
<!-- End of Simu Header block -->
<!-- simu right part : Planetarium Block -->
<div id ="planetUI" style = "display: none;justify-items: center;">
<!-- Stop and start switch -->
<div>
<div><webaudio-switch id="planet/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/planet.png"></webaudio-switch>
</div>
<!-- Virtual client destination -->
<div>
<span class="lasertext">Virtual</span>
<select onclick="buttonClicked(this.value)">
<option value="planet/ljclient 0" selected >0</option>
<option value="planet/ljclient 1">1</option>
<option value="planet/ljclient 2">2</option>
<option value="planet/ljclient 3">3</option>
</select>
</div>
</div>
<!-- Observer position -->
<form onsubmit="onSubmit(); return false;">
<span class="lasertext">Country (FR)</span>
<input class = "submitsmall" onchange = "onSubmit(this.id)" type="text" id="planet/country">
<span class="lasertext">City</span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="planet/city">
</form>
<!-- Observer time -->
<form>
<span class="lasertext">Date/Time (2012-7-12 23:00:00) </span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="planet/time">
</form>
<!-- Laser 0 Sky -->
<form onsubmit="onSubmit(); return false;">
<span class="lasertext">Laser 0 : Alt</span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="planet/alt/0">
<span class="lasertext">Az</span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="planet/az/0">
<span class="lasertext">Angle</span>
<input class = "submitsmall" onchange = "onSubmit(this.id)" type="text" id="planet/angle/0">
</form>
<!-- Laser 1 Sky -->
<form onsubmit="onSubmit(); return false;">
<span class="lasertext">Laser 1 : Alt</span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="planet/alt/1">
<span class="lasertext">Az</span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="planet/az/1">
<span class="lasertext">Angle</span>
<input class = "submitsmall" onchange = "onSubmit(this.id)" type="text" id="planet/angle/1">
</form>
<!-- Laser 2 Sky -->
<form onsubmit="onSubmit(); return false;">
<span class="lasertext">Laser 2 : Alt</span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="planet/alt/2">
<span class="lasertext">Az</span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="planet/az/2">
<span class="lasertext">Angle</span>
<input class = "submitsmall" onchange = "onSubmit(this.id)" type="text" id="planet/angle/2">
</form>
<!-- Laser 3 Sky -->
<form onsubmit="onSubmit(); return false;">
<span class="lasertext">Laser 3 : Alt</span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="planet/alt/3">
<span class="lasertext">Az</span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="planet/az/3">
<span class="lasertext">Angle</span>
<input class = "submitsmall" onchange = "onSubmit(this.id)" type="text" id="planet/angle/3">
</form>
</div>
<!-- End of planetarium block -->
<!-- simu right part : lissaUI block -->
<div id ="lissaUI" style = "display: none;justify-items: center;">
<!-- Lissa interface -->
<div class="lissabox">
<div class="lasertext" style="border-color:#334;border-style: groove;border-width:1px;">LISSA
</div>
<div class="lissagrid">
<!-- Select X & Select Y -->
<div><webaudio-knob id="cc/5" diameter="60" min="0" max="127" value="0"></webaudio-knob></div>
<div><webaudio-knob id="cc/6" diameter="60" min="0" max="127" value="0"></webaudio-knob></div>
<div><webaudio-param link="cc/5" value="0"></webaudio-param></div>
<div><webaudio-param link="cc/6" value="0"></webaudio-param></div>
<div class="lasertext">Select X</div>
<div class="lasertext">Select Y</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- FOV & Dist -->
<div><webaudio-knob id="cc/21" diameter="60" min="1" max="127" value="1"></webaudio-knob></div>
<div><webaudio-knob id="cc/22" diameter="60" min="1" max="127" value="1"></webaudio-knob></div>
<div><webaudio-param link="cc/21" value="0"></webaudio-param></div>
<div><webaudio-param link="cc/22" value="0"></webaudio-param></div>
<div class="lasertext">FOV</div>
<div class="lasertext">Dist</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Offset X & Offset Y -->
<div><webaudio-knob id="cc/1" diameter="60" min="1" max="127" value="1"></webaudio-knob></div>
<div><webaudio-knob id="cc/2" diameter="60" min="1" max="127" value="1"></webaudio-knob></div>
<div><webaudio-param link="cc/1" value="0"></webaudio-param></div>
<div><webaudio-param link="cc/2" value="0"></webaudio-param></div>
<div class="lasertext">Offset X</div>
<div class="lasertext">Offset Y</div>
</div>
</div>
</div>
<!-- End of Lissa block -->
<!-- simu right part : aiUI -->
<div id ="aiUI" style = "display: none;justify-items: center;">
<!-- with AI Interface -->
<div class="withaibox">
<div class="lasertext" style="border-color:#334;border-style: groove;border-width:1px;">With AI
</div>
<div class="withaigrid">
<!-- Velocity & Expression -->
<div><webaudio-knob id="ai/velocity" diameter="60" min="0" max="127" value="64"></webaudio-knob></div>
<div><webaudio-knob id="ai/expressivity" diameter="60" min="0" max="127" value="64"></webaudio-knob></div>
<div><webaudio-param link="ai/velocity" value="64"></webaudio-param></div>
<div><webaudio-param link="ai/expressivity" value="64"></webaudio-param></div>
<div class="lasertext">Velocity</div>
<div class="lasertext">Express.</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- Sensibility & Beauty -->
<div><webaudio-knob id="ai/sensibility" diameter="60" min="0" max="127" value="64"></webaudio-knob></div>
<div><webaudio-knob id="ai/beauty" diameter="60" min="0" max="127" value="64"></webaudio-knob></div>
<div><webaudio-param link="ai/sensibility" value="64"></webaudio-param></div>
<div><webaudio-param link="ai/beauty" value="64"></webaudio-param></div>
<div class="lasertext">Sens.</div>
<div class="lasertext">Beauty</div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- CC 1 & CC 2 -->
<div><webaudio-knob id="cc/1" diameter="60" min="1" max="127" value="64"></webaudio-knob></div>
<div><webaudio-knob id="cc/2" diameter="60" min="1" max="127" value="64"></webaudio-knob></div>
<div><webaudio-param link="cc/1" value="1"></webaudio-param></div>
<div><webaudio-param link="cc/2" value="1"></webaudio-param></div>
<div class="lasertext">CC 1</div>
<div class="lasertext">CC 2</div>
</div>
</div>
</div>
<!-- End of AI block --> <!-- simu right part : plugins UI Block-->
<div id ="pluginsUI" style = "display: grid;justify-items: center;">
<!-- Plugins choice Interface -->
<div>
<webaudio-switch id="simu/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/pysimu.png"></webaudio-switch>
<webaudio-switch id="pose/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/pose.png"></webaudio-switch>
<webaudio-switch id="bank0/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/bank0.png"></webaudio-switch>
<webaudio-switch id="cycl/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/cycl.png"></webaudio-switch>
</div>
<div>
<webaudio-switch id="midigen/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/midigen.png"></webaudio-switch>
<webaudio-switch id="audiogen/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/audiogen.png"></webaudio-switch>
<webaudio-switch id="viewgen/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/viewgen.png"></webaudio-switch>
<webaudio-switch id="/artnet/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/artnet.png"></webaudio-switch>
</div>
<div>
<!-- Glyph destination LJ client Selection -->
<span class="lasertext">Scene</span>
<select onclick="buttonClicked(this.value)" id="virtual" value="0">
<option value="glyph/ljclient 0">0</option>
<option value="glyph/ljclient 1">1</option>
<option value="glyph/ljclient 2">2</option>
<option value="glyph/ljclient 3">3</option>
</select>
<!-- Cycl destination LJ client Selection -->
<span class="lasertext">Scene</span>
<select onclick="buttonClicked(this.value)" id="virtual" value="0">
<option value="cycl/ljclient 0">0</option>
<option value="cycl/ljclient 1">1</option>
<option value="cycl/ljclient 2">2</option>
<option value="cycl/ljclient 3">3</option>
</select>
</div>
<div>
<!-- Glyph Point List destination -->
<span class="lasertext">PL</span>
<select onclick="buttonClicked(this.value)">
<option value="glyph/pl 0">0</option>
<option value="glyph/pl 1">1</option>
<option value="glyph/pl 2">2</option>
<option value="glyph/pl 3">3</option>
</select>
<!-- Cycl Point List destination -->
<span class="lasertext">PL</span>
<select onclick="buttonClicked(this.value)">
<option value="cycl/pl 0">0</option>
<option value="cycl/pl 1">1</option>
<option value="cycl/pl 2">2</option>
<option value="cycl/pl 3">3</option>
</select>
</div>
<!-- LJPong & LJwars -->
<div>
<webaudio-switch id="ljpong/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/ljpong.png"></webaudio-switch>
<webaudio-switch id="ljwars/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/ljwars.png"></webaudio-switch>
<webaudio-switch id="maxw/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/maxw.png"></webaudio-switch>
<webaudio-switch id="square/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/square.png"></webaudio-switch>
</div>
<div>
<!-- LJ Pong destination LJ client Selection -->
<span class="lasertext">Scene</span>
<select onclick="buttonClicked(this.value)" id="virtual" value="0">
<option value="ljpong/ljclient 0">0</option>
<option value="ljpong/ljclient 1">1</option>
<option value="ljpong/ljclient 2">2</option>
<option value="ljpong/ljclient 3">3</option>
</select>
<!-- LJ Wars destination LJ client Selection -->
<span class="lasertext">Scene</span>
<select onclick="buttonClicked(this.value)" id="virtual" value="0">
<option value="ljwars/ljclient 0">0</option>
<option value="ljwars/ljclient 1">1</option>
<option value="ljwars/ljclient 2">2</option>
<option value="ljwars/ljclient 3">3</option>
</select>
</div>
<div>
<!-- LJ Pong Point List destination -->
<span class="lasertext">PL</span>
<select onclick="buttonClicked(this.value)">
<option value="ljpong/pl 0">0</option>
<option value="ljpong/pl 1">1</option>
<option value="ljpong/pl 2">2</option>
<option value="ljpong/pl 3">3</option>
</select>
</div>
<div class = "destmatrix">
<!-- First line Scene 0 -->
<div>
<webaudio-switch id="scene/0/start" value="1" height="27" width="75" tooltip="Switch-B" src="knobs/scene0.png"></webaudio-switch>
</div>
<!-- /pluginame/dest PL, scene, laser -->
<div>
<!-- scene 0, laser 0 -->
<select class="selector-instance" data-type="search-selector" name="third-selector" id="second" onclick="buttonClicked(this.value)">
<option value="fft/dest 1 1 0" data-sublocale="HELLO" selected>EXT</option>
<option value="viewgen/dest 0 0 0">FFT</option>
<option value="viewgen/dest 1 0 0">Lissa</option>
<option value="viewgen/dest 2 0 0">Osci</option>
<option value="glyph/dest 0 0 0">Glyph</option>
<option value="nozoid/dest 0 0 0">Nozoids</option>
<option value="pose/dest 0 0 0">IdiotIA</option>
<option value="pose/dest 1 0 0">Starfield</option>
<option value="cycl/dest 0 0 0">Cycl</option>
<option value="planet/dest 0 0 0">Planet</option>
<option value="words/dest 0 0 0">Words</option>
<option value="ljpong/dest 0 0 0">Pong</option>
<option value="ljwars/dest 0 0 0">Wars</option>
<option value="maxw/dest 0 0 0">Maxw</option>
<option value="square/dest 0 0 0">Square</option>
</select>
</div>
<div>
<!-- scene 0, laser 1 -->
<select class="selector-instance" data-type="search-selector" name="third-selector" id="second" onclick="buttonClicked(this.value)">
<option value="fft/dest 1 0 0" data-sublocale="HELLO" selected>EXT</option>
<option value="viewgen/dest 0 0 1">FFT</option>
<option value="viewgen/dest 1 0 1">Lissa</option>
<option value="viewgen/dest 2 0 1">Osci</option>
<option value="glyph/dest 0 0 1">Glyph</option>
<option value="nozoid/dest 0 0 1">Nozoids</option>
<option value="pose/dest 0 0 1">IdiotIA</option>
<option value="pose/dest 1 0 1">Starfield</option>
<option value="cycl/dest 0 0 1">Cycl</option>
<option value="planet/dest 0 0 1">Planet</option>
<option value="words/dest 0 0 1">Words</option>
<option value="ljpong/dest 0 0 1">Pong</option>
<option value="ljwars/dest 0 0 1">Wars</option>
<option value="maxw/dest 0 0 1">Maxw</option>
<option value="square/dest 0 0 1">Square</option>
</select>
</div>
<div>
<!-- scene 0, laser 2 -->
<select onclick="buttonClicked(this.value)">
<option value="ext 0 1">EXT</option>
<option value="fft/dest 0 1 0">FFT 0</option>
<option value="fft/dest 1 1 0">FFT 1</option>
<option value="fft/dest 2 1 0">FFT 2</option>
<option value="fft/dest 3 1 0">FFT 3</option>
</select>
</div>
<div>
<!-- scene 0, laser 3 -->
</div>
<!-- Second line Scene 1 -->
<div>
<webaudio-switch id="scene/1/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/scene1.png"></webaudio-switch>
</div>
<!-- /pluginame/dest PL, scene, laser -->
<div>
<!-- scene 1, laser 0 -->
<select class="selector-instance" data-type="search-selector" name="third-selector" id="second" onclick="buttonClicked(this.value)">
<option value="fft/dest 1 1 0" data-sublocale="HELLO" selected>EXT</option>
<option value="viewgen/dest 0 1 0">FFT</option>
<option value="viewgen/dest 1 1 0">Lissa</option>
<option value="viewgen/dest 2 1 0">Osci</option>
<option value="glyph/dest 0 1 0">Glyph</option>
<option value="nozoid/dest 0 1 0">Nozoids</option>
<option value="pose/dest 0 1 0">IdiotIA</option>
<option value="pose/dest 1 1 0">Starfield</option>
<option value="cycl/dest 0 1 0">Cycl</option>
<option value="planet/dest 0 1 0">Planet</option>
<option value="words/dest 0 1 0">Words</option>
<option value="ljpong/dest 0 1 0">Pong</option>
<option value="ljwars/dest 0 1 0">Wars</option>
<option value="maxw/dest 0 1 0">Maxw</option>
<option value="square/dest 0 1 0">Square</option>
</select>
</div>
<div>
<!-- scene 1 , laser 1 -->
<select class="selector-instance" data-type="search-selector" name="third-selector" id="second" onclick="buttonClicked(this.value)">
<option value="fft/dest 1 0 0" data-sublocale="HELLO" selected>EXT</option>
<option value="viewgen/dest 0 1 1">FFT</option>
<option value="viewgen/dest 1 1 1">Lissa</option>
<option value="viewgen/dest 2 1 1">Osci</option>
<option value="glyph/dest 0 1 1">Glyph</option>
<option value="nozoid/dest 0 1 1">Nozoids</option>
<option value="pose/dest 0 1 1">IdiotIA</option>
<option value="pose/dest 1 1 1">Starfield</option>
<option value="cycl/dest 0 1 1">Cycl</option>
<option value="planet/dest 0 1 1">Planet</option>
<option value="words/dest 0 1 1">Words</option>
<option value="ljpong/dest 0 1 1">Pong</option>
<option value="ljwars/dest 0 1 1">Wars</option>
<option value="maxw/dest 0 1 1">Maxw</option>
<option value="square/dest 0 1 1">Square</option>
</select>
</div>
<div>
<!-- scene 1 , laser 2 -->
</div>
<div>
<!-- scene 1 , laser 3 -->
</div>
<!-- Third line Scene 2 -->
<div>
<webaudio-switch id="scene/2/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/scene2.png"></webaudio-switch>
</div>
<div>
<!-- scene 2 , laser 0 -->
</div>
<div>
<!-- scene 2 , laser 1 -->
</div>
<div>
<!-- scene 2 , laser 2 -->
</div>
<div>
<!-- scene 2 , laser 3 -->
</div>
<!-- Fourth line Scene 3 -->
<div>
<webaudio-switch id="scene/3/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/scene3.png"></webaudio-switch>
</div>
<div>
<!-- scene 3 , laser 0 -->
</div>
<div>
<!-- scene 3 , laser 1 -->
</div>
<div>
<!-- scene 3 , laser 2 -->
</div>
<div>
<!-- scene 3 , laser 3 -->
</div>
<!-- Fifth line -->
<div><span class="lasertext">Selection</span></div>
<div>
<webaudio-switch id="laser0/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/laser0.png"></webaudio-switch>
</div>
<div>
<webaudio-switch id="laser1/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/laser1.png"></webaudio-switch>
</div>
<div>
<webaudio-switch id="laser2/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/laser2.png"></webaudio-switch>
</div>
<div>
<webaudio-switch id="laser3/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/laser3.png"></webaudio-switch>
</div>
</div>
</div>
<script>
new Selector();
</script>
<!-- End of PLuginUI block -->
<!-- simu right part : bank0 vjUI -->
<div id ="vjUI" class="cnvbuttons">
<!-- Bank Selection first line -->
<div><webaudio-switch id="bank0/run" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="bank0/run" value="1" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="bank0/run" value="2" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="bank0/run" value="3" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="bank0/run" value="4" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="bank0/run" value="5" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<!-- Bank Selection second line -->
<div><webaudio-switch id="noteon" value="23" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="noteon" value="24" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="noteon" value="25" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="noteon" value="26" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="noteon" value="27" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="noteon" value="28" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<!-- Bank Selection third line -->
<div><webaudio-switch id="noteon" value="26" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="noteon" value="27" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="noteon" value="28" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="noteon" value="29" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="noteon" value="30" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
<div><webaudio-switch id="noteon" value="31" tooltip="Switch-B" height="64" width="64" src="knobs/iconvj1.png"></webaudio-switch></div>
</div>
<!-- End of bank0 block -->
<!-- simu right part : poseUI block -->
<div id ="poseUI" class="posebuttons" style = "display: none;justify-items: center;">
<!-- IdiotIA animation selection first line -->
<div><webaudio-switch id="pose/anim 0" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 1" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 2" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 3" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 4" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 5" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<!-- IdiotIA animation selection second line -->
<div><webaudio-switch id="pose/anim 6" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 7" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 8" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 9" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 10" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 11" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<!-- IdiotIA animation selection third line -->
<div><webaudio-switch id="pose/anim 12" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 13" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 14" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 15" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 16" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/anim 17" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
<!-- Pose frame player -->
<div><span class="lasertext">Frames</span></div>
<div><webaudio-switch id="pose/speed 1" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/slower.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/speed 2" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/stop.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/speed 3" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/play.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/speed 4" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/faster.png"></webaudio-switch></div>
<div></div>
<!-- IdiotIA display flag -->
<div><span class="lasertext">IdiotIA</span></div>
<div><webaudio-switch id="pose/idiotia 0" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/0.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/idiotia 1" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/1.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/idiotia 2" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/2.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/idiotia 3" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/3.png"></webaudio-switch></div>
<div></div>
<!-- Realtime pose display flag -->
<div><span class="lasertext">Live</span></div>
<div><webaudio-switch id="pose/live 0" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/0.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/live 1" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/1.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/live 2" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/2.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/live 3" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/3.png"></webaudio-switch></div>
<div></div>
<!-- Starfield display lag -->
<div><span class="lasertext">Fields</span></div>
<div><webaudio-switch id="pose/field 0" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/0.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/field 1" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/1.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/field 2" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/2.png"></webaudio-switch></div>
<div><webaudio-switch id="pose/field 3" value="0" tooltip="Switch-B" height="24" width="64" src="knobs/3.png"></webaudio-switch></div>
<div></div>
</div>
<!-- End of PoseUI block -->
<!-- simu right part : wordsUI -->
<div id ="wordsUI" style = "display: none;justify-items: center;">
<div>
<webaudio-switch id="words/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/words.png"></webaudio-switch>
<!-- Words virtual client destination -->
<span class="lasertext">Virtual</span>
<select onclick="buttonClicked(this.value)">
<option value="words/ljclient 0" selected >0</option>
<option value="words/ljclient 1">1</option>
<option value="words/ljclient 2">2</option>
<option value="words/ljclient 3">3</option>
</select>
</div>
<!-- Words 0 -->
<form onsubmit="onSubmit(); return false;">
<span class="lasertext">Laser 0</span>
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="words/text/0" value="ZERO">
<select onclick="buttonClicked(this.value)">
<!-- color selection -->
<option value="words/color/0 red" selected >Red</option>
<option value="words/color/0 green">Green</option>
<option value="words/color/0 blue">Blue</option>
<option value="words/color/0 white">White</option>
<option value="words/color/0 yellow">Yellow</option>
<option value="words/color/0 cyan">Cyan</option>
<option value="words/color/0 pink">Pink</option>
</select>
<webaudio-switch id="words/play/0" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/play.png"></webaudio-switch>
</form>
<!-- Words 1 -->
<form onsubmit="onSubmit(); return false;">
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="words/text/1" value="ONE">
<select onclick="buttonClicked(this.value)">
<!-- color selection -->
<option value="words/color/1 red" selected >Red</option>
<option value="words/color/1 green">Green</option>
<option value="words/color/1 blue">Blue</option>
<option value="words/color/1 white">White</option>
<option value="words/color/1 yellow">Yellow</option>
<option value="words/color/1 cyan">Cyan</option>
<option value="words/color/1 pink">Pink</option>
</select>
<span class="lasertext">Laser 1</span>
</form>
<!-- Words 2 -->
<form onsubmit="onSubmit(); return false;">
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="words/text/2" value="TWO">
<select onclick="buttonClicked(this.value)">
<!-- color selection -->
<option value="words/color/2/color red" selected >Red</option>
<option value="words/color/2 green">Green</option>
<option value="words/color/2 blue">Blue</option>
<option value="words/color/2 white">White</option>
<option value="words/color/2 yellow">Yellow</option>
<option value="words/color/2 cyan">Cyan</option>
<option value="words/color/2 pink">Pink</option>
</select>
<span class="lasertext">Laser 2</span>
</form>
<!-- Words 3 -->
<form onsubmit="onSubmit(); return false;">
<input class = "submit" onchange = "onSubmit(this.id)" type="text" id="words/text/3" value="THREE">
<select onclick="buttonClicked(this.value)">
<!-- color selection -->
<option value="words/color/3 red" selected >Red</option>
<option value="words/color/3 green">Green</option>
<option value="words/color/3 blue">Blue</option>
<option value="words/color/3 white">White</option>
<option value="words/color/3 yellow">Yellow</option>
<option value="words/color/3 cyan">Cyan</option>
<option value="words/color/3 pink">Pink</option>
</select>
<span class="lasertext">Laser 3</span>
</form>
</div>
<!-- End of WordsUI block -->
<!-- simu right part : NozoidsUI Block -->
<div id ="nozoidUI" class="nozoidbuttons" style = "display: none;justify-items: center;">
<!-- Nozoids UI : names and leds -->
<div>
<webaudio-knob id="nozoid/o2/led" src="knobs/leds.png" height="17" width="17" diameter="17" min="0" max="6" value="0" sprites="6"></webaudio-knob>
<webaudio-switch id="nozoid/o2" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/o2.png"></webaudio-switch>
</div>
<div>
<webaudio-knob id="nozoid/m3/led" src="knobs/leds.png" height="17" width="17" diameter="17" min="0" max="6" value="0" sprites="6"></webaudio-knob>
<webaudio-switch id="nozoid/m3" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/m3.png"></webaudio-switch>
</div>
<!-- OCS-2 UI -->
<div style="border-color: #445;border-style:groove;border-width:1px;">
<webaudio-switch id="nozoid/down/o2 25" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/slower.png"></webaudio-switch>
<webaudio-switch id="nozoid/up/o2 25" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/faster.png"></webaudio-switch>
<span class="lasertext">Sound curve for X</span>
<select onclick="buttonClicked(this.value)">
<option value="nozoid/X/o2 0">STOP</option>
<option value="nozoid/X/o2 1">VCO1</option>
<option value="nozoid/X/o2 2">VCO2</option>
<option value="nozoid/X/o2 3">LFO1</option>
<option value="nozoid/X/o2 4">LFO2</option>
<option value="nozoid/X/o2 5">LFO3</option>
<option value="nozoid/X/o2 6">CV/GEN</option>
<option value="nozoid/X/o2 7">ADSR</option>
<option value="nozoid/X/o2 8">LIGHT</option>
<option value="nozoid/X/o2 9">LINE IN</option>
<option value="nozoid/X/o2 10">MIDI</option>
<option value="nozoid/X/o2 11">CV1</option>
<option value="nozoid/X/o2 12">CV2</option>
<option value="nozoid/X/o2 13">CV3</option>
<option value="nozoid/X/o2 17">1 Out</option>
<option value="nozoid/X/o2 18">2 Out</option>
<option value="nozoid/X/o2 20">VCF</option>
<option value="nozoid/X/o2 21">MIX</option>
<option value="nozoid/X/o2 22">VCA</option>
</select>
<span class="lasertext">Sound curve for Y</span>
<select onclick="buttonClicked(this.value)">
<option value="nozoid/Y/o2 0">STOP</option>
<option value="nozoid/Y/o2 1">VCO1</option>
<option value="nozoid/Y/o2 2">VCO2</option>
<option value="nozoid/Y/o2 3">LFO1</option>
<option value="nozoid/Y/o2 4">LFO2</option>
<option value="nozoid/Y/o2 5">LFO3</option>
<option value="nozoid/Y/o2 6">CV/GEN</option>
<option value="nozoid/Y/o2 7">ADSR</option>
<option value="nozoid/Y/o2 8">LIGHT</option>
<option value="nozoid/Y/o2 9">LINE IN</option>
<option value="nozoid/Y/o2 10">MIDI</option>
<option value="nozoid/Y/o2 11">CV1</option>
<option value="nozoid/Y/o2 12">CV2</option>
<option value="nozoid/Y/o2 13">CV3</option>
<option value="nozoid/Y/o2 17">1 Out</option>
<option value="nozoid/Y/o2 18">2 Out</option>
<option value="nozoid/Y/o2 20">VCF</option>
<option value="nozoid/Y/o2 21">MIX</option>
<option value="nozoid/Y/o2 22">VCA</option>
</select>
</div>
<!-- MMO-3 UI -->
<div style="border-color: #445;border-style:groove;border-width:1px;">
<webaudio-switch id="nozoid/down/m3 25" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/slower.png"></webaudio-switch>
<webaudio-switch id="nozoid/up/m3 25" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/faster.png"></webaudio-switch>
<span class="lasertext">Sound curve for X</span>
<select onclick="buttonClicked(this.value)">
<option value="nozoid/X/m3 0">Stop</option>
<option value="nozoid/X/m3 1">OSC1</option>
<option value="nozoid/X/m3 2">OSC2</option>
<option value="nozoid/X/m3 3">OSC3</option>
<option value="nozoid/X/m3 4">LFO1</option>
<option value="nozoid/X/m3 5">LFO2</option>
<option value="nozoid/X/m3 6">LFO3</option>
<option value="nozoid/X/m3 7">ADSR</option>
<option value="nozoid/X/m3 8">CV</option>
<option value="nozoid/X/m3 9">Line IN</option>
<option value="nozoid/X/m3 10">Jstck</option>
<option value="nozoid/X/m3 11">INL</option>
<option value="nozoid/X/m3 12">INR</option>
</select>
<span class="lasertext">Sound curve for Y</span>
<select onclick="buttonClicked(this.value)">
<option value="nozoid/Y/m3 0">Stop</option>
<option value="nozoid/Y/m3 1">OSC1</option>
<option value="nozoid/Y/m3 2">OSC2</option>
<option value="nozoid/Y/m3 3">OSC3</option>
<option value="nozoid/Y/m3 4">LFO1</option>
<option value="nozoid/Y/m3 5">LFO2</option>
<option value="nozoid/Y/m3 6">LFO3</option>
<option value="nozoid/Y/m3 7">ADSR</option>
<option value="nozoid/Y/m3 8">CV</option>
<option value="nozoid/Y/m3 9">Line IN</option>
<option value="nozoid/Y/m3 10">Jstck</option>
<option value="nozoid/Y/m3 11">INL</option>
<option value="nozoid/X/m3 12">INR</option>
</select>
</div>
<!-- Curve choice -->
<div>
<span class="lasertext">CurveNumber : </span>
<select onclick="buttonClicked(this.value)">
<option value="nozoid/curve 0">0</option>
<option value="nozoid/curve 1">1</option>
<option value="nozoid/curve 2">2</option>
<option value="nozoid/curve 3">3</option>
</select>
<!-- Color choice -->
<!-- 0 black / 1 green / 2 cyan / 3 pink / 4 yellow / 5 red / 6 white (in nozoids.py) -->
<span class="lasertext">CurveColor :</span>
<select onclick="buttonClicked(this.value)">
<option value="nozoid/color 5">Red</option>
<option value="nozoid/color 1">Green</option>
<option value="nozoid/color 2">Blue</option>
<option value="nozoid/color 4">Yellow</option>
<option value="nozoid/color 3">Pink</option>
<option value="nozoid/color 6">White</option>
</select>
<!-- Laser choice -->
<span class="lasertext">DrawingLaser :</span>
<select onclick="buttonClicked(this.value)">
<option value="nozoid/laser 0">0</option>
<option value="nozoid/laser 1">1</option>
<option value="nozoid/laser 2">2</option>
<option value="nozoid/laser 3">3</option>
</select>
</div>
<!-- Automodulation X and Y choice -->
<div>
<span class="lasertext" >Automod : X</span>
<select onclick="buttonClicked(this.value)">
<option value="nozoid/auto/X/0">0</option>
<option value="nozoid/auto/X/1 Out">1 Out</option>
<option value="nozoid/auto/X/2 Out">2 Out</option>
<option value="nozoid/auto/X/3 Out">3 Out</option>
<option value="nozoid/auto/X/OutR">OutR</option>
<option value="nozoid/auto/X/OutL">OutL</option>
</select>
<span class="lasertext">Automod : Y</span>
<select onclick="buttonClicked(this.value)">
<option value="nozoid/auto/Y/0">0</option>
<option value="nozoid/auto/Y/1 Out">1 Out</option>
<option value="nozoid/auto/Y/2 Out">2 Out</option>
<option value="nozoid/auto/Y/3 Out">3 Out</option>
<option value="nozoid/auto/Y/OutR">OutR</option>
<option value="nozoid/auto/Y/OutL">OutL</option>
</select>
</div>
<div></div>
<div></div>
</div>
</div>
</div>
<!-- End of NozoidsUI block -->
<!--
Run Block
-->
<div id="mgrun" class="mgrun">
<!-- Run Laser Client selection grid -->
<div><img src="knobs/client.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/client.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/client.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/client.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/client.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/client.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/client.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/client.png" alt=" " class="icongrid" /></div>
<div><button id ="noteon 0" onclick ="buttonClicked(this.id)" class="button:checked">0</button></div>
<div><button id ="noteon 1" onclick ="buttonClicked(this.id)" class="button">1</button></div>
<div><button id ="noteon 2" onclick ="buttonClicked(this.id)" class="button">2</button></div>
<div><button id ="noteon 3" onclick ="buttonClicked(this.id)" class="button">3</button></div>
<div><button id ="noteon 4" onclick ="buttonClicked(this.id)" class="button">4</button></div>
<div><button id ="noteon 5" onclick ="buttonClicked(this.id)" class="button">5</button></div>
<div><button id ="noteon 6" onclick ="buttonClicked(this.id)" class="button">6</button></div>
<div><button id ="noteon 7" onclick ="buttonClicked(this.id)" class="button">7</button></div>
<!-- Simulator PL selection grid -->
<div><img src="knobs/iconljay2.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconljay2.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconljay2.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconljay2.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><button id ="noteon 24" onclick ="buttonClicked(this.id)" class="button:checked">PL 0</button></div>
<div><button id ="noteon 25" onclick ="buttonClicked(this.id)" class="button">PL 1</button></div>
<div><button id ="noteon 26" onclick ="buttonClicked(this.id)" class="button">PL 2</button></div>
<div><button id ="noteon 27" onclick ="buttonClicked(this.id)" class="button">PL 3</button></div>
<div></div>
<div></div>
<div></div>
<div></div>
<!-- Laser selection grid -->
<div><img src="knobs/iconlaser.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconlaser.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconlaser.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconlaser.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><button id ="noteon 16" onclick ="buttonClicked(this.id)" class="button:checked">0</button></div>
<div><button id ="noteon 17" onclick ="buttonClicked(this.id)" class="button">1</button></div>
<div><button id ="noteon 18" onclick ="buttonClicked(this.id)" class="button">2</button></div>
<div><button id ="noteon 19" onclick ="buttonClicked(this.id)" class="button">3</button></div>
<div></div>
<div></div>
<div></div>
<div></div>
<!-- Hidden grid -->
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div><img src="knobs/iconblack.png" alt=" " class="icongrid" /></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<!-- End of Run block -->
<!--
Footer block display events for debug
-->
<div class="mgfooter">
<div id="showin"></div>
<div id="showout"></div>
<div id="events"</div>
</div>
</div>
<!--
web audio buttons scripts
-->
<script type="text/javascript">
var message="";
var log=[];
var knobs = document.getElementsByTagName('webaudio-knob');
for(var i = 0; i < knobs.length; i++){
knobs[i].addEventListener("input",Dump,false);
knobs[i].addEventListener("change",Dump,false);
}
var sliders = document.getElementsByTagName('webaudio-slider');
for(var i = 0; i < sliders.length; i++){
sliders[i].addEventListener("input",Dump,false);
sliders[i].addEventListener("change",Dump,false);
}
var switches = document.getElementsByTagName('webaudio-switch');
for(var i = 0; i < switches.length; i++) {
switches[i].addEventListener("change",Dump,false);
}
function Dump(e) {
var str="";
str=e.type + " : " + e.target.id + " : " + e.target.value + " ";
console.log(str);
log.unshift(str);
log.length=1;
str="";
for(var i=19;i>=0;--i) {
if(log[i])
str+=log[i]+"<br/>";
}
var evview=document.getElementById("events");
evview.innerHTML=str;
//console.log( e.type + "/" + e.target.id + "/" + e.target.value);
if (e.target.id === "align" && e.type === "change") {
showAlign();
}
if (e.target.id === "simu" && e.type === "change") {
showCanvas();
}
if (e.target.id === "live" && e.type === "change") {
showLive();
}
if (e.target.id === "nozoid" && e.type === "change") {
showNozoid();
}
if (e.target.id === "run" && e.type === "change") {
showRun();
}
if (e.target.id === "on" && e.type === "change") {
window.location.reload();
}
if (e.target.id === "nozoid/down 50" && e.type === "input") {
e.target.value = 1 ;
}
if (e.target.id === "noteon" && e.type ==="input")
console.log("only noteon change are sent not input");
else
_WS.send("/" + e.target.id + " " + e.target.value);
// for /scale : after a change (knob is released) reset knob value to 0
if (e.target.id.substring(0,5) === "scale" && e.type === "change") {
e.target.value = 0;
//console.log(e.target.id + "set to 0")
}
// for /loffset : after a change (knob is released) reset knob value to 0
if (e.target.id.substring(0,7) === "loffset" && e.type === "change") {
e.target.value = 0;
console.log(e.target.id + "set to 0")
}
// for /angle : after a change (knob is released) reset knob value to 0
if (e.target.id.substring(0,5) === "angle" && e.type === "change") {
e.target.value = 0;
//console.log(e.target.id + "set to 0")
}
}
</script>
<!--
Simulator Point lists drawing scripts
-->
<script type="text/javascript">
//
// Align canvas : store Reference To The Canvas & Set Context
//
var aligncanvas = document.getElementById("aligncanvas");
var alignctx = aligncanvas.getContext("2d");
alignctx.clearRect(0,0,400,400);
var mousePosDown = { x: 0, y: 0};
var mousePosUp = { x: 0, y: 0 };
var mouseMsgDown = '';
var mouseMsgUp = '';
function getMousePos(aligncanvas,evt)
{
var rect = aligncanvas.getBoundingClientRect();
return { x: evt.clientX - rect.left, y: evt.clientY - rect.top };
}
function MouseDown(evt)
{
mousePosDown = getMousePos(aligncanvas, evt);
mouseMsgDown = mousePosDown.x + ' ' + mousePosDown.y;
_WS.showin(mouseMsgDown);
}
function MouseUp(evt)
{
mousePosUp = getMousePos(aligncanvas, evt);
mouseMsgUp = mousePosUp.x + ' ' + mousePosUp.y;
_WS.showin(mouseMsgUp);
_WS.s.send('/mouse '+mouseMsgDown+' '+mouseMsgUp);
_WS.showin('/mouse '+mouseMsgDown+' '+mouseMsgUp);
}
aligncanvas.addEventListener("mouseup", MouseUp, false);
aligncanvas.addEventListener("mousedown", MouseDown, false);
//
// Simulator canvas : store Reference To The Canvas & Set Context
//
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var lastpoint = { x: 0, y: 0, color: 0};
ctx.clearRect(0,0,400,400);
var zoom = 0.5;
//ctx.save
// Todo : laser point will have black points to go from a polyline to another. Need to discard those black points.
function draw() {
// Clear Canvas At The Start Of Every Frame
//ctx.restore
if (pl2.length > 0)
{
// Begin a new path
// 0.7 reduces max coordinates in a more browser compatible resolution.
ctx.clearRect(0,0,400,400);
ctx.beginPath();
ctx.moveTo(pl2[0]*zoom, pl2[1]*zoom);
lastpoint.color = pl2[2];
// Draw n Lines
for (var i = 0; i < pl2.length/3; i++)
{
// New point has the same color -> add a new line to the new point
if (pl2[2+(i*3)] === lastpoint.color)
{
ctx.lineTo(pl2[i*3]*zoom, pl2[1+(i*3)]*zoom);
}
// New point has different color -> stroke with previous color
if (pl2[2+(i*3)] != lastpoint.color)
{
ctx.strokeStyle = "#"+(lastpoint.color + Math.pow(16, 6)).toString(16).slice(-6);
ctx.stroke();
ctx.closePath()
//ctx.restore
ctx.beginPath();
//ctx.clearRect(0,0,400,400);
ctx.moveTo(pl2[i*3]*zoom, pl2[1+(i*3)]*zoom);
}
// Last point -> stroke with current color
if (i === (pl2.length/3)-1 )
{
ctx.moveTo(pl2[i*3]*zoom, pl2[1+(i*3)]*zoom);
ctx.strokeStyle = "#"+((pl2[2+(i*3)]) + Math.pow(16, 6)).toString(16).slice(-6);
ctx.stroke();
ctx.closePath()
//ctx.restore
//ctx.clearRect(0,0,400,400);
}
// store point for comparison
lastpoint.x = pl2[i*3];
lastpoint.y = pl2[1+(i*3)];
lastpoint.color = pl2[2+(i*3)];
}
}
// Call Draw Function Again To Create Animation
window.requestAnimationFrame(draw);
}
// Initialize The Draw Function
draw();
</script>
</body>
<!-- non displayed items, for code reference mainly for other type of webaudio buttons
<div>
<span class="lasertext">Swap X</span>
<span class="lasertext">Swap Y</span>
</div>
<div>
<webaudio-switch id="swap/X" value="0" height="76" width="76" tooltip="Switch-B" src="knobs/switch_toggle.png"></webaudio-switch>
<webaudio-switch id="swap/Y" value="0" height="76" width="76" tooltip="Switch-B" src="knobs/switch_toggle.png"></webaudio-switch>
</div>
<div><webaudio-knob id="choice" src="knobs/Prophet5.png" diameter="80" min="0" max="10" value="0" sprites="9"></webaudio-knob></div>
<div><webaudio-knob id="choice2" src="knobs/Old11.png" diameter="80" min="0" max="10" value="0" sprites="10">></webaudio-knob></div>
<div><webaudio-knob id="laser" src="knobs/Prophetic5.png" diameter="70" min="0" max="5" value="0" sprites="5"></webaudio-knob></div>
<div>
<webaudio-slider id="slider1" width="24" height="120"></webaudio-slider>
<webaudio-slider id="slider2" width="24" height="120"></webaudio-slider>
</div>
<div>
<webaudio-switch id="laser/0" height="64" width="25" value="0" src="knobs/key0.png" type="toggle"></webaudio-switch>
<webaudio-switch id="laser/1" height="64" width="25" value="0" src="knobs/key0.png" type="toggle"></webaudio-switch>
<webaudio-switch id="laser/2" height="64" width="25" value="0" src="knobs/key0.png" type="toggle"></webaudio-switch>
<webaudio-switch id="laser/3" height="64" width="25" value="0" src="knobs/key0.png" type="toggle"></webaudio-switch>
</div>
-->
<!-- End of Footer block -->
</html>