From 29ce1fde0f09285279996a1d7e94c9bea137e0fd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Sat, 16 Jul 2016 17:03:24 +0200 Subject: [PATCH] Add option to list /select sound devices --- helpers/__init__.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/helpers/__init__.py b/helpers/__init__.py index 2339b9b..4b9529d 100644 --- a/helpers/__init__.py +++ b/helpers/__init__.py @@ -3,6 +3,7 @@ import argparse import sys import os import math +import sounddevice as sd class Config: def __init__(self, **kwargs): @@ -37,6 +38,15 @@ def parse_args(): action="version", 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" + ) + parser.add_argument("--list-devices", + nargs=0, + action=ListDevicesAction, + help="List available sound devices" + ) parser.add_argument('--', dest="args", help="Kivy arguments. All arguments after this are interpreted by Kivy. Pass \"-- --help\" to get Kivy's usage.") @@ -44,6 +54,16 @@ def parse_args(): config.yml_file = args.config +class SelectDeviceAction(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + sd.default.device = values + +class ListDevicesAction(argparse.Action): + nargs = 0 + def __call__(self, parser, namespace, values, option_string=None): + print(sd.query_devices()) + sys.exit() + def show_version(): if getattr(sys, 'frozen', False): with open(path() + ".pyinstaller_commit", "r") as f: -- 2.41.0