Skip to content

Commit 081d87f

Browse files
committed
Revert 'Fix any and all migration attempts dying on MusicController'
This reverts commit 310eec6. Way to try and "fix" stuff and screw stuff up even harder instead, me. Great job, well done.
1 parent 270c4c4 commit 081d87f

File tree

3 files changed

+12
-17
lines changed

3 files changed

+12
-17
lines changed

osu.Game/OsuGame.cs

+1
Original file line numberDiff line numberDiff line change
@@ -1137,6 +1137,7 @@ protected override void LoadComplete()
11371137
loadComponentSingleFile(new MedalOverlay(), topMostOverlayContent.Add);
11381138

11391139
loadComponentSingleFile(new BackgroundDataStoreProcessor(), Add);
1140+
loadComponentSingleFile(new DetachedBeatmapStore(), Add, true);
11401141

11411142
Add(difficultyRecommender);
11421143
Add(externalLinkOpener = new ExternalLinkOpener());

osu.Game/OsuGameBase.cs

-4
Original file line numberDiff line numberDiff line change
@@ -377,10 +377,6 @@ private void load(ReadableKeyCombinationProvider keyCombinationProvider, Framewo
377377
dependencies.Cache(previewTrackManager = new PreviewTrackManager(BeatmapManager.BeatmapTrackStore));
378378
base.Content.Add(previewTrackManager);
379379

380-
var detachedBeatmapStore = new DetachedBeatmapStore();
381-
base.Content.Add(detachedBeatmapStore);
382-
dependencies.CacheAs(detachedBeatmapStore);
383-
384380
base.Content.Add(MusicController = new MusicController());
385381
dependencies.CacheAs(MusicController);
386382

osu.Game/Overlays/MusicController.cs

+11-13
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using System.Collections.Generic;
66
using System.Diagnostics;
77
using System.Linq;
8-
using System.Threading;
98
using osu.Framework.Allocation;
109
using osu.Framework.Audio;
1110
using osu.Framework.Audio.Track;
@@ -63,7 +62,8 @@ public partial class MusicController : CompositeDrawable
6362

6463
public DrawableTrack CurrentTrack { get; private set; } = new DrawableTrack(new TrackVirtual(1000));
6564

66-
private IBindableList<BeatmapSetInfo> detachedBeatmaps = null!;
65+
[Resolved]
66+
private RealmAccess realm { get; set; } = null!;
6767

6868
private BindableNumber<double> sampleVolume = null!;
6969

@@ -76,15 +76,13 @@ public partial class MusicController : CompositeDrawable
7676
private int randomHistoryDirection;
7777

7878
[BackgroundDependencyLoader]
79-
private void load(AudioManager audio, OsuConfigManager configManager, DetachedBeatmapStore detachedBeatmapStore, CancellationToken? cancellationToken)
79+
private void load(AudioManager audio, OsuConfigManager configManager)
8080
{
8181
AddInternal(audioDuckFilter = new AudioFilter(audio.TrackMixer));
8282
audio.Tracks.AddAdjustment(AdjustableProperty.Volume, audioDuckVolume);
8383
sampleVolume = audio.VolumeSample.GetBoundCopy();
8484

8585
configManager.BindWith(OsuSetting.RandomSelectAlgorithm, randomSelectAlgorithm);
86-
87-
detachedBeatmaps = detachedBeatmapStore.GetDetachedBeatmaps(cancellationToken);
8886
}
8987

9088
protected override void LoadComplete()
@@ -257,8 +255,8 @@ private PreviousTrackResult prev(bool allowProtectedTracks)
257255
playableSet = getNextRandom(-1, allowProtectedTracks);
258256
else
259257
{
260-
playableSet = getBeatmapSets().TakeWhile(i => !i.Equals(current?.BeatmapSetInfo)).LastOrDefault(s => !s.Protected || allowProtectedTracks)
261-
?? getBeatmapSets().LastOrDefault(s => !s.Protected || allowProtectedTracks);
258+
playableSet = getBeatmapSets().AsEnumerable().TakeWhile(i => !i.Equals(current?.BeatmapSetInfo)).LastOrDefault(s => !s.Protected || allowProtectedTracks)
259+
?? getBeatmapSets().AsEnumerable().LastOrDefault(s => !s.Protected || allowProtectedTracks);
262260
}
263261

264262
if (playableSet != null)
@@ -353,10 +351,10 @@ private bool next(bool allowProtectedTracks)
353351
playableSet = getNextRandom(1, allowProtectedTracks);
354352
else
355353
{
356-
playableSet = getBeatmapSets().SkipWhile(i => !i.Equals(current?.BeatmapSetInfo))
354+
playableSet = getBeatmapSets().AsEnumerable().SkipWhile(i => !i.Equals(current?.BeatmapSetInfo))
357355
.Where(i => !i.Protected || allowProtectedTracks)
358356
.ElementAtOrDefault(1)
359-
?? getBeatmapSets().FirstOrDefault(i => !i.Protected || allowProtectedTracks);
357+
?? getBeatmapSets().AsEnumerable().FirstOrDefault(i => !i.Protected || allowProtectedTracks);
360358
}
361359

362360
var playableBeatmap = playableSet?.Beatmaps.FirstOrDefault();
@@ -375,7 +373,7 @@ private bool next(bool allowProtectedTracks)
375373
{
376374
BeatmapSetInfo result;
377375

378-
var possibleSets = getBeatmapSets().Where(s => !s.Protected || allowProtectedTracks).ToArray();
376+
var possibleSets = getBeatmapSets().AsEnumerable().Where(s => !s.Protected || allowProtectedTracks).ToArray();
379377

380378
if (possibleSets.Length == 0)
381379
return null;
@@ -434,7 +432,7 @@ private void restartTrack()
434432

435433
private TrackChangeDirection? queuedDirection;
436434

437-
private IEnumerable<BeatmapSetInfo> getBeatmapSets() => detachedBeatmaps.Where(s => !s.DeletePending);
435+
private IQueryable<BeatmapSetInfo> getBeatmapSets() => realm.Realm.All<BeatmapSetInfo>().Where(s => !s.DeletePending);
438436

439437
private void changeBeatmap(WorkingBeatmap newWorking)
440438
{
@@ -461,8 +459,8 @@ private void changeBeatmap(WorkingBeatmap newWorking)
461459
else
462460
{
463461
// figure out the best direction based on order in playlist.
464-
int last = getBeatmapSets().TakeWhile(b => !b.Equals(current.BeatmapSetInfo)).Count();
465-
int next = getBeatmapSets().TakeWhile(b => !b.Equals(newWorking.BeatmapSetInfo)).Count();
462+
int last = getBeatmapSets().AsEnumerable().TakeWhile(b => !b.Equals(current.BeatmapSetInfo)).Count();
463+
int next = getBeatmapSets().AsEnumerable().TakeWhile(b => !b.Equals(newWorking.BeatmapSetInfo)).Count();
466464

467465
direction = last > next ? TrackChangeDirection.Prev : TrackChangeDirection.Next;
468466
}

0 commit comments

Comments
 (0)