IEffectInParameter.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using Ryujinx.Audio.Renderer.Common;
  2. using System;
  3. namespace Ryujinx.Audio.Renderer.Parameter
  4. {
  5. /// <summary>
  6. /// Generic interface to represent input information for an effect.
  7. /// </summary>
  8. public interface IEffectInParameter
  9. {
  10. /// <summary>
  11. /// Type of the effect.
  12. /// </summary>
  13. EffectType Type { get; }
  14. /// <summary>
  15. /// Set to true if the effect is new.
  16. /// </summary>
  17. bool IsNew { get; }
  18. /// <summary>
  19. /// Set to true if the effect must be active.
  20. /// </summary>
  21. bool IsEnabled { get; }
  22. /// <summary>
  23. /// The target mix id of the effect.
  24. /// </summary>
  25. int MixId { get; }
  26. /// <summary>
  27. /// Address of the processing workbuffer.
  28. /// </summary>
  29. /// <remarks>This is additional data that could be required by the effect processing.</remarks>
  30. ulong BufferBase { get; }
  31. /// <summary>
  32. /// Size of the processing workbuffer.
  33. /// </summary>
  34. /// <remarks>This is additional data that could be required by the effect processing.</remarks>
  35. ulong BufferSize { get; }
  36. /// <summary>
  37. /// Position of the effect while processing effects.
  38. /// </summary>
  39. uint ProcessingOrder { get; }
  40. /// <summary>
  41. /// Specific data changing depending of the <see cref="Type"/>. See also the <see cref="Effect"/> namespace.
  42. /// </summary>
  43. Span<byte> SpecificData { get; }
  44. }
  45. }