﻿#pragma strict

var note : GameObject;
var bgvisualizer : GameObject;
var pos : Vector3;
//var rot : Vector3;
var rot: float; 
var placed : int;
public var c1_upperlimit : float;
public var c1_lowerlimit : float;
public var placeY : float;

function Start () {
	placed = 0;
	transform.localRotation.z = 0;
}

function Update () {

	var spectrum : float[] = AudioListener.GetSpectrumData(1024, 0, FFTWindow.Hamming);
	
	/* 
	c1 = 64
	c3 = 256
	c4 = 512
	c5 = 1024
	*/
	
	var c1 : float = spectrum[2] + spectrum[3] + spectrum[4];
	var c3 : float = spectrum[11] + spectrum[12] + spectrum[13];
	var c4 : float = spectrum[22] + spectrum[23] + spectrum[24];
	var c5 : float = spectrum[44] + spectrum[45] + spectrum[46] + spectrum[47] + spectrum[48] + spectrum[49]; 
	
	var visualizers : GameObject[] = GameObject.FindGameObjectsWithTag("Visualizer");
	
	for (var i =0; i < visualizers.length; i++)
	{
		visualizers[i].transform.localScale = new Vector2(1.75f + c1, 1.75f + c1);
	}
	
	
	
	if (c1 > c1_upperlimit && placed == 0)
	{
		switch(Random.Range(1,3))
		{
			// right
			case 1 :
				pos = new Vector3(14, Random.Range(-placeY, placeY), 15);
				//rot = new Vector3(0, 0, 180);
				rot = 180f;
				break;
			// left
			case 2 :
				pos = new Vector3(-14, Random.Range(-placeY, placeY), 15);
				//rot = new Vector3(0, 0, 0);
				rot = 0f;
				break;
		}
		
		Instantiate(note, pos, Quaternion.identity);

		placed =1;
		//bgvisualizer.transform.localScale = new Vector2(1.75f + c1, 1.75f + c1); 
	}
	else if (c1 < c1_lowerlimit)
	{
		placed = 0;
		//bgvisualizer.transform.localScale = new Vector2(1.75f, 1.75f); 
	}
	
	

}