Summary
Add a command-line mode so CastToTV can be scripted / run on a headless box (no Tk window), e.g.:
casttotv --cast "https://youtube.com/watch?v=…" --to 192.168.1.238
casttotv --discover
casttotv --radio "https://dnbradio.com/?channel=darkstep" --to 192.168.1.30
casttotv --cast movie.mkv --to "Living Room" --multi
Scope
- Argument parsing that reuses the existing pieces:
fast_discover, YoutubeStreamer / RadioStreamer, build source → play_on, cast_to_all for --multi.
--to accepts an IP, a friendly-name substring, or all.
--discover prints the tagged device list and exits.
- Keep it import-light so it works without Tk (the GUI stays the default when no args are given).
- Useful for cron / home-automation and for testing without the GUI.
Acceptance
Summary
Add a command-line mode so CastToTV can be scripted / run on a headless box (no Tk window), e.g.:
Scope
fast_discover,YoutubeStreamer/RadioStreamer,build source → play_on,cast_to_allfor--multi.--toaccepts an IP, a friendly-name substring, orall.--discoverprints the tagged device list and exits.Acceptance
--discoverlists devices with protocol tags.--cast <url|file> --to <target>plays end-to-end with no GUI.--radioand--multisupported.