using System.Collections.Generic; using Assets.WasapiAudio.Scripts.Unity; using UnityEngine; public abstract class TripsitterAve : MonoBehaviour { public WasapiAudioSource source; [SerializeReference] [SerializeReferenceButton] public List Transformers = new List(); [SpectrumDataPreview] public SpectrumData Preview; protected int SpectrumSize { get; private set; } public virtual void Awake() { SpectrumSize = source.SpectrumSize; Preview = new SpectrumData(); } protected float[] GetSpectrumData() { // Get raw / unmodified spectrum data var spectrumData = source.GetSpectrumData(); // Run spectrum data through all configured transformers if (Transformers != null && Transformers.Count > 0) { foreach (var transformer in Transformers) { spectrumData = transformer.Transform(spectrumData); } } Preview.Values = spectrumData; return spectrumData; } }