]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blobdiff - music_sampler/helpers.py
Upgrade to latest versions
[perso/Immae/Projets/Python/MusicSampler.git] / music_sampler / helpers.py
index 943e5a197465143dc2f47e193bfbcc0f3bdf94e2..9eb1a950ca50fb8028e7b52dd1d601f0d2a908f7 100644 (file)
@@ -124,6 +124,13 @@ Configs = {
         'help_no': _("Don't show warning when focus is lost"),
         'type': 'boolean'
     },
+    'load_all_musics': {
+        'default': True,
+        'help_yes': _("Load all the musics at launch time (default)"),
+        'help_no': _("Don't load all the musics at launch time (use it if you \
+            have memory problems)"),
+        'type': 'boolean'
+    },
     'list_devices': {
         'help': _("List available sound devices"),
         'type': 'action'
@@ -142,6 +149,7 @@ Configs_order = [
     'language',
     'list_devices',
     'device',
+    'load_all_musics',
 ]
 def parse_args():
     argv = sys.argv[1 :]
@@ -214,8 +222,17 @@ def parse_args():
     if not Config.music_path.endswith("/"):
         Config.music_path = Config.music_path + "/"
 
+def dump_config():
+    max_size = max(max(map(len, Configs_order)), len('config'))
+    info_print("{:<{}} : {}".format(
+        "config", max_size, Config.yml_file))
+    for item in Config.__dict__:
+        if item in Configs_order:
+            info_print("{:<{}} : {}".format(
+                item, max_size, getattr(Config, item)))
+
 def build_config(args):
-    stream = open(Config.yml_file, "r")
+    stream = open(Config.yml_file, "r", encoding='utf8')
     try:
         config = yaml.safe_load(stream)
     except Exception as e:
@@ -297,3 +314,10 @@ def warn_print(message, with_trace=None):
 
     Logger.warn('MusicSampler: ' + message, exc_info=with_trace)
 
+def info_print(message, with_trace=None):
+    if with_trace is None:
+        with_trace = (Logger.getEffectiveLevel() < logging.WARN)
+    with_trace &= (sys.exc_info()[0] is not None)
+
+    Logger.info('MusicSampler: ' + message, exc_info=with_trace)
+