X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=helpers%2F__init__.py;h=4827e6c1af392acf8614008c1e1d9749e54a0190;hb=35bde798b6cda13579337b0ec5a803fdd5eab19a;hp=534e168a6898790d66cf1bdba1b88674ba12d3b3;hpb=05d0d2ed0672aeb2e056c8af79bebde9c8b27199;p=perso%2FImmae%2FProjets%2FPython%2FMusicSampler.git diff --git a/helpers/__init__.py b/helpers/__init__.py index 534e168..4827e6c 100644 --- a/helpers/__init__.py +++ b/helpers/__init__.py @@ -6,9 +6,43 @@ import math import sounddevice as sd import logging +from . import sysfont + class Config: pass +def find_font(name, style=sysfont.STYLE_NONE): + if getattr(sys, 'frozen', False): + font = sys._MEIPASS + "/fonts/{}_{}.ttf".format(name, style) + else: + font = sysfont.get_font(name, style=style) + if font is not None: + font = font[4] + return font + +def register_fonts(): + from kivy.core.text import LabelBase + + ubuntu_regular = find_font("Ubuntu", style=sysfont.STYLE_NORMAL) + ubuntu_bold = find_font("Ubuntu", style=sysfont.STYLE_BOLD) + symbola = find_font("Symbola") + + if ubuntu_regular is None: + error_print("Font Ubuntu regular could not be found, please install it.") + sys.exit() + if symbola is None: + error_print("Font Symbola could not be found, please install it.") + sys.exit() + if ubuntu_bold is None: + warn_print("Font Ubuntu Bold could not be found.") + + LabelBase.register(name="Ubuntu", + fn_regular=ubuntu_regular, + fn_bold=ubuntu_bold) + LabelBase.register(name="Symbola", + fn_regular=symbola) + + def path(): if getattr(sys, 'frozen', False): return sys._MEIPASS + "/" @@ -33,6 +67,10 @@ def parse_args(): default="config.yml", required=False, help="Config file to load") + parser.add_argument("-p", "--music-path", + default=".", + required=False, + help="Folder in which to find the music files") parser.add_argument("-d", "--debug", nargs=0, action=DebugModeAction, @@ -98,6 +136,10 @@ def parse_args(): Config.channels = args.channels Config.sample_width = args.sample_width Config.builtin_mixing = args.builtin_mixing + if args.music_path.endswith("/"): + Config.music_path = args.music_path + else: + Config.music_path = args.music_path + "/" class DebugModeAction(argparse.Action): def __call__(self, parser, namespace, values, option_string=None):