extends Control

signal delay_changed(slider,value)
var count = 0
var sliders = []
var values = []
var deets = []

func set_count(value):
	for slice in $VBoxContainer.get_children():
		slice.remove_and_skip()
	sliders = []
	deets = []
	for i in range(0,value):
		if len(values) < value+1:
			values.append(Globals.audio_delay_seconds * 1000)
		var slice = HBoxContainer.new()
		var label = Label.new()
		label.text = String(i+1)
		label.hint_tooltip = "Vocal delay track "+String(i+1)
		label.mouse_filter = Control.MOUSE_FILTER_STOP
		slice.add_child(label)
		var slider = HSlider.new()
		slider.hint_tooltip = "Vocal delay track "+String(i+1)
		slider.size_flags_horizontal = SIZE_EXPAND_FILL
		print("Set track "+String(i)+" to "+String(values[i]))
		slider.value = values[i]
		slider.max_value = 1000
		slider.connect("value_changed",self,"on_value_changed")
		slice.add_child(slider)
		sliders.append(slider)
		var deet = Label.new()
		deet.text = String(values[i]/1000) + "s"
		deet.rect_min_size = Vector2(50,0)
		deet.hint_tooltip = "Vocal delay track "+String(i+1)
		deet.mouse_filter = Control.MOUSE_FILTER_STOP
		deets.append(deet)
		slice.add_child(deet)
		$VBoxContainer.add_child(slice)

func on_value_changed(value):
	for i in range(0,len(sliders)):
		if values[i] != sliders[i].value:
			values[i] = sliders[i].value
			deets[i].text = String(values[i]/1000) + "s"
			emit_signal("delay_changed",i,sliders[i].value)
			
# Called when the node enters the scene tree for the first time.
func _ready():
	pass # Replace with function body.


# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
#	pass
