vpu_live.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. import pygame
  2. import pygame.gfxdraw
  3. import math
  4. import random
  5. import os
  6. os.environ['SDL_VIDEO_WINDOW_POS'] = '%i,%i' % (200,184)
  7. os.environ['SDL_VIDEO_CENTERED'] = '0'
  8. pg = pygame
  9. pygame.init()
  10. main_size=(600,300)
  11. main_size=(1600,900)
  12. main_size=(300,300)
  13. #window = pygame.display.set_mode(main_size,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  14. #window = pygame.display.set_mode(main_size,pg.RESIZABLE|pygame.DOUBLEBUF,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  15. window = pygame.display.set_mode(main_size,pg.RESIZABLE)#,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  16. #window = pygame.display.set_mode(main_size,pg.NOFRAME,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  17. #window = pygame.display.set_mode(main_size,pg.NOFRAME,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  18. #window = pygame.display.set_mode(main_size,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  19. # pygame.display.set_mode((self.width, int(self.height+(self.height*0.15))) ,pygame.FULLSCREEN)
  20. #pg.display.set_mode(window,pg.DOUBLEBUF) #|pg.OPENGL)
  21. pg.display.set_caption('LibreLight Animation')
  22. import pygame
  23. import pygame.gfxdraw
  24. import math
  25. import random
  26. import os
  27. def event_read():
  28. inc = 1
  29. for event in pg.event.get():
  30. print("event",event)
  31. move_x = 0
  32. move_y = 0
  33. move_z = 0
  34. rot_x = 0
  35. rot_y = 0
  36. rot_z = 0
  37. if event.type== pg.QUIT:
  38. print("quit")
  39. pg.quit()
  40. quit()
  41. sys.exit()
  42. if "key" in dir(event):
  43. if event.key == 27: #ESC pg.KEYDOWN:
  44. print("quit")
  45. pg.quit()
  46. quit()
  47. sys.exit()
  48. pg = pygame
  49. pygame.init()
  50. main_size=(600,300)
  51. main_size=(1600,900)
  52. main_size=(600,300)
  53. main_size=(280,200)
  54. #window = pygame.display.set_mode(main_size,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  55. #window = pygame.display.set_mode(main_size,pg.RESIZABLE|pygame.DOUBLEBUF,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  56. window = pygame.display.set_mode(main_size,pg.RESIZABLE)#,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  57. #window = pygame.display.set_mode(main_size,pg.NOFRAME,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  58. #window = pygame.display.set_mode(main_size,pg.NOFRAME,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  59. #window = pygame.display.set_mode(main_size,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  60. # pygame.display.set_mode((self.width, int(self.height+(self.height*0.15))) ,pygame.FULLSCREEN)
  61. #pg.display.set_mode(window,pg.DOUBLEBUF) #|pg.OPENGL)
  62. pg.display.set_caption('LibreLight Animation')
  63. class FIX():
  64. def __init__(self,pos=[10,10]):
  65. self.rgb = [255,255,255]
  66. self.pos = pos
  67. def draw(self):
  68. pygame.draw.rect(window,self.rgb,[self.pos[0],self.pos[1],15,15])
  69. import memcache
  70. mc = memcache.Client(['127.0.0.1:11211'], debug=0)
  71. import time
  72. s=time.time()
  73. import math
  74. while 1:
  75. x=mc.get("index")#cmd)
  76. if x is None:
  77. x = ["127.0.0.1"]
  78. for ip in x:
  79. #print( ip)
  80. ok = 0
  81. if "ltp-out" in ip:
  82. ok = 1
  83. if "2.0.0." in ip:
  84. ok = 1
  85. if ":2" not in ip:
  86. continue
  87. if not ok:
  88. continue
  89. t = int(math.sin(time.time() - s)*10)
  90. event_read()
  91. r = mc.get(ip) #"2.0.0.13:2")
  92. rr = [0]*512
  93. for i,v in enumerate(r):
  94. try: #cleanup ltp-out to int
  95. v = int(v)
  96. rr[i] = v
  97. except:pass
  98. r = rr
  99. if not r:
  100. c = 0
  101. time.sleep(0.1)
  102. r = [0] *512
  103. for i in range(12*8+1):
  104. dmx = i*4
  105. #print(dmx)
  106. r[dmx:dmx+4] = [255,10,10,40]
  107. #print(r)
  108. ch = 4
  109. dmx = 1-1
  110. rgb = [255,255,255]
  111. for y in range(8):
  112. for x in range(12):
  113. #f = FIX(pos=[x*16,y*16])
  114. if dmx+ch < len(r):
  115. dim = r[dmx]/255
  116. rgb = [r[dmx+1]*dim,r[dmx+2]*dim,r[dmx+3]*dim]
  117. #print(rgb)
  118. pos=[x*16,y*16]
  119. pygame.draw.rect(window,rgb,[40+pos[0],40+pos[1],16,16])
  120. dmx += ch
  121. pygame.display.flip()
  122. pg.time.wait(10)