extends Control @export var radio: Radio @onready var track_label: Label = $%TrackLabel @onready var prev_track_icon_button: Button = $%PrevTrackIconButton @onready var play_pause_icon_button: Button = $%PlayPauseIconButton @onready var next_track_icon_button: Button = $%NextTrackIconButton @onready var increase_volume_icon_button: Button = $%IncreaseVolumeIconButton @onready var decrease_volume_icon_button: Button = $%DecreaseVolumeIconButton func _ready() -> void: prev_track_icon_button.pressed.connect(_on_prev_track_icon_button_pressed) play_pause_icon_button.pressed.connect(_on_play_pause_icon_button_pressed) next_track_icon_button.pressed.connect(_on_next_track_icon_button_pressed) increase_volume_icon_button.pressed.connect(_on_increase_volume_icon_button_pressed) decrease_volume_icon_button.pressed.connect(_on_decrease_volume_icon_button_pressed) if radio: radio.track_changed.connect(_on_radio_track_changed) if radio.stream and radio.stream.resource_path: track_label.text = radio.stream.resource_path.get_file().get_basename().capitalize() play_pause_icon_button.image = play_pause_icon_button.images[1] else: track_label.text = "Unknown Track" func _on_radio_track_changed(track_name: String) -> void: track_label.text = track_name play_pause_icon_button.image = play_pause_icon_button.images[1] func _on_prev_track_icon_button_pressed() -> void: if radio: radio.prev_track() func _on_play_pause_icon_button_pressed() -> void: if radio: if radio.stream: radio.toggle_pause() else: radio.next_track() var play_pause_index = 0 if radio.stream_paused else 1 play_pause_icon_button.image = play_pause_icon_button.images[play_pause_index] func _on_next_track_icon_button_pressed() -> void: if radio: radio.next_track() func _on_increase_volume_icon_button_pressed() -> void: var current_vol = AudioManager.get_audio_bus_volume("Music", 1.0) AudioManager.set_audio_bus_volume("Music", current_vol + 0.1) func _on_decrease_volume_icon_button_pressed() -> void: var current_vol = AudioManager.get_audio_bus_volume("Music", 1.0) AudioManager.set_audio_bus_volume("Music", current_vol - 0.1)