From d2f3d5a80769eeae5932b2c4e42039430253e468 Mon Sep 17 00:00:00 2001 From: FreezyLemon Date: Thu, 7 Dec 2017 23:09:51 +0100 Subject: [PATCH] Added basic SampleInfo.FromSoundPoint and GetChannel methods --- osu.Game/Audio/SampleInfo.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/osu.Game/Audio/SampleInfo.cs b/osu.Game/Audio/SampleInfo.cs index 171a1bdf75..4a5d836c53 100644 --- a/osu.Game/Audio/SampleInfo.cs +++ b/osu.Game/Audio/SampleInfo.cs @@ -1,6 +1,11 @@ // Copyright (c) 2007-2017 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE +using osu.Framework.Audio; +using osu.Framework.Audio.Sample; +using osu.Framework.Configuration; +using osu.Game.Beatmaps.ControlPoints; + namespace osu.Game.Audio { public class SampleInfo @@ -10,6 +15,24 @@ namespace osu.Game.Audio public const string HIT_NORMAL = @"hitnormal"; public const string HIT_CLAP = @"hitclap"; + public static SampleInfo FromSoundPoint(SoundControlPoint soundPoint, string sampleName = SampleInfo.HIT_NORMAL) + { + return new SampleInfo() + { + Bank = soundPoint.SampleBank, + Name = sampleName, + Volume = soundPoint.SampleVolume, + }; + } + + public SampleChannel GetChannel(SampleManager manager) + { + var channel = manager.Get($"{Bank}-{Name}"); + + channel.AddAdjustment(AdjustableProperty.Volume, new BindableDouble(Volume / 100.0)); + return channel; + } + /// /// The bank to load the sample from. ///