X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=helpers%2F__init__.py;h=7fe9c35236806b009f4d06057c60757e25709385;hb=87f211fb622ef640249628b65d0bc8daca889f2c;hp=b1723ee8e51c169ef5ccd922169a0e4ecefb6340;hpb=ba9ea93a0f52178d24a606fddc2acc5dc85b7ff2;p=perso%2FImmae%2FProjets%2FPython%2FMusicSampler.git diff --git a/helpers/__init__.py b/helpers/__init__.py index b1723ee..7fe9c35 100644 --- a/helpers/__init__.py +++ b/helpers/__init__.py @@ -2,6 +2,7 @@ from .music_file import * from .mapping import * from .lock import * +from .font import * import yaml def parse_config(mapping): @@ -14,6 +15,8 @@ def parse_config(mapping): file_lock = Lock("file") + channel_id = 0 + for mapped_key in config['keys']: key = mapping.find_by_unicode(mapped_key) if key is None: @@ -39,7 +42,18 @@ def parse_config(mapping): if argument == 'file': filename = action[action_name]['file'] if filename not in seen_files: - seen_files[filename] = MusicFile(filename, file_lock) + if filename in config['music_properties']: + seen_files[filename] = MusicFile( + filename, + file_lock, + channel_id, + **config['music_properties'][filename]) + else: + seen_files[filename] = MusicFile( + filename, + file_lock, + channel_id) + channel_id = channel_id + 1 action_args['music'] = seen_files[filename] @@ -47,3 +61,16 @@ def parse_config(mapping): action_args[argument] = action[action_name][argument] key.add_action(action_name, **action_args) + + for key_property in config['key_properties']: + key = mapping.find_by_unicode(key_property) + if key is None: + continue + + if 'description' in config['key_properties'][key_property]: + key.set_description(config['key_properties'][key_property]['description']) + if 'color' in config['key_properties'][key_property]: + key.set_color(config['key_properties'][key_property]['color']) + + # Return the number of channels reserved + return (channel_id + 1, seen_files)