aboutsummaryrefslogtreecommitdiff
path: root/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioGraph.cs
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@gmail.com>2019-11-03 18:31:04 -0500
committerAndrew Lee <alee14498@gmail.com>2019-11-03 18:31:04 -0500
commite8dd5d4fd406e6e6b710cbe85309f6870bccc37a (patch)
treedb0e99cfdbefb1625d66d07631f43565ae8ff41f /Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioGraph.cs
parent20b14c9a89821e6592bf25bed9329a5abe20495c (diff)
downloadUnicity-e8dd5d4fd406e6e6b710cbe85309f6870bccc37a.tar.gz
Unicity-e8dd5d4fd406e6e6b710cbe85309f6870bccc37a.tar.bz2
Unicity-e8dd5d4fd406e6e6b710cbe85309f6870bccc37a.zip
Remove everything
Diffstat (limited to 'Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioGraph.cs')
-rw-r--r--Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioGraph.cs261
1 files changed, 0 insertions, 261 deletions
diff --git a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioGraph.cs b/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioGraph.cs
deleted file mode 100644
index 0c4888b..0000000
--- a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioGraph.cs
+++ /dev/null
@@ -1,261 +0,0 @@
-/* ---------------------------------------
- * Author: Martin Pane (martintayx@gmail.com) (@tayx94)
- * Collaborators: Lars Aalbertsen (@Rockylars)
- * Project: Graphy - Ultimate Stats Monitor
- * Date: 15-Dec-17
- * Studio: Tayx
- *
- * This project is released under the MIT license.
- * Attribution is not required, but it is always welcomed!
- * -------------------------------------*/
-
-using Tayx.Graphy.Graph;
-using UnityEngine;
-using UnityEngine.UI;
-
-namespace Tayx.Graphy.Audio
-{
- public class G_AudioGraph : G_Graph
- {
- /* ----- TODO: ----------------------------
- * Add summaries to the variables.
- * Add summaries to the functions.
- * Check if we should add a "RequireComponent" for "AudioMonitor".
- * --------------------------------------*/
-
- #region Variables -> Serialized Private
-
- [SerializeField] private Image m_imageGraph = null;
- [SerializeField] private Image m_imageGraphHighestValues = null;
-
- [SerializeField] private Shader ShaderFull = null;
- [SerializeField] private Shader ShaderLight = null;
-
- #endregion
-
- #region Variables -> Private
-
- private GraphyManager m_graphyManager = null;
-
- private G_AudioMonitor m_audioMonitor = null;
-
- private int m_resolution = 40;
-
- private G_GraphShader m_shaderGraph = null;
- private G_GraphShader m_shaderGraphHighestValues = null;
-
- private float[] m_graphArray;
- private float[] m_graphArrayHighestValue;
-
- #endregion
-
- #region Methods -> Unity Callbacks
-
- private void OnEnable()
- {
- Init();
- }
-
- private void Update()
- {
- if (m_audioMonitor.SpectrumDataAvailable)
- {
- UpdateGraph();
- }
- }
-
- #endregion
-
- #region Methods -> Public
-
- public void UpdateParameters()
- {
- switch (m_graphyManager.GraphyMode)
- {
- case GraphyManager.Mode.FULL:
- m_shaderGraph.ArrayMaxSize = G_GraphShader.ArrayMaxSizeFull;
- m_shaderGraph.Image.material = new Material(ShaderFull);
-
- m_shaderGraphHighestValues.ArrayMaxSize = G_GraphShader.ArrayMaxSizeFull;
- m_shaderGraphHighestValues.Image.material = new Material(ShaderFull);
- break;
-
- case GraphyManager.Mode.LIGHT:
- m_shaderGraph.ArrayMaxSize = G_GraphShader.ArrayMaxSizeLight;
- m_shaderGraph.Image.material = new Material(ShaderLight);
-
- m_shaderGraphHighestValues.ArrayMaxSize = G_GraphShader.ArrayMaxSizeLight;
- m_shaderGraphHighestValues.Image.material = new Material(ShaderLight);
- break;
- }
-
- m_shaderGraph.InitializeShader();
- m_shaderGraphHighestValues.InitializeShader();
-
- m_resolution = m_graphyManager.AudioGraphResolution;
-
- CreatePoints();
- }
-
- #endregion
-
- #region Methods -> Protected Override
-
- protected override void UpdateGraph()
- {
- int incrementPerIteration = Mathf.FloorToInt(m_audioMonitor.Spectrum.Length / (float)m_resolution);
-
- // Current values -------------------------
-
- for (int i = 0; i <= m_resolution - 1; i++)
- {
- float currentValue = 0;
-
- for (int j = 0; j < incrementPerIteration; j++)
- {
- currentValue += m_audioMonitor.Spectrum[i * incrementPerIteration + j];
- }
-
- // Uses 3 values for each bar to accomplish that look
-
- if ((i + 1) % 3 == 0 && i > 1)
- {
- float value =
- (
- m_audioMonitor.dBNormalized(m_audioMonitor.lin2dB(currentValue / incrementPerIteration))
- + m_graphArray[i - 1]
- + m_graphArray[i - 2]
- ) / 3;
-
- m_graphArray[i] = value;
- m_graphArray[i - 1] = value;
- m_graphArray[i - 2] = -1; // Always set the third one to -1 to leave gaps in the graph and improve readability
- }
- else
- {
- m_graphArray[i] = m_audioMonitor.dBNormalized(m_audioMonitor.lin2dB(currentValue / incrementPerIteration));
- }
- }
-
- for (int i = 0; i <= m_resolution - 1; i++)
- {
- m_shaderGraph.Array[i] = m_graphArray[i];
- }
-
- m_shaderGraph.UpdatePoints();
-
-
- // Highest values -------------------------
-
- for (int i = 0; i <= m_resolution - 1; i++)
- {
- float currentValue = 0;
-
- for (int j = 0; j < incrementPerIteration; j++)
- {
- currentValue += m_audioMonitor.SpectrumHighestValues[i * incrementPerIteration + j];
- }
-
- // Uses 3 values for each bar to accomplish that look
-
- if ((i + 1) % 3 == 0 && i > 1)
- {
- float value =
- (
- m_audioMonitor.dBNormalized(m_audioMonitor.lin2dB(currentValue / incrementPerIteration))
- + m_graphArrayHighestValue[i - 1]
- + m_graphArrayHighestValue[i - 2]
- ) / 3;
-
- m_graphArrayHighestValue[i] = value;
- m_graphArrayHighestValue[i - 1] = value;
- m_graphArrayHighestValue[i - 2] = -1; // Always set the third one to -1 to leave gaps in the graph and improve readability
- }
- else
- {
- m_graphArrayHighestValue[i] = m_audioMonitor.dBNormalized(m_audioMonitor.lin2dB(currentValue / incrementPerIteration));
- }
- }
-
- for (int i = 0; i <= m_resolution - 1; i++)
- {
- m_shaderGraphHighestValues.Array[i] = m_graphArrayHighestValue[i];
- }
-
- m_shaderGraphHighestValues.UpdatePoints();
-
- }
-
- protected override void CreatePoints()
- {
- // Init Arrays
- m_shaderGraph.Array = new float[m_resolution];
- m_shaderGraphHighestValues.Array = new float[m_resolution];
-
- m_graphArray = new float[m_resolution];
- m_graphArrayHighestValue = new float[m_resolution];
-
- for (int i = 0; i < m_resolution; i++)
- {
- m_shaderGraph.Array[i] = 0;
- m_shaderGraphHighestValues.Array[i] = 0;
- }
-
- // Color
- m_shaderGraph.GoodColor = m_graphyManager.AudioGraphColor;
- m_shaderGraph.CautionColor = m_graphyManager.AudioGraphColor;
- m_shaderGraph.CriticalColor = m_graphyManager.AudioGraphColor;
- m_shaderGraph.UpdateColors();
-
- m_shaderGraphHighestValues.GoodColor = m_graphyManager.AudioGraphColor;
- m_shaderGraphHighestValues.CautionColor = m_graphyManager.AudioGraphColor;
- m_shaderGraphHighestValues.CriticalColor = m_graphyManager.AudioGraphColor;
- m_shaderGraphHighestValues.UpdateColors();
-
- // Threshold
- m_shaderGraph.GoodThreshold = 0;
- m_shaderGraph.CautionThreshold = 0;
- m_shaderGraph.UpdateThresholds();
-
- m_shaderGraphHighestValues.GoodThreshold = 0;
- m_shaderGraphHighestValues.CautionThreshold = 0;
- m_shaderGraphHighestValues.UpdateThresholds();
-
- // Update Array
- m_shaderGraph.UpdateArray();
- m_shaderGraphHighestValues.UpdateArray();
-
- // Average
- m_shaderGraph.Average = 0;
- m_shaderGraph.UpdateAverage();
-
- m_shaderGraphHighestValues.Average = 0;
- m_shaderGraphHighestValues.UpdateAverage();
- }
-
- #endregion
-
- #region Methods -> Private
-
- private void Init()
- {
- m_graphyManager = transform.root.GetComponentInChildren<GraphyManager>();
-
- m_audioMonitor = GetComponent<G_AudioMonitor>();
-
- m_shaderGraph = new G_GraphShader
- {
- Image = m_imageGraph
- };
-
- m_shaderGraphHighestValues = new G_GraphShader
- {
- Image = m_imageGraphHighestValues
- };
-
- UpdateParameters();
- }
-
- #endregion
- }
-} \ No newline at end of file