Files
audioeditor/Scripts/TrackView.gd

45 lines
862 B
GDScript

extends Control
class_name TrackView
@export var controller: Node
@export var track_scene: PackedScene
@onready var track_list: VBoxContainer = %TrackList
signal track_added(idx: int)
signal track_deleted(idx: int)
signal tracks_updated()
func _ready() -> void:
pass
func add_track(idx: int):
track_added.emit(idx)
tracks_updated.emit()
pass
func delete_track(idx: int):
track_deleted.emit(idx)
_track_deleted(idx)
tracks_updated.emit()
pass
func _track_added():
var track = track_scene.instantiate() as Track
track.on_deleted.connect(delete_track)
track_list.add_child(track)
pass
func _track_duplicated(idx: int):
pass
func _track_renamed(idx: int):
pass
func _track_deleted(idx: int):
var track = track_list.get_child(idx)
track.call_deferred("free")
pass
func get_track_elements() -> Array[Node]:
return track_list.get_children()