trying to save the curve presets
This commit is contained in:
1 parent
0cac336db2
commit
e033519317
11 files changed
+347
-229
No files matched your search
@@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc21ac8b706913b47897e9f83d170bc5
|
||||
guid: d2c94a50cf5c1d2449fe8305e8a79075
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
+164
-160
@@ -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
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 66a6b9c6a6e18884ebeb1bf742e3be4d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -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";
|
||||
}
|
||||
}
|
||||
@@ -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";
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in new issue
Block a user