The tap points the native lane walk can CUT at — where a hosted plugin's send/return detour
can sit, in walk order. Mirrors mix_order.h's OMX_MAX_INSERTS, and the index of a point
here IS its native point index, so a slot's declared place and the port pair it uses can
never disagree.
Two catalogued points are deliberately absent, and neither is an oversight:
Top-Of-Ch is BEFORE the trim fill, outside the walk. It needs no detour: a plugin
declared there is threaded between the channel's source and the node's strip input, which
is exactly that place, and is what import('@freemixer/audio-engine').SoftwareMixer
has laid since the chain edges came back.
Post-Fader is AFTER the fader coefficient, which is applied during the SUM
(2026-08-07-one-summing-bus.md: bus[n] = coef(s,b) x tap(s,b)[n]). A detour there
would have to sit between the coefficient and the accumulation, per bus — a different
mechanism, not this one. lv2-insert-debt.test.ts carries it.
The tap points the native lane walk can CUT at — where a hosted plugin's send/return detour can sit, in walk order. Mirrors
mix_order.h'sOMX_MAX_INSERTS, and the index of a point here IS its native point index, so a slot's declared place and the port pair it uses can never disagree.Two catalogued points are deliberately absent, and neither is an oversight:
Top-Of-Chis BEFORE the trim fill, outside the walk. It needs no detour: a plugin declared there is threaded between the channel's source and the node's strip input, which is exactly that place, and is what import('@freemixer/audio-engine').SoftwareMixer has laid since the chain edges came back.Post-Faderis AFTER the fader coefficient, which is applied during the SUM (2026-08-07-one-summing-bus.md:bus[n] = coef(s,b) x tap(s,b)[n]). A detour there would have to sit between the coefficient and the accumulation, per bus — a different mechanism, not this one.lv2-insert-debt.test.tscarries it.