def process_chunks(self): try: for name, data in chunks(self.f): name = name.decode(ENCODING).strip() method_name = "process_{}".format(name) method = getattr(self, method_name, None) log_args = (self.__class__.__name__, method_name) if callable(method): log.debug(_F("-> {}.{}", *log_args)) method(data) else: log.warning(_F("no {}.{} method", *log_args)) self.process_end_of_file() except ReaderFinished: pass
def process_chunks(self): try: for name, data in chunks(self.f): name = name.decode(ENCODING).strip().lower() method_name = "process_{}".format(name) method = getattr(self, method_name, None) log_args = (self.__class__.__name__, method_name) if callable(method): log.debug(_F("-> {}.{}", *log_args)) method(data) else: log.warning(_F("no {}.{} method", *log_args)) self.process_end_of_file() except ReaderFinished: pass
def process_SEND(self, data): self._load_last_chunk() self.object.finalize_load() if self.object.mtype == "MetaModule": self.object.update_user_defined_controllers() self.object.recompute_controller_attachment() for cnum, raw_value in reversed(list(enumerate(self._cvals))): if cnum < len(self._controller_keys): controller_name = self._controller_keys[cnum] log.debug(_F("Setting {} from raw {}", controller_name, raw_value)) self.object.set_raw(controller_name, raw_value) self.object.controllers_loaded.add(controller_name) else: log.warning( _F( "Unsupported controller at index {} with raw value {}", cnum, raw_value, ) ) raise ReaderFinished()
def process_SEND(self, data): self._load_last_chunk() self.object.finalize_load() if self.object.mtype == "MetaModule": self.object.update_user_defined_controllers() self.object.recompute_controller_attachment() for cnum, raw_value in reversed(list(enumerate(self._cvals))): if cnum < len(self._controller_keys): controller_name = self._controller_keys[cnum] log.debug( _F("Setting {} from raw {}", controller_name, raw_value)) self.object.set_raw(controller_name, raw_value) self.object.controllers_loaded.add(controller_name) else: log.warning( _F( "Unsupported controller at index {} with raw value {}", cnum, raw_value, )) raise ReaderFinished()
def _upgrade_envelopes(self): log.info( _F( "Upgrading Sampler{} to infinite envelope format", "[{}]".format(self.index) if self.index is not None else "", ) ) vol = self.volume_envelope pan = self.panning_envelope vol.bitmask = vol._legacy_bitmask vol.sustain_point = vol._legacy_sustain_point vol.loop_start_point = vol._legacy_loop_start_point vol.loop_end_point = vol._legacy_loop_end_point pan.bitmask = pan._legacy_bitmask pan.sustain_point = pan._legacy_sustain_point pan.loop_start_point = pan._legacy_loop_start_point pan.loop_end_point = pan._legacy_loop_end_point vol_x_points = [ unpack("<H", vol._legacy_point_bytes[4 * i : 4 * i + 2])[0] for i in range(vol._legacy_active_points) ] pan_x_points = [ unpack("<H", pan._legacy_point_bytes[4 * i : 4 * i + 2])[0] for i in range(pan._legacy_active_points) ] vol_y_points = [ unpack("<H", vol._legacy_point_bytes[4 * i + 2 : 4 * i + 4])[0] * 0x200 for i in range(vol._legacy_active_points) ] pan_y_points = [ unpack("<H", pan._legacy_point_bytes[4 * i + 2 : 4 * i + 4])[0] * 0x200 - pan.range[0] for i in range(pan._legacy_active_points) ] vol.points = [ (vol_x_points[i], vol_y_points[i]) for i in range(vol._legacy_active_points) ] pan.points = [ (pan_x_points[i], pan_y_points[i]) for i in range(pan._legacy_active_points) ]
def _upgrade_envelopes(self): log.info( _F( "Upgrading Sampler{} to infinite envelope format", "[{}]".format(self.index) if self.index is not None else "", )) vol = self.volume_envelope pan = self.panning_envelope vol.bitmask = vol._legacy_bitmask vol.sustain_point = vol._legacy_sustain_point vol.loop_start_point = vol._legacy_loop_start_point vol.loop_end_point = vol._legacy_loop_end_point pan.bitmask = pan._legacy_bitmask pan.sustain_point = pan._legacy_sustain_point pan.loop_start_point = pan._legacy_loop_start_point pan.loop_end_point = pan._legacy_loop_end_point vol_x_points = [ unpack("<H", vol._legacy_point_bytes[4 * i:4 * i + 2])[0] for i in range(vol._legacy_active_points) ] pan_x_points = [ unpack("<H", pan._legacy_point_bytes[4 * i:4 * i + 2])[0] for i in range(pan._legacy_active_points) ] vol_y_points = [ unpack("<H", vol._legacy_point_bytes[4 * i + 2:4 * i + 4])[0] * 0x200 for i in range(vol._legacy_active_points) ] pan_y_points = [ unpack("<H", pan._legacy_point_bytes[4 * i + 2:4 * i + 4])[0] * 0x200 - pan.range[0] for i in range(pan._legacy_active_points) ] vol.points = [(vol_x_points[i], vol_y_points[i]) for i in range(vol._legacy_active_points)] pan.points = [(pan_x_points[i], pan_y_points[i]) for i in range(pan._legacy_active_points)]
def load_chunk(self, chunk): """Load a CHNK/CHNM/CHDT/CHFF/CHFR block into this module.""" log.warning(_F("load_chunk not implemented for {}", self.__class__.__name__))