// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using osu.Framework.Allocation; using osu.Framework.Audio; using osu.Framework.Timing; using osu.Game.Beatmaps.ControlPoints; using osu.Game.Graphics.Containers; namespace osu.Game.Beatmaps { /// /// Provides various data sources which allow for synchronising visuals to a known beat. /// Primarily intended for use with . /// [Cached] public interface IBeatSyncProvider : IHasAmplitudes { /// /// Access any available control points from a beatmap providing beat sync. If null, no current provider is available. /// ControlPointInfo? ControlPoints { get; } /// /// Access a clock currently responsible for providing beat sync. If null, no current provider is available. /// IClock? Clock { get; } } }