Skip to content

Basic Menu#7

Merged
bemain merged 2 commits into
mainfrom
menu
Jun 5, 2026
Merged

Basic Menu#7
bemain merged 2 commits into
mainfrom
menu

Conversation

@bemain

@bemain bemain commented Jun 5, 2026

Copy link
Copy Markdown
Owner

Create a basic menu for selecting which song to play

Copilot AI review requested due to automatic review settings June 5, 2026 17:54
@bemain bemain linked an issue Jun 5, 2026 that may be closed by this pull request
@bemain bemain merged commit 8c6b556 into main Jun 5, 2026
2 checks passed
@bemain bemain deleted the menu branch June 5, 2026 17:57

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an in-game UI flow to choose a song (Main Menu → Freeplay → Song Selection) and start playback through SongManager, with UI returning to selection when a song ends. The PR also introduces editor Git version control plugin configuration and vendors the Godot Git plugin addon.

Changes:

  • Add MainMenu and SongSelectionMenu scenes + scripts, and a UI controller script to show/hide menus.
  • Wire the new UI into Main.tscn and route song_selected to SongManager.play(...); add a song_finished signal to return to the selection menu.
  • Add Godot editor version control plugin settings and the godot-git-plugin addon files.

Reviewed changes

Copilot reviewed 18 out of 19 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/ui/ui.gd.uid Godot UID for the new UI controller script.
src/ui/ui.gd UI controller toggling main menu / selection menu visibility and reacting to song_finished.
src/ui/SongSelectionMenu.tscn New song selection menu scene (label, list, back button, signal hookups).
src/ui/song_selection_menu.gd.uid Godot UID for song selection menu script.
src/ui/song_selection_menu.gd Populates list from Songs.songs and emits song_selected / back_pressed.
src/ui/MainMenu.tscn New main menu scene with (disabled) Story/Settings and Freeplay button.
src/ui/main_menu.gd.uid Godot UID for main menu script.
src/ui/main_menu.gd Emits button-press signals for the main menu.
src/ui/debug_ui.gd.uid Godot UID for debug UI script.
src/ui/debug_ui.gd Debug UI for latency slider and UI toggle input handling.
src/song_track/song_manager.gd Adds song_finished signal and toggles track visibility based on playback.
project.godot Enables editor version control plugin autoload on startup.
Main.tscn Adds new UI nodes (menus + debug UI), rewires latency slider, and connects new UI signals.
main.gd Starts selected song via SongManager.play(song) when a song is chosen.
addons/godot-git-plugin/THIRDPARTY.md Third-party notices for the vendored Git plugin.
addons/godot-git-plugin/LICENSE License file for the vendored Git plugin.
addons/godot-git-plugin/git_plugin.gdextension.uid Godot UID for the Git plugin extension file.
addons/godot-git-plugin/git_plugin.gdextension Declares the Git plugin extension libraries per platform.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +65 to +68
player.finished.connect(func():
song_finished.emit(current_song)
current_song = null
)
Comment on lines +29 to +31
## Whether a song is currently being played
var playing: bool:
get: return current_song != null
Comment thread src/ui/debug_ui.gd
Comment on lines +7 to +10
func _process(delta: float) -> void:
if Input.is_action_just_pressed("debug_toggle_ui"):
visible = not visible

Comment thread src/ui/debug_ui.gd
Comment on lines +11 to +13
func _on_latency_slider_value_changed(value: float) -> void:
Songs.audio_latency_ms = value
$AudioLatency/Label.text = "Latency: %d ms" % value
Comment on lines +8 to +10
linux.editor.x86_64 = "linux/libgit_plugin.linux.editor.x86_64.so"
macos.editor = "macos/libgit_plugin.macos.editor.universal.dylib"
windows.editor.x86_64 = "windows/libgit_plugin.windows.editor.x86_64.dll"
Comment thread project.godot
Comment on lines +40 to +43
[editor]

version_control/plugin_name="GitPlugin"
version_control/autoload_on_startup=true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simple song selection UI

2 participants