First, thanks for the help everyone. It may take a few go-rounds to get this right, but we will with your help.
I think there are a few things we're solving:
1) Filtering low frequencies from speakers
I think we've got this right. Build 66 uses a higher quality high pass filter. Currently we're always using a 12 dB/octave slope. If there's a good argument for adding other frequencies or dB/octave slopes, let us know.
2) Redirecting filtered bass
We still have questions for how to handle this:
Now we have a per speaker, "add removed frequencies to the subwoofer."
However, would it be more straightforward just to choose how to fill in the subwoofer? For example:
=== If source already has LFE channel ===
- Add bass from front speakers to LFE channel at: [ cutoff frequency] [ level ]
- Apply cross-over: [ frequency ]
- Subclarity
=== If source has no LFE channel ===
- Create LFE channel from input: [ level ]
- Apply cross-over: [ frequency ]
- Subclarity
I'm not sure if there are any other "big picture" bass management things we should solve. Please let us know.