aboutsummaryrefslogtreecommitdiff
path: root/game/src/MusicConductor/MusicConductor.gd
diff options
context:
space:
mode:
Diffstat (limited to 'game/src/MusicConductor/MusicConductor.gd')
-rw-r--r--game/src/MusicConductor/MusicConductor.gd77
1 files changed, 0 insertions, 77 deletions
diff --git a/game/src/MusicConductor/MusicConductor.gd b/game/src/MusicConductor/MusicConductor.gd
deleted file mode 100644
index 98dd0eb..0000000
--- a/game/src/MusicConductor/MusicConductor.gd
+++ /dev/null
@@ -1,77 +0,0 @@
-extends Node
-
-# REQUIREMENTS
-# * SS-67
-@export_dir var music_directory : String
-@export var first_song_name : String
-
-var _selected_track = 0
-var _available_songs : Array[SongInfo] = []
-var _auto_play_next_song : bool = true
-
-## True if music player should be visible.
-## Used to keep keep consistency between scene changes
-var is_music_player_visible : bool = true
-
-func get_all_song_names() -> Array[String]:
- var songNames : Array[String] = []
- for si in _available_songs:
- songNames.append(si.song_name)
- return songNames
-
-func get_current_song_index() -> int:
- return _selected_track
-
-func get_current_song_name() -> String:
- return _available_songs[_selected_track].song_name
-
-func scrub_song_by_percentage(percentage: float) -> void:
- var percentInSeconds : float = (percentage / 100.0) * $AudioStreamPlayer.stream.get_length()
- $AudioStreamPlayer.play(percentInSeconds)
-
-func get_current_song_progress_percentage() -> float:
- return 100 * ($AudioStreamPlayer.get_playback_position() / $AudioStreamPlayer.stream.get_length())
-
-func is_paused() -> bool:
- return $AudioStreamPlayer.stream_paused
-
-func toggle_play_pause() -> void:
- $AudioStreamPlayer.stream_paused = !$AudioStreamPlayer.stream_paused
-
-func start_current_song() -> void:
- $AudioStreamPlayer.stream = _available_songs[_selected_track].song_stream
- $AudioStreamPlayer.play()
-
-# REQUIREMENTS
-# * SS-70
-func start_song_by_index(id: int) -> void:
- _selected_track = id
- start_current_song()
-
-# REQUIREMENTS
-# * SS-69
-func select_next_song() -> void:
- _selected_track = (_selected_track + 1) % len(_available_songs)
- start_current_song()
-
-func select_previous_song() -> void:
- _selected_track = (len(_available_songs) - 1) if (_selected_track == 0) else (_selected_track - 1)
- start_current_song()
-
-# REQUIREMENTS
-# * SND-2
-func _ready():
- var dir = DirAccess.open(music_directory)
- for fname in dir.get_files():
- if fname.ends_with(".import"):
- fname = fname.get_basename()
- if fname.get_basename() == first_song_name:
- _selected_track = _available_songs.size()
- _available_songs.append(SongInfo.new(music_directory, fname))
- start_current_song()
-
-
-func _on_audio_stream_player_finished():
- if _auto_play_next_song:
- select_next_song()
- start_current_song()