// PRE-GENERATED (design session). Peace-style non-EQ effects, rendered into APO.
namespace DansoriEQ.Core.Eq;

public sealed class EffectsConfig
{
    // Balance / per-channel trim (dB). 0/0 = centered.
    public double PreampLeftDb { get; set; } = 0;
    public double PreampRightDb { get; set; } = 0;

    // Crossfeed amount 0..100 (headphone stereo blend). 0 = off.
    // NOTE: current ApoRenderer output is a PLACEHOLDER — see the crossfeed memo there.
    public double CrossfeedLevel { get; set; } = 0;

    // Convenience bass boost as a low shelf, dB. 0 = off.
    public double BassBoostDb { get; set; } = 0;

    // Future extensions (M13): rendered later.
    public bool VirtualSurround { get; set; } = false;   // TODO
    public double ReverbLevel { get; set; } = 0;         // TODO

    public EffectsConfig Clone() => (EffectsConfig)MemberwiseClone();

    public bool IsDefault =>
        PreampLeftDb == 0 && PreampRightDb == 0 && CrossfeedLevel == 0 &&
        BassBoostDb == 0 && !VirtualSurround && ReverbLevel == 0;
}
