X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=helpers%2Fmapping.py;h=d9b7ba0e242d50bab6271a0964e622638b3db803;hb=1b4b78f5b6df7182ac066fcc26a7b4f0e8586a47;hp=ea9d0757b0244eef6f9ef2f6d949b02790424d37;hpb=71715c049145a074b0f2b8d90c8c8c47830323c3;p=perso%2FImmae%2FProjets%2FPython%2FMusicSampler.git diff --git a/helpers/mapping.py b/helpers/mapping.py index ea9d075..d9b7ba0 100644 --- a/helpers/mapping.py +++ b/helpers/mapping.py @@ -8,10 +8,11 @@ import yaml import sys from .music_file import * -from . import yml_file +from . import yml_file,gain class Mapping(RelativeLayout): expected_keys = NumericProperty(0) + master_volume = NumericProperty(100) ready_color = ListProperty([1, 165/255, 0, 1]) def __init__(self, **kwargs): @@ -23,6 +24,15 @@ class Mapping(RelativeLayout): Clock.schedule_interval(self.not_all_keys_ready, 1) + @property + def master_gain(self): + return gain(self.master_volume) + + def set_master_volume(self, value, add = False): + [db_gain, self.master_volume] = gain(value + int(add) * self.master_volume, self.master_volume) + for music in self.open_files.values(): + music.set_gain(db_gain) + def _keyboard_closed(self): self._keyboard.unbind(on_key_down=self._on_keyboard_down) self._keyboard = None @@ -45,16 +55,6 @@ class Mapping(RelativeLayout): return self.ids["Key_" + str(key_code[0])] return None - def find_by_unicode(self, key_sym): - for key in self.children: - if not type(key).__name__ == "Key": - continue - print(key.key_sym, key_sym) - if key.key_sym == key_sym: - print("found") - return key - return None - def not_all_keys_ready(self, dt): for key in self.children: if not type(key).__name__ == "Key": @@ -139,9 +139,11 @@ class Mapping(RelativeLayout): if filename in config['music_properties']: seen_files[filename] = MusicFile( filename, + self, **config['music_properties'][filename]) else: seen_files[filename] = MusicFile( + self, filename) if filename not in key_properties[mapped_key]['files']: