diff --git a/osu.Game/Overlays/MusicController.cs b/osu.Game/Overlays/MusicController.cs index d7ee3ca8fc..90e9f2bc9e 100644 --- a/osu.Game/Overlays/MusicController.cs +++ b/osu.Game/Overlays/MusicController.cs @@ -24,7 +24,7 @@ namespace osu.Game.Overlays { private Sprite backgroundSprite; private Box progress; - private ClickableTextAwesome playButton, listButton; + private TextAwesome playButton, listButton; private SpriteText title, artist; private OsuGameBase osuGame; private List<BeatmapSetInfo> playList; @@ -75,10 +75,9 @@ namespace osu.Game.Overlays Anchor = Anchor.BottomCentre, Colour = new Color4(0, 0, 0, 127) }, - playButton = new ClickableTextAwesome + new ClickableContainer { - TextSize = 30, - Icon = FontAwesome.play_circle_o, + AutoSizeAxes = Axes.Both, Origin = Anchor.Centre, Anchor = Anchor.BottomCentre, Position = new Vector2(0, 30), @@ -95,33 +94,70 @@ namespace osu.Game.Overlays currentTrack.Start(); playButton.Icon = FontAwesome.pause; } + }, + Children = new Drawable[] + { + playButton = new TextAwesome + { + TextSize = 30, + Icon = FontAwesome.play_circle_o, + Origin = Anchor.Centre, + Anchor = Anchor.Centre + } } }, - new ClickableTextAwesome + new ClickableContainer { - TextSize = 15, - Icon = FontAwesome.step_backward, + AutoSizeAxes = Axes.Both, Origin = Anchor.Centre, Anchor = Anchor.BottomCentre, Position = new Vector2(-30, 30), - Action = prev + Action = prev, + Children = new Drawable[] + { + new TextAwesome + { + TextSize = 15, + Icon = FontAwesome.step_backward, + Origin = Anchor.Centre, + Anchor = Anchor.Centre + } + } }, - new ClickableTextAwesome + new ClickableContainer { - TextSize = 15, - Icon = FontAwesome.step_forward, + AutoSizeAxes = Axes.Both, Origin = Anchor.Centre, Anchor = Anchor.BottomCentre, Position = new Vector2(30, 30), - Action = next + Action = next, + Children = new Drawable[] + { + new TextAwesome + { + TextSize = 15, + Icon = FontAwesome.step_forward, + Origin = Anchor.Centre, + Anchor = Anchor.Centre + } + } }, - listButton = new ClickableTextAwesome + new ClickableContainer { - TextSize = 15, - Icon = FontAwesome.bars, + AutoSizeAxes = Axes.Both, Origin = Anchor.Centre, Anchor = Anchor.BottomRight, - Position = new Vector2(20, 30) + Position = new Vector2(20, 30), + Children = new Drawable[] + { + listButton = new TextAwesome + { + TextSize = 15, + Icon = FontAwesome.bars, + Origin = Anchor.Centre, + Anchor = Anchor.Centre + } + } }, progress = new Box { @@ -133,7 +169,11 @@ namespace osu.Game.Overlays Colour = Color4.Orange } }; - if (currentPlay != null) play(currentPlay, null); + if (currentPlay != null) + { + playButton.Icon=FontAwesome.pause; + play(currentPlay, null); + } } private void prev() @@ -156,13 +196,14 @@ namespace osu.Game.Overlays private void play(BeatmapSetInfo beatmap, bool? isNext) { - title.Text = beatmap.Metadata.TitleUnicode ?? beatmap.Metadata.Title; - artist.Text = beatmap.Metadata.ArtistUnicode ?? beatmap.Metadata.Artist; + BeatmapMetadata metadata = osuGame.Beatmaps.Query<BeatmapMetadata>().Where(x => x.ID == beatmap.BeatmapMetadataID).First(); + title.Text = metadata.TitleUnicode ?? metadata.Title; + artist.Text = metadata.ArtistUnicode ?? metadata.Artist; ArchiveReader reader = osuGame.Beatmaps.GetReader(currentPlay); currentTrack?.Stop(); - currentTrack = new AudioTrackBass(reader.ReadFile(beatmap.Metadata.AudioFile)); + currentTrack = new AudioTrackBass(reader.ReadFile(metadata.AudioFile)); currentTrack.Start(); - Sprite newBackground = getScaledSprite(TextureLoader.FromStream(reader.ReadFile(beatmap.Metadata.BackgroundFile))); + Sprite newBackground = getScaledSprite(TextureLoader.FromStream(reader.ReadFile(metadata.BackgroundFile))); Add(newBackground); if (isNext == true) {