private void updateBeatmap() { if (BeatmapImport.IsProcessing) { return; } if (Lobby.SpectatingMatch == null) { return; } if ((Lobby.SpectatingMatch.activeMods & Mods.DoubleTime) > 0) { AudioEngine.CurrentPlaybackRate = 150; } else if ((Lobby.SpectatingMatch.activeMods & Mods.HalfTime) > 0) { AudioEngine.CurrentPlaybackRate = 75; } else { AudioEngine.CurrentPlaybackRate = 100; } if (BeatmapManager.Current?.BeatmapChecksum == Lobby.SpectatingMatch.beatmapChecksum) { currentSong.Text = BeatmapManager.Current?.DisplayTitleFullAuto ?? string.Empty; } else { currentSong.Text = Lobby.SpectatingMatch?.beatmapName ?? string.Empty; } playingIcon.Alpha = string.IsNullOrEmpty(currentSong.Text) ? 0 : 1; if (Lobby.SpectatingMatch.beatmapChecksum == BeatmapManager.Current?.BeatmapChecksum) { return; } if (string.IsNullOrEmpty(Lobby.SpectatingMatch.beatmapChecksum)) { pickingUp = false; } else { var b = BeatmapManager.GetBeatmapByChecksum(Lobby.SpectatingMatch.beatmapChecksum); if (b == null) { if (pickingUp) { return; } pickingUp = true; OsuDirect.HandlePickup(Lobby.SpectatingMatch.beatmapChecksum, (o, e) => { BeatmapImport.Start(); pickingUp = false; }, null); } else { BeatmapManager.Load(b); clients.Reset(); } } }