def __init__(self, app): super(Mixer, self).__init__() self._app = app self._net = app.net self._scene = app.scene self._tick_rate = self._app.settings.get('mixer')['tick-rate'] self._tick_timer = None self._running = False self._enable_rendering = True self._main_buffer = None self._tick_time_data = dict() self._num_frames = 0 self._last_frame_time = 0.0 self._start_time = 0.0 self._stop_time = 0.0 self._enable_profiling = self._app.args.profile self._paused = self._app.settings.get('mixer').get('paused', False) self._frozen = False self._last_onset_time = 0.0 self._onset_holdoff = self._app.settings.get('mixer')['onset-holdoff'] self._onset = False self._reset_onset = False self._global_dimmer = 1.0 self._global_speed = 1.0 self._render_in_progress = False self._last_tick_time = time.time() self._audio_emitters_by_group = {} self._layers = [] if self._app.args.yappi and USE_YAPPI: yappi.start() if not self._scene: log.warn( "No scene assigned to mixer. Preset rendering and transitions are disabled." ) self._enable_rendering = False else: log.info("Warming up BufferUtils cache...") BufferUtils.init() log.info("Completed BufferUtils cache warmup") log.info("Initializing preset rendering buffer") fh = self._scene.fixture_hierarchy() self._main_buffer = BufferUtils.create_buffer()
def __init__(self, app): super(Mixer, self).__init__() self._app = app self._net = app.net self._scene = app.scene self._tick_rate = self._app.settings.get('mixer')['tick-rate'] self._tick_timer = None self._running = False self._enable_rendering = True self._main_buffer = None self._tick_time_data = dict() self._num_frames = 0 self._last_frame_time = 0.0 self._start_time = 0.0 self._stop_time = 0.0 self._enable_profiling = self._app.args.profile self._paused = self._app.settings.get('mixer').get('paused', False) self._frozen = False self._last_onset_time = 0.0 self._onset_holdoff = self._app.settings.get('mixer')['onset-holdoff'] self._onset = False self._reset_onset = False self._global_dimmer = 1.0 self._global_speed = 1.0 self._render_in_progress = False self._last_tick_time = time.time() self._audio_emitters_by_group = {} self._layers = [] self._leap_controller = Leap.Controller() if self._app.args.yappi and USE_YAPPI: yappi.start() if not self._scene: log.warn("No scene assigned to mixer. Preset rendering and transitions are disabled.") self._enable_rendering = False else: log.info("Warming up BufferUtils cache...") BufferUtils.init() log.info("Completed BufferUtils cache warmup") log.info("Initializing preset rendering buffer") fh = self._scene.fixture_hierarchy() self._main_buffer = BufferUtils.create_buffer()
def __init__(self, app): super(Mixer, self).__init__() self._app = app self._net = app.net self._playlist = None self._scene = app.scene self._tick_rate = self._app.settings.get('mixer')['tick-rate'] self._in_transition = False self._start_transition = False self._transition_duration = self._app.settings.get( 'mixer')['transition-duration'] self._transition_slop = self._app.settings.get( 'mixer')['transition-slop'] self._tick_timer = None self._duration = self._app.settings.get('mixer')['preset-duration'] self._elapsed = 0.0 self._running = False self._enable_rendering = True self._main_buffer = None self._max_fixtures = 0 self._max_pixels = 0 self._tick_time_data = dict() self._num_frames = 0 self._last_frame_time = 0.0 self._start_time = 0.0 self._stop_time = 0.0 self._strand_keys = list() self._enable_profiling = self._app.args.profile self._paused = self._app.settings.get('mixer').get('paused', False) self._frozen = False self._last_onset_time = 0.0 self._onset_holdoff = self._app.settings.get('mixer')['onset-holdoff'] self._onset = False self._reset_onset = False self._global_dimmer = 1.0 self._global_speed = 1.0 self._render_in_progress = False self.transition_progress = 0.0 if self._app.args.profile and USE_YAPPI: yappi.start() # Load transitions self.set_transition_mode(self._app.settings.get('mixer')['transition']) if not self._scene: log.warn( "No scene assigned to mixer. Preset rendering and transitions are disabled." ) self._transition_duration = 0.0 self._enable_rendering = False else: log.info("Warming up BufferUtils cache...") BufferUtils.init() log.info("Completed BufferUtils cache warmup") log.info("Initializing preset rendering buffer") fh = self._scene.fixture_hierarchy() for strand in fh: self._strand_keys.append(strand) (maxs, maxf, maxp) = self._scene.get_matrix_extents() self._main_buffer = BufferUtils.create_buffer() self._secondary_buffer = BufferUtils.create_buffer() self._max_fixtures = maxf self._max_pixels = maxp
def __init__(self, app): super(Mixer, self).__init__() self._app = app self._net = app.net self.playlist = None self._scene = app.scene self._tick_rate = self._app.settings.get('mixer')['tick-rate'] self._in_transition = False self._start_transition = False self._transition_duration = self._app.settings.get('mixer')['transition-duration'] self._transition_slop = self._app.settings.get('mixer')['transition-slop'] self._tick_timer = None self._duration = self._app.settings.get('mixer')['preset-duration'] self._elapsed = 0.0 self._running = False self._enable_rendering = True self._buffer_a = None self._max_pixels = 0 self._tick_time_data = dict() self._num_frames = 0 self._last_frame_time = 0.0 self._start_time = 0.0 self._stop_time = 0.0 self._strand_keys = list() self._enable_profiling = self._app.args.profile self._paused = self._app.settings.get('mixer').get('paused', False) self._frozen = False self._last_onset_time = 0.0 self._onset_holdoff = self._app.settings.get('mixer')['onset-holdoff'] self._onset = False self._reset_onset = False self._global_dimmer = 1.0 self._global_speed = 1.0 self._render_in_progress = False self._last_tick_time = 0.0 self.transition_progress = 0.0 self.audio = Audio(self) if self._app.args.yappi and USE_YAPPI: print "yappi start" yappi.start() # Load transitions self.set_transition_mode(self._app.settings.get('mixer')['transition']) if not self._scene: log.warn("No scene assigned to mixer. Preset rendering and transitions are disabled.") self._transition_duration = 0.0 self._enable_rendering = False else: log.info("Warming up BufferUtils cache...") BufferUtils.init() log.info("Completed BufferUtils cache warmup") log.info("Initializing preset rendering buffer") fh = self._scene.fixture_hierarchy() for strand in fh: self._strand_keys.append(strand) (maxs, maxp) = self._scene.get_matrix_extents() self._buffer_a = BufferUtils.create_buffer() self._buffer_b = BufferUtils.create_buffer() self._max_pixels = maxp
def __init__(self, app): super(Mixer, self).__init__() self._app = app self._net = app.net self.playlist = None self._scene = app.scene self._tick_rate = self._app.settings.get("mixer")["tick-rate"] self._in_transition = False self._start_transition = False self._transition_scrubbing = False self._transition_duration = self._app.settings.get("mixer")["transition-duration"] self._transition_slop = self._app.settings.get("mixer")["transition-slop"] self._tick_timer = None self._duration = self._app.settings.get("mixer")["preset-duration"] self._elapsed = 0.0 self.running = False self._buffer_a = None self._max_pixels = 0 self._tick_time_data = dict() self._num_frames = 0 self._last_frame_time = 0.0 self._start_time = 0.0 self._stop_time = 0.0 self._strand_keys = list() self._enable_profiling = self._app.args.profile self._paused = self._app.settings.get("mixer").get("paused", False) self._frozen = False self._last_onset_time = 0.0 self._onset_holdoff = self._app.settings.get("mixer")["onset-holdoff"] self._onset = False self._reset_onset = False self.global_dimmer = 1.0 self.global_speed = 1.0 self._render_in_progress = False self._last_tick_time = 0.0 self._fps_time = 0.0 self._fps_frames = 0 self._fps = 0.0 self.last_time = time.time() self.transition_progress = 0.0 self.audio = Audio(self) self._fft_data = None if self._app.args.yappi and USE_YAPPI: print "yappi start" yappi.start() # Load transitions self.set_transition_mode(self._app.settings.get("mixer")["transition"]) log.info("Warming up BufferUtils cache...") BufferUtils.init() log.info("Completed BufferUtils cache warmup") log.info("Initializing preset rendering buffer") fh = self._scene.fixture_hierarchy() for strand in fh: self._strand_keys.append(strand) (maxs, maxp) = self._scene.get_matrix_extents() self._buffer_a = BufferUtils.create_buffer() self._buffer_b = BufferUtils.create_buffer() self._max_pixels = maxp
def __init__(self, app): super(Mixer, self).__init__() self._app = app self._net = app.net self.playlist = None self._scene = app.scene self._tick_rate = self._app.settings.get('mixer')['tick-rate'] self._in_transition = False self._start_transition = False self._transition_scrubbing = False self._transition_duration = self._app.settings.get( 'mixer')['transition-duration'] self._transition_slop = self._app.settings.get( 'mixer')['transition-slop'] self._render_thread = None self._duration = self._app.settings.get('mixer')['preset-duration'] self._elapsed = 0.0 self.running = False self._max_pixels = 0 self._tick_time_data = dict() self._num_frames = 0 self._last_frame_time = 0.0 self._start_time = 0.0 self._stop_time = 0.0 self._strand_keys = list() self._enable_profiling = self._app.args.profile self._paused = self._app.settings.get('mixer').get('paused', False) self._frozen = False self._last_onset_time = 0.0 self._onset_holdoff = self._app.settings.get('mixer')['onset-holdoff'] self._onset = False self._reset_onset = False self.global_dimmer = 1.0 self.global_speed = 1.0 self._render_in_progress = False self._last_tick_time = 0.0 self._fps_time = 0.0 self._fps_frames = 0 self._fps = 0.0 self.last_time = time.time() self.transition_progress = 0.0 self.useColorCorrections = True # TODO: bring back noaudio #if not self._app.args.noaudio: # TODO: harmonize on threading.Thread self._audio_thread = QtCore.QThread() self._audio_thread.start() self.aubio_connector = AubioConnector() self.audio = Audio(self) self.audio.onset.connect(self.onset_detected) self.aubio_connector.onset_detected.connect(self.audio.trigger_onset) self.aubio_connector.fft_data.connect(self.audio.fft_data_from_network) self.aubio_connector.pitch_data.connect(self.audio.update_pitch_data) self.aubio_connector.moveToThread(self._audio_thread) log.info("Warming up BufferUtils cache...") BufferUtils.init() log.info("Completed BufferUtils cache warmup") # Load transitions self.set_transition_mode(self._app.settings.get('mixer')['transition']) log.info("Initializing preset rendering buffer") fh = self._scene.fixture_hierarchy() for strand in fh: self._strand_keys.append(strand) (maxs, maxp) = self._scene.get_matrix_extents() self._buffer_a = BufferUtils.create_buffer() self._buffer_b = BufferUtils.create_buffer() self._output_buffer = BufferUtils.create_buffer() self._max_pixels = maxp
def __init__(self, app): super(Mixer, self).__init__() self._app = app self._net = app.net self.playlist = None self._scene = app.scene self._tick_rate = self._app.settings.get('mixer')['tick-rate'] self._in_transition = False self._start_transition = False self._transition_scrubbing = False self._transition_duration = self._app.settings.get( 'mixer')['transition-duration'] self._transition_slop = self._app.settings.get( 'mixer')['transition-slop'] self._tick_timer = None self._duration = self._app.settings.get('mixer')['preset-duration'] self._elapsed = 0.0 self.running = False self._buffer_a = None self._max_pixels = 0 self._tick_time_data = dict() self._num_frames = 0 self._last_frame_time = 0.0 self._start_time = 0.0 self._stop_time = 0.0 self._strand_keys = list() self._enable_profiling = self._app.args.profile self._paused = self._app.settings.get('mixer').get('paused', False) self._frozen = False self._last_onset_time = 0.0 self._onset_holdoff = self._app.settings.get('mixer')['onset-holdoff'] self._onset = False self._reset_onset = False self.global_dimmer = 1.0 self.global_speed = 1.0 self._render_in_progress = False self._last_tick_time = 0.0 self._fps_time = 0.0 self._fps_frames = 0 self._fps = 0.0 self.last_time = time.time() self.transition_progress = 0.0 self.audio = Audio(self) self._fft_data = None if self._app.args.yappi and USE_YAPPI: print "yappi start" yappi.start() # Load transitions self.set_transition_mode(self._app.settings.get('mixer')['transition']) log.info("Warming up BufferUtils cache...") BufferUtils.init() log.info("Completed BufferUtils cache warmup") log.info("Initializing preset rendering buffer") fh = self._scene.fixture_hierarchy() for strand in fh: self._strand_keys.append(strand) (maxs, maxp) = self._scene.get_matrix_extents() self._buffer_a = BufferUtils.create_buffer() self._buffer_b = BufferUtils.create_buffer() self._max_pixels = maxp