extends HBoxContainer


# Declare member variables here. Examples:
# var a = 2
# var b = "text"

var duet = true
var lyrics = true
var score = true
var jsonObject = {}

# Called when the node enters the scene tree for the first time.
func _ready():
	pass # Replace with function body.

func setSongName(songname):
	$SongName.text = songname
	
func setSongArtists(songtitle):
	$SongArtists.text = songtitle
	
func setDuet(hasDuetMarked):
	if hasDuetMarked:
		duet = true
	else:
		duet = false
	setIcon()

func setLyrics(hasLyrics):
	if hasLyrics:
		lyrics = true
	else:
		lyrics = false
	setIcon()

func setScore(hasScore):
	if hasScore:
		score = true
	else:
		score = false
	setIcon()

func setIcon():
	var filename = ""
	if duet:
		filename += "duet"
	else:
		filename += "solo"
	if score:
		filename += "notes"
	if lyrics:
		filename += "lyrics"
	filename += "50"
	$SongIcon.texture_normal = load("UI/src/"+filename+".png")
	
func setObject(fullObject):
	jsonObject = fullObject
	setDuet(fullObject.duetmarks)
	setLyrics(fullObject.lyrics)
	setScore(fullObject.score)
	setSongName(fullObject.title)
	var artists = PoolStringArray(fullObject.artists).join(", ")
	setSongArtists(artists)
	
	
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
#	pass


func _on_SongIcon_pressed():
	Globals.setSongObject(jsonObject)
	get_tree().change_scene("res://download_video.tscn")
