I did some preliminary testing of DSP presets this evening, and unless I have overlooked something, I'm not sure how the current implementation is useful at all.
I tried creating two DSP presets:
- Sets the EQ to "Rock"
- Enables Adaptive Volume in the "Small Speakers" mode
All other DSP functions were disabled when saving these presets.
The zone I was testing in had no DSP functions enabled at the start of playback.
I assigned DSP presets to two tracks in a playlist of five:
- No preset assigned
- Rock DSP preset
- No preset assigned
- Adaptive Volume DSP preset
- No preset assigned
Expected behavior:
- No DSP applied
- Equalizer is set to "Rock"
- No DSP applied
- Adaptive Volume is enabled
- No DSP applied
Results:
- No DSP
- EQ is enabled—but is not set to "Rock"—it is left at whichever preset was previously in use. (Flat, in this case)
- EQ is still enabled rather than switching off
- EQ switches off (was not intended to be a part of the Adaptive preset) but adaptive volume is not enabled, meaning that no DSP is applied to this track.
- No DSP is applied
Without making things too complicated, the best solution I can come up with for this would be to present the user with a list of checkboxes when saving a preset, allowing them to select which of the current DSP states they wish to include.
This would let the user include or exclude specific on/off states from a preset, rather than saving the entire state of DSP Studio.
For example, in my headphone zones I would have the headphone VST enabled, and in my speaker zones, it would be disabled.
Saving the state of the headphone DSP—whether on or off—to a per-track DSP preset would not be useful.
I would want to exclude it from any presets that I am creating, since I don't want tracks to be able to change the state of the Headphone DSP.
The same thing might apply to Room Correction/Convolution in a speaker-based zone for example. I would not want to set that on a per-track basis, and would want it excluded from the DSP Preset.
The other problem is that DSP presets are overwriting the current DSP state for the zone.
All changes made by a DSP preset should be temporary, and
only applied to that track.
A DSP preset should not be able to change the current settings for the zone.