Checks / tests (ubuntu-latest, 3.11) (push) Canceled after 0s
Checks / tests (ubuntu-latest, 3.14) (push) Canceled after 0s
Checks / tests (windows-latest, 3.11) (push) Canceled after 0s
Checks / tests (windows-latest, 3.14) (push) Canceled after 0s
Checks / package (push) Canceled after 0s
32 lines
1009 B
Python
32 lines
1009 B
Python
"""Command-line entry point; --help works without Tk or Bluetooth installed."""
|
|
|
|
import argparse
|
|
|
|
|
|
def main(argv=None):
|
|
parser = argparse.ArgumentParser(description="Samsung Sound Tower desktop controller")
|
|
parser.add_argument(
|
|
"--address", default="", help="Speaker Bluetooth MAC address, or an outgoing COM port"
|
|
)
|
|
parser.add_argument("--channel", type=int, default=1, choices=range(1, 31))
|
|
parser.add_argument(
|
|
"--prepare",
|
|
action="store_true",
|
|
help="Experimental: initialize Windows Bluetooth before RFCOMM",
|
|
)
|
|
parser.add_argument(
|
|
"--transport",
|
|
choices=("ble", "rfcomm"),
|
|
default="ble",
|
|
help="Control transport (default: Samsung BLE FFA0)",
|
|
)
|
|
args = parser.parse_args(argv)
|
|
# Keep Tk out of the CLI import path, headless tests, and package consumers.
|
|
from controller.gui import launch
|
|
|
|
launch(args.address, args.channel, args.prepare, args.transport)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|