def create_audio_engine(): latency = cmdline.get_audio_latency() * 0.001 rendering_engine = Kunquat(audio_rate=cmdline.get_audio_rate()) rendering_engine.set_loader_thread_count(cmdline.get_default_thread_count()) rendering_engine.set_player_thread_count(cmdline.get_thread_count()) audio_rate = rendering_engine.audio_rate chunk_size = max(1, int(latency * audio_rate * 0.5)) audio_engine = AudioEngine(chunk_size) audio_output = Pushaudio(audio_rate, latency) audio_output.set_audio_source(audio_engine) audio_output.start() audio_engine.set_rendering_engine(rendering_engine) audio_engine.set_audio_output(audio_output) return audio_engine
class KqtiValidator(): def __init__(self, contents, data_converters): self._validator = Kunquat() self._validator.set_loader_thread_count( cmdline.get_default_thread_count()) self._contents = contents self._data_converters = data_converters self._validation_error = None self._progress = 0 def get_progress(self): return self._progress def get_validation_steps(self): target_prefix = 'au_00' step_count = len(self._contents.items()) for i, (au_key, value) in enumerate(self._contents.items()): yield key = '/'.join((target_prefix, au_key)) try: self._data_converters.convert_key_and_data(key, value) except UnsupportedVersionError as e: version_data = self._contents.get('m_editor_version.json') self._validation_error = e.get_message('audio unit', version_data) break except VersionError as e: self._validation_error = e.args[0] break self._validator.set_data(key, value) self._progress = i / step_count def is_valid(self): if self._validation_error: return False try: self._validator.validate() except KunquatFormatError as e: self._validation_error = e['message'] return False return True def get_validation_error(self): return self._validation_error
class KqtiValidator(): def __init__(self, contents, data_converters): self._validator = Kunquat() self._validator.set_loader_thread_count(cmdline.get_default_thread_count()) self._contents = contents self._data_converters = data_converters self._validation_error = None self._progress = 0 def get_progress(self): return self._progress def get_validation_steps(self): target_prefix = 'au_00' step_count = len(self._contents.items()) for i, (au_key, value) in enumerate(self._contents.items()): yield key = '/'.join((target_prefix, au_key)) try: self._data_converters.convert_key_and_data(key, value) except UnsupportedVersionError as e: version_data = self._contents.get('m_editor_version.json') self._validation_error = e.get_message('audio unit', version_data) break except VersionError as e: self._validation_error = e.args[0] break self._validator.set_data(key, value) self._progress = i / step_count def is_valid(self): if self._validation_error: return False try: self._validator.validate() except KunquatFormatError as e: self._validation_error = e['message'] return False return True def get_validation_error(self): return self._validation_error