/// Parses `--audio-route ":=:"` launch arguments (scripted tests until scenes exist). /// /// `kind` is `ndi` (NDI source name) or `input` (input device name, substring match). /// `device` is an output device name (substring match), `channel` is 1-based. /// Example: `--audio-route "ndi:ZOWIEBOX (PGM)=MOTU:2"` public enum AudioRouteArgument { public enum Kind: String, Sendable { case ndi, input } public struct Parsed: Equatable, Sendable { public var kind: Kind public var source: String public var device: String public var channel: Int // 1-based } public static func parse(_ arguments: [String]) -> [Parsed] { zip(arguments, arguments.dropFirst()).compactMap { flag, value in guard flag == "--audio-route", let colon = value.firstIndex(of: ":"), let kind = Kind(rawValue: String(value[..= 1 else { return nil } let device = String(target[..