Scene change new UI

This commit is contained in:
sam 2020-09-30 23:40:39 +02:00
parent e44d1d58c7
commit e4a007dd5f
3 changed files with 74 additions and 10 deletions

View File

@ -20,6 +20,14 @@ LJ has 5 main components :
Important : for best performance LJ is meant to run in a dedicated computer especially with multiple lasers and highly multitasked load : if you watch video, use live webcam face recognition, webui simulator,... and run LJ on the same computer, well you need a bunch of cores. If you don't, spread the load : you can use webui on a tablet, the livecam on a phone, run pointlists generators on another computer,...
#
# Requirements
#
- Our old thinkpad with i5 (2.6 Ghz, 2 cores, 4 threads) works really fine if you run laser only related tasks.
- Etherdream DAC/ILDA laser. But you can develop your generators without actual lasers thanks to simu page.
- Wired network. Only the web GUI can be on wifi.
#
# Features among many others.
#
@ -295,17 +303,19 @@ Our "always working solution", as we regularly move our gear for different venue
- Again, even if etherdreams are 100 Mbits, we use *gigabits* gear.
By default LJ uses on 127.0.0.1 (localhost) :
By default LJ listen on all network interfaces (0.0.0.0) :
- A websocket on port 9001 for WebUI interaction.
- The redis server on port 6379 ('ljayserverip').
- An OSC server on port 8002 for remote control via OSC and plugins.
- Some OSC clients defined in LJ.conf to forward commands to defined plugins.
Obviously WebUI pages needs your LJ computer IP to connect to (websocket on port 9001).
You need to update LJ.conf to your network/etherdreams IPs (using configure script) and be sure to check command arguments : python3 main.py --help
The need for a dedicated computer to act as "laser server" usually depends on how many lasers you want to control and your main computer load. If you seen flickering with small point lists, try the dedicated computer idea and/or stop non laser activities or cpu intensive task like face tracking. WebUI can be open on another computer/tablet/phone.
You need to update LJ.conf to your network/etherdreams IPs and be sure to check command arguments : python3 main.py --help
The need for a dedicated computer to act as "laser server" usually depends on how many lasers you want to control and your main computer load. If you seen flickering with small point lists, try the dedicated computer idea and/or stop process interfering like redis monitoring,...
#
# Glitch art
@ -391,7 +401,7 @@ python3 talk3.py -i etherdreamIP
- Switch to simu page. If you don't see anything : check redis server or your points in redis doesn't respect pointlist formatting (see command reference).
- If talk3 works but you don't see your points : click on the Grid icon in Align page. This will override your pointlist and display squares. If Grid works : recomputed points by tracers are bad with given values in LJ.conf.
- If talk3 works but you don't see your points : click on the Grid icon in Align page. This will override your pointlist and display squares. If Grid works : recomputed points by tracers are "bad" with given values in LJ.conf.
"Bad points" ?

View File

@ -264,8 +264,8 @@ def osc_thread():
# last number of points sent to etherdream buffer
sendWSall("/points/" + str(laserid) + " " + str(r.get('/cap/'+str(laserid)).decode('ascii')))
#print "Sending simu frame from",'/pl/'+str(gstt.SceneNumber)+'/'+str(gstt.Laser)
#print r.get('/pl/'+str(gstt.SceneNumber)+'/'+str(gstt.Laser))
#print("Sending simu frame from",'/pl/'+str(gstt.SceneNumber)+'/'+str(gstt.Laser))
#print(r.get('/pl/'+str(gstt.SceneNumber)+'/'+str(gstt.Laser)))
sendWSall("/simul" +" "+ str(r.get('/pl/'+str(gstt.SceneNumber)+'/'+str(gstt.Laser)).decode('ascii')))

View File

@ -140,13 +140,67 @@
<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>
</div>
<!--
Settings Rack
-->
<div class="content">
<div class="Settingrid">
@ -218,7 +272,7 @@
<div></div>
</div>
</div>
-->
<!--