From e033519317f986bbce2d26e1d6659a0245dc92bd Mon Sep 17 00:00:00 2001 From: ntr Date: Tue, 14 Jun 2022 21:20:31 +1000 Subject: [PATCH] trying to save the curve presets --- Assets/Audio/SpectreVfxBinder.cs | 76 ++++ .../SpectreVfxBinder.cs.meta} | 2 +- Assets/Prefabs/Menu.prefab | 324 +++++++++--------- Assets/Util/AudioSelector.cs | 23 -- Assets/Util/AudioSource.cs | 49 +++ Assets/Util/AudioSource.cs.meta | 11 + Assets/Util/ThemeVfxBinder.cs | 6 +- Assets/Util/VfxSpectrumBinder.cs | 4 +- .../Unity/VfxAudioVisualizationEffect.cs | 11 +- UserSettings/EditorUserSettings.asset | 42 +-- .../Layouts/CurrentMaximizeLayout.dwlt | 28 +- 11 files changed, 347 insertions(+), 229 deletions(-) create mode 100644 Assets/Audio/SpectreVfxBinder.cs rename Assets/{Util/AudioSelector.cs.meta => Audio/SpectreVfxBinder.cs.meta} (83%) delete mode 100644 Assets/Util/AudioSelector.cs create mode 100644 Assets/Util/AudioSource.cs create mode 100644 Assets/Util/AudioSource.cs.meta diff --git a/Assets/Audio/SpectreVfxBinder.cs b/Assets/Audio/SpectreVfxBinder.cs new file mode 100644 index 0000000..2b1c7ca --- /dev/null +++ b/Assets/Audio/SpectreVfxBinder.cs @@ -0,0 +1,76 @@ +using UnityEngine; +using UnityEngine.VFX; +using UnityEngine.VFX.Utility; +using Assets.WasapiAudio.Scripts.Unity; + +namespace Assets.WasapiAudio.Scripts.Unity +{ + [AddComponentMenu("VFX/Property Binders/Spectre - VFX Binder")] + [VFXBinder("Audio/Audio Spectrum Data to AttributeMap")] + public class SpectreVfxBinder : VfxAudioVisualizationEffect + { + [VFXPropertyBinding("System.UInt32"), SerializeField] + protected ExposedProperty SpectrumSizeParameter = "SpectrumSize"; + + [VFXPropertyBinding("UnityEngine.Texture2D"), SerializeField] + protected ExposedProperty SpectrumDataTextureParameter = "SpectrumDataTexture"; + + public bool symmetric = false; + + private Texture2D _texture; + private Color[] _colorCache; + + private void InitialiseTexture() { + Debug.Log("Reinitialising spectrum texture..."); + if (symmetric) { + _texture = new Texture2D(SpectrumSize * 2, 1, TextureFormat.RFloat, false); + _colorCache = new Color[SpectrumSize * 2]; + } else { + _texture = new Texture2D(SpectrumSize, 1, TextureFormat.RFloat, false); + _colorCache = new Color[SpectrumSize]; + } + + _texture.name = $"AudioSpectrumData{SpectrumSize}"; + } + + private void UpdateTexture() { + // init + if (_texture == null) InitialiseTexture(); + + // has symmetric been toggled and the texture needs updating? + if (symmetric && _texture.width != SpectrumSize * 2) InitialiseTexture(); + if (!symmetric && _texture.width != SpectrumSize) InitialiseTexture(); + + var spectrumData = GetSpectrumData(); + + if (symmetric) { + for (int i = 0; i < SpectrumSize; i++) { + _colorCache[SpectrumSize + i] = new Color(spectrumData[i], 0, 0, 0); + _colorCache[SpectrumSize - (i + 1)] = new Color(spectrumData[i], 0, 0, 0); + } + } else { + for (int i = 0; i < SpectrumSize; i++) { + _colorCache[i] = new Color(spectrumData[i], 0, 0, 0); + } + } + + _texture.SetPixels(_colorCache); + _texture.Apply(); + } + + public override void UpdateBinding(VisualEffect component) { + base.UpdateBinding(component); + UpdateTexture(); + if (symmetric) { + component.SetUInt(SpectrumSizeParameter, (uint) SpectrumSize * 2); + } else { + component.SetUInt(SpectrumSizeParameter, (uint) SpectrumSize); + } + component.SetTexture(SpectrumDataTextureParameter, _texture); + } + + public override string ToString() { + return "Audio Spectrum Data"; + } + } +} \ No newline at end of file diff --git a/Assets/Util/AudioSelector.cs.meta b/Assets/Audio/SpectreVfxBinder.cs.meta similarity index 83% rename from Assets/Util/AudioSelector.cs.meta rename to Assets/Audio/SpectreVfxBinder.cs.meta index 7ae1622..816137f 100644 --- a/Assets/Util/AudioSelector.cs.meta +++ b/Assets/Audio/SpectreVfxBinder.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fc21ac8b706913b47897e9f83d170bc5 +guid: d2c94a50cf5c1d2449fe8305e8a79075 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Prefabs/Menu.prefab b/Assets/Prefabs/Menu.prefab index 0000e39..6480313 100644 --- a/Assets/Prefabs/Menu.prefab +++ b/Assets/Prefabs/Menu.prefab @@ -1113,164 +1113,6 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] m_IsOn: 1 ---- !u!1 &3396357262573175923 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 421876249768687115} - - component: {fileID: 8933658421904991632} - - component: {fileID: 6749243352969479682} - - component: {fileID: 2478420379614445965} - - component: {fileID: 3975575999960435775} - - component: {fileID: 634275950743134112} - m_Layer: 5 - m_Name: AudioSelector - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &421876249768687115 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3396357262573175923} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5305278010342315827} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -128, y: 0} - m_SizeDelta: {x: 64, y: 64} - m_Pivot: {x: 1, y: 1} ---- !u!222 &8933658421904991632 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3396357262573175923} - m_CullTransparentMesh: 1 ---- !u!114 &6749243352969479682 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3396357262573175923} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 2478420379614445965} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 3975575999960435775} - m_TargetAssemblyTypeName: Display, Assembly-CSharp - m_MethodName: SetWindowed - m_Mode: 6 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &2478420379614445965 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3396357262573175923} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Texture: {fileID: 2800000, guid: 2172509423aef564cbffe0df01411020, type: 3} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!114 &3975575999960435775 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3396357262573175923} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 99247b6907a6da441af07cf95950880f, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &634275950743134112 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3396357262573175923} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fc21ac8b706913b47897e9f83d170bc5, type: 3} - m_Name: - m_EditorClassIdentifier: - sources: - - {fileID: 0} --- !u!1 &3686114034736848159 GameObject: m_ObjectHideFlags: 0 @@ -1693,7 +1535,7 @@ MonoBehaviour: m_EditorClassIdentifier: themeSelector: {fileID: 7285044980238930537} data: - themeIndex: 8 + themeIndex: 0 --- !u!1 &5305278009141335879 GameObject: m_ObjectHideFlags: 0 @@ -1895,7 +1737,7 @@ RectTransform: - {fileID: 3507733486544043422} - {fileID: 3099289455289463194} - {fileID: 7200639167805561534} - - {fileID: 421876249768687115} + - {fileID: 5238569079413814885} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1981,6 +1823,168 @@ MonoBehaviour: vfxMenu: {fileID: 0} mouseHideTimeSeconds: 3 mouseHideThreshold: 3 +--- !u!1 &6258673511580980956 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5238569079413814885} + - component: {fileID: 1813467189418542979} + - component: {fileID: 2660024567781865894} + - component: {fileID: 883576059044723690} + - component: {fileID: 9009658349614990470} + - component: {fileID: 4584006364056922639} + m_Layer: 5 + m_Name: AudioSource + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5238569079413814885 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6258673511580980956} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5305278010342315827} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -128, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 1, y: 1} +--- !u!222 &1813467189418542979 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6258673511580980956} + m_CullTransparentMesh: 1 +--- !u!114 &2660024567781865894 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6258673511580980956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 883576059044723690} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4584006364056922639} + m_TargetAssemblyTypeName: AudioSource, Assembly-CSharp + m_MethodName: ToggleCaptureType + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &883576059044723690 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6258673511580980956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 2800000, guid: 2172509423aef564cbffe0df01411020, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!114 &9009658349614990470 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6258673511580980956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99247b6907a6da441af07cf95950880f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &4584006364056922639 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6258673511580980956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 66a6b9c6a6e18884ebeb1bf742e3be4d, type: 3} + m_Name: + m_EditorClassIdentifier: + CaptureType: 0 + SpectrumSize: 128 + MinFrequency: 100 + MaxFrequency: 20000 + ScalingStrategy: 2 + Filters: [] --- !u!1 &6466943970290633308 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Util/AudioSelector.cs b/Assets/Util/AudioSelector.cs deleted file mode 100644 index 391614f..0000000 --- a/Assets/Util/AudioSelector.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Assets.WasapiAudio.Scripts.Unity; -using System.Collections.Generic; -using System.Collections; -using UnityEngine; - -public class AudioSelector : MonoBehaviour { - public WasapiAudioSource[] sources; - private int sources_i = 0; - - void Awake() { - sources_i = 0; - Debug.Log($"{sources[sources_i]}"); - } - - public void UseNextSource() { - sources_i = (sources_i + 1) % sources.Length; - } - - public WasapiAudioSource CurrentSource() { - return sources[sources_i]; - } -} - diff --git a/Assets/Util/AudioSource.cs b/Assets/Util/AudioSource.cs new file mode 100644 index 0000000..24adc78 --- /dev/null +++ b/Assets/Util/AudioSource.cs @@ -0,0 +1,49 @@ +using Assets.WasapiAudio.Scripts.Core; +using UnityEngine; + +[ExecuteInEditMode] +public class AudioSource : MonoBehaviour { + public WasapiCaptureType CaptureType = WasapiCaptureType.Loopback; + public int SpectrumSize = 32; + public int MinFrequency = 100; + public int MaxFrequency = 20000; + public ScalingStrategy ScalingStrategy = ScalingStrategy.Sqrt; + public WasapiAudioFilter[] Filters; + + private WasapiAudio _wasapiAudio; + private float[] _spectrumData; + + public void Awake() { + Initialise(); + } + + void Initialise() { + _wasapiAudio?.StopListen(); + + _wasapiAudio = new WasapiAudio(CaptureType, SpectrumSize, ScalingStrategy, MinFrequency, MaxFrequency, Filters, spectrumData => + { + _spectrumData = spectrumData; + }); + + _wasapiAudio.StartListen(); + } + + public float[] GetSpectrumData() { + return _spectrumData; + } + + void OnDestroy() { + _wasapiAudio?.StopListen(); + } + + public void ToggleCaptureType() { + if (CaptureType == WasapiCaptureType.Loopback) { + CaptureType = WasapiCaptureType.Microphone; + } else { + CaptureType = WasapiCaptureType.Loopback; + } + + Initialise(); + } +} + diff --git a/Assets/Util/AudioSource.cs.meta b/Assets/Util/AudioSource.cs.meta new file mode 100644 index 0000000..d79387b --- /dev/null +++ b/Assets/Util/AudioSource.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 66a6b9c6a6e18884ebeb1bf742e3be4d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Util/ThemeVfxBinder.cs b/Assets/Util/ThemeVfxBinder.cs index 0e0ac1d..1631450 100644 --- a/Assets/Util/ThemeVfxBinder.cs +++ b/Assets/Util/ThemeVfxBinder.cs @@ -6,7 +6,7 @@ using UnityEngine.VFX; using UnityEngine; [AddComponentMenu("VFX/Property Binders/Kaiju - Theme Binder")] -[VFXBinder("Kaiju/Kaiju Theme Binder")] +[VFXBinder("Kaiju/Kaiju - Theme Binder")] public class ThemeVfxBinder : VFXBinderBase { public Preferences preferences; @@ -36,4 +36,8 @@ public class ThemeVfxBinder : VFXBinderBase { protected override void OnDisable() { // Debug.Log("OnDisable"); } + + public override string ToString() { + return "Kaiju VFX Theme Binder"; + } } diff --git a/Assets/Util/VfxSpectrumBinder.cs b/Assets/Util/VfxSpectrumBinder.cs index 7abf44e..54d61ee 100644 --- a/Assets/Util/VfxSpectrumBinder.cs +++ b/Assets/Util/VfxSpectrumBinder.cs @@ -4,7 +4,7 @@ using UnityEngine.VFX.Utility; using Assets.WasapiAudio.Scripts.Unity; [AddComponentMenu("VFX/Property Binders/Kaiju/VFX Spectrum Binder")] -[VFXBinder("Kaiju/VFX Spectrum Binder")] +[VFXBinder("Kaiju/Kaiju - VFX Spectrum Binder")] public class VfxSpectrumBinder : VfxAudioVisualizationEffect { [VFXPropertyBinding("System.UInt32"), SerializeField] protected ExposedProperty SpectrumSizeParameter = "SpectrumSize"; @@ -67,6 +67,6 @@ public class VfxSpectrumBinder : VfxAudioVisualizationEffect { } public override string ToString() { - return "Audio Spectrum Data"; + return "Kaiju VFX Spectrum Binder"; } } diff --git a/Assets/WasapiAudio/Scripts/Unity/VfxAudioVisualizationEffect.cs b/Assets/WasapiAudio/Scripts/Unity/VfxAudioVisualizationEffect.cs index d42fedb..84cef52 100644 --- a/Assets/WasapiAudio/Scripts/Unity/VfxAudioVisualizationEffect.cs +++ b/Assets/WasapiAudio/Scripts/Unity/VfxAudioVisualizationEffect.cs @@ -8,8 +8,7 @@ namespace Assets.WasapiAudio.Scripts.Unity public abstract class VfxAudioVisualizationEffect : VFXBinderBase { // Inspector Properties - public AudioSelector selector; - WasapiAudioSource WasapiAudioSource; + public AudioSource source; [SerializeReference] [SerializeReferenceButton] @@ -21,20 +20,18 @@ namespace Assets.WasapiAudio.Scripts.Unity protected int SpectrumSize { get; private set; } public override bool IsValid(VisualEffect component) { - return selector != null - && selector.CurrentSource() != null; + return source != null; } public override void UpdateBinding(VisualEffect component) { - WasapiAudioSource = selector.CurrentSource(); - SpectrumSize = WasapiAudioSource.SpectrumSize; + SpectrumSize = source.SpectrumSize; Preview = new SpectrumData(); } protected float[] GetSpectrumData() { // Get raw / unmodified spectrum data - var spectrumData = WasapiAudioSource.GetSpectrumData(); + var spectrumData = source.GetSpectrumData(); // Run spectrum data through all configured transformers if (Transformers != null && Transformers.Count > 0) diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 2fcfe4a..7ea9aa6 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -6,35 +6,35 @@ EditorUserSettings: serializedVersion: 4 m_ConfigSettings: RecentlyUsedSceneGuid-0: - value: 5004505157545e03590c087b44725a44134e492c752c22317c7c4463b3b56260 - flags: 0 - RecentlyUsedSceneGuid-1: - value: 5702040754575f0f595c5d7747270a44174e4f2b2d7a7735287f4e61b2e5326f - flags: 0 - RecentlyUsedSceneGuid-2: - value: 50500c0301500c58590b557749720f4447161b7e2d2e22332f2b1c6ab5b0323d - flags: 0 - RecentlyUsedSceneGuid-3: - value: 5101025151565c0d0c5a0d7340205c44401640782a7924642c2c4d6bb3b36c3d - flags: 0 - RecentlyUsedSceneGuid-4: - value: 06545107560c500a0e0f5876122706444f164d297f2e7534742d1964bbb1653c - flags: 0 - RecentlyUsedSceneGuid-5: - value: 5b060c5f03535e020b5e5f7542705a44434f4d7a2a2c27362f7f1830e3e6353e - flags: 0 - RecentlyUsedSceneGuid-6: value: 05050651520d5b5a595e0a2448700944154f4e78747c23647f7d1c6be3b46039 flags: 0 - RecentlyUsedSceneGuid-7: + RecentlyUsedSceneGuid-1: value: 065055040404080d0b0b0d2441755a44124f402b742d70637c284d63e0e5606c flags: 0 - RecentlyUsedSceneGuid-8: + RecentlyUsedSceneGuid-2: value: 550407570457580d5a0f0a7a13755c4417154b2b7a707369757f4a67b7e56368 flags: 0 - RecentlyUsedSceneGuid-9: + RecentlyUsedSceneGuid-3: value: 0155075654030a0f0c56552444250e44104e4a787f2d22362e7e1c6be4b7633b flags: 0 + RecentlyUsedSceneGuid-4: + value: 5a53035654070d0e095a5c7a11225a44404f4c78742c22357b2f1c31bae6626b + flags: 0 + RecentlyUsedSceneGuid-5: + value: 5a04555f540c5f0a59575b7343705a44414e407f7a7174697e7d4d31e1b9326a + flags: 0 + RecentlyUsedSceneGuid-6: + value: 0652075151075003595f5f7746270a44434e4879782922602c701f37b7b56460 + flags: 0 + RecentlyUsedSceneGuid-7: + value: 5500520454045f0a0e0c5e214171094444164c2b787b7f69752f1931bbb63669 + flags: 0 + RecentlyUsedSceneGuid-8: + value: 5655565252010c0b080c5b7140740f4410164c7a782a23312e2d486be1e63769 + flags: 0 + RecentlyUsedSceneGuid-9: + value: 5702040754575f0f595c5d7747270a44174e4f2b2d7a7735287f4e61b2e5326f + flags: 0 RecentlyUsedScenePath-0: value: 22424703114646680e0b0227036c723e3b3b270b3e3a2729633c133af6f9 flags: 0 diff --git a/UserSettings/Layouts/CurrentMaximizeLayout.dwlt b/UserSettings/Layouts/CurrentMaximizeLayout.dwlt index d9b9168..6764539 100644 --- a/UserSettings/Layouts/CurrentMaximizeLayout.dwlt +++ b/UserSettings/Layouts/CurrentMaximizeLayout.dwlt @@ -224,9 +224,9 @@ MonoBehaviour: m_SceneHierarchy: m_TreeViewState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: 7a660000 - m_LastClickedID: 0 - m_ExpandedIDs: 7a63faff5c6bfafff87afaffdc7cfaff8e84faff0687faff2a88faff1289faffe489faffb48afaff848bfaff568cfaff288dfafffa8dfaffcc8efaff9e8ffaff6a90faff3691faff0892faffda92faffac93faff7e94faff5095faff2296fafff696faffc897faffa298faff2c9bfaff569cfaff529ffaff24a0fafff4a0faffc4a1faff96a2faff68a3faff3aa4faff18a5faffeaa5faffb6a6faff84a7faff56a8faff28a9fafffaa9faffccaafaffa0abfaff72acfaff46adfaff18aefafffaaefaffc8c0fafff2c1faffeec4faffc2c5faff94c6faff66c7faff3ac8faff0ec9faffe2c9faffc2cafaff96cbfaff64ccfaff34cdfaff08cefaffdccefaffb0cffaff84d0faff5ad1faff2ed2faff04d3faffd8d3faffbcd4faff48fdfaff72fefaff6e01fbff4202fbff1403fbffe603fbffba04fbff8e05fbff6206fbff4207fbff1608fbffe408fbffb409fbff880afbff5c0bfbff300cfbff040dfbffda0dfbffae0efbff840ffbff5810fbff3c11fbff664afbff924bfbff8c4efbff5e4ffbff2e50fbfffe50fbffd051fbffa252fbff7453fbff4654fbff1855fbffe455fbffb056fbff8257fbff5458fbff2659fbfff859fbffca5afbff9c5bfbff705cfbff425dfbff1c5efbff2261fbfff461fbffd262fbffa463fbff7064fbff3e65fbff1066fbffe266fbffb467fbff8668fbff5a69fbff2c6afbff006bfbffd26bfbffb46cfbff1077fbff3478fbff1c79fbffee79fbffbe7afbff8e7bfbff607cfbff327dfbff047efbffd67efbffa87ffbff7480fbff4081fbff1282fbffe482fbffb683fbff8884fbff5a85fbff2c86fbff0087fbffd287fbffac88fbff2e8bfbff5a8cfbff548ffbff2690fbfff690fbffc691fbff9892fbff6a93fbff3c94fbff1a95fbffec95fbffb896fbff8697fbff5898fbff2a99fbfffc99fbffce9afbffa29bfbff749cfbff489dfbff1a9efbfffc9efbff76c5fbff78c5fbff54c7fbffe2d0fbff34d9fbff80e3fbff00edfbff7cf8fbff9cfffbffd2e5fcffd4e5fcff04eefcff840afdff9212fdffea2dfdffd835fdff625afdff6227ffff8a74ffff229cffff72adffff3cc1ffff24c3ffff02c5ffffd8eeffffc4f0ffff1cfbffff9c8b00004e96000094960000fa960000e2cb0000a8ea0000d2ea000052eb0000 + m_SelectedIDs: 96ae0000 + m_LastClickedID: 44694 + m_ExpandedIDs: c671feffc871feffd889feffda89feffdceafeffdeeafeffceecfeff8665ffff4aedffff4cedffff1cfbffffe667000028a70000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -269,8 +269,8 @@ MonoBehaviour: y: 0 width: 1666 height: 803 - m_MinSize: {x: 102, y: 121} - m_MaxSize: {x: 4002, y: 4021} + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} m_ActualView: {fileID: 2} m_Panes: - {fileID: 8} @@ -728,7 +728,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: 30830000 m_LastClickedID: 33584 - m_ExpandedIDs: ffffffff000000008a6500008c6500008e65000090650000926500009465000096650000986500009a6500009c6500009e650000a0650000a2650000a4650000a6650000a8650000aa650000ac650000ae650000b0650000 + m_ExpandedIDs: ffffffff00000000f0630000f2630000f4630000f6630000f8630000fa630000fc630000fe63000000640000026400000464000006640000086400000a6400000c6400000e64000010640000126400001464000016640000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -753,10 +753,10 @@ MonoBehaviour: m_Icon: {fileID: 0} m_ResourceFile: m_AssetTreeState: - scrollPos: {x: 0, y: 1200} - m_SelectedIDs: 7a660000 - m_LastClickedID: 26234 - m_ExpandedIDs: ffffffff000000008a6500008c6500008e65000090650000926500009465000096650000986500009a6500009c6500009e650000a0650000a2650000a4650000a6650000a8650000aa650000ac650000ae650000b0650000 + scrollPos: {x: 0, y: 840} + m_SelectedIDs: 96ae0000 + m_LastClickedID: 0 + m_ExpandedIDs: ffffffff00000000f0630000f2630000f4630000f6630000f8630000fa630000fc630000fe63000000640000026400000464000006640000086400000a6400000c6400000e64000010640000126400001464000016640000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -781,8 +781,8 @@ MonoBehaviour: m_Icon: {fileID: 0} m_ResourceFile: m_ListAreaState: - m_SelectedInstanceIDs: 7a660000 - m_LastClickedInstanceID: 26234 + m_SelectedInstanceIDs: 96ae0000 + m_LastClickedInstanceID: 44694 m_HadKeyboardFocusLastEvent: 0 m_ExpandedInstanceIDs: c6230000 m_RenameOverlay: @@ -888,8 +888,8 @@ MonoBehaviour: y: 0 width: 616 height: 1307 - m_MinSize: {x: 275, y: 50} - m_MaxSize: {x: 4000, y: 4000} + m_MinSize: {x: 276, y: 71} + m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 15} m_Panes: - {fileID: 15}