Merge branch 'master' into time-accurate

This commit is contained in:
Bartłomiej Dach 2024-07-08 14:19:57 +02:00
commit 2cad8d3684
No known key found for this signature in database
2 changed files with 27 additions and 13 deletions

View File

@ -1,10 +1,13 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using System.Linq;
using NUnit.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Testing;
using osu.Game.Graphics.UserInterface;
using osu.Game.Rulesets.Osu;
using osu.Game.Screens.Edit;
using osu.Game.Screens.Edit.Components;
@ -19,9 +22,10 @@ public partial class TestSceneEditorClock : EditorClockTestScene
[Cached]
private EditorBeatmap editorBeatmap = new EditorBeatmap(new TestBeatmap(new OsuRuleset().RulesetInfo));
public TestSceneEditorClock()
[SetUpSteps]
public void SetUpSteps()
{
Add(new FillFlowContainer
AddStep("create content", () => Add(new FillFlowContainer
{
RelativeSizeAxes = Axes.Both,
Children = new Drawable[]
@ -39,19 +43,17 @@ public TestSceneEditorClock()
Size = new Vector2(200, 100)
}
}
}));
AddStep("set working beatmap", () =>
{
Beatmap.Disabled = false;
Beatmap.Value = CreateWorkingBeatmap(new OsuRuleset().RulesetInfo);
// ensure that music controller does not change this beatmap due to it
// completing naturally as part of the test.
Beatmap.Disabled = true;
});
}
protected override void LoadComplete()
{
base.LoadComplete();
Beatmap.Value = CreateWorkingBeatmap(new OsuRuleset().RulesetInfo);
// ensure that music controller does not change this beatmap due to it
// completing naturally as part of the test.
Beatmap.Disabled = true;
}
[Test]
public void TestStopAtTrackEnd()
{
@ -113,6 +115,18 @@ public void TestCurrentTimeDoubleTransform()
});
}
[Test]
public void TestAdjustmentsRemovedOnDisposal()
{
AddStep("reset clock", () => EditorClock.Seek(0));
AddStep("set 0.25x speed", () => this.ChildrenOfType<OsuTabControl<double>>().First().Current.Value = 0.25);
AddAssert("track has 0.25x tempo", () => Beatmap.Value.Track.AggregateTempo.Value, () => Is.EqualTo(0.25));
AddStep("dispose playback control", () => Clear(disposeChildren: true));
AddAssert("track has 1x tempo", () => Beatmap.Value.Track.AggregateTempo.Value, () => Is.EqualTo(1));
}
protected override void Dispose(bool isDisposing)
{
Beatmap.Disabled = false;

View File

@ -105,7 +105,7 @@ protected override void LoadComplete()
protected override void Dispose(bool isDisposing)
{
Track.Value?.RemoveAdjustment(AdjustableProperty.Frequency, tempoAdjustment);
Track.Value?.RemoveAdjustment(AdjustableProperty.Tempo, tempoAdjustment);
base.Dispose(isDisposing);
}