Skip to content

Commit 64a3028

Browse files
committed
Fix non-functional MusicManager pause on startup
1 parent 8c47f82 commit 64a3028

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

game/src/Autoload/MusicManager/MusicManager.gd

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ signal song_scrubbed(percentage : float, seconds : float)
1212
@export var first_song_name : String
1313

1414
@export var _audio_stream_player : AudioStreamPlayer
15+
var _audio_stream_paused : bool = false
1516

1617
var _selected_track := 0
1718
var _available_songs : Array[SongInfo] = []
@@ -27,8 +28,6 @@ var last_played: int = -1
2728
## Used to keep keep consistency between scene changes
2829
var is_music_player_visible : bool = true
2930

30-
var _has_startup_happened : bool = false
31-
3231
func get_all_song_names() -> PackedStringArray:
3332
var songNames : PackedStringArray = []
3433
for si : SongInfo in _available_songs:
@@ -56,10 +55,12 @@ func get_current_song_progress_percentage() -> float:
5655
return 100 * (_audio_stream_player.get_playback_position() / _audio_stream_player.stream.get_length())
5756

5857
func is_paused() -> bool:
59-
return _audio_stream_player.stream_paused
58+
return _audio_stream_paused
6059

6160
func set_paused(paused : bool) -> void:
6261
_audio_stream_player.stream_paused = paused
62+
# stream_paused requires an active stream
63+
_audio_stream_paused = paused
6364
song_paused.emit(paused)
6465

6566
func toggle_play_pause() -> void:
@@ -69,6 +70,8 @@ func start_current_song() -> void:
6970
_audio_stream_player.stream = _available_songs[_selected_track].song_stream
7071
_audio_stream_player.play()
7172
song_started.emit(_selected_track)
73+
if _audio_stream_paused:
74+
set_paused(true)
7275

7376
# REQUIREMENTS
7477
# * SS-70
@@ -86,10 +89,12 @@ func select_next_song() -> void:
8689
_selected_track = playlist[playlist_index]
8790
playlist_index += 1
8891
last_played = playlist_index
92+
_audio_stream_paused = false
8993
start_current_song()
9094

9195
func select_previous_song() -> void:
9296
_selected_track = (len(_available_songs) - 1) if (_selected_track == 0) else (_selected_track - 1)
97+
_audio_stream_paused = false
9398
start_current_song()
9499

95100
func setup_compat_song(file_name) -> void:
@@ -162,9 +167,7 @@ func _ready() -> void:
162167
#GameStart so we can wait until the music is loaded
163168

164169
func set_startup_music(play : bool) -> void:
165-
if not _has_startup_happened:
166-
_has_startup_happened = true
167-
set_paused(not play)
170+
set_paused(not play)
168171

169172
func _on_audio_stream_player_finished() -> void:
170173
song_finished.emit(_selected_track)

0 commit comments

Comments
 (0)