1486 lines
		
	
	
		
			67 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			1486 lines
		
	
	
		
			67 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
 | |
| <!DOCTYPE html>
 | |
| 
 | |
| <!--
 | |
|   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" />
 | |
|       	<!-- 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">
 | |
| 
 | |
| 
 | |
|   <!--
 | |
|     Title 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="52" width="41"  value="0" src="knobs/bigbluetoggle.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 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>
 | |
| 
 | |
| 
 | |
|   <!--
 | |
|     Menu 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">Virtual</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>
 | |
| 
 | |
| 
 | |
|   <!--
 | |
|     Align 
 | |
|   -->
 | |
|   
 | |
|   <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>
 | |
| 
 | |
| 
 | |
|   <!-- 
 | |
|     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>
 | |
| 
 | |
| 
 | |
|   <!-- 
 | |
|     Simulator 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>
 | |
|      <!-- simu right part : Planetarium -->
 | |
| 
 | |
|      <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>
 | |
| 
 | |
| 
 | |
|      <!-- simu right part : lissaUI -->
 | |
| 
 | |
|      <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>
 | |
| 
 | |
|   <!-- 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>
 | |
| 
 | |
| 
 | |
|   <!-- simu right part : pluginsUI -->
 | |
| 
 | |
|     <div id ="pluginsUI" style = "display: grid;justify-items: center;">
 | |
|     <!-- Plugins choice Interface -->
 | |
| 
 | |
|       <div>
 | |
|         <webaudio-switch id="pysimu/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/pysimu.png"></webaudio-switch>
 | |
|       </div>
 | |
|       <div>
 | |
|         <webaudio-switch id="glyph/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/glyph.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>
 | |
| 
 | |
|        <!-- Glyph destination LJ client Selection -->
 | |
|        <span class="lasertext">Virtual</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">Virtual</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>
 | |
|       </div>
 | |
|       <div>
 | |
| 
 | |
|        <!-- LJ Pong destination LJ client Selection -->
 | |
|        <span class="lasertext">Virtual</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">Virtual</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>
 | |
| 
 | |
| 
 | |
|   <!-- 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>
 | |
| 
 | |
| 
 | |
| 
 | |
|   <!-- simu right part : poseUI  -->
 | |
| 
 | |
|   <div id ="poseUI" class="posebuttons"> 
 | |
|     
 | |
|       <!-- IdiotIA laser destination -->
 | |
|         <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>
 | |
|     
 | |
|       <!-- IdiotIA animation selection first line -->
 | |
|         <div><webaudio-switch id="pose/idiotia/anim0" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim1" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim2" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim3" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim4" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim5" 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/idiotia/anim6" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim7" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim8" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim9" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim10" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim11" 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/idiotia/anim12" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim13" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim14" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim15" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim16" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
|         <div><webaudio-switch id="pose/idiotia/anim17" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/idiotia.png"></webaudio-switch></div>
 | |
| 
 | |
|       <!-- Starfield laser destination -->
 | |
|         <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>
 | |
| 
 | |
| 
 | |
| 
 | |
|      <!-- 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;">
 | |
|               <input class = "submit" onchange = "onSubmit(this.id)" type="text" id="words/text/0" value=" ">
 | |
|               <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>
 | |
|               <span class="lasertext">Laser 0</span>
 | |
|           </form>
 | |
| 
 | |
|           <!-- Words 1 -->
 | |
|           <form onsubmit="onSubmit(); return false;">
 | |
|               <input class = "submit" onchange = "onSubmit(this.id)" type="text" id="words/text/1" value=" ">
 | |
|               <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=" ">
 | |
|               <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=" ">
 | |
|               <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>
 | |
| 
 | |
| 
 | |
| 
 | |
|   <!-- simu right part : NozoidUI -->
 | |
| 
 | |
|   <div id ="nozoidUI" style = "display: none;justify-items: center;">
 | |
|      <!-- Stop and start switch -->
 | |
|      <div>
 | |
|            <div><webaudio-switch id="nozoid/start" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/nozoids.png"></webaudio-switch></div>
 | |
|      </div>
 | |
|  
 | |
|      <div> 
 | |
|        <!-- Nozoids list and leds -->
 | |
|        <div>
 | |
|            <webaudio-knob id="nozoid/mmo3/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/mmo3" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/mmo3.png"></webaudio-switch>
 | |
|             <webaudio-switch id="nozoid/mmo3/down 50" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/slower.png"></webaudio-switch>
 | |
|            <webaudio-switch id="nozoid/mmo3/up 50" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/faster.png"></webaudio-switch>
 | |
| 
 | |
|            <div></div>
 | |
|            <webaudio-knob id="nozoid/ocs2/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/ocs2" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/ocs2.png"></webaudio-switch>
 | |
| 
 | |
|            <webaudio-switch id="nozoid/ocs2/down 50" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/slower.png"></webaudio-switch>
 | |
|            <webaudio-switch id="nozoid/ocs2/up 50" value="0" height="27" width="75" tooltip="Switch-B" src="knobs/faster.png"></webaudio-switch>
 | |
| 
 | |
|        </div>
 | |
| 
 | |
|        <!-- Curve choice -->
 | |
|        <div>
 | |
|          <span  class="lasertext" >Curve</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 -->
 | |
|          <span  class="lasertext" >Color</span>
 | |
|          <select  onclick="buttonClicked(this.value)">
 | |
|            <option value="nozoid/color 255 0 0">Red</option>
 | |
|            <option value="nozoid/color 0 255 0">Green</option>
 | |
|            <option value="nozoid/color 0 0 255">Blue</option>
 | |
|            <option value="nozoid/color 255 255 0">Yellow</option>
 | |
|            <option value="nozoid/color 0 255 255">Cyan</option>
 | |
|            <option value="nozoid/color 255 0 255">Magenta</option>
 | |
|          </select>
 | |
|        </div>
 | |
| 
 | |
|        <!-- X and X Curve choices -->
 | |
|        <div>
 | |
|            <span class="lasertext" >X</span>
 | |
|            <select onclick="buttonClicked(this.value)">
 | |
|              <option value="nozoid/X 0">STOP</option>
 | |
|              <option value="nozoid/X 1">VCO1</option>
 | |
|              <option value="nozoid/X 2">VCO2</option>
 | |
|              <option value="nozoid/X 3">LFO1</option>
 | |
|              <option value="nozoid/X 4">LFO2</option>
 | |
|              <option value="nozoid/X 5">LFO3</option>
 | |
|              <option value="nozoid/X 6">CV/GEN</option>
 | |
|              <option value="nozoid/X 7">ADSR</option>
 | |
|              <option value="nozoid/X 8">LIGHT</option>
 | |
|              <option value="nozoid/X 9">LINE IN</option>
 | |
|              <option value="nozoid/X 10">MIDI</option>
 | |
|              <option value="nozoid/X 11">CV1</option>
 | |
|              <option value="nozoid/X 12">CV2</option>
 | |
|              <option value="nozoid/X 13">CV3</option>
 | |
|              <option value="nozoid/X 17">1 Out</option>
 | |
|              <option value="nozoid/X 18">2 Out</option>
 | |
|              <option value="nozoid/X 20">VCF</option>
 | |
|              <option value="nozoid/X 21">MIX</option>
 | |
|              <option value="nozoid/X 22">VCA</option>
 | |
|            </select>
 | |
|            <span class="lasertext" >Curve</span>
 | |
|            <select onclick="buttonClicked(this.value)">
 | |
|              <option value="nozoid/X 0">Stop</option>
 | |
|              <option value="nozoid/X 1">OSC1</option>
 | |
|              <option value="nozoid/X 2">OSC2</option>
 | |
|              <option value="nozoid/X 3">OSC3</option>
 | |
|              <option value="nozoid/X 4">LFO1</option>
 | |
|              <option value="nozoid/X 5">LFO2</option>
 | |
|              <option value="nozoid/X 6">LFO3</option>
 | |
|              <option value="nozoid/X 7">ADSR</option>
 | |
|              <option value="nozoid/X 8">CV</option>
 | |
|              <option value="nozoid/X 9">Line IN</option>
 | |
|              <option value="nozoid/X 10">Jstck</option>
 | |
|              <option value="nozoid/X 11">INL</option>
 | |
|              <option value="nozoid/X 12">INR</option>
 | |
|            </select>
 | |
|          </div>
 | |
| 
 | |
|        <!-- Y and Y Curve choices -->
 | |
|        <div>
 | |
|            <span class="lasertext" >Y</span>
 | |
|            <select onclick="buttonClicked(this.value)">
 | |
|              <option value="nozoid/Y 0">STOP</option>
 | |
|              <option value="nozoid/Y 1">VCO1</option>
 | |
|              <option value="nozoid/Y 2">VCO2</option>
 | |
|              <option value="nozoid/Y 3">LFO1</option>
 | |
|              <option value="nozoid/Y 4">LFO2</option>
 | |
|              <option value="nozoid/Y 5">LFO3</option>
 | |
|              <option value="nozoid/Y 6">CV/GEN</option>
 | |
|              <option value="nozoid/Y 7">ADSR</option>
 | |
|              <option value="nozoid/Y 8">LIGHT</option>
 | |
|              <option value="nozoid/Y 9">LINE IN</option>
 | |
|              <option value="nozoid/Y 10">MIDI</option>
 | |
|              <option value="nozoid/Y 11">CV1</option>
 | |
|              <option value="nozoid/Y 12">CV2</option>
 | |
|              <option value="nozoid/Y 13">CV3</option>
 | |
|              <option value="nozoid/Y 17">1 Out</option>
 | |
|              <option value="nozoid/Y 18">2 Out</option>
 | |
|              <option value="nozoid/Y 20">VCF</option>
 | |
|              <option value="nozoid/Y 21">MIX</option>
 | |
|              <option value="nozoid/Y 22">VCA</option>
 | |
|            </select>
 | |
|            <span class="lasertext" >Curve</span>
 | |
|            <select onclick="buttonClicked(this.value)">
 | |
|              <option value="nozoid/Y 0">Stop</option>
 | |
|              <option value="nozoid/Y 1">OSC1</option>
 | |
|              <option value="nozoid/Y 2">OSC2</option>
 | |
|              <option value="nozoid/Y 3">OSC3</option>
 | |
|              <option value="nozoid/Y 4">LFO1</option>
 | |
|              <option value="nozoid/Y 5">LFO2</option>
 | |
|              <option value="nozoid/Y 6">LFO3</option>
 | |
|              <option value="nozoid/Y 7">ADSR</option>
 | |
|              <option value="nozoid/Y 8">CV</option>
 | |
|              <option value="nozoid/Y 9">Line IN</option>
 | |
|              <option value="nozoid/Y 10">Jstck</option>
 | |
|              <option value="nozoid/Y 11">INL</option>
 | |
|              <option value="nozoid/X 12">INR</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">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>
 | |
| 
 | |
| 
 | |
|   <!--
 | |
|      Run  
 | |
|    -->
 | |
| 
 | |
|   <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>
 | |
| 
 | |
|   <!-- 
 | |
|     Footer 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>
 | |
| 	-->
 | |
| 
 | |
| </html>
 |