def StartCamera(self): self.threads = [x for x in self.threads if x.is_alive()] while len(self.threads) > 0: self.StopSimulation.value = True self.threads = [x for x in self.threads if x.is_alive()] self.StopSimulation.value = False simulator = Simulate.Simulator(self.pixelGrid) worker_thread = threading.Thread(target=simulator.Camera, args=(self.StopSimulation, )) self.threads.append(worker_thread) worker_thread.start()
def Waterfall(self): self.threads = [x for x in self.threads if x.is_alive()] while len(self.threads) > 0: self.StopSimulation.value = True self.threads = [x for x in self.threads if x.is_alive()] self.StopSimulation.value = False simulator = Simulate.Simulator(self.pixelGrid) scene = Scenes.Waterfall(self.pixelGrid) worker_thread = threading.Thread(target=simulator.Run, args=( scene, self.StopSimulation, )) self.threads.append(worker_thread) worker_thread.start()
if event.type == pygame.QUIT: quit() s, img = camera.read() if s: img = ResizeImage(img, self.pixels) frame = GetImageFrame(img, self.pixels) for PixelColorPair in frame: pixel = PixelColorPair[0] color = PixelColorPair[1] pixel.SetColor(color) if __name__ == "__main__": pixelGrid = Grid() simulator = Simulate.Simulator(pixelGrid) stop_flag = multiprocessing.Value('i', int(False)) # wall = Scenes.ColorWall(pixelGrid) # wheel = Scenes.ColorWheel(pixelGrid) # image = Scenes.DisplayImage(pixelGrid, "") # video = Scenes.PlayVideo(pixelGrid, "") # scene = Scenes.Waterfall(pixelGrid, PASTEL) # WriteFrames("Scenes/WaterfallPastel.scene", scene) scene = ReadFrames("Scenes/WaterfallPastel.scene") sceneFileNames = os.listdir("Scenes") # print("Done") if IS_PI: pixelGrid.Display(scene, 30, True)