aboutsummaryrefslogtreecommitdiff
path: root/game/src/Game/MusicConductor/MusicPlayer.gd
diff options
context:
space:
mode:
author Spartan322 <Megacake1234@gmail.com>2023-08-24 09:20:38 +0200
committer Spartan322 <Megacake1234@gmail.com>2023-08-24 09:30:19 +0200
commit31ea2b89222599b9282804191a673973bdad35b7 (patch)
tree8f307fd93d25c52d7aa85e8f962d8775bfc527e8 /game/src/Game/MusicConductor/MusicPlayer.gd
parentf59424ee1223bd509efdb2162b16415708a1ff6a (diff)
Add signals to MusicConductor
Used for streamlining MusicPlayer Enable music on startup Add sound option loading on startup Fix MusicPlayer play button starting with incorrect text
Diffstat (limited to 'game/src/Game/MusicConductor/MusicPlayer.gd')
-rw-r--r--game/src/Game/MusicConductor/MusicPlayer.gd24
1 files changed, 8 insertions, 16 deletions
diff --git a/game/src/Game/MusicConductor/MusicPlayer.gd b/game/src/Game/MusicConductor/MusicPlayer.gd
index e0a9006..e83ab9b 100644
--- a/game/src/Game/MusicConductor/MusicPlayer.gd
+++ b/game/src/Game/MusicConductor/MusicPlayer.gd
@@ -12,55 +12,47 @@ var _is_user_dragging_progress_slider : bool = false
func _ready():
for songName in MusicConductor.get_all_song_names():
_song_selector_button.add_item(songName, _song_selector_button.item_count)
- _update_song_name_visual()
- _update_play_pause_button()
+ _on_song_set(MusicConductor.get_current_song_index())
+ MusicConductor.song_started.connect(_on_song_set)
+ MusicConductor.song_paused.connect(_update_play_pause_button)
+ MusicConductor.song_scrubbed.connect(_update_play_pause_button)
_set_music_player_visible(MusicConductor.is_music_player_visible)
+func _on_song_set(track_id : int) -> void:
+ _song_selector_button.selected = track_id
+ _update_play_pause_button()
func _process(_delta):
if !_is_user_dragging_progress_slider:
_progress_slider.value = MusicConductor.get_current_song_progress_percentage()
-func _update_song_name_visual():
- _song_selector_button.selected = MusicConductor.get_current_song_index()
-
-func _update_play_pause_button():
+func _update_play_pause_button(_arg1 = null, _arg2 = null):
_play_pause_button.text = "◼" if MusicConductor.is_paused() else "▶"
func _on_play_pause_button_pressed():
MusicConductor.toggle_play_pause()
- _update_play_pause_button()
# REQUIREMENTS
# * UIFUN-93
func _on_next_song_button_pressed():
MusicConductor.select_next_song()
- _update_song_name_visual()
- _update_play_pause_button()
# REQUIREMENTS
# * UIFUN-94
func _on_previous_song_button_pressed():
MusicConductor.select_previous_song()
- _update_song_name_visual()
- _update_play_pause_button()
# REQUIREMENTS
# * UIFUN-95
func _on_option_button_item_selected(index):
MusicConductor.start_song_by_index(index)
- _update_song_name_visual()
- _update_play_pause_button()
-
func _on_progress_slider_drag_started():
_is_user_dragging_progress_slider = true
-
func _on_progress_slider_drag_ended(_value_changed):
MusicConductor.scrub_song_by_percentage(_progress_slider.value)
_is_user_dragging_progress_slider = false
- _update_play_pause_button()
func _set_music_player_visible(is_player_visible : bool) -> void:
MusicConductor.is_music_player_visible = is_player_visible