From bcd45c9de561fc26e0753b3683236b5a94f70003 Mon Sep 17 00:00:00 2001 From: nrhck Date: Tue, 18 Dec 2018 02:45:23 +0100 Subject: [PATCH] webui bugfixes --- clients/framy.py | 2 +- clients/nodeclient.js | 4 +- clients/pyclient.py | 8 +- font1.py | 119 ++++++++++++++ gstt.py | 109 ++----------- homographyp.py | 7 +- install.sh | 8 +- las.py | 84 ++++++++-- mainy.conf | 32 ++-- mainyservers.py | 79 ++++----- newdacp.py | 24 ++- settings.py | 31 ---- webui/LJ.js | 243 ++++++++++++++++++++++++++++ webui/index.html | 234 +++++++++++---------------- webui/knobs/client.png | Bin 0 -> 25899 bytes webui/knobs/iconamiral.png | Bin 0 -> 2384 bytes webui/knobs/iconastro.png | Bin 0 -> 45979 bytes webui/knobs/iconblack.png | Bin 0 -> 604 bytes webui/knobs/iconlaser.png | Bin 0 -> 15523 bytes webui/knobs/iconljay1.png | Bin 0 -> 6648 bytes webui/knobs/iconljay2.png | Bin 0 -> 39352 bytes webui/knobs/iconllstr.png | Bin 0 -> 13399 bytes webui/knobs/iconpl.png | Bin 0 -> 25642 bytes webui/knobs/iconpong.png | Bin 0 -> 5594 bytes webui/knobs/iconpose.png | Bin 0 -> 18305 bytes webui/knobs/iconsimu.png | Bin 0 -> 25269 bytes webui/ljaygrid.css | 324 +++++++++++++++++++++++++++++++++++++ 27 files changed, 939 insertions(+), 369 deletions(-) create mode 100755 font1.py create mode 100644 webui/LJ.js create mode 100644 webui/knobs/client.png create mode 100644 webui/knobs/iconamiral.png create mode 100644 webui/knobs/iconastro.png create mode 100644 webui/knobs/iconblack.png create mode 100644 webui/knobs/iconlaser.png create mode 100644 webui/knobs/iconljay1.png create mode 100644 webui/knobs/iconljay2.png create mode 100644 webui/knobs/iconllstr.png create mode 100644 webui/knobs/iconpl.png create mode 100644 webui/knobs/iconpong.png create mode 100644 webui/knobs/iconpose.png create mode 100644 webui/knobs/iconsimu.png create mode 100644 webui/ljaygrid.css diff --git a/clients/framy.py b/clients/framy.py index 844ce78..8671be1 100644 --- a/clients/framy.py +++ b/clients/framy.py @@ -105,7 +105,7 @@ def rPolyLineOneColor(xy_list, c, PL , closed, xpos = 0, ypos =0, resize =0.7, r # 0: point list / 1: Grid def LinesPL(PL): - if r.set('/pl/'+str(PL), str(pl[PL])) == True: + if r.set('/pl/0/'+str(PL), str(pl[PL])) == True: return True else: return False diff --git a/clients/nodeclient.js b/clients/nodeclient.js index 7f101b4..6398f68 100644 --- a/clients/nodeclient.js +++ b/clients/nodeclient.js @@ -83,8 +83,8 @@ console.log(pl0); console.log(pl1); // Send points lists to redis server -client.set("/pl/0",pl0); -client.set("/pl/1",pl1); +client.set("/pl/0/0",pl0); +client.set("/pl/0/1",pl1); // Quit client.quit() diff --git a/clients/pyclient.py b/clients/pyclient.py index b43eba6..5eff9ca 100644 --- a/clients/pyclient.py +++ b/clients/pyclient.py @@ -26,12 +26,12 @@ def rgb2int(r,g,b): pl1 = [(100,300,rgb2int(255,255,255)),(200,300,rgb2int(255,255,255)),(200,200,rgb2int(255,255,255)),(100,200,rgb2int(255,255,255))] # Send to laser 0 (see mainy.conf) -r.set('/pl/0', str(pl0)) +r.set('/pl/0/0', str(pl0)) # Send to laser 1 (see mainy.conf) -r.set('/pl/1', str(pl1)) - -r.set('/pl/2', str(pl1)) +r.set('/pl/0/1', str(pl1)) +# Send to laser 2 (see mainy.conf) +r.set('/pl/0/2', str(pl1)) ''' You can also use PolyLineOneColor or rPolylineOneColor to stack n point lists to build a "frame" diff --git a/font1.py b/font1.py new file mode 100755 index 0000000..63403de --- /dev/null +++ b/font1.py @@ -0,0 +1,119 @@ +# coding=UTF-8 +""" + +LJ Font 1 +v0.7.0 + + +LICENCE : CC +by Sam Neurohack +from /team/laser + + +""" +import gstt + +def DigitsDots(number,color): + dots =[] + #print ASCII_GRAPHICS[ord(char) - 48] + for dot in ASCII_GRAPHICS[number]: + #print dot + dots.append((gstt.xy_center[0]+dot[0],gstt.xy_center[1]+dot[1],color)) + #self.point_list.append((xy + (c,))) + return dots + +ASCII_GRAPHICS = [ + +#implementé + + [(-50,30), (-30,-30), (30,-30), (10,30), (-50,30)], #0 + [(-20,30), (0,-30), (-20,30)], #1 + [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #2 + [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #3 + [(30,10), (-30,10), (0,-30), (0,30)], #4 + [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #5 + [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #6 + [(-30,-30), (30,-30), (-30,30)], #7 + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], #8 + [(30,0), (-30,0), (-30,-10), (0,-30), (30,-30), (30,10), (0,30), (-30,30)], #9 + +# A implementer + [(-30,10), (30,-10), (30,10), (0,30), (-30,10), (-30,-10), (0,-30), (30,-10)], #: + [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], #; + [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #< + [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #= + [(30,10), (-30,10), (0,-30), (0,30)], #> + [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #? + [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #@ + +# Implementé + + + [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], #A + [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], #A + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], #B + [(30,30), (-30,30), (-30,-30), (30,-30)], #C + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], #D + [(30,30), (-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], #E + [(-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], #F + [(0,0), (30,0), (30,30), (-30,30), (-30,-30),(30,-30)], #G + [(-30,-30), (-30,30), (-30,0), (30,0), (30,30), (30,-30)], #H + [(0,30), (0,-30)], #I + [(-30,30), (0,-30), (0,-30), (-30,-30), (30,-30)], #J + [(-30,-30), (-30,30), (-30,0), (30,-30), (-30,0), (30,30)], #K + [(30,30), (-30,30), (-30,-30)], #L + [(-30,30), (-30,-30), (0,0), (30,-30), (30,30)], #M + [(-30,30), (-30,-30), (30,30), (30,-30)], #N + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], #O + [(-30,0), (30,0), (30,-30), (-30,-30), (-30,30)], #P + [(30,30), (30,-30), (-30,-30), (-30,30), (30,30),(35,35)], #Q + [(-30,30), (-30,-30), (30,-30), (30,0), (-30,0), (30,30)], #R + [(30,-30), (-30,-30), (-30,0), (30,0), (30,30), (-30,30)], #S + [(0,30), (0,-30), (-30,-30), (30,-30)], #T + [(-30,-30), (-30,30), (30,30), (30,-30)], #U + [(-30,-30), (0,30), (30,-30)], #V + [(-30,-30), (-30,30), (0,0), (30,30), (30,-30)], #W + [(-30,30), (30,-30)], [(-30,-30), (30,30)], #X + [(0,30), (0,0), (30,-30), (0,0), (-30,-30)], #Y + [(30,30), (-30,30), (30,-30), (-30,-30)], #Z + + # A implementer + + [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], #[ + [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #\ + [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #] + [(30,10), (-30,10), (0,-30), (0,30)], #^ + [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #_ + [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #` + + # Implementé + + [(-20,20), (-20,-20), (20,-20), (20,20), (20,0), (-20,0)], #a + [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20), (-20,0), (20,0)], #b + [(20,20), (-20,20), (-20,-20), (20,-20)], #c + [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], #d + [(20,20), (-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], #e + [(-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], #f + [(0,0), (20,0), (20,20), (-20,20), (-20,-20),(20,-20)], #g + [(-20,-20), (-20,20), (-20,0), (20,0), (20,20), (20,-20)], #H + [(0,20), (0,-20)], #I + [(-20,20), (0,-20), (0,-20), (-20,-20), (20,-20)], #J + [(-20,-20), (-20,20), (-20,0), (20,-20), (-20,0), (20,20)], #K + [(20,20), (-20,20), (-20,-20)], #L + [(-20,20), (-20,-20), (0,0), (20,-20), (20,20)], #M + [(-20,20), (-20,-20), (20,20), (20,-20)], #N + [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], #O + [(-20,0), (20,0), (20,-20), (-20,-20), (-20,20)], #P + [(20,20), (20,-20), (-20,-20), (-20,20), (20,20),(25,25)], #Q + [(-20,20), (-20,-20), (20,-20), (20,0), (-20,0), (20,20)], #R + [(20,-20), (-20,-20), (-20,0), (20,0), (20,20), (-20,20)], #S + [(0,20), (0,-20), (-20,-20), (20,-20)], #T + [(-20,-20), (-20,20), (20,20), (20,-20)], #U + [(-20,-20), (0,20), (20,-20)], #V + [(-20,-20), (-20,20), (0,0), (20,20), (20,-20)], #W + [(-20,20), (20,-20)], [(-20,-20), (20,20)], #X + [(0,20), (0,0), (20,-20), (0,0), (-20,-20)], #Y + [(20,20), (-20,20), (20,-20), (-20,-20)], #Z + + [(-2,15), (2,15)] # Point a la place de { +] diff --git a/gstt.py b/gstt.py index a48e1be..408c65c 100644 --- a/gstt.py +++ b/gstt.py @@ -1,9 +1,14 @@ # coding=UTF-8 ''' -Etat global (anciennement singleton de la classe GameState + autres VARIABLES nécessaires partout)" -''' -#from globalVars import * +LJ Global state +v0.8.0 + +LICENCE : CC +by Sam Neurohack, Loloster, pclf +from /team/laser + +''' #ConfigName = "setexample.conf" ConfigName = "mainy.conf" @@ -24,15 +29,16 @@ nozoscip = '192.168.1.15' # gstt.Laser select to what laser modifcation will occur. # Can be changed with /noteon 16-23 -Laser = 2 +Laser = 0 -# gstt.simuPL select what point list number to display in pygame simulator +# gstt.simuPL select what point list number to display in webUI simulator # Can be changed with /noteon 24-31 simuPL = 1 # gstt.laserIPS. Will be overridden by the ConfigName (see below) file values lasersIPS = ['192.168.1.5','192.168.1.6','192.168.1.3','192.168.1.4'] +ClientNumber = 1 # gstt.kpps stores kpps for each laser. # ** Will be overridden by the ConfigName (see below) file values ** @@ -57,54 +63,19 @@ lstt_points = [[0], [0], [0], [0]] swapX = [1,1,1,-1] swapY = [1,1,1,-1] -maxCurvesByLaser = 4 - - # For glitch art : change position and decrease number of points added by newdac.py # shortline for lines shorter than 4000 (in etherdream coordinates) # i.e (0.25,3) means add 3 points at 25% on the line. stepshortline = [(1.0, 8)] stepslongline = [(0.25, 3), (0.75, 3), (1.0, 10)] - -#curveColor = [255,0,0] * maxCurvesByLaser -#curveColor = [[0 for _ in range(3)] for _ in range(maxCurvesByLaser)] -curveColor = [[255 for _ in range(3)] for _ in range(maxCurvesByLaser)] -colorX = [[255 for _ in range(3)] for _ in range(maxCurvesByLaser)] -colorY = [[255 for _ in range(3)] for _ in range(maxCurvesByLaser)] -offsetX = [0] * maxCurvesByLaser -offsetY = [0] * maxCurvesByLaser -curveNumber = 0 -Curve = curveNumber -XTimeAxe=30000 -YTimeAxe=30000 - -#curveX = [255,255,255] * maxCurvesByLaser -#curveY = [255,255,255] * maxCurvesByLaser - point = [0,0,0] -# gstt.colormode select what to display. Can be changed with /noteon 57-64 -colormode = 0 -color = [255,255,255] -newcolor = 0 - -surpriseoff = 10 -surpriseon = 50 -surprisey = -10 -surprisex = -10 - - cc = [0] * 256 lfo = [0] * 10 osc = [0] * 255 oscInUse = [0] * 255 knob = [0] * 33 - -stars0=[] -stars1=[] -stars2=[] -#stars3=[] # Viewer distance (cc 21) cc[21]=60 viewer_distance = cc[21] * 8 @@ -116,33 +87,6 @@ fov = 4 * cc[22] JumpFlag =0 -# nice X (cc 5) Y (cc 6) curve at first -cc[5] = cc[6] = 60 - -# Dot mode start at middle screen -cc[1] = cc[2] = 63 - -note = 0 -velocity = 0 - -WingHere = -1 -BhorealHere = -1 -LaunchHere = -1 -BhorLeds = [0] * 64 - -oscx = 0 -oscy = 0 -oscz = 0 - - -# Ai Parameters - -aivelocity = 0.5 -aiexpressivity = 0.5 -aisensibility = 0.5 -aibeauty = 0.5 - - # OSC ports #temporaray fix hack : iport=nozoport iport = 8001 #LJay (bhorosc) input port @@ -152,41 +96,10 @@ nozoport=8001 #nozosc.py sending port to LJay (main.py) nozuport=0 #linux serial usb port connecting nozoid devices ACM0 by default -X = [0] * maxCurvesByLaser -Y = [0] * maxCurvesByLaser - -# No rotation X (cc 29) Y (cc 30) Z (cc 31) at first -cc[29] = cc[30] = cc[31] = prev_cc29 = 0 -prev_cc29 = prev_cc30 = prev_cc31 = -1 - angleX = 0 angleY = 0 angleZ = 0 -tomidi = False # currently tomidi bypass all other directions -todmx = False -toled = False -tolaser = True -tosynth = False - -sernozoid = "" -nozoid = "" -serdmx = "" -newnumber = "" -oldnumber = "" - -''' -# will be overrided but settings.conf values. -# legacy one laser only values -centerx = LASER_CENTER_X -centery = LASER_CENTER_Y -zoomx = LASER_ZOOM_X -zoomy = LASER_ZOOM_Y -sizex = LASER_SIZE_X -sizey = LASER_SIZE_Y -finangle = LASER_ANGLE -''' - # multilasers arrays # will be overrided but settings.conf values. centerX = [0,0,0,0] diff --git a/homographyp.py b/homographyp.py index eff19b3..d2a8f61 100755 --- a/homographyp.py +++ b/homographyp.py @@ -174,17 +174,18 @@ def EDpoint(mylaser,(pygamex,pygamey)): x = (gstt.xy_center[0] + ((XX * CosANGLE) - (YY * SinANGLE)) - gstt.xy_center[0]) * gstt.zoomX[mylaser] + gstt.centerX[mylaser] y = (gstt.xy_center[1] + ((XX * SinANGLE) + (YY * CosANGLE)) - gstt.xy_center[1]) * gstt.zoomY[mylaser] + gstt.centerY[mylaser] - if gstt.debug >0: + if gstt.debug >1: #print "global center :", xy_center - + print "EDpoint computing..." print "Laser :", mylaser, "center at : ", gstt.centerX[mylaser], gstt.centerY[mylaser] + print "Pygame point",pygamex,",",pygamey ''' print "swaps : ", (gstt.swapX[mylaser]), str(gstt.swapY[mylaser]) print "zooms : ", gstt.zoomX[mylaser], gstt.zoomY[mylaser] print "angles : ", gstt.finANGLE[mylaser] ''' - print "result : ", x * gstt.swapX[mylaser] , y * gstt.swapY[mylaser] + print "Result point : ", x * gstt.swapX[mylaser] , y * gstt.swapY[mylaser] return [x * gstt.swapX[mylaser] , y * gstt.swapY[mylaser]] ''' diff --git a/install.sh b/install.sh index c33abcc..ae3f3f8 100644 --- a/install.sh +++ b/install.sh @@ -1,16 +1,10 @@ #!/bin/bash sudo apt install python-pip sudo apt install git -pip uninstall serial -pip uninstall rtmidi -pip install libasound2-dev python-dev libpython-dev libjack-dev -pip install pysimpledmx +sudo apt install redis pip install numpy pip install scipy -pip install mido -pip install python-rtmidi git clone https://github.com/ptone/pyosc --depth 1 /tmp/pyosc && cd /tmp/pyosc && sudo ./setup.py install -pip install pyserial pip install redis diff --git a/las.py b/las.py index 87742d3..b09fdd7 100644 --- a/las.py +++ b/las.py @@ -41,6 +41,9 @@ def NewEDH(laser): print "New EDH requested for laser ", laser settings.Write() + print "Settings saving swapX ", gstt.swapX[laser] + print "Settings saving swapY ", gstt.swapY[laser] + homographyp.newEDH(laser) #r.set('/order/'+str(laser), 1) @@ -79,14 +82,60 @@ def Resampler(laser,lsteps): r.set('/order/'+str(laser), 4) +def LasClientChange(clientnumber): + + # + if r.get("/pl/"+str(clientnumber)+"/0") != None: + + print "Switching to laser client", clientnumber + gstt.ClientNumber = clientnumber + r.set('/clientkey', "/pl/"+str(clientnumber)+"/") + print "clientkey set to", "/pl/"+str(clientnumber)+"/" + for laserid in xrange(0,gstt.LaserNumber): + r.set('/order/'+str(laserid), 5) + else: + print "Error : new laser client",clientnumber,"must send points first to","/pl/"+str(clientnumber)+"/0" + + + +def NoteOn(note): + print "NoteOn", note + + # Change laser client + if note < 8: + LasClientChange(note) + + # New PL displayed + if note > 23 and note < 32: + if note - 24 > gstt.LaserNumber -1: + print "Only",gstt.LaserNumber,"asked, you dum ass !" + else: + gstt.Laser = note -24 + print "Current Laser switched to",gstt.Laser + #LasClientChange(gstt.Laser) + + + def handler(oscpath, args): - pathlength = len(oscpath) - if pathlength == 3: - laser = int(oscpath[2]) - else: - laser = int(oscpath[3]) + print "" + print "Handler" + if oscpath[1] == "client" or oscpath[1] =="noteon": + if oscpath[1] == "client": + LasClientChange(int(args[0])) + else: + NoteOn(int(args[0])) + + else: + pathlength = len(oscpath) + if pathlength == 3: + laser = int(oscpath[2]) + else: + laser = int(oscpath[3]) + + print "args[0] :",args[0]," ", type(args[0]) + # /grid/lasernumber value (0 or 1) if oscpath[1] == "grid": @@ -102,13 +151,12 @@ def handler(oscpath, args): if oscpath[1] == "black": if args[0] == "1": - print "Grid requested for laser ", laser + print "Black requested for laser ", laser BlackOn(laser) else: - print "No grid for laser ", laser + print "No black for laser ", laser UserOn(laser) - # /ip/lasernumber value if oscpath[1] == "ip": @@ -120,19 +168,20 @@ def handler(oscpath, args): # /kpps/lasernumber value # Live change of kpps is not implemented in newdac.py. Change will effect next startup. if oscpath[1] == "kpps": - print "New kpps for laser ", laser, " next startup", args[0] + print "New kpps for laser ", laser, " next startup", int(args[0]) gstt.kpps[laser]= int(args[0]) settings.Write() # /angle/lasernumber value if oscpath[1] == "angle": - print "New Angle modification for laser ", oscpath[2], ":", args[0] - gstt.finANGLE[laser] += int(args[0]) + print "New Angle modification for laser ", oscpath[2], ":", float(args[0]) + gstt.finANGLE[laser] += float(args[0]) NewEDH(laser) + "New angle", gstt.finANGLE[laser] # /intens/lasernumber value if oscpath[1] == "intens": - print "New intensity requested for laser ", laser, ":", args[0] + print "New intensity requested for laser ", laser, ":", int(args[0]) print "Change not implemented yet" @@ -156,24 +205,27 @@ def handler(oscpath, args): # /swap/X/lasernumber value (0 or 1) if oscpath[1] == "swap" and oscpath[2] == "X": + print "swapX was", gstt.swapX[laser] if args[0] == "0": - print "swap X : -1 for laser ", laser + print "swap X -1 for laser ", laser gstt.swapX[laser]= -1 NewEDH(laser) else: - print "swap X : 1 for laser ", laser + print "swap X 1 for laser ", laser gstt.swapX[laser]= 1 NewEDH(laser) # /swap/Y/lasernumber value (0 or 1) if oscpath[1] == "swap" and oscpath[2] == "Y": + + print "swapY was", gstt.swapX[laser] if args[0] == "0": - print "swap Y : -1 for laser ", laser + print "swap Y -1 for laser ", laser gstt.swapY[laser]= -1 NewEDH(laser) else: - print "swap Y : 1 for laser ", laser + print "swap Y 1 for laser ", laser gstt.swapY[laser]= 1 NewEDH(laser) diff --git a/mainy.conf b/mainy.conf index 27e1890..ba109d3 100644 --- a/mainy.conf +++ b/mainy.conf @@ -1,8 +1,8 @@ [General] set = 5 curve = 0 -lasernumber = 1 -debug = 1 +lasernumber = 2 +debug = 0 ljayserverip = 127.0.0.1 nozoscip = 127.0.0.1 bhoroscip = 127.0.0.1 @@ -11,15 +11,15 @@ bhoroscip = 127.0.0.1 color = -1 ip = 192.168.1.4 kpps = 25000 -centerx = 0 -centery = -650 -zoomx = 49.2 -zoomy = 65.0 +centerx = -695 +centery = -2156 +zoomx = 32.2 +zoomy = 29.0 sizex = 31450 sizey = 32000 -finangle = 0.0 +finangle = 17.0 swapx = 1 -swapy = 1 +swapy = -1 lsteps = [ (1.0, 8),(0.25, 3), (0.75, 3), (1.0, 10)] warpdest = [[-1500., 1500.], [ 1500., 1500.], @@ -30,20 +30,20 @@ warpdest = [[-1500., 1500.], color = -1 ip = 192.168.1.5 kpps = 25000 -centerx = 0 -centery = 0 -zoomx = 48.5 +centerx = -200 +centery = -357 +zoomx = 81.5 zoomy = 50.1 sizex = 32000 sizey = 32000 finangle = 0.0 -swapx = 1 -swapy = 1 +swapx = -1 +swapy = -1 lsteps = [ (1.0, 8),(0.25, 3), (0.75, 3), (1.0, 10)] warpdest = [[-1500., 1500.], - [ 1500., 1500.], - [ 1500.,-1500.], - [-1500.,-1500.]] + [ 1500., 1500.], + [ 1500.,-1500.], + [-1500.,-1500.]] [laser2] color = -1 diff --git a/mainyservers.py b/mainyservers.py index eacf491..e4f7367 100644 --- a/mainyservers.py +++ b/mainyservers.py @@ -33,6 +33,7 @@ import random, ast import newdacp import homographyp import las +import font1 from OSC import OSCServer, OSCClient, OSCMessage @@ -43,6 +44,7 @@ import types, thread, time r = redis.StrictRedis(host=gstt.LjayServerIP , port=6379, db=0) args =[0,0] + def dac_process(number, pl): while True: try: @@ -68,7 +70,7 @@ def dac_process(number, pl): # webUI server # - +print "Laser client number :",gstt.ClientNumber serverIP = gstt.LjayServerIP print "Redis IP :", serverIP @@ -166,17 +168,20 @@ def sendnozosc(oscaddress,oscargs=''): def handler(path, tags, args, source): oscpath = path.split("/") - print "debug", gstt.debug + print "" + print "OSC said : ", path, oscpath, args + #print "debug", gstt.debug if gstt.debug >0: print "" print "default handler" - print "Bhorosc said : ", path, oscpath, args + print "OSC said : ", path, oscpath, args sendWSall(path + " " + str(args[0])) las.handler(oscpath,args) # RAW OSC Frame available ? def osc_frame(): + #print 'oscframe' # clear timed_out flag oscserver.timed_out = False # handle all pending requests then return @@ -185,17 +190,9 @@ def osc_frame(): -# OSC Thread. Bhorosc handler and Automated status sender to UI. +# OSC Thread. OSC handler and Automated status sender to UI. def osc_thread(): - #print "Will use Redis server IP ", serverIP - - ''' - r = redis.StrictRedis(host=serverIP, port=6379, db=0) - print "Connection to redis server.." - print "Running..." - ''' - while True: try: while True: @@ -234,17 +231,8 @@ def osc_thread(): # last number of points sent to etherdream buffer sendWSall("/points/" + str(laserid) + " " + str(r.get('/cap/'+str(laserid)))) - sendWSall("/plframe/" + str(laserid) + " " + str(r.get('/pl/'+str(laserid)))) - - # WIP Too much packets -> flood webUI : Draw all PL point lists in JS canvas in WebUI - - ''' - for pl in range(0,1): - bhorosc.sendosc("/plframe/" + str(pl),"") - for plpoint in range(0,len(gstt.PL[pl])): - bhorosc.sendosc("/plpoint/" + str(pl),"") - ''' - + print "Sending simu frame from",'/pl/'+str(gstt.ClientNumber)+'/'+str(gstt.Laser) + sendWSall("/plframe" +" "+ r.get('/pl/'+str(gstt.ClientNumber)+'/'+str(gstt.Laser))) except Exception as e: @@ -295,8 +283,9 @@ def message_received(client, server, message): print ("") print("WS Client(%d) said: %s" % (client['id'], message)) + print("WS Client(%d) said: %s" % (client['id'], message)) oscpath = message.split(" ") - args[0] = float(oscpath[1]) + args[0] = str(oscpath[1]) #print oscpath[0].split("/"),oscpath[1] las.handler(oscpath[0].split("/"),args) @@ -306,10 +295,6 @@ def message_received(client, server, message): sendbhorosc("/on") else: sendbhorosc("/off") - else: - - print "sending to bhorosc",oscpath[0],oscpath[1] - sendbhorosc(oscpath[0],oscpath[1]) # if needed a loop back : WS Client -> server -> WS Client #sendWSall("ws"+message) @@ -326,30 +311,23 @@ def sendWSall(message): -# Some random lists for all lasers at launch. +# Some random lists for all lasers at launch for laser client gstt.ClientNumber print "" -print "Creating startup point lists..." +print "Creating startup point lists for client",gstt.ClientNumber,"..." -random_points = [(300.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 0), (500.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 65280), (500.0+random.randint(-100, 100), 400.0+random.randint(-100, 100), 65280), (300.0+random.randint(-100, 100), 400.0+random.randint(-100, 100), 65280), (300.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 65280)] -if r.set('/pl/0', str(random_points)) == True: - print "/pl/0 ", ast.literal_eval(r.get('/pl/0')) -random_points = [(300.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 0), (500.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 65280), (500.0+random.randint(-100, 100), 400.0+random.randint(-100, 100), 65280), (300.0+random.randint(-100, 100), 400.0+random.randint(-100, 100), 65280), (300.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 65280)] -if r.set('/pl/1', str(random_points)) == True: - print "/pl/1 ", ast.literal_eval(r.get('/pl/1')) +digit_points = font1.DigitsDots(gstt.ClientNumber,16711935) -random_points = [(300.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 0), (500.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 65280), (500.0+random.randint(-100, 100), 400.0+random.randint(-100, 100), 65280), (300.0+random.randint(-100, 100), 400.0+random.randint(-100, 100), 65280), (300.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 65280)] -if r.set('/pl/2', str(random_points)) == True: - print "/pl/2 ", ast.literal_eval(r.get('/pl/2')) - -random_points = [(300.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 0), (500.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 65280), (500.0+random.randint(-100, 100), 400.0+random.randint(-100, 100), 65280), (300.0+random.randint(-100, 100), 400.0+random.randint(-100, 100), 65280), (300.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 65280)] -if r.set('/pl/3', str(random_points)) == True: - print "/pl/3 ", ast.literal_eval(r.get('/pl/3')) - -# Order all lasers to show these random shapes at startup -> tell all 4 laser process to USER PLs +# Order all lasers to show the laser client number at startup -> tell all 4 laser process to USER PLs for laserid in range(0,gstt.LaserNumber): + + if r.set('/pl/'+str(gstt.ClientNumber)+'/'+str(laserid), str(digit_points)) == True: + print "/pl/"+str(gstt.ClientNumber)+"/"+str(laserid)+" ", ast.literal_eval(r.get('/pl/'+str(gstt.ClientNumber)+'/'+str(laserid))) + r.set('/order/'+str(laserid), 0) +if r.set("/clientkey","/pl/"+str(gstt.ClientNumber)+"/")==True: + print "sent clientkey : /pl/"+str(gstt.ClientNumber)+"/" print "" print "Etherdream connection check is NOT DISPLAYED" @@ -388,10 +366,12 @@ try: print "Launching OSC server..." print "at", bhoroscIPin, "port",str(bhoroscPORTin) print "Will update webUI dac status every second" - thread.start_new_thread(osc_thread, ()) - + oscserver.addMsgHandler( "/noteon", las.NoteOn ) # Default OSC handler for all OSC incoming message oscserver.addMsgHandler("default", handler) + thread.start_new_thread(osc_thread, ()) + + #print server print "" @@ -430,6 +410,11 @@ finally: print "Fin des haricots" +''' +Some code previously used, for reference : + +random_points = [(300.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 0), (500.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 65280), (500.0+random.randint(-100, 100), 400.0+random.randint(-100, 100), 65280), (300.0+random.randint(-100, 100), 400.0+random.randint(-100, 100), 65280), (300.0+random.randint(-100, 100), 200.0+random.randint(-100, 100), 65280)] +''' diff --git a/newdacp.py b/newdacp.py index 68571fd..f2bd1d8 100644 --- a/newdacp.py +++ b/newdacp.py @@ -235,6 +235,8 @@ class DAC(object): #print "init" self.mylaser = mylaser + self.clientkey = r.get("/clientkey") + #print "Laser",self.mylaser,"Got clientkey", self.clientkey #print "DAC", self.mylaser, "Handler process, connecting to", gstt.lasersIPS[mylaser] self.conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.connstatus = self.conn.connect_ex((gstt.lasersIPS[mylaser], port)) @@ -249,17 +251,18 @@ class DAC(object): self.PL = PL # Lower case pl is the actual point list coordinates - self.pl = ast.literal_eval(r.get('/pl/'+str(self.mylaser))) + print "Laser",self.mylaser,"asking for ckey", self.clientkey+str(self.mylaser) + self.pl = ast.literal_eval(r.get(self.clientkey + str(self.mylaser))) #if self.mylaser ==0: #print "DAC Init Laser", self.mylaser #print "pl :", self.pl #print "EDH/"+str(self.mylaser),r.get('/EDH/'+str(self.mylaser)) if r.get('/EDH/'+str(self.mylaser)) == None: - print "Laser",self.mylaser,"NO EDH !! Computing one..." + #print "Laser",self.mylaser,"NO EDH !! Computing one..." homographyp.newEDH(self.mylaser) else: gstt.EDH[self.mylaser] = np.array(ast.literal_eval(r.get('/EDH/'+str(self.mylaser)))) - print "Laser",self.mylaser,"found its EDH in redis" + #print "Laser",self.mylaser,"found its EDH in redis" #print gstt.EDH[self.mylaser] ''' @@ -355,7 +358,8 @@ class DAC(object): if order == 0: # USER point list - self.pl = ast.literal_eval(r.get('/pl/'+str(self.mylaser))) + self.pl = ast.literal_eval(r.get(self.clientkey+str(self.mylaser))) + else: # Get the new EDH @@ -376,7 +380,7 @@ class DAC(object): self.pl = grid_points - # Resampler Modification + # Resampler Change if order == 4: self.resampler = ast.literal_eval(r.get('/resampler/'+str(self.mylaser))) print "newdacp resetting lsteps for", self.mylaser, ":",self.resampler @@ -384,6 +388,16 @@ class DAC(object): gstt.stepslongline[0] = self.resampler[1] gstt.stepslongline[1] = self.resampler[2] gstt.stepslongline[2] = self.resampler[3] + # Back to user point list order + r.set('/order/'+str(self.mylaser), 0) + + # Client Key change + if order == 5: + print "Laser",self.mylaser,"new clientkey", + self.clientkey = r.get('/clientkey') + # Back to user point list order + r.set('/order/'+str(self.mylaser), 0) + ''' diff --git a/settings.py b/settings.py index 479e976..048c6da 100644 --- a/settings.py +++ b/settings.py @@ -40,7 +40,6 @@ def Write(): config.set(laser, 'swapx', str(gstt.swapX[i])) config.set(laser, 'swapy', str(gstt.swapY[i])) config.set(laser, 'warpdest', np.array2string(gstt.warpdest[i], precision=2, separator=',',suppress_small=True)) - config.write(open(gstt.ConfigName,'w')) @@ -76,33 +75,3 @@ print "* Reading", gstt.ConfigName, "setup file.*" config = ConfigParser.ConfigParser() config.read(gstt.ConfigName) - - -# Save all points for a given "shape" (=['Windows','0']) shapecoord is a list -# in any section of the mapping conf file -def MappingWrite(sections, shape, shapecoord): - - shapestr = " ".join(str(x) for x in shapecoord) - config.set(sections[gstt.CurrentSection], shape, shapestr.replace("] [","],[")) - config.write(open(gstt.ConfigName,'w')) - -def MappingWriteSection(sections, shape, shapecoord): - - shapestr = " ".join(str(x) for x in shapecoord) - shapestr = "[" + shapestr.replace("] [","],[") + "]" - config.set(sections, shape, shapestr) - config.write(open(gstt.ConfigName,'w')) - -# Get a list of all points (="Corners") for a given "shape" = [section,option] like ['Windows','0'] -def MappingRead(shape): - archi = ast.literal_eval(config.get(shape[0], shape[1])) - return archi - - -# Get shape numbers (i.e of windows in Windows section) -def Mapping(shape): - return len(config.options(shape)) - -# Get a list of all sections -def MappingSections(): - return config.sections() diff --git a/webui/LJ.js b/webui/LJ.js new file mode 100644 index 0000000..2547c48 --- /dev/null +++ b/webui/LJ.js @@ -0,0 +1,243 @@ +// +// LJ.js v0.7.0 +// + + + +// Web Audio buttons handler + + +// add a listener for each element. + 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); + } +// Process button events +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]+"
"; + } + var evview=document.getElementById("events"); + evview.innerHTML=str; + + if (e.target.id === "noteon" && e.type ==="input") + { + console.log("only noteon change are sent not input"); + } + else + { + console.log(e.target.id) + _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") + _WS.send("/" + e.target.id + " " + e.target.value); + } + // 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") + _WS.send("/" + e.target.id + " " + e.target.value); + } + // 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") + _WS.send("/" + e.target.id + " " + e.target.value); + } +} + + +// Websocket Handler + +var pl = ""; +var pl2 = new Array(); +var _WS = { + uri: 'ws://127.0.0.1:9001/', + 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.showout(_WS.uri); + _WS.showout('CONNECTED'); + }, + + onClose: function () { + _WS.showout('DISCONNECTED'); + }, + + onMessage: function (e) { + var res = e.data.split(" "); + //console.log(e.data) + switch (res[0].substring(0,6)) { + case "/statu": + _WS.showstatus(e.data.slice(8)); + break; + case "/plfra": + pl = e.data.slice(9); + //console.log(pl); + pl2 = eval(pl.replace(/[()]/g, '')); + //console.log(pl2); + break; + case "/plpoi": + console.log("plpoint"); + break; + case "/clien": + console.log("New Client : "+res[1]) + break + default: + //console.log(res[0] + " " + res[1]) + //console.log(res[1]) + document.getElementById(res[0].slice(1)).value = res[1]; + _WS.showin(e.data); + } + //_WS.showin(e.data); + }, + + onError: function (e) { + _WS.showin('ERROR: ' + e.data); + }, + + showin: function (message) { + var divtext = document.getElementById('showin'); + divtext.innerHTML=""; + divtext.innerHTML= message.toString(); + }, + + showout: function (message) { + var divtext = document.getElementById('showout'); + divtext.innerHTML=""; + divtext.innerHTML= message.toString(); + }, + + showstatus: function (message) { + var divtext = document.getElementById('showstatus'); + divtext.innerHTML=""; + divtext.innerHTML= message.toString(); + }, + + send: function (message) { + if (!message.length) { + alert('Empty message not allowed !'); + } else { + _WS.showout(message); + _WS.s.send(message); + } + }, + + close: function () { + _WS.showout('GOODBYE !'); + _WS.s.close(); + } +}; + +window.addEventListener('load', _WS.init, false); + + +// Menu Handler + +function noMenu() { + // Set all menu button with normal button style + var x = document.getElementById("showalign"); + x.className = "button"; + + var x = document.getElementById("showrun"); + x.className = "button"; + + var x = document.getElementById("showcanvas"); + x.className = "button"; + + var x = document.getElementById("showlive"); + x.className = "button"; + + // Hide all possible main central grids. + var x = document.getElementById("mgalign"); + x.style.display = "none"; + + var x = document.getElementById("mgcanvas"); + x.style.display = "none"; + + var x = document.getElementById("mgrun"); + x.style.display = "none"; + + var x = document.getElementById("mglive"); + x.style.display = "none"; + } + +function showAlign() { + noMenu(); + var x = document.getElementById("mgalign"); + x.style.display = "grid"; + + var x = document.getElementById("showalign"); + x.className = "button:checked"; + } + +function showRun() { + noMenu(); + var x = document.getElementById("mgrun"); + x.style.display = "grid"; + + var x = document.getElementById("showrun"); + x.className = "button:checked"; + } + +function showCanvas() { + noMenu(); + var x = document.getElementById("mgcanvas"); + x.style.display = "block"; + + var x = document.getElementById("showcanvas"); + x.className = "button:checked"; + } + +function showLive() { + noMenu(); + var x = document.getElementById("mglive"); + x.style.display = "grid"; + + var x = document.getElementById("showlive"); + x.className = "button:checked"; + } + +function buttonClicked(clicked_id) { + _WS.send("/" + clicked_id); + } + +function onSubmit(clicked_id) { + var input = document.getElementById(clicked_id); + console.log("/" + clicked_id + " " + input.value); + _WS.send("/" + clicked_id + " " + input.value); + _WS.showout("/" + clicked_id + " " + input.value); + } + \ No newline at end of file diff --git a/webui/index.html b/webui/index.html index 2e4514f..917e669 100644 --- a/webui/index.html +++ b/webui/index.html @@ -3,7 +3,7 @@ - LJay + LJ @@ -22,7 +22,8 @@ + - - - iJ}xz5wkshOBif$o%8H@m*ROc?)=rPP{VVq ze@k_*rc(d&GMGWX$F<5XW5T=jTi&MK*hGiKV{EY_!Il2H{2fgJF|GJ)Z1>%r_wXvXu!8AIvi$jw_gAJLaToKuNF^kH2@Pjgo+FC8S z-2%Q{EuD`vFgAO_?Jvg5sz(huhBsZaX?J;im`gWkw~19_0#N#sItqVenk2z7h-$v8 zS}>o;Yu6jTm~TuC#u-T18;KltYsq^t=0!}S3jf&)GrtZ4zd}cqQq|-_5&iC9Wz0#v zg}`1Qr;)j+5^H_<;*z2GQ)LzX#H`>$i!-f;V)Ys`ibn$-%vxQ27eUDB4+t(S#5fQ6 zqe(C@4F>9g`Bgi{uHHpg3lOG?`P!5;X%fjUu5K1@O|YM^p1|)RHU(yXbrQ*e^9?=Wzg+~uy%UaMJOlu^18)+r z!*}5a%-gVdt?HPX7&KcE>8(isw8)f^=w*;~L7$`Nv}Iu{3Py_??zf?|x<@w84(YIO zD8|(ByQA+TfgsY56`Y`6*? zd$h|q5NEj?v;uA`PTMQk<4Q);5Vj!f5fu>Z@n`*eq)j@hp5><*Kz#>J>iL)J%8S^I z7eWT{*uJQ%Sx3P*! z)gU`k9r_4Zb(Us^q(}t`_VHb@Pz=1N)edKz>qW;mt59+6r{bo&5DfAMO}{BR3W3DB z6c;i!HHT=h!1yjzIyGwp{N!6eS&65N%2DS#Wl^xx9~elX7-FEbf^O((x2phQd|Qpf zaZ|NCv_u(BDtM07ge0=QU**>T&ai?Vg<%1ee_9SePQ(sQy175cPJ|bifSet5+i{d0eb{mB9cHT5Yun}?5!Ei9$<&%_u?8G@?* z1~VkQ|E$^wJ7zz^9WvTl9jQJI3lMq;^jM5SKj-7p_Oe{NaL`)82; z?D1jmnSAcf3(onDkIuc^tzFo!&9;mU2*Kcn?=cC%fMHuU5eIzi{2wmm&cAg7-~dP; V0yOLpq!#coWF?g(YQ#)}{|B3U&Hn%Z literal 0 HcmV?d00001 diff --git a/webui/knobs/iconblack.png b/webui/knobs/iconblack.png new file mode 100644 index 0000000000000000000000000000000000000000..12c4383ac192f437f08a9e065b0515c877d19a8b GIT binary patch literal 604 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911L)MWvCLm(wt;u=vBoS#-wo>-L1;Fyx1 zl&avFo0y&&l$w}QS$Hzl2B_nor;B4q#jQ7&9XS~oc$haj{;j^ZTWXev#SR&sZWaj! z9tJiB<_5+C3<(Sd4Akb*##ChY(#+`)OQ;UV#$R#21Ygpw{~Vmi?ma+ Qz~sW<>FVdQ&MBb@0KB$hNdN!< literal 0 HcmV?d00001 diff --git a/webui/knobs/iconlaser.png b/webui/knobs/iconlaser.png new file mode 100644 index 0000000000000000000000000000000000000000..df333c7341a6a48b63d2caa468aa917054b72156 GIT binary patch literal 15523 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 CSj8Ry literal 0 HcmV?d00001 diff --git a/webui/knobs/iconljay1.png b/webui/knobs/iconljay1.png new file mode 100644 index 0000000000000000000000000000000000000000..33517e7506e3a7b308e4e20c31ac4f8ba9b455b7 GIT binary patch literal 6648 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 G$o~T6Jw9y! literal 0 HcmV?d00001 diff --git a/webui/knobs/iconljay2.png b/webui/knobs/iconljay2.png new file mode 100644 index 0000000000000000000000000000000000000000..6d372731edcdd21cd58ed72f22a7a1fb823bdc4b GIT binary patch literal 39352 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≺mQnriC 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≪$t^`U+yb{w#O(+;-FLa{sTFS1_P7E3 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 Hs8R5LM;%`s literal 0 HcmV?d00001 diff --git a/webui/knobs/iconpong.png b/webui/knobs/iconpong.png new file mode 100644 index 0000000000000000000000000000000000000000..542cdbcaa68aa7620dee3056c15ebd7c5693407d GIT binary patch literal 5594 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 Q>#H}KYC5Xr%9i2(0n%(~1^@s6 literal 0 HcmV?d00001 diff --git a/webui/knobs/iconpose.png b/webui/knobs/iconpose.png new file mode 100644 index 0000000000000000000000000000000000000000..51265144ef023303e454b1ef133a2bc2b013b1c5 GIT binary patch literal 18305 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 vuO53}xqZDwmkts>KZN*y8H40^qR