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):
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, delta = False):
+ [db_gain, self.master_volume] = gain(value + int(delta) * 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
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":
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']: