import math
import sounddevice as sd
import logging
+import gettext
+gettext.install('music_sampler')
Logger = logging.getLogger("kivy")
from . import sysfont
sys.argv.extend(["-c", "kivy:log_name:/tmp/music_sampler_%_.txt"])
parser = argparse.ArgumentParser(
- description="A Music Sampler application.",
+ description=_("A Music Sampler application."),
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("-c", "--config",
default="config.yml",
required=False,
- help="Config file to load")
+ help=_("Config file to load"))
parser.add_argument("-p", "--music-path",
default=".",
required=False,
- help="Folder in which to find the music files")
+ help=_("Folder in which to find the music files"))
parser.add_argument("-d", "--debug",
nargs=0,
action=DebugModeAction,
- help="Print messages in console")
+ help=_("Print messages in console"))
parser.add_argument("-m", "--builtin-mixing",
action="store_true",
- help="Make the mixing of sounds manually\
- (do it if the system cannot handle it correctly)")
+ help=_("Make the mixing of sounds manually\
+ (do it if the system cannot handle it correctly)"))
parser.add_argument("-l", "--latency",
default="high",
required=False,
- help="Latency: low, high or number of seconds")
+ help=_("Latency: low, high or number of seconds"))
parser.add_argument("-b", "--blocksize",
default=0,
type=int,
required=False,
- help="Blocksize: If not 0, the number of frames to take\
- at each step for the mixer")
+ help=_("Blocksize: If not 0, the number of frames to take\
+ at each step for the mixer"))
parser.add_argument("-f", "--frame-rate",
default=44100,
type=int,
required=False,
- help="Frame rate to play the musics")
+ help=_("Frame rate to play the musics"))
parser.add_argument("-x", "--channels",
default=2,
type=int,
required=False,
- help="Number of channels to use")
+ help=_("Number of channels to use"))
parser.add_argument("-s", "--sample-width",
default=2,
type=int,
required=False,
- help="Sample width (number of bytes for each frame)")
+ help=_("Sample width (number of bytes for each frame)"))
parser.add_argument("-V", "--version",
action="version",
- help="Displays the current version and exits. Only use\
- in bundled package",
+ help=_("Displays the current version and exits. Only use\
+ in bundled package"),
version=show_version())
parser.add_argument("--device",
action=SelectDeviceAction,
- help="Select this sound device"
+ help=_("Select this sound device")
)
parser.add_argument("--list-devices",
nargs=0,
action=ListDevicesAction,
- help="List available sound devices"
+ help=_("List available sound devices")
+ )
+ parser.add_argument("--no-focus-warning",
+ action='store_true',
+ help=_("Don't show warning when focus is lost")
+ )
+ parser.add_argument("-L", "--language",
+ required=False,
+ default="fr",
+ help=_("Select another language")
)
parser.add_argument('--',
dest="args",
- help="Kivy arguments. All arguments after this are interpreted\
- by Kivy. Pass \"-- --help\" to get Kivy's usage.")
+ help=_("Kivy arguments. All arguments after this are interpreted\
+ by Kivy. Pass \"-- --help\" to get Kivy's usage."))
args = parser.parse_args(argv)
Config.channels = args.channels
Config.sample_width = args.sample_width
Config.builtin_mixing = args.builtin_mixing
+ Config.no_focus_warning = args.no_focus_warning
+ if args.language != 'en':
+ gettext.translation("music_sampler",
+ localedir=path() + '/locales',
+ languages=[args.language]).install()
if args.music_path.endswith("/"):
Config.music_path = args.music_path
else:
with open(path() + ".pyinstaller_commit", "r") as f:
return f.read()
else:
- return "option '-v' can only be used in bundled package"
+ return _("option '-V' can only be used in bundled package")
def duration_to_min_sec(duration):
minutes = int(duration / 60)