The role each bus kind defaults to. Exhaustive over ChannelKind so a new kind
fails the build here until it is given a role — a destination the console cannot classify
must never fall through to a permissive default.
Two picks worth stating outright:
aux defaults to monitor. An aux is the console's ambiguous bus — BUS_TYPES
calls it "Monitor / FX sends" — and it is the bus a wedge is actually fed from. When a
bus could be either, the safe default is the tight one: an FX aux mis-judged as a
monitor produces a warning the operator clears by declaring the bus's role
(InsertSuitabilityPolicy.roleByBus); a wedge mis-judged as an FX send produces a
ruined monitor mix nobody was warned about.
input is program, and is only ever reached when an input channel is judged as a
destination in its own right. In the live wiring it is not: a channel insert's latency
lands on every bus that channel feeds, so the caller judges it against the tightest
budget among those destinations, not against the channel.
The role each bus kind defaults to. Exhaustive over ChannelKind so a new kind fails the build here until it is given a role — a destination the console cannot classify must never fall through to a permissive default.
Two picks worth stating outright:
auxdefaults tomonitor. An aux is the console's ambiguous bus —BUS_TYPEScalls it "Monitor / FX sends" — and it is the bus a wedge is actually fed from. When a bus could be either, the safe default is the tight one: an FX aux mis-judged as a monitor produces a warning the operator clears by declaring the bus's role (InsertSuitabilityPolicy.roleByBus); a wedge mis-judged as an FX send produces a ruined monitor mix nobody was warned about.inputisprogram, and is only ever reached when an input channel is judged as a destination in its own right. In the live wiring it is not: a channel insert's latency lands on every bus that channel feeds, so the caller judges it against the tightest budget among those destinations, not against the channel.