This commit is contained in:
unknown committed 2022-01-18 17:10:16 +11:00
commit e58a138bea
176 files changed
+6194

No files matched your search

@@ -0,0 +1,52 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.VFX;
using UnityEngine.VFX.Utility;
namespace Assets.WasapiAudio.Scripts.Unity
{
public abstract class VfxAudioVisualizationEffect : VFXBinderBase
{
// Inspector Properties
public WasapiAudioSource WasapiAudioSource;
[SerializeReference]
[SerializeReferenceButton]
public List<SpectrumTransformer> Transformers = new List<SpectrumTransformer>();
[SpectrumDataPreview]
public SpectrumData Preview;
protected int SpectrumSize { get; private set; }
public override bool IsValid(VisualEffect component)
{
return WasapiAudioSource != null;
}
public override void UpdateBinding(VisualEffect component)
{
SpectrumSize = WasapiAudioSource.SpectrumSize;
Preview = new SpectrumData();
}
protected float[] GetSpectrumData()
{
// Get raw / unmodified spectrum data
var spectrumData = WasapiAudioSource.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;
}
}
}