コード例 #1
0
 def _get_track_list(self):
     key = 'album/p_tracks.json'
     try:
         track_list = self._store[key]
     except KeyError:
         track_list = get_default_value(key)
     return track_list
コード例 #2
0
ファイル: song.py プロジェクト: EdwardBetts/kunquat
 def _get_order_list(self):
     key = self._get_order_list_key()
     try:
         order_list = self._store[key]
     except KeyError:
         order_list = get_default_value(key)
     return order_list or []
コード例 #3
0
 def _get_order_list(self):
     key = self._get_order_list_key()
     try:
         order_list = self._store[key]
     except KeyError:
         order_list = get_default_value(key)
     return order_list or []
コード例 #4
0
ファイル: album.py プロジェクト: EdwardBetts/kunquat
 def _get_track_list(self):
     key = 'album/p_tracks.json'
     try:
         track_list = self._store[key]
     except KeyError:
         track_list = get_default_value(key)
     return track_list
コード例 #5
0
ファイル: module.py プロジェクト: EdwardBetts/kunquat
 def get_control_ids(self):
     key = 'p_control_map.json'
     input_map = self._store.get(key, get_default_value(key))
     control_ids = set()
     for (control_number, _) in input_map:
         control_id = 'control_{0:02x}'.format(control_number)
         control_ids.add(control_id)
     return control_ids
コード例 #6
0
 def get_control_ids(self):
     key = 'p_control_map.json'
     input_map = self._store.get(key, get_default_value(key))
     control_ids = set()
     for (control_number, _) in input_map:
         control_id = 'control_{0:02x}'.format(control_number)
         control_ids.add(control_id)
     return control_ids
コード例 #7
0
ファイル: control.py プロジェクト: JoelDreaver/kunquat
    def get_edit_connect_to_au(self, au_id):
        control_num = int(self._control_id.split('_')[1], 16)
        au_num = int(au_id.split('_')[1], 16)

        cmap_key = 'p_control_map.json'
        control_map = self._store.get(cmap_key, get_default_value(cmap_key))
        controls = dict(control_map)
        controls[control_num] = au_num

        return { cmap_key: list(controls.items()) }
コード例 #8
0
ファイル: controller.py プロジェクト: kagu/kunquat
 def _check_update_random_seed(self):
     rand_seed_update_key = 'i_random_seed_auto_update.json'
     rand_seed_key = 'p_random_seed.json'
     if self._store.get(rand_seed_update_key, False):
         old_seed = self._store.get(
                 rand_seed_key, get_default_value(rand_seed_key))
         new_seed = (old_seed + 1) % 2**63
         transaction = { rand_seed_key: new_seed }
         self._store.put(transaction, mark_modified=False)
         self._updater.signal_update('signal_random_seed')
コード例 #9
0
ファイル: module.py プロジェクト: kagu/kunquat
    def _check_update_control_id_cache(self):
        if self._control_ids:
            return

        key = 'p_control_map.json'
        input_map = self._store.get(key, get_default_value(key))
        self._control_ids = set()
        for control_number, _ in input_map:
            control_id = 'control_{:02x}'.format(control_number)
            self._control_ids.add(control_id)
コード例 #10
0
    def _check_update_control_id_cache(self):
        if self._control_ids:
            return

        key = 'p_control_map.json'
        input_map = self._store.get(key, get_default_value(key))
        self._control_ids = set()
        for control_number, _ in input_map:
            control_id = 'control_{:02x}'.format(control_number)
            self._control_ids.add(control_id)
コード例 #11
0
 def _check_update_random_seed(self):
     rand_seed_update_key = 'i_random_seed_auto_update.json'
     rand_seed_key = 'p_random_seed.json'
     if self._store.get(rand_seed_update_key, False):
         old_seed = self._store.get(
                 rand_seed_key, get_default_value(rand_seed_key))
         new_seed = (old_seed + 1) % 2**63
         transaction = { rand_seed_key: new_seed }
         self._store.put(transaction, mark_modified=False)
         self._updater.signal_update('signal_random_seed')
コード例 #12
0
ファイル: control.py プロジェクト: datamail321/kunquat
    def connect_to_au(self, au_id):
        control_num = int(self._control_id.split('_')[1], 16)
        au_num = int(au_id.split('_')[1], 16)

        cmap_key = 'p_control_map.json'
        control_map = self._store.get(cmap_key, get_default_value(cmap_key))
        controls = dict(control_map)
        controls[control_num] = au_num
        self._store[cmap_key] = list(controls.items())

        self._au_number = au_num
コード例 #13
0
ファイル: module.py プロジェクト: kagu/kunquat
 def add_tuning_table(self, table_id):
     assert table_id not in self.get_tuning_table_ids()
     table_key = '{}/p_tuning_table.json'.format(table_id)
     name_key = '{}/m_name.json'.format(table_id)
     note_names_key = '{}/m_note_names.json'.format(table_id)
     transaction = {
         table_key     : get_default_value(table_key),
         name_key      : 'Tuning {}'.format(int(table_id.split('_')[1], 16)),
         note_names_key: ['A'],
     }
     self._store.put(transaction)
コード例 #14
0
 def add_tuning_table(self, table_id):
     assert table_id not in self.get_tuning_table_ids()
     table_key = '{}/p_tuning_table.json'.format(table_id)
     name_key = '{}/m_name.json'.format(table_id)
     note_names_key = '{}/m_note_names.json'.format(table_id)
     transaction = {
         table_key: get_default_value(table_key),
         name_key: 'Tuning {}'.format(int(table_id.split('_')[1], 16)),
         note_names_key: ['A'],
     }
     self._store.put(transaction)
コード例 #15
0
ファイル: control.py プロジェクト: JoelDreaver/kunquat
 def get_audio_unit(self):
     parts = self._control_id.split('_')
     second = parts[1]
     control_number = int(second, 16)
     cmap_key = 'p_control_map.json'
     input_map = self._store.get(cmap_key, get_default_value(cmap_key))
     controls = dict(input_map)
     au_number = controls[control_number]
     au_id = 'au_{0:02x}'.format(au_number)
     module = self._ui_model.get_module()
     au = module.get_audio_unit(au_id)
     return au
コード例 #16
0
ファイル: module.py プロジェクト: EdwardBetts/kunquat
    def remove_controls_to_audio_unit(self, au_id):
        transaction = {}

        # Update channel defaults
        fallback_au_ids = self.get_au_ids()
        fallback_au_ids.discard(au_id)
        fallback_au_id = min(fallback_au_ids) if fallback_au_ids else 'au_00'
        if fallback_au_id == au_id:
            return
        fallback_control_id = (self.get_control_id_by_au_id(fallback_au_id)
                               or 'control_00')

        ch_defs = self.get_channel_defaults()
        transaction.update(
            ch_defs.get_edit_remove_controls_to_audio_unit(
                au_id, fallback_control_id))

        # Remove controls
        remove_control_nums = []
        for i in range(CONTROLS_MAX):
            control_id = 'control_{:02x}'.format(i)
            control = Control(control_id)
            control.set_controller(self._controller)
            control.set_ui_model(self._ui_model)
            if control.get_existence() and (control.get_audio_unit().get_id()
                                            == au_id):
                remove_control_nums.append(i)
                transaction.update(control.get_edit_remove_control())

        # Update the control map
        cmap_key = 'p_control_map.json'
        control_map = self._store.get(cmap_key, get_default_value(cmap_key))
        new_map = []
        for pair in control_map:
            cnum, au_num = pair
            cur_au_id = 'au_{:02x}'.format(au_num)
            if cur_au_id != au_id:
                new_map.append(pair)
        transaction.update({cmap_key: new_map})

        self._store.put(transaction)
コード例 #17
0
ファイル: module.py プロジェクト: EdwardBetts/kunquat
    def remove_controls_to_audio_unit(self, au_id):
        transaction = {}

        # Update channel defaults
        fallback_au_ids = self.get_au_ids()
        fallback_au_ids.discard(au_id)
        fallback_au_id = min(fallback_au_ids) if fallback_au_ids else 'au_00'
        if fallback_au_id == au_id:
            return
        fallback_control_id = (
                self.get_control_id_by_au_id(fallback_au_id) or 'control_00')

        ch_defs = self.get_channel_defaults()
        transaction.update(ch_defs.get_edit_remove_controls_to_audio_unit(
            au_id, fallback_control_id))

        # Remove controls
        remove_control_nums = []
        for i in range(CONTROLS_MAX):
            control_id = 'control_{:02x}'.format(i)
            control = Control(control_id)
            control.set_controller(self._controller)
            control.set_ui_model(self._ui_model)
            if control.get_existence() and (control.get_audio_unit().get_id() == au_id):
                remove_control_nums.append(i)
                transaction.update(control.get_edit_remove_control())

        # Update the control map
        cmap_key = 'p_control_map.json'
        control_map = self._store.get(cmap_key, get_default_value(cmap_key))
        new_map = []
        for pair in control_map:
            cnum, au_num = pair
            cur_au_id = 'au_{:02x}'.format(au_num)
            if cur_au_id != au_id:
                new_map.append(pair)
        transaction.update({ cmap_key: new_map })

        self._store.put(transaction)
コード例 #18
0
ファイル: connections.py プロジェクト: EdwardBetts/kunquat
 def get_connections(self):
     key = self._get_graph_key()
     return self._store.get(key, get_default_value(key))
コード例 #19
0
ファイル: connections.py プロジェクト: datamail321/kunquat
 def get_connections(self):
     key = self._get_graph_key()
     return self._store.get(key, get_default_value(key))
コード例 #20
0
ファイル: pattern.py プロジェクト: EdwardBetts/kunquat
 def get_length(self):
     key = '{}/p_length.json'.format(self._pattern_id)
     return tstamp.Tstamp(self._store.get(key, get_default_value(key)))
コード例 #21
0
ファイル: audiounit.py プロジェクト: JoelDreaver/kunquat
 def _get_event_list(self):
     key = self._get_key('p_events.json')
     ret = self._store.get(key, get_default_value(key))
     return ret
コード例 #22
0
ファイル: module.py プロジェクト: kagu/kunquat
 def get_random_seed(self):
     key = 'p_random_seed.json'
     return self._store.get(key, get_default_value(key))
コード例 #23
0
ファイル: module.py プロジェクト: kagu/kunquat
 def get_mixing_volume(self):
     key = 'p_mixing_volume.json'
     return self._store.get(key, get_default_value(key))
コード例 #24
0
 def _get_default_entry(self):
     default_list = get_default_value(self._get_key())
     return default_list[0]
コード例 #25
0
 def _get_default_entry(self):
     default_list = get_default_value(self._get_key())
     return default_list[0]
コード例 #26
0
ファイル: environment.py プロジェクト: EdwardBetts/kunquat
 def _get_env_list(self):
     key = self._get_key()
     return self._store.get(key, get_default_value(key))
コード例 #27
0
 def _get_control_var_list(self):
     key = self._get_key('p_control_vars.json')
     ret = self._store.get(key, get_default_value(key))
     return ret
コード例 #28
0
 def get_random_seed(self):
     key = 'p_random_seed.json'
     return self._store.get(key, get_default_value(key))
コード例 #29
0
 def get_force_shift(self):
     key = 'p_force_shift.json'
     return self._store.get(key, get_default_value(key))
コード例 #30
0
 def get_mixing_volume(self):
     key = 'p_mixing_volume.json'
     return self._store.get(key, get_default_value(key))
コード例 #31
0
 def _get_table(self):
     key = self._get_key('p_tuning_table.json')
     return self._store.get(key, get_default_value(key))
コード例 #32
0
ファイル: song.py プロジェクト: EdwardBetts/kunquat
 def get_initial_tempo(self):
     key = '{}/p_tempo.json'.format(self._song_id)
     return self._store.get(key, get_default_value(key))
コード例 #33
0
ファイル: pattern.py プロジェクト: datamail321/kunquat
 def get_length(self):
     key = '{}/p_length.json'.format(self._pattern_id)
     return tstamp.Tstamp(self._store.get(key, get_default_value(key)))
コード例 #34
0
ファイル: module.py プロジェクト: kagu/kunquat
 def get_force_shift(self):
     key = 'p_force_shift.json'
     return self._store.get(key, get_default_value(key))
コード例 #35
0
 def _get_env_list(self):
     key = self._get_key()
     return self._store.get(key, get_default_value(key))
コード例 #36
0
ファイル: processor.py プロジェクト: datamail321/kunquat
 def get_signal_type(self):
     key = self._get_key('p_signal_type.json')
     return self._store.get(key, get_default_value(key))
コード例 #37
0
 def _get_control_var_list(self):
     key = self._get_key('p_control_vars.json')
     ret = self._store.get(key, get_default_value(key))
     return ret
コード例 #38
0
ファイル: module.py プロジェクト: kagu/kunquat
 def get_dc_blocker_enabled(self):
     key = 'p_dc_blocker_enabled.json'
     return self._store.get(key, get_default_value(key))
コード例 #39
0
 def _get_stream_list(self):
     key = self._get_key('p_streams.json')
     ret = self._store.get(key, get_default_value(key))
     return ret
コード例 #40
0
ファイル: connections.py プロジェクト: kagu/kunquat
 def get_connections(self, pending_changes=None):
     key = self._get_graph_key()
     return self._store.get(
             key, get_default_value(key), pending_changes=pending_changes)
コード例 #41
0
 def get_initial_tempo(self):
     key = '{}/p_tempo.json'.format(self._song_id)
     return self._store.get(key, get_default_value(key))
コード例 #42
0
 def get_dc_blocker_enabled(self):
     key = 'p_dc_blocker_enabled.json'
     return self._store.get(key, get_default_value(key))
コード例 #43
0
 def _get_stream_list(self):
     key = self._get_key('p_streams.json')
     ret = self._store.get(key, get_default_value(key))
     return ret
コード例 #44
0
 def get_signal_type(self):
     key = self._get_key('p_signal_type.json')
     return self._store.get(key, get_default_value(key))
コード例 #45
0
ファイル: audiounit.py プロジェクト: kagu/kunquat
 def _get_event_list(self):
     key = self._get_key('p_events.json')
     ret = self._store.get(key, get_default_value(key))
     return ret