diff --git a/osu.Android.props b/osu.Android.props
index 0d3fafd19f..ba8b8b32ba 100644
--- a/osu.Android.props
+++ b/osu.Android.props
@@ -51,7 +51,7 @@
-
+
diff --git a/osu.Game/Graphics/Containers/OsuClickableContainer.cs b/osu.Game/Graphics/Containers/OsuClickableContainer.cs
index 1f31e4cdda..60ded8952d 100644
--- a/osu.Game/Graphics/Containers/OsuClickableContainer.cs
+++ b/osu.Game/Graphics/Containers/OsuClickableContainer.cs
@@ -19,7 +19,7 @@ namespace osu.Game.Graphics.Containers
protected virtual HoverClickSounds CreateHoverClickSounds(HoverSampleSet sampleSet) => new HoverClickSounds(sampleSet);
- public OsuClickableContainer(HoverSampleSet sampleSet = HoverSampleSet.Normal)
+ public OsuClickableContainer(HoverSampleSet sampleSet = HoverSampleSet.Default)
{
this.sampleSet = sampleSet;
}
diff --git a/osu.Game/Graphics/UserInterface/DrawableOsuMenuItem.cs b/osu.Game/Graphics/UserInterface/DrawableOsuMenuItem.cs
index 8df2c1c2fd..fea84998cf 100644
--- a/osu.Game/Graphics/UserInterface/DrawableOsuMenuItem.cs
+++ b/osu.Game/Graphics/UserInterface/DrawableOsuMenuItem.cs
@@ -3,7 +3,6 @@
using osu.Framework.Allocation;
using osu.Framework.Audio;
-using osu.Framework.Audio.Sample;
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
@@ -23,9 +22,6 @@ namespace osu.Game.Graphics.UserInterface
private const int text_size = 17;
private const int transition_length = 80;
- private Sample sampleClick;
- private Sample sampleHover;
-
private TextContainer text;
public DrawableOsuMenuItem(MenuItem item)
@@ -36,12 +32,11 @@ namespace osu.Game.Graphics.UserInterface
[BackgroundDependencyLoader]
private void load(AudioManager audio)
{
- sampleHover = audio.Samples.Get(@"UI/generic-hover");
- sampleClick = audio.Samples.Get(@"UI/generic-select");
-
BackgroundColour = Color4.Transparent;
BackgroundColourHover = Color4Extensions.FromHex(@"172023");
+ AddInternal(new HoverClickSounds());
+
updateTextColour();
Item.Action.BindDisabledChanged(_ => updateState(), true);
@@ -84,7 +79,6 @@ namespace osu.Game.Graphics.UserInterface
if (IsHovered && !Item.Action.Disabled)
{
- sampleHover.Play();
text.BoldText.FadeIn(transition_length, Easing.OutQuint);
text.NormalText.FadeOut(transition_length, Easing.OutQuint);
}
@@ -95,12 +89,6 @@ namespace osu.Game.Graphics.UserInterface
}
}
- protected override bool OnClick(ClickEvent e)
- {
- sampleClick.Play();
- return base.OnClick(e);
- }
-
protected sealed override Drawable CreateContent() => text = CreateTextContainer();
protected virtual TextContainer CreateTextContainer() => new TextContainer();
diff --git a/osu.Game/Graphics/UserInterface/HoverClickSounds.cs b/osu.Game/Graphics/UserInterface/HoverClickSounds.cs
index c1963ce62d..12819840e5 100644
--- a/osu.Game/Graphics/UserInterface/HoverClickSounds.cs
+++ b/osu.Game/Graphics/UserInterface/HoverClickSounds.cs
@@ -28,7 +28,7 @@ namespace osu.Game.Graphics.UserInterface
/// Array of button codes which should trigger the click sound.
/// If this optional parameter is omitted or set to null
, the click sound will only be played on left click.
///
- public HoverClickSounds(HoverSampleSet sampleSet = HoverSampleSet.Normal, MouseButton[] buttons = null)
+ public HoverClickSounds(HoverSampleSet sampleSet = HoverSampleSet.Default, MouseButton[] buttons = null)
: base(sampleSet)
{
this.buttons = buttons ?? new[] { MouseButton.Left };
@@ -45,7 +45,8 @@ namespace osu.Game.Graphics.UserInterface
[BackgroundDependencyLoader]
private void load(AudioManager audio)
{
- sampleClick = audio.Samples.Get($@"UI/generic-select{SampleSet.GetDescription()}");
+ sampleClick = audio.Samples.Get($@"UI/{SampleSet.GetDescription()}-select")
+ ?? audio.Samples.Get($@"UI/{HoverSampleSet.Default.GetDescription()}-select");
}
}
}
diff --git a/osu.Game/Graphics/UserInterface/HoverSampleSet.cs b/osu.Game/Graphics/UserInterface/HoverSampleSet.cs
new file mode 100644
index 0000000000..c74ac90a4c
--- /dev/null
+++ b/osu.Game/Graphics/UserInterface/HoverSampleSet.cs
@@ -0,0 +1,25 @@
+// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
+// See the LICENCE file in the repository root for full licence text.
+
+using System.ComponentModel;
+
+namespace osu.Game.Graphics.UserInterface
+{
+ public enum HoverSampleSet
+ {
+ [Description("default")]
+ Default,
+
+ [Description("button")]
+ Button,
+
+ [Description("softer")]
+ Soft,
+
+ [Description("toolbar")]
+ Toolbar,
+
+ [Description("songselect")]
+ SongSelect
+ }
+}
diff --git a/osu.Game/Graphics/UserInterface/HoverSounds.cs b/osu.Game/Graphics/UserInterface/HoverSounds.cs
index f2e4c6d013..c0ef5cb3fc 100644
--- a/osu.Game/Graphics/UserInterface/HoverSounds.cs
+++ b/osu.Game/Graphics/UserInterface/HoverSounds.cs
@@ -1,7 +1,6 @@
// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
-using System.ComponentModel;
using osu.Framework.Allocation;
using osu.Framework.Audio;
using osu.Framework.Audio.Sample;
@@ -22,7 +21,7 @@ namespace osu.Game.Graphics.UserInterface
protected readonly HoverSampleSet SampleSet;
- public HoverSounds(HoverSampleSet sampleSet = HoverSampleSet.Normal)
+ public HoverSounds(HoverSampleSet sampleSet = HoverSampleSet.Default)
{
SampleSet = sampleSet;
RelativeSizeAxes = Axes.Both;
@@ -31,7 +30,8 @@ namespace osu.Game.Graphics.UserInterface
[BackgroundDependencyLoader]
private void load(AudioManager audio, SessionStatics statics)
{
- sampleHover = audio.Samples.Get($@"UI/generic-hover{SampleSet.GetDescription()}");
+ sampleHover = audio.Samples.Get($@"UI/{SampleSet.GetDescription()}-hover")
+ ?? audio.Samples.Get($@"UI/{HoverSampleSet.Default.GetDescription()}-hover");
}
public override void PlayHoverSample()
@@ -40,22 +40,4 @@ namespace osu.Game.Graphics.UserInterface
sampleHover.Play();
}
}
-
- public enum HoverSampleSet
- {
- [Description("")]
- Loud,
-
- [Description("-soft")]
- Normal,
-
- [Description("-softer")]
- Soft,
-
- [Description("-toolbar")]
- Toolbar,
-
- [Description("-songselect")]
- SongSelect
- }
}
diff --git a/osu.Game/Graphics/UserInterface/OsuAnimatedButton.cs b/osu.Game/Graphics/UserInterface/OsuAnimatedButton.cs
index cfcf034d1c..70a107ca04 100644
--- a/osu.Game/Graphics/UserInterface/OsuAnimatedButton.cs
+++ b/osu.Game/Graphics/UserInterface/OsuAnimatedButton.cs
@@ -44,6 +44,7 @@ namespace osu.Game.Graphics.UserInterface
private readonly Box hover;
public OsuAnimatedButton()
+ : base(HoverSampleSet.Button)
{
base.Content.Add(content = new Container
{
diff --git a/osu.Game/Graphics/UserInterface/OsuButton.cs b/osu.Game/Graphics/UserInterface/OsuButton.cs
index a22c837080..cd9ca9f87f 100644
--- a/osu.Game/Graphics/UserInterface/OsuButton.cs
+++ b/osu.Game/Graphics/UserInterface/OsuButton.cs
@@ -49,7 +49,7 @@ namespace osu.Game.Graphics.UserInterface
protected Box Background;
protected SpriteText SpriteText;
- public OsuButton(HoverSampleSet? hoverSounds = HoverSampleSet.Loud)
+ public OsuButton(HoverSampleSet? hoverSounds = HoverSampleSet.Button)
{
Height = 40;
diff --git a/osu.Game/Overlays/ChangelogOverlay.cs b/osu.Game/Overlays/ChangelogOverlay.cs
index e7d68853ad..a8f2e654d7 100644
--- a/osu.Game/Overlays/ChangelogOverlay.cs
+++ b/osu.Game/Overlays/ChangelogOverlay.cs
@@ -8,7 +8,6 @@ using System.Threading.Tasks;
using JetBrains.Annotations;
using osu.Framework.Allocation;
using osu.Framework.Audio;
-using osu.Framework.Audio.Sample;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Game.Input.Bindings;
@@ -25,8 +24,6 @@ namespace osu.Game.Overlays
public readonly Bindable Current = new Bindable();
- private Sample sampleBack;
-
private List builds;
protected List Streams;
@@ -41,8 +38,6 @@ namespace osu.Game.Overlays
{
Header.Build.BindTarget = Current;
- sampleBack = audio.Samples.Get(@"UI/generic-select-soft");
-
Current.BindValueChanged(e =>
{
if (e.NewValue != null)
@@ -108,7 +103,6 @@ namespace osu.Game.Overlays
else
{
Current.Value = null;
- sampleBack?.Play();
}
return true;
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index ed299456de..877ae94a5e 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -35,7 +35,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/osu.iOS.props b/osu.iOS.props
index 7832aaaf2d..e382a804c8 100644
--- a/osu.iOS.props
+++ b/osu.iOS.props
@@ -71,7 +71,7 @@
-
+