diff --git a/OpenRA.Mods.RA/Widgets/Logic/MusicPlayerLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/MusicPlayerLogic.cs index 930009129b..40466bffe8 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/MusicPlayerLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/MusicPlayerLogic.cs @@ -11,6 +11,7 @@ using System; using System.Linq; using OpenRA.GameRules; +using OpenRA.Mods.Common.Widgets; using OpenRA.Traits; using OpenRA.Widgets; @@ -96,6 +97,18 @@ namespace OpenRA.Mods.RA.Widgets.Logic installButton.IsVisible = () => modRules.InstalledMusic.ToArray().Length <= installData.ShippedSoundtracks; } + var songWatcher = widget.GetOrNull("SONG_WATCHER"); + if (songWatcher != null) + { + songWatcher.OnTick = () => + { + if (Sound.CurrentMusic == null || currentSong == Sound.CurrentMusic) + return; + + currentSong = Sound.CurrentMusic; + }; + } + panel.Get("BACK_BUTTON").OnClick = () => { Game.Settings.Save(); Ui.CloseWindow(); onExit(); }; } diff --git a/mods/cnc/chrome/music.yaml b/mods/cnc/chrome/music.yaml index b7faa30885..8e8c1dbe59 100644 --- a/mods/cnc/chrome/music.yaml +++ b/mods/cnc/chrome/music.yaml @@ -5,6 +5,7 @@ Container@MUSIC_PANEL: Width: 360 Height: 435 Children: + LogicTicker@SONG_WATCHER: Label@TITLE: Width: 360 Y: 0-25 diff --git a/mods/ra/chrome/musicplayer.yaml b/mods/ra/chrome/musicplayer.yaml index 5189cdc0f8..474b41b11b 100644 --- a/mods/ra/chrome/musicplayer.yaml +++ b/mods/ra/chrome/musicplayer.yaml @@ -5,6 +5,7 @@ Background@MUSIC_PANEL: Width: 360 Height: 450 Children: + LogicTicker@SONG_WATCHER: ScrollPanel@MUSIC_LIST: X: 15 Y: 45