Beispiel #1
0
    IEnumerator PadLightLoop()
    {
        _musicAnalyzer.SetMusic(audio);

        while (true)
        {
            _musicAnalyzer.AnalyzeMusic();
            float[] spectrum = _musicAnalyzer.GetSpectrum();
            bool[]  checks   = new bool[_pads.Count];

            for (int i = 0; i < spectrum.Length; i++)
            {
                if (spectrum[i] > _threshold)
                {
                    checks[i % _pads.Count] = true;
                }
            }

            for (int i = 0; i < checks.Length; i++)
            {
                if (checks[i])
                {
                    _pads[i].Press();
                }
            }

            yield return(null);
        }

        yield break;
    }