I was thinking about this last night, and I decided I was a bit too hasty in considering equalizer improvements totally separate from the per-track DSP issue. (Some of this has been discussed in past threads, but I think it's worth mentioning again.) Accordingly, I've amended my original post with a #4. Here's why.
For a long time, lots of people wanted per-track DSP. And when it was implemented, there was excitement, but that was short lived. Because the feature doesn't really work. Not for its needed purpose.
The problem is that there is a conflict: per-ZONE DSP is fundamental to MC. It is essential. Zones are often related to physical conditions: either specific playback devices, or specific rooms. Therefore, certain DSP modules (for example, Output Format, Room Correction, and Convolution) absolutely MUST be associated with those physical realities of output. Those modules must not be allowed to vary from track to track. They must persist, as long as playback continues in the zone where those physical realities exist.
However, some DSP modules (like PEQ, GEQ, and Effects) are free to vary on a per-track basis. They might be needed in association with a physical output (e.g. someone might use PEQ to adjust for their room, if they're not up to use Room Correction) but they might not.
The problem is the per-track DSP feature, as currently implemented, ties all DSP effects together in one bundle. In order to get per-track EQ, you must accept per-track Convolution (and Room Correction, etc). But per-track Convolution is forbidden: If you played the same track in two different rooms (zones), each of which requires its own convolution, the convolution would follow the track (either enabled with a specific filter, or disabled) instead.
For this reason, per-track DSP is fundamentally incompatible with per-zone DSP. Therefore, per-track DSP basically doesn't exist in a usable form currently.
So that's the motivation behind my #4 above. Additional instances of PEQ and GEQ, that can be loaded on a per-track basis, provide the foundation for a non-conflicting per-track EQ/DSP. That per-track EQ could supersede the current per-track DSP (which is basically useless). The additional instances would allow for one instance to remain tied to the zone and active, while the additional instance, loaded only with the track if called for, would allow further modifications to the sound for the track. It is also important that when the track ends, the track-loaded EQ settings should be unloaded, so that the zone reverts to its default sound for the next track (which may or may not have a per-track EQ setting).
This would represent a complete solution for per-track EQ (especially if the Effects module is also loaded per-track), which is something we just don't have now.
I do think these per-track-EQ related changes are separate from the purely quality-based improvements needed to GEQ and PEQ (numbers 1-3), and could be added incrementally later, but they would require as an underpinning the #4 change to EQ as described above.
At one time, JRiver felt per-track DSP was worth investing some time in to implement. But what ended up being implemented is functionally equivalent to ZoneSwitch. It doesn't really provide per-track sound modification to the current zone, which I think was the intention. I suggest it's worth investing a bit of time to get it working properly. This would be a huge improvement for the user community.
So although separate, I think it's quite related to the also-needed EQ enhancements. Thanks to ET for the nudge.