fireandforget version
This commit is contained in:
parent
4faf53168d
commit
93cbcfefd5
24 changed files with 565 additions and 1840 deletions
937
www/align.html
937
www/align.html
|
|
@ -1,937 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Align Rack</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="apple-mobile-web-app-title" content="Align">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<link rel="apple-touch-startup-image" href="/launch.png">
|
||||
<link rel="apple-touch-icon" href="touch-icon-iphone.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="touch-icon-ipad.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="touch-icon-iphone-retina.png">
|
||||
<link rel="apple-touch-icon" sizes="167x167" href="touch-icon-ipad-retina.png">
|
||||
|
||||
<!-- Page specific styles -->
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
|
||||
<!-- Web audio buttons defaults -->
|
||||
<script type="application/javascript" src="webcomponents-lite.js"></script>
|
||||
<script type="application/javascript" src="config.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>
|
||||
|
||||
<link rel="stylesheet" href="css/common.css" />
|
||||
</head>
|
||||
|
||||
<body style="background-color:#222;">
|
||||
<div class="Rackcontent">
|
||||
<!--
|
||||
Navigation Rack
|
||||
-->
|
||||
|
||||
<div class="content">
|
||||
<div class="buttons-7container">
|
||||
|
||||
<a href="index.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Index
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="align.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Align
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="auralls.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Aurora
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="trckr/trckrcam1.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Lasercam
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="simu.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Simu
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="webaudiobut">
|
||||
<button type="button" class="navled" style="border : #222222 1px;" onclick="onSubmit(this.id)" id="settings/restart lj" >
|
||||
restrt LJ
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="webaudiobut">
|
||||
<button type="button" class="navled" style="border : #222222 1px;" onclick="onSubmit(this.id)" id="settings/restart aurora" >
|
||||
restrt AU
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
Display Rack
|
||||
-->
|
||||
|
||||
|
||||
<div class="content">
|
||||
<div class="TopRackGrid">
|
||||
<div>
|
||||
<h2>
|
||||
/TL Align
|
||||
<span class="shade"> </span>
|
||||
</h2>
|
||||
<webaudio-switch id="on" value="1" tooltip="Switch-B" height="35" width="85" src="knobs/switch1.png">
|
||||
</webaudio-switch>
|
||||
</div>
|
||||
<div class="webaudiobut">
|
||||
<div align="center" id="line1" class="busled">
|
||||
Align Rack
|
||||
</div>
|
||||
<div align="center" id="status" class="busled">
|
||||
/team/laser
|
||||
</div>
|
||||
</div>
|
||||
<div class="etherled" style="margin-left: 30px;margin-top: 1px;">
|
||||
Stt
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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 class="etherled" style="margin-left: 30px;margin-top: 1px;">
|
||||
Ack
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
Scene choice Rack
|
||||
-->
|
||||
<div class="content">
|
||||
<div class="Settingrid">
|
||||
|
||||
<div>
|
||||
<h2>Scene</h2>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="webaudiobut" align="center" style="width: 83px;">
|
||||
<button type="button" class="navled" style="border: 1px solid #002020; text-align: middle;" onclick="onSubmit(this.id)" id="scene/0/start 1" >
|
||||
0
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
</div>
|
||||
|
||||
<div class="webaudiobut" align="center" style="width: 83px;">
|
||||
<button type="button" class="navled" style="border: 1px solid #002020; text-align: middle;" onclick="onSubmit(this.id)" id="scene/1/start 1" >
|
||||
1
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
</div>
|
||||
|
||||
<div class="webaudiobut" align="center" style="width: 83px;">
|
||||
<button type="button" class="navled" style="border: 1px solid #002020; text-align: middle;" onclick="onSubmit(this.id)" id="scene/2/start 1" >
|
||||
2
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
</div>
|
||||
|
||||
<div class="webaudiobut" align="center" style="width: 83px;">
|
||||
<button type="button" class="navled" style="border: 1px solid #002020; text-align: middle;" onclick="onSubmit(this.id)" id="scene/3/start 1" >
|
||||
3
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div> </div>
|
||||
<div></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
Settings Rack
|
||||
|
||||
<div class="content">
|
||||
<div class="Settingrid">
|
||||
|
||||
<div>
|
||||
<h2>Settings</h2>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled" style="border: 1px solid #222;">
|
||||
Lasers
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<form onsubmit="onSubmit(); return false;">
|
||||
<select name="settings/lasers" class = "submitalign" onchange = "onSubmit(this.id)" type="text" id="settings/lasers">
|
||||
<option value="1" selected>1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
<option value="4">4</option>
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
||||
<div class="webaudiobut" align="center" style="width: 83px;">
|
||||
<button type="button" class="navled" style="border: 1px solid #002020; text-align: middle;" onclick="onSubmit(this.id)" id="settings/rescan" >
|
||||
Rescan
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div>
|
||||
<form onsubmit="onSubmit(); return false;">
|
||||
<select name="settings/debug" class = "submitalign" onchange = "onSubmit(this.id)" type="text" id="settings/debug">
|
||||
<option value="0" selected>0</option>
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled" style="border: 1px solid #222;">
|
||||
Debug
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<form onsubmit="onSubmit(); return false;">
|
||||
<input class = "submite" onchange = "onSubmit(this.id)" type="text" id="settings/IP">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="webaudiobut" align="center" style="width: 73px;">
|
||||
<button type="button" class="navled" style="border: 1px solid #002020;" onclick="onSubmit(this.id)" id="settings/regen" >
|
||||
Regen
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div> </div>
|
||||
<div></div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
|
||||
<!--
|
||||
Align Rack
|
||||
-->
|
||||
<div class="content" style="height: 500px">
|
||||
|
||||
<div class="TextGrid">
|
||||
|
||||
<div class="mgalign" style="margin-left:0px;">
|
||||
|
||||
<!--
|
||||
Laser 0
|
||||
-->
|
||||
<div class="laserbox" align="center">
|
||||
<!-- IP laser 0 -->
|
||||
<div>
|
||||
<form onsubmit="onSubmit(); return false;">
|
||||
<input class = "submite" onchange = "onSubmit(this.id)" type="text" id="ip/0">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Laser type
|
||||
<div class="spacer" style="height: 10px;"></div>
|
||||
<div >
|
||||
|
||||
<form onsubmit="onSubmit(); return false;">
|
||||
<select name="lasertype" class = "submite" onchange = "onSubmit(this.id)" type="text" id="lasertype/0">
|
||||
<option value="DS1000" selected>DS1000</option>
|
||||
<option value="Luke400">Luke400</option>
|
||||
<option value="Spectra">Spectra</option>
|
||||
<option value="Fire500">Fire500</option>
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
||||
-->
|
||||
<div class="spacer" style="height: 8px;"></div>
|
||||
|
||||
<div>
|
||||
<!-- Align Icons -->
|
||||
<webaudio-switch id="grid/0" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/grid.png"></webaudio-switch>
|
||||
<webaudio-switch id="mouse/0" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/mouse.png"></webaudio-switch>
|
||||
<!-- Blackout icon -->
|
||||
<webaudio-switch id="black/0" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/blackout.png"></webaudio-switch>
|
||||
<!-- Swap Icons -->
|
||||
<webaudio-switch id="swap/X/0" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/swapx.png"></webaudio-switch>
|
||||
<webaudio-switch id="swap/Y/0" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/swapy.png"></webaudio-switch>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="spacer" style="height: 6px;"></div>
|
||||
|
||||
<!-- kpps knob -->
|
||||
<div><webaudio-knob id="kpps/0" diameter="60" min="100" max="40000" value="25000"></webaudio-knob></div>
|
||||
|
||||
|
||||
<!-- Lasergrid 0 -->
|
||||
<div class="lasergrid" style="background-image: url(knobs/lasergrid0.png);">
|
||||
<!-- kPPS & Points-->
|
||||
<div></div>
|
||||
<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></div>
|
||||
<div class="lasertext">kPPS</div>
|
||||
<div class="lasertext">Buffer</div>
|
||||
<div></div>
|
||||
<div class="spacer" style="height: 5px;"></div>
|
||||
<div class="spacer" style="height: 5px;"></div>
|
||||
|
||||
<!-- Angle, Offset X, Offset Y -->
|
||||
<div><webaudio-knob id="angle/0" diameter="60" min="0" max="360" value="0"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="loffset/X/0" diameter="60" min="-27000" max="27000" value="0"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="loffset/Y/0" diameter="60" min="-27000" max="27000" value="0"></webaudio-knob></div>
|
||||
<div class="lasertext">Angle</div>
|
||||
<div class="lasertext">Offset X</div>
|
||||
<div class="lasertext">Offset Y</div>
|
||||
<div><webaudio-param link="angle/0" value="0"></webaudio-param></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" style="height: 5px;"></div>
|
||||
<div class="spacer" style="height: 5px;"></div>
|
||||
<div class="spacer" style="height: 5px;"></div>
|
||||
|
||||
<!-- Max global intensity, Scale X, Scale Y -->
|
||||
<div><webaudio-knob id="intens/0" diameter="60" min="0" max="255" value="255"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="scale/X/0" diameter="60" min="0" max="200" value="50"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="scale/Y/0" diameter="60" min="0" max="200" value="50"></webaudio-knob></div>
|
||||
<div class="lasertext"style="color: #ddd;">Intens</div>
|
||||
<div class="lasertext">Scale X</div>
|
||||
<div class="lasertext">Scale X</div>
|
||||
<div><webaudio-param link="intens/0" value="255"></webaudio-param></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>
|
||||
<div class="spacer"></div>
|
||||
|
||||
<!-- Red green blue % Intensity for color balancing -->
|
||||
<div><webaudio-knob id="red/0" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="green/0" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="blue/0" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div class="lasertext" style="color: #cbb;">Red</div>
|
||||
<div class="lasertext" style="color: #bcb;">Green</div>
|
||||
<div class="lasertext" style="color: #bbc;">Blue</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
Laser 1
|
||||
-->
|
||||
<div class="laserbox" align="center">
|
||||
<!-- IP laser 1 -->
|
||||
<div>
|
||||
<form onsubmit="onSubmit(); return false;">
|
||||
<input class = "submite" onchange = "onSubmit(this.id)" type="text" id="ip/1">
|
||||
</form>
|
||||
</div>
|
||||
<div class="spacer" style="height: 8px;"></div>
|
||||
<div >
|
||||
|
||||
<!-- Align Icons -->
|
||||
<webaudio-switch id="grid/1" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/grid.png"></webaudio-switch>
|
||||
<webaudio-switch id="mouse/1" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/mouse.png"></webaudio-switch>
|
||||
|
||||
<!-- Blackout icon -->
|
||||
<webaudio-switch id="black/1" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/blackout.png"></webaudio-switch>
|
||||
|
||||
<!-- Swap Icons -->
|
||||
<webaudio-switch id="swap/X/1" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/swapx.png"></webaudio-switch>
|
||||
<webaudio-switch id="swap/Y/1" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/swapy.png"></webaudio-switch>
|
||||
</div>
|
||||
<div class="spacer" style="height: 6px;"></div>
|
||||
|
||||
<!-- kpps knob -->
|
||||
<div><webaudio-knob id="kpps/1" diameter="60" min="100" max="40000" value="25000"></webaudio-knob></div>
|
||||
|
||||
|
||||
|
||||
<!-- Lasergrid 1 -->
|
||||
<div class="lasergrid" style="background-image: url(knobs/lasergrid1.png);">
|
||||
|
||||
<!-- kPPS & Points-->
|
||||
<div></div>
|
||||
<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></div>
|
||||
<div class="lasertext">kPPS</div>
|
||||
<div class="lasertext">Buffer</div>
|
||||
<div></div>
|
||||
<div class="spacer"></div>
|
||||
<div class="spacer"></div>
|
||||
|
||||
<!-- Angle, Offset X, Offset Y -->
|
||||
<div><webaudio-knob id="angle/1" diameter="60" min="0" max="360"value="0"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="loffset/X/1" diameter="60" min="-27000" max="27000" value="0"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="loffset/Y/1" diameter="60" min="-27000" max="27000" value="0"></webaudio-knob></div>
|
||||
<div class="lasertext">Angle</div>
|
||||
<div class="lasertext">Offset X</div>
|
||||
<div class="lasertext">Offset Y</div>
|
||||
<div><webaudio-param link="angle/1" value="0"></webaudio-param></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" style="height: 5px;"></div>
|
||||
<div class="spacer" style="height: 5px;"></div>
|
||||
<div class="spacer" style="height: 5px;"></div>
|
||||
|
||||
<!-- Max global intensity, Scale X, Scale Y -->
|
||||
<div><webaudio-knob id="intens/1" diameter="60" min="0" max="255" value="255"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="scale/X/1" diameter="60" min="0" max="200" value="50"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="scale/Y/1" diameter="60" min="0" max="200" value="50"></webaudio-knob></div>
|
||||
<div class="lasertext"style="color: #ddd;">Intens</div>
|
||||
<div class="lasertext">Scale X</div>
|
||||
<div class="lasertext">Scale X</div>
|
||||
<div><webaudio-param link="intens/1" value="255"></webaudio-param></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>
|
||||
<div class="spacer"></div>
|
||||
|
||||
<!-- Red green blue % Intensity for color balancing -->
|
||||
<div><webaudio-knob id="red/1" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="green/1" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="blue/1" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div class="lasertext" style="color: #cbb;">Red</div>
|
||||
<div class="lasertext" style="color: #bcb;">Green</div>
|
||||
<div class="lasertext" style="color: #bbc;">Blue</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
Laser 2
|
||||
-->
|
||||
<div class="laserbox" align="center">
|
||||
<!-- IP laser 2 -->
|
||||
<div>
|
||||
<form onsubmit="onSubmit(); return false;">
|
||||
<input class = "submite" onchange = "onSubmit(this.id)" type="text" id="ip/2">
|
||||
</form>
|
||||
</div>
|
||||
<div class="spacer" style="height: 8px;"></div>
|
||||
<div>
|
||||
|
||||
<!-- Align Icons -->
|
||||
<webaudio-switch id="grid/2" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/grid.png"></webaudio-switch>
|
||||
<webaudio-switch id="mouse/2" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/mouse.png"></webaudio-switch>
|
||||
|
||||
<!-- Blackout icon -->
|
||||
<webaudio-switch id="black/2" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/blackout.png"></webaudio-switch>
|
||||
|
||||
<!-- Swap Icons -->
|
||||
<webaudio-switch id="swap/X/2" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/swapx.png"></webaudio-switch>
|
||||
<webaudio-switch id="swap/Y/2" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/swapy.png"></webaudio-switch>
|
||||
</div>
|
||||
<div class="spacer" style="height: 6px;"></div>
|
||||
<!-- kpps knob -->
|
||||
|
||||
<div><webaudio-knob id="kpps/2" diameter="60" min="100" max="40000" value="25000"></webaudio-knob></div>
|
||||
|
||||
<!-- Laser 2 grid -->
|
||||
<div class="lasergrid" style="background-image: url(knobs/lasergrid2.png)">
|
||||
|
||||
<!-- kPPS & Points-->
|
||||
<div></div>
|
||||
<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></div>
|
||||
<div class="lasertext">kPPS</div>
|
||||
<div class="lasertext">Buffer</div>
|
||||
<div></div>
|
||||
<div class="spacer"></div>
|
||||
<div class="spacer"></div>
|
||||
|
||||
<!-- Angle, Offset X, Offset Y -->
|
||||
<div><webaudio-knob id="angle/2" diameter="60" min="0" max="360" value="0"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="loffset/X/2" diameter="60" min="-27000" max="27000" value="0"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="loffset/Y/2" diameter="60" min="-27000" max="27000" value="0"></webaudio-knob></div>
|
||||
<div class="lasertext">Angle</div>
|
||||
<div class="lasertext">Offset X</div>
|
||||
<div class="lasertext">Offset Y</div>
|
||||
<div><webaudio-param link="angle/2" value="0"></webaudio-param></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" style="height: 5px;"></div>
|
||||
<div class="spacer" style="height: 5px;"></div>
|
||||
<div class="spacer" style="height: 5px;"></div>
|
||||
|
||||
<!-- Max global intensity, Scale X, Scale Y -->
|
||||
<div><webaudio-knob id="intens/2" diameter="60" min="0" max="255" value="255"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="scale/X/2" diameter="60" min="0" max="200" value="50"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="scale/Y/2" diameter="60" min="0" max="200" value="50"></webaudio-knob></div>
|
||||
<div class="lasertext"style="color: #ddd;">Intens</div>
|
||||
<div class="lasertext">Scale X</div>
|
||||
<div class="lasertext">Scale X</div>
|
||||
<div><webaudio-param link="intens/2" value="255"></webaudio-param></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>
|
||||
<div class="spacer"></div>
|
||||
|
||||
<!-- Red green blue % Intensity for color balancing -->
|
||||
<div><webaudio-knob id="red/2" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="green/2" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="blue/2" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div class="lasertext" style="color: #cbb;">Red</div>
|
||||
<div class="lasertext" style="color: #bcb;">Green</div>
|
||||
<div class="lasertext" style="color: #bbc;">Blue</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
Laser 3
|
||||
-->
|
||||
<div class="laserbox" align="center">
|
||||
<!-- IP laser 3 -->
|
||||
<div>
|
||||
<form onsubmit="onSubmit(); return false;">
|
||||
<input class = "submite" onchange = "onSubmit(this.id)" type="text" id="ip/3">
|
||||
</form>
|
||||
</div>
|
||||
<div class="spacer" style="height: 8px;"></div>
|
||||
<div>
|
||||
|
||||
<!-- Align Icons -->
|
||||
<webaudio-switch id="grid/3" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/grid.png"></webaudio-switch>
|
||||
<webaudio-switch id="mouse/3" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/mouse.png"></webaudio-switch>
|
||||
|
||||
<!-- Blackout icon -->
|
||||
<webaudio-switch id="black/3" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/blackout.png"></webaudio-switch>
|
||||
|
||||
<!-- Swap Icons -->
|
||||
<webaudio-switch id="swap/X/3" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/swapx.png"></webaudio-switch>
|
||||
<webaudio-switch id="swap/Y/3" value="0" height="25" width="25" tooltip="Switch-B" src="knobs/swapy.png"></webaudio-switch>
|
||||
</div>
|
||||
<div class="spacer" style="height: 6px;"></div>
|
||||
|
||||
<!-- kpps knob -->
|
||||
<div><webaudio-knob id="kpps/3" diameter="60" min="100" max="40000" value="25000"></webaudio-knob></div>
|
||||
|
||||
|
||||
<!-- Laser 3 grid -->
|
||||
<div class="lasergrid" style="background-image: url(knobs/lasergrid3.png)">
|
||||
|
||||
<!-- kPPS & Points-->
|
||||
<div></div>
|
||||
<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></div>
|
||||
<div class="lasertext">kPPS</div>
|
||||
<div class="lasertext">Buffer</div>
|
||||
<div></div>
|
||||
<div class="spacer"></div>
|
||||
<div class="spacer"></div>
|
||||
|
||||
<!-- Angle, Offset X, Offset Y -->
|
||||
<div><webaudio-knob id="angle/3" diameter="60" min="0" max="360" value="0"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="loffset/X/3" diameter="60" min="-27000" max="27000" value="0"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="loffset/Y/3" diameter="60" min="-27000" max="27000" value="0"></webaudio-knob></div>
|
||||
<div class="lasertext">Angle</div>
|
||||
<div class="lasertext">Offset X</div>
|
||||
<div class="lasertext">Offset Y</div>
|
||||
<div><webaudio-param link="angle/3" value="0"></webaudio-param></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" style="height: 5px;"></div>
|
||||
<div class="spacer" style="height: 5px;"></div>
|
||||
<div class="spacer" style="height: 5px;"></div>
|
||||
|
||||
<!-- Max global intensity, Scale X, Scale Y -->
|
||||
<div><webaudio-knob id="intens/3" diameter="60" min="0" max="255" value="255"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="scale/X/3" diameter="60" min="0" max="200" value="50"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="scale/Y/3" diameter="60" min="0" max="200" value="50"></webaudio-knob></div>
|
||||
<div class="lasertext"style="color: #ddd;">Intens</div>
|
||||
<div class="lasertext">Scale X</div>
|
||||
<div class="lasertext">Scale X</div>
|
||||
<div><webaudio-param link="intens/3" value="255"></webaudio-param></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>
|
||||
<div class="spacer"></div>
|
||||
|
||||
<!-- Red green blue % Intensity for color balancing -->
|
||||
<div><webaudio-knob id="red/3" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="green/3" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div><webaudio-knob id="blue/3" diameter="60" min="0" max="100" value="100"></webaudio-knob></div>
|
||||
<div class="lasertext" style="color: #cbb;">Red</div>
|
||||
<div class="lasertext" style="color: #bcb;">Green</div>
|
||||
<div class="lasertext" style="color: #bbc;">Blue</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
Encoders Line
|
||||
|
||||
# /aurora/radius layernumber radius [0-1]
|
||||
# /aurora/rotdirec layer axe direc
|
||||
# /aurora/linesize layer value
|
||||
# /aurora/rotdirec layer axe direc
|
||||
# /aurora/rotspeed layernumber axe speed
|
||||
# /aurora/transpeed layernumber axe transpeed
|
||||
# /aurora/transamt layernumber axe maxposition
|
||||
-->
|
||||
|
||||
<!--
|
||||
JS
|
||||
-->
|
||||
|
||||
<!-- LJ style WS : A nettoyer ! -->
|
||||
|
||||
<script type="text/javascript">
|
||||
var LJ = websocket_uri
|
||||
|
||||
var _WS = {
|
||||
uri: LJ,
|
||||
ws: null,
|
||||
|
||||
init : function (e) {
|
||||
_WS.s = new WebSocket(_WS.uri);
|
||||
_WS.s.onopen = function (e) { _WS.onOpen(e); };
|
||||
_WS.s.onclose = function (e) { _WS.onClose(e); };
|
||||
_WS.s.onmessage = function (e) { _WS.onMessage(e); };
|
||||
_WS.s.onerror = function (e) { _WS.onError(e); };
|
||||
},
|
||||
|
||||
onOpen: function () {
|
||||
_WS.showstatus("Connected to "+LJ);
|
||||
document.getElementById("on").value = 1;
|
||||
},
|
||||
|
||||
onClose: function () {
|
||||
_WS.showline1('<span style="color: red;">LJ DISCONNECTED</span> ');
|
||||
document.getElementById("on").value = 0;
|
||||
document.getElementById("lstt/0").value = 0;
|
||||
document.getElementById("lstt/1").value = 0;
|
||||
document.getElementById("lstt/2").value = 0;
|
||||
document.getElementById("lstt/3").value = 0;
|
||||
document.getElementById("lack/0").value = 0;
|
||||
document.getElementById("lack/1").value = 0;
|
||||
document.getElementById("lack/2").value = 0;
|
||||
document.getElementById("lack/3").value = 0;
|
||||
},
|
||||
|
||||
onMessage: function (e) {
|
||||
var res = e.data.split(" ");
|
||||
//console.log(e.data)
|
||||
//console.log(res[0].substring(0,6))
|
||||
//console.log(res)
|
||||
//console.log(res[0].slice(1))
|
||||
var divtext = document.getElementById('status');
|
||||
var divtextp = document.getElementById('players');
|
||||
|
||||
|
||||
switch (res[0].substring(0,6)) {
|
||||
|
||||
case "/statu":
|
||||
_WS.showline1("connected to "+LJ);
|
||||
if (res[2]==="Disconnected"){
|
||||
_WS.showstatus(res[1]+" "+'<span style="color: red;">'+ res[2]+'</span> ');
|
||||
}
|
||||
else{
|
||||
_WS.showstatus(res[1]+" "+res[2]);
|
||||
}
|
||||
break;
|
||||
|
||||
case "/redst":
|
||||
//console.log("red"+res[1]+" "+res[2]);
|
||||
_WS.showstatus('<span style="color: red;">'+res[1]+" "+ res[2]+'</span> ');
|
||||
break;
|
||||
|
||||
case "/line1":
|
||||
//divtext.innerHTML="connected to "+LJ;
|
||||
divtext1.innerHTML=res[1]+" "+res[2];
|
||||
break;
|
||||
|
||||
case "/redline1":
|
||||
//divtext.innerHTML="connected to "+LJ;
|
||||
divtext1.innerHTML='<span style="color: red;">'+ res[1]+" "+res[2]+'</span>';
|
||||
break;
|
||||
|
||||
case "/lack/":
|
||||
console.log("/lack "+res[1])
|
||||
document.getElementById(res[0].slice(1)).value = res[1];
|
||||
break;
|
||||
|
||||
case "/lstt/":
|
||||
console.log("/lstt "+res[1])
|
||||
document.getElementById(res[0].slice(1)).value = res[1];
|
||||
break;
|
||||
|
||||
default:
|
||||
//console.log("test "+res[0].slice(1)+" "+res[1]);
|
||||
document.getElementById(res[0].slice(1)).value = res[1];
|
||||
//_WS.showstatus(e.data);
|
||||
break
|
||||
}
|
||||
},
|
||||
|
||||
onError: function (e) {
|
||||
_WS.showstatus('<span style="color: red;">ERROR:</span> ' + e.data);
|
||||
},
|
||||
|
||||
showin: function (message) {
|
||||
var divtext = document.getElementById('status');
|
||||
divtext.innerHTML="";
|
||||
divtext.innerHTML= message.toString();
|
||||
},
|
||||
|
||||
showout: function (message) {
|
||||
var divtext = document.getElementById('status');
|
||||
divtext.innerHTML="";
|
||||
divtext.innerHTML= message.toString();
|
||||
},
|
||||
|
||||
showstatus: function (message) {
|
||||
var divtext = document.getElementById('status');
|
||||
divtext.innerHTML="";
|
||||
divtext.innerHTML= message.toString();
|
||||
},
|
||||
|
||||
showline1: function (message) {
|
||||
var divtext = document.getElementById('line1');
|
||||
divtext.innerHTML="";
|
||||
divtext.innerHTML= message.toString();
|
||||
},
|
||||
|
||||
|
||||
send: function (message) {
|
||||
if (!message.length) {
|
||||
alert('Empty message not allowed !');
|
||||
} else {
|
||||
_WS.showstatus(message);
|
||||
_WS.s.send(message);
|
||||
}
|
||||
},
|
||||
|
||||
close: function () {
|
||||
_WS.showstatus('GOODBYE !');
|
||||
_WS.s.close();
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('load', _WS.init, false);
|
||||
|
||||
//
|
||||
// Forms submits
|
||||
//
|
||||
|
||||
function onSubmit(clicked_id) {
|
||||
var input = document.getElementById(clicked_id);
|
||||
console.log("/" + clicked_id + " " + input.value);
|
||||
_WS.send("/" + clicked_id + " " + input.value);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<!--
|
||||
web audio encoders 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 newlaser(id) {
|
||||
|
||||
console.log("newlaser")
|
||||
nolaser();
|
||||
nofx();
|
||||
|
||||
laserid = "noteon "+(24-id);
|
||||
console.log("laserid "+laserid);
|
||||
|
||||
var x = document.getElementById(laserid);
|
||||
x.value = 1 ;
|
||||
console.log("laser "+id);
|
||||
}
|
||||
|
||||
|
||||
function nofx0() {
|
||||
console.log("nofx0")
|
||||
var x = document.getElementById("aurora/fx/0 ScanH");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/fx/0 ScanV");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/fx/0 Wave");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/fx/0 Circle");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/fx/0 Starfield");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/fx/0 Word");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/fx/0 Trckr");
|
||||
x.value = 0 ;
|
||||
}
|
||||
|
||||
|
||||
function nocolor0() {
|
||||
console.log("nocolor0")
|
||||
var x = document.getElementById("aurora/color/0 red");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/color/0 yellow");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/color/0 green");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/color/0 blue");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/color/0 cyan");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("aurora/color/0 white");
|
||||
x.value = 0 ;
|
||||
}
|
||||
|
||||
|
||||
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/>";
|
||||
}
|
||||
|
||||
_WS.send("/" + e.target.id + " " + e.target.value);
|
||||
|
||||
var res = e.target.id.split(" ");
|
||||
|
||||
// on off
|
||||
if (e.target.id === "on" && e.type === "change") {
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
// Go to index
|
||||
if (e.target.id === "index" && e.type === "change") {
|
||||
window.location.assign("index.html");
|
||||
}
|
||||
|
||||
// Fx
|
||||
if (res[0].substring(7,9) === "fx" && e.type === "change") {
|
||||
|
||||
var layer = res[0].substring(10,12);
|
||||
nofx0();
|
||||
var x = document.getElementById(e.target.id);
|
||||
x.value = 1 ;
|
||||
_WS.showstatus(e.target.id);
|
||||
|
||||
}
|
||||
|
||||
// Colors
|
||||
if (res[0].substring(7,9) === "co" && e.type === "change") {
|
||||
|
||||
var layer = res[0].substring(13,14);
|
||||
console.log(layer)
|
||||
nocolor0();
|
||||
var x = document.getElementById(e.target.id);
|
||||
x.value = 1 ;
|
||||
_WS.showstatus(e.target.id);
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -59,10 +59,10 @@
|
|||
</div>
|
||||
</a>
|
||||
|
||||
<a href="align.html">
|
||||
<a href="settings.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Align
|
||||
Settings
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
|
@ -93,8 +93,8 @@
|
|||
|
||||
|
||||
<div class="webaudiobut">
|
||||
<button type="button" class="navled" style="border : #222222 1px;" onclick="onSubmit(this.id)" id="settings/restart lj" >
|
||||
rstrt LJ
|
||||
<button type="button" class="navled" style="border : #222222 1px;" onclick="onSubmit(this.id)" id="settings/reset" >
|
||||
Reset
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -101,15 +101,15 @@
|
|||
|
||||
|
||||
<!--
|
||||
Align Rack
|
||||
Settings Rack
|
||||
-->
|
||||
|
||||
<a href="align.html">
|
||||
<a href="settings.html">
|
||||
<div class="content">
|
||||
<div class="TopRackGrid">
|
||||
<div>
|
||||
<h2>
|
||||
Align
|
||||
Settings
|
||||
<span class="shade"> </span>
|
||||
</h2>
|
||||
<webaudio-switch id="on" value="1" tooltip="Switch-B" height="35" width="85" src="knobs/switch1.png">
|
||||
|
|
@ -117,7 +117,7 @@
|
|||
</div>
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="busled">
|
||||
Align
|
||||
Settings
|
||||
</div>
|
||||
<div align="center" class="busled">
|
||||
|
||||
|
|
|
|||
|
|
@ -56,10 +56,10 @@
|
|||
</div>
|
||||
</a>
|
||||
|
||||
<a href="align.html">
|
||||
<a href="settings.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Align
|
||||
Settings
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
|
@ -90,8 +90,8 @@
|
|||
|
||||
|
||||
<div class="webaudiobut">
|
||||
<button type="button" class="navled" style="border : #222222 1px;" onclick="onSubmit(this.id)" id="settings/restart lj" >
|
||||
rstrt LJ
|
||||
<button type="button" class="navled" style="border : #222222 1px;" onclick="onSubmit(this.id)" id="settings/reset" >
|
||||
reset
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,680 +0,0 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>LASERCam 1</title>
|
||||
<meta charset="utf-8">
|
||||
<link href="./styles/bootstrap.min.css" rel="stylesheet" type="text/css">
|
||||
<meta name="apple-mobile-web-app-title" content="Tracker">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<link rel="apple-touch-startup-image" href="../launch.png">
|
||||
<link rel="apple-touch-icon" href="../touch-icon-iphone.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="../touch-icon-ipad.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="../touch-icon-iphone-retina.png">
|
||||
<link rel="apple-touch-icon" sizes="167x167" href="../touch-icon-ipad-retina.png">
|
||||
|
||||
<script type="application/javascript" src="../config.js"></script>
|
||||
<style>
|
||||
|
||||
|
||||
</style>
|
||||
<script>
|
||||
// getUserMedia only works over https in Chrome 47+, so we redirect to https. Also notify user if running from file.
|
||||
if (window.location.protocol == "file:") {
|
||||
alert("You seem to be running this example directly from a file. Note that these examples only work when served from a server or localhost due to canvas cross-domain restrictions.");
|
||||
} else if (window.location.hostname !== "localhost" && window.location.protocol !== "https:"){
|
||||
window.location.protocol = "http";
|
||||
//window.location.protocol = "https";
|
||||
}
|
||||
</script>
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-32642923-1']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
|
||||
</script>
|
||||
-->
|
||||
<!-- Web audio buttons defaults -->
|
||||
<script type="application/javascript" 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>
|
||||
|
||||
<link rel="stylesheet" href="../css/common.css" />
|
||||
|
||||
</head>
|
||||
<body style="background-color:#222;">
|
||||
<script src="./js/libs/utils.js"></script>
|
||||
<script src="../build/clmtrackr.js"></script>
|
||||
<script src="./js/libs/Stats.js"></script>
|
||||
|
||||
<!--
|
||||
Top Rack
|
||||
|
||||
|
||||
<div align="center">
|
||||
<a href="index.html"><img height="25" width="21" src="../knobs/indexs.png"></a>
|
||||
</div>
|
||||
-->
|
||||
|
||||
<div class="Rackcontent">
|
||||
|
||||
|
||||
<!--
|
||||
Navigation Rack
|
||||
-->
|
||||
|
||||
<div class="content">
|
||||
<div class="buttons-7container">
|
||||
|
||||
<a href="../index.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Index
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../align.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Align
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../auralls.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Aurora
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="trckrcam1.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Lasercam
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../simu.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Simu
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
<div class="webaudiobut">
|
||||
<button type="button" class="navled" style="border : #222222 1px;" onclick="onSubmit(this.id)" id="settings/restart lj" >
|
||||
rstrt LJ
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="webaudiobut">
|
||||
<button type="button" class="navled" style="border : #222222 1px;" onclick="onSubmit(this.id)" id="settings/restart aurora" >
|
||||
rstrt AU
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
Lasers & colors Rack
|
||||
-->
|
||||
|
||||
|
||||
<div class="content">
|
||||
<div class="TopRackGrid">
|
||||
<div>
|
||||
<h2>
|
||||
/TL RGY 1
|
||||
<span class="shade"> </span>
|
||||
</h2>
|
||||
<webaudio-switch id="on" value="1" tooltip="Switch-B" height="35" width="85" src="../knobs/switch1.png">
|
||||
</webaudio-switch>
|
||||
</div>
|
||||
<div style="border : #242424 1px solid;background: #000;">
|
||||
<div align="center" id="line1" class="busled">
|
||||
LASERcam 1 : Allow to use your webcam + start
|
||||
</div>
|
||||
<div align="center" id="status" class="busled">
|
||||
/team/laser
|
||||
</div>
|
||||
</div>
|
||||
<div></div>
|
||||
<div>
|
||||
<div style="margin-top : 30px;">
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
Colors Rack
|
||||
-->
|
||||
<div class="content">
|
||||
<div class="Rackgrid">
|
||||
<div>
|
||||
<h2>
|
||||
Colors
|
||||
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="webaudiobut"><webaudio-switch id="noteon 24" value="1" tooltip="Switch-B" height="64" width="64" src="../knobs/big0.png"></webaudio-switch></div>
|
||||
<div class="webaudiobut"><webaudio-switch id="noteon 25" value="0" tooltip="Switch-B" height="64" width="64" src=" ../knobs/big1.png"></webaudio-switch></div>
|
||||
<div class="webaudiobut"><webaudio-switch id="noteon 26" value="0" tooltip="Switch-B" height="64" width="64" src="../knobs/big2.png"></webaudio-switch></div>
|
||||
<div class="webaudiobut"><webaudio-switch id="noteon 27" value="0" tooltip="Switch-B" height="64" width="64" src="../knobs/big3.png"></webaudio-switch></div>
|
||||
<div></div>
|
||||
<div class="webaudiobut"><webaudio-switch id="trckr/color/0 red" value="1" tooltip="Switch-B" height="64" width="64" src="knobs/red.png"></webaudio-switch></div>
|
||||
<div class="webaudiobut"><webaudio-switch id="trckr/color/0 yellow" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/yellow.png"></webaudio-switch></div>
|
||||
<div class="webaudiobut"><webaudio-switch id="trckr/color/0 green" value="0" tooltip="Switch-B" height="64" width="64" src="knobs/green.png"></webaudio-switch></div>
|
||||
<div></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
Webcam Rack
|
||||
-->
|
||||
<div class="content" style="background-image: linear-gradient(174deg, #111,#030303);">
|
||||
<video id="videoel" class="webaudiobut" width="400" height="300" preload="auto" loop playsinline autoplay>
|
||||
</video>
|
||||
<canvas id="overlay" width="400" height="300"></canvas>
|
||||
<input class="btn" type="button" value="wait" style="margin-left: 150px;" disabled="disabled" onclick="startVideo()" id="startbutton"></input>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
Big Display Rack
|
||||
-->
|
||||
|
||||
<div class="content">
|
||||
<div id="text" class="busled" style="font-size:1.5em;border : #242424 1px solid;background: #000;-webkit-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);-moz-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);">
|
||||
<div id="gum" class="gum">
|
||||
<p>To try it out:
|
||||
<ol>
|
||||
<li>Allow the page to use your webcamera</li>
|
||||
<li>Make sure that your face is clearly visible in the video, and click start</li>
|
||||
<li>See the model fitted to your face</li>
|
||||
<ol>
|
||||
</p>
|
||||
</div>
|
||||
<div id="nogum" class="nogum">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
JS
|
||||
-->
|
||||
|
||||
<script>
|
||||
var vid = document.getElementById('videoel');
|
||||
var vid_width = vid.width;
|
||||
var vid_height = vid.height;
|
||||
var overlay = document.getElementById('overlay');
|
||||
var overlayCC = overlay.getContext('2d');
|
||||
|
||||
/*********** Setup of video/webcam and checking for webGL support *********/
|
||||
|
||||
function enablestart() {
|
||||
var startbutton = document.getElementById('startbutton');
|
||||
startbutton.value = "start";
|
||||
startbutton.disabled = null;
|
||||
}
|
||||
|
||||
var insertAltVideo = function(video) {
|
||||
// insert alternate video if getUserMedia not available
|
||||
if (supports_video()) {
|
||||
if (supports_webm_video()) {
|
||||
video.src = "./media/cap12_edit.webm";
|
||||
} else if (supports_h264_baseline_video()) {
|
||||
video.src = "./media/cap12_edit.mp4";
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
} else return false;
|
||||
}
|
||||
|
||||
function adjustVideoProportions() {
|
||||
// resize overlay and video if proportions of video are not 4:3
|
||||
// keep same height, just change width
|
||||
var proportion = vid.videoWidth/vid.videoHeight;
|
||||
vid_width = Math.round(vid_height * proportion);
|
||||
vid.width = vid_width;
|
||||
overlay.width = vid_width;
|
||||
}
|
||||
|
||||
function gumSuccess( stream ) {
|
||||
// add camera stream if getUserMedia succeeded
|
||||
if ("srcObject" in vid) {
|
||||
vid.srcObject = stream;
|
||||
} else {
|
||||
vid.src = (window.URL && window.URL.createObjectURL(stream));
|
||||
}
|
||||
vid.onloadedmetadata = function() {
|
||||
adjustVideoProportions();
|
||||
vid.play();
|
||||
}
|
||||
vid.onresize = function() {
|
||||
adjustVideoProportions();
|
||||
if (trackingStarted) {
|
||||
ctrack.stop();
|
||||
ctrack.reset();
|
||||
ctrack.start(vid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function gumFail() {
|
||||
// fall back to video if getUserMedia failed
|
||||
insertAltVideo(vid);
|
||||
document.getElementById('gum').className = "hide";
|
||||
document.getElementById('nogum').className = "nohide";
|
||||
}
|
||||
|
||||
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
|
||||
window.URL = window.URL || window.webkitURL || window.msURL || window.mozURL;
|
||||
|
||||
// set up video
|
||||
if (navigator.mediaDevices) {
|
||||
navigator.mediaDevices.getUserMedia({video : true}).then(gumSuccess).catch(gumFail);
|
||||
} else if (navigator.getUserMedia) {
|
||||
navigator.getUserMedia({video : true}, gumSuccess, gumFail);
|
||||
} else {
|
||||
insertAltVideo(vid);
|
||||
document.getElementById('gum').className = "hide";
|
||||
document.getElementById('nogum').className = "nohide";
|
||||
alert("Your browser does not seem to support getUserMedia, using a fallback video instead.");
|
||||
}
|
||||
|
||||
vid.addEventListener('canplay', enablestart, false);
|
||||
|
||||
/*********** Code for face tracking *********/
|
||||
|
||||
var ctrack = new clm.tracker();
|
||||
ctrack.init();
|
||||
var trackingStarted = false;
|
||||
var counter = 0;
|
||||
var layer = 0;
|
||||
|
||||
function startVideo() {
|
||||
// start video
|
||||
vid.play();
|
||||
// start tracking
|
||||
ctrack.start(vid);
|
||||
trackingStarted = true;
|
||||
// start loop to draw face
|
||||
drawLoop();
|
||||
}
|
||||
|
||||
function drawLoop() {
|
||||
requestAnimFrame(drawLoop);
|
||||
overlayCC.clearRect(0, 0, vid_width, vid_height);
|
||||
//psrElement.innerHTML = "score :" + ctrack.getScore().toFixed(4);
|
||||
var positions = ctrack.getCurrentPosition();
|
||||
// do something with the positions ...
|
||||
// print the positions
|
||||
var positionString = "";
|
||||
var positionFace = 'trckr/frame '+layer+" "+counter+" ";
|
||||
if (positions) {
|
||||
ctrack.draw(overlay);
|
||||
for (var p = 0;p < 71;p++) {
|
||||
positionString += "featurepoint "+p+" : ["+positions[p][0].toFixed(2)+","+positions[p][1].toFixed(2)+"]<br/>";
|
||||
positionFace += positions[p][0].toFixed(2)+" "+positions[p][1].toFixed(2)+" ";
|
||||
}
|
||||
|
||||
//document.getElementById('positions').innerHTML = positionString;
|
||||
_WS.s.send(positionFace);
|
||||
counter +=1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/*********** Code for stats **********/
|
||||
|
||||
stats = new Stats();
|
||||
stats.domElement.style.position = 'absolute';
|
||||
stats.domElement.style.top = '0px';
|
||||
document.getElementById('container').appendChild( stats.domElement );
|
||||
|
||||
// update stats on every iteration
|
||||
document.addEventListener('clmtrackrIteration', function(event) {
|
||||
stats.update();
|
||||
}, false);
|
||||
|
||||
</script>
|
||||
|
||||
<!-- LJ style WS : A nettoyer ! -->
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var LJ = 'ws://192.168.2.43:9001/'
|
||||
|
||||
var _WS = {
|
||||
uri: LJ,
|
||||
ws: null,
|
||||
|
||||
init : function (e) {
|
||||
_WS.s = new WebSocket(_WS.uri);
|
||||
_WS.s.onopen = function (e) { _WS.onOpen(e); };
|
||||
_WS.s.onclose = function (e) { _WS.onClose(e); };
|
||||
_WS.s.onmessage = function (e) { _WS.onMessage(e); };
|
||||
_WS.s.onerror = function (e) { _WS.onError(e); };
|
||||
},
|
||||
|
||||
onOpen: function () {
|
||||
_WS.showstatus("Connected to "+LJ);
|
||||
document.getElementById("on").value = 1;
|
||||
},
|
||||
|
||||
onClose: function () {
|
||||
_WS.showline1('<span style="color: red;">LJ DISCONNECTED</span> ');
|
||||
|
||||
},
|
||||
|
||||
onMessage: function (e) {
|
||||
var res = e.data.split(" ");
|
||||
//console.log(e.data)
|
||||
//console.log(res[0].substring(0,6))
|
||||
//console.log(res)
|
||||
//console.log(res[0].slice(1))
|
||||
var divtext = document.getElementById('status');
|
||||
var divtextp = document.getElementById('players');
|
||||
|
||||
|
||||
switch (res[0].substring(0,6)) {
|
||||
|
||||
case "/statu":
|
||||
|
||||
if (res[2]==="Disconnected"){
|
||||
_WS.showstatus(res[1]+" "+'<span style="color: red;">'+ res[2]+'</span> ');
|
||||
}
|
||||
else{
|
||||
_WS.showstatus(res[1]+" "+res[2]);
|
||||
}
|
||||
break;
|
||||
|
||||
case "/redst":
|
||||
//console.log("red"+res[1]+" "+res[2]);
|
||||
_WS.showstatus('<span style="color: red;">'+res[1]+" "+ res[2]+'</span> ');
|
||||
break;
|
||||
|
||||
case "/line1":
|
||||
//divtext.innerHTML="connected to "+LJ;
|
||||
divtext1.innerHTML=res[1]+" "+res[2];
|
||||
break;
|
||||
|
||||
case "/redline1":
|
||||
//divtext.innerHTML="connected to "+LJ;
|
||||
divtext1.innerHTML='<span style="color: red;">'+ res[1]+" "+res[2]+'</span>';
|
||||
break;
|
||||
|
||||
case "/laser":
|
||||
console.log("/laser "+res[1])
|
||||
newlaser(res[1])
|
||||
break;
|
||||
|
||||
case "/lack/":
|
||||
console.log("/lack "+res[1])
|
||||
document.getElementById(res[0].slice(1)).value = res[1];
|
||||
break;
|
||||
|
||||
case "/lstt/":
|
||||
console.log("/lstt "+res[1])
|
||||
document.getElementById(res[0].slice(1)).value = res[1];
|
||||
break;
|
||||
|
||||
default:
|
||||
//console.log("test "+res[0].slice(1)+" "+res[1]);
|
||||
document.getElementById(res[0].slice(1)).value = res[1];
|
||||
//_WS.showstatus(e.data);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
showline1: function (message) {
|
||||
var divtext = document.getElementById('line1');
|
||||
divtext.innerHTML="";
|
||||
divtext.innerHTML= message.toString();
|
||||
},
|
||||
|
||||
|
||||
onError: function (e) {
|
||||
_WS.showstatus('<span style="color: red;">ERROR:</span> ' + e.data);
|
||||
},
|
||||
|
||||
showin: function (message) {
|
||||
var divtext = document.getElementById('status');
|
||||
divtext.innerHTML="";
|
||||
divtext.innerHTML= message.toString();
|
||||
},
|
||||
|
||||
showout: function (message) {
|
||||
var divtext = document.getElementById('status');
|
||||
divtext.innerHTML="";
|
||||
divtext.innerHTML= message.toString();
|
||||
},
|
||||
|
||||
showstatus: function (message) {
|
||||
var divtext = document.getElementById('status');
|
||||
divtext.innerHTML="";
|
||||
divtext.innerHTML= message.toString();
|
||||
},
|
||||
|
||||
|
||||
send: function (message) {
|
||||
if (!message.length) {
|
||||
alert('Empty message not allowed !');
|
||||
} else {
|
||||
_WS.showstatus(message);
|
||||
_WS.s.send(message);
|
||||
}
|
||||
},
|
||||
|
||||
close: function () {
|
||||
_WS.showstatus('GOODBYE !');
|
||||
_WS.s.close();
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('load', _WS.init, false);
|
||||
|
||||
//
|
||||
// Forms submits
|
||||
//
|
||||
|
||||
function onSubmit(clicked_id) {
|
||||
var input = document.getElementById(clicked_id);
|
||||
console.log("/" + clicked_id + " " + input.value);
|
||||
_WS.send("/" + clicked_id + " " + input.value);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<!--
|
||||
web audio encoders 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 newlaser(id) {
|
||||
|
||||
console.log("newlaser " +id)
|
||||
var laserid = 24+ parseInt(id,10);
|
||||
laser = "noteon "+laserid;
|
||||
console.log("laser "+laser);
|
||||
nolaser();
|
||||
nofx();
|
||||
|
||||
var x = document.getElementById(laser);
|
||||
x.value = 1 ;
|
||||
}
|
||||
|
||||
|
||||
function nolaser() {
|
||||
//console.log("nolaser")
|
||||
var x = document.getElementById("noteon 24");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("noteon 25");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("noteon 26");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("noteon 27");
|
||||
x.value = 0 ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// RGB Colors
|
||||
function nocolor() {
|
||||
//console.log("nocolor0")
|
||||
var x = document.getElementById("trckr/color/ red");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("trckr/color/ yellow");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("trckr/color/ green");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("trckr/color/ blue");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("trckr/color/ cyan");
|
||||
x.value = 0 ;
|
||||
var x = document.getElementById("trckr/color/ white");
|
||||
x.value = 0 ;
|
||||
}
|
||||
|
||||
// RGY Colors
|
||||
//function nocolor() {
|
||||
//var x = document.getElementById("trckr/color/ red");
|
||||
// x.value = 0 ;
|
||||
//var x = document.getElementById("trckr/color/ yellow");
|
||||
// x.value = 0 ;
|
||||
//var x = document.getElementById("trckr/color/ green");
|
||||
// x.value = 0 ;
|
||||
//}
|
||||
|
||||
|
||||
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/>";
|
||||
}
|
||||
|
||||
_WS.send("/" + e.target.id + " " + e.target.value);
|
||||
|
||||
var res = e.target.id.split(" ");
|
||||
|
||||
|
||||
// on off
|
||||
if (e.target.id === "on" && e.type === "change") {
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
// Go to index
|
||||
if (e.target.id === "index" && e.type === "change") {
|
||||
window.location.assign("../index.html");
|
||||
}
|
||||
// Fx
|
||||
if (res[0].substring(7,9) === "fx" && e.type === "change") {
|
||||
|
||||
var layer = res[0].substring(10,12);
|
||||
nofx0();
|
||||
var x = document.getElementById(e.target.id);
|
||||
x.value = 1 ;
|
||||
_WS.showstatus(e.target.id);
|
||||
|
||||
}
|
||||
|
||||
// Colors
|
||||
if (res[0].substring(7,9) === "co" && e.type === "change") {
|
||||
|
||||
nocolor();
|
||||
_WS.send("/"+res[0]+laser+ " "+ res[1]+ " " + e.target.value);
|
||||
var x = document.getElementById(e.target.id);
|
||||
x.value = 1 ;
|
||||
//_WS.showstatus("Laser "+laser+ " "+ res[1]);
|
||||
console.log("colors sending "+res[0]+laser+ " "+ res[1]+ " " + e.target.value);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Lasers
|
||||
if (res[0] === "noteon" && e.type === "change") {
|
||||
//console.log(e.target.id);
|
||||
//console.log(res);
|
||||
//console.log(res[1] - 24)
|
||||
newlaser(res[1] - 24);
|
||||
_WS.send("/" + e.target.id + " " + e.target.value);
|
||||
|
||||
//nolaser();
|
||||
//nofx();
|
||||
//_WS.send("/" + e.target.id + " " + e.target.value);
|
||||
//var x = document.getElementById(e.target.id);
|
||||
//x.value = 1 ;
|
||||
//laser = res[1] - 24;
|
||||
//console.log("laser "+laser);
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -93,10 +93,10 @@
|
|||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../align.html">
|
||||
<a href="../settings.html">
|
||||
<div class="webaudiobut">
|
||||
<div align="center" class="navled">
|
||||
Align
|
||||
Settings
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
|
@ -127,8 +127,8 @@
|
|||
|
||||
|
||||
<div class="webaudiobut">
|
||||
<button type="button" class="navled" style="border : #222222 1px;" onclick="onSubmit(this.id)" id="settings/restart lj" >
|
||||
rstrt LJ
|
||||
<button type="button" class="navled" style="border : #222222 1px;" onclick="onSubmit(this.id)" id="settings/reset" >
|
||||
Reset
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue