Applause & Highscore Sound (#727)
* Add Rating & Applause Sounds * Add Rating & Applause Sounds * Add Rating & Applause Sounds * Add Highscore Sound * Add Highscore Sound * Add Highscore Sound * Add Highscore Sound * Add Highscore Sound * Delete Soundfile for better version * Add Rating & Applause Sounds * Add Rating & Applause Sounds * Add Highscore Sound * Add Highscore Sound * Add Highscore Sound * Add Highscore Sound * Add Highscore Sound * Add Rating & Applause Sounds * Add Highscore Sound * Add Highscore Sound * Remove Rating Bar Sound (not working reliable) * Remove Rating Bar Sound (not working reliable) * Remove Rating Bar Sound (not working reliable) * Remove Rating Bar Sound (not working reliable) * Remove Rating Bar Sound (not working reliable) * Update CScreenHighscore.cs * Update CScreenScore.cs * Update CScreenScore.cs * Update CScreenHighscore.cs * Update CScreenHighscore.cs * Update CScreenScore.cs * Update CScreenScore.cs * Update Sounds * Update Sounds * Update Sounds * Update Sounds * Update Sounds * Update CScreenScore.cs * Update CScreenHighscore.cs * Update CScreenHighscore.cs
This commit is contained in:
1 parent
4b253c2c8d
commit
9d8e20ef46
11 files changed
+116
-7
No files matched your search
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
[{000214A0-0000-0000-C000-000000000046}]
|
||||
Prop3=19,11
|
||||
[InternetShortcut]
|
||||
IDList=
|
||||
URL=https://www.pixabay.com/service/license-summary/
|
||||
@@ -0,0 +1,5 @@
|
||||
[{000214A0-0000-0000-C000-000000000046}]
|
||||
Prop3=19,11
|
||||
[InternetShortcut]
|
||||
IDList=
|
||||
URL=https://www.pixabay.com/service/terms/
|
||||
@@ -0,0 +1,12 @@
|
||||
-----
|
||||
APPLAUSE SOUNDS
|
||||
HIGHSCORE SOUND
|
||||
-----
|
||||
for free without attribution (check pixabay content license)
|
||||
enjoy
|
||||
|
||||
|
||||
https://pixabay.com/de/sound-effects/small-applause-6695/
|
||||
https://pixabay.com/de/sound-effects/short-crowd-cheer-6713/
|
||||
https://pixabay.com/de/sound-effects/cheering-and-clapping-crowd-1-5995/
|
||||
https://pixabay.com/de/sound-effects/achive-sound-132273/
|
||||
@@ -120,6 +120,10 @@ namespace Vocaluxe.Base
|
||||
public const string FileNameRequiredSkinElements = "RequiredSkinElements.xml";
|
||||
|
||||
public const string FileNameSoundT440 = "440Hz.mp3";
|
||||
public const string FileNameSoundApplauseLow = "ApplauseLow.mp3";
|
||||
public const string FileNameSoundApplauseMid = "ApplauseMid.mp3";
|
||||
public const string FileNameSoundApplauseHigh = "ApplauseHigh.mp3";
|
||||
public const string FileNameSoundHighscore = "Highscore.mp3";
|
||||
|
||||
public const string FolderNameSongs = "Songs";
|
||||
public const string FolderNameProfiles = "Profiles";
|
||||
|
||||
+18
-2
@@ -28,7 +28,11 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
enum ESounds
|
||||
{
|
||||
T440
|
||||
T440,
|
||||
ApplauseLow,
|
||||
ApplauseMid,
|
||||
ApplauseHigh,
|
||||
Highscore
|
||||
}
|
||||
|
||||
static class CSound
|
||||
@@ -186,6 +190,18 @@ namespace Vocaluxe.Base
|
||||
case ESounds.T440:
|
||||
file = Path.Combine(file, CSettings.FileNameSoundT440);
|
||||
break;
|
||||
case ESounds.ApplauseLow:
|
||||
file = Path.Combine(file, CSettings.FileNameSoundApplauseLow);
|
||||
break;
|
||||
case ESounds.ApplauseMid:
|
||||
file = Path.Combine(file, CSettings.FileNameSoundApplauseMid);
|
||||
break;
|
||||
case ESounds.ApplauseHigh:
|
||||
file = Path.Combine(file, CSettings.FileNameSoundApplauseHigh);
|
||||
break;
|
||||
case ESounds.Highscore:
|
||||
file = Path.Combine(file, CSettings.FileNameSoundHighscore);
|
||||
break;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
@@ -217,4 +233,4 @@ namespace Vocaluxe.Base
|
||||
}
|
||||
#endregion Sounds
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
#region license
|
||||
#region license
|
||||
// This file is part of Vocaluxe.
|
||||
//
|
||||
// Vocaluxe is free software: you can redistribute it and/or modify
|
||||
@@ -24,6 +24,7 @@ using VocaluxeLib;
|
||||
using VocaluxeLib.Game;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Songs;
|
||||
using Vocaluxe.Lib.Sound;
|
||||
|
||||
namespace Vocaluxe.Screens
|
||||
{
|
||||
@@ -56,6 +57,17 @@ namespace Vocaluxe.Screens
|
||||
get { return EMusicType.BackgroundPreview; }
|
||||
}
|
||||
|
||||
private int _HighscoreStream = -1;
|
||||
private bool _HasPlayedSound = false;
|
||||
|
||||
private static int PlaySound(ESounds sound, int volume)
|
||||
{
|
||||
int streamId = CSound.PlaySound(sound, false);
|
||||
CSound.SetStreamVolume(streamId, volume);
|
||||
|
||||
return streamId;
|
||||
}
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -184,7 +196,13 @@ namespace Vocaluxe.Screens
|
||||
_Texts[_TextDate[p]].Text = _Scores[_Round][_Pos + p].Date;
|
||||
|
||||
_ParticleEffects[_ParticleEffectNew[p]].Visible = _IsNewEntry(_Scores[_Round][_Pos + p].ID);
|
||||
}
|
||||
|
||||
if (_ParticleEffects[_ParticleEffectNew[p]].Visible && !_HasPlayedSound)
|
||||
{
|
||||
_HighscoreStream = CScreenHighscore.PlaySound(ESounds.Highscore, CConfig.GameMusicVolume);
|
||||
_HasPlayedSound = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_Texts[_TextNumber[p]].Visible = false;
|
||||
@@ -200,6 +218,7 @@ namespace Vocaluxe.Screens
|
||||
public override void OnShow()
|
||||
{
|
||||
base.OnShow();
|
||||
_HasPlayedSound = false;
|
||||
_Round = 0;
|
||||
_Pos = 0;
|
||||
_NewEntryIDs.Clear();
|
||||
@@ -347,7 +366,13 @@ namespace Vocaluxe.Screens
|
||||
}
|
||||
|
||||
private void _LeaveScreen()
|
||||
{
|
||||
{
|
||||
if (_HighscoreStream != -1)
|
||||
{
|
||||
CSound.Close(_HighscoreStream);
|
||||
_HighscoreStream = -1;
|
||||
}
|
||||
|
||||
CParty.LeavingHighscore();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#region license
|
||||
#region license
|
||||
// This file is part of Vocaluxe.
|
||||
//
|
||||
// Vocaluxe is free software: you can redistribute it and/or modify
|
||||
@@ -19,12 +19,15 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Forms;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Base.Server;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Game;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Songs;
|
||||
using Vocaluxe.Lib.Sound;
|
||||
|
||||
namespace Vocaluxe.Screens
|
||||
{
|
||||
@@ -250,6 +253,33 @@ namespace Vocaluxe.Screens
|
||||
}
|
||||
}
|
||||
|
||||
private int _ApplauseStream = -1;
|
||||
|
||||
private void _PlayApplauseSound(int maxPoints)
|
||||
{
|
||||
// Play the appropriate applause sound based on maxPoints
|
||||
if (maxPoints >= 8000)
|
||||
{
|
||||
_ApplauseStream = PlaySound(ESounds.ApplauseHigh, CConfig.GameMusicVolume);
|
||||
}
|
||||
else if (maxPoints >= 5000)
|
||||
{
|
||||
_ApplauseStream = PlaySound(ESounds.ApplauseMid, CConfig.GameMusicVolume);
|
||||
}
|
||||
else if (maxPoints >= 2000)
|
||||
{
|
||||
_ApplauseStream = PlaySound(ESounds.ApplauseLow, CConfig.GameMusicVolume);
|
||||
}
|
||||
}
|
||||
|
||||
private static int PlaySound(ESounds sound, int volume)
|
||||
{
|
||||
int streamId = CSound.PlaySound(sound, false);
|
||||
CSound.SetStreamVolume(streamId, volume);
|
||||
|
||||
return streamId;
|
||||
}
|
||||
|
||||
private void _UpdateRatings()
|
||||
{
|
||||
CSong song = null;
|
||||
@@ -264,6 +294,9 @@ namespace Vocaluxe.Screens
|
||||
if (_Points.NumRounds > 1)
|
||||
_Texts[_TextSong].Text += " (" + (_Round + 1) + "/" + _Points.NumRounds + ")";
|
||||
players = _Points.GetPlayer(_Round, CGame.NumPlayers);
|
||||
|
||||
int maxPoints = (int)Math.Round(players.Max(player => player.Points));
|
||||
_PlayApplauseSound(maxPoints);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -280,6 +313,9 @@ namespace Vocaluxe.Screens
|
||||
}
|
||||
for (int p = 0; p < players.Length; p++)
|
||||
players[p].Points = (int)Math.Round(players[p].Points / CGame.NumRounds);
|
||||
|
||||
int maxPoints = (int)Math.Round(players.Max(player => player.Points));
|
||||
_PlayApplauseSound(maxPoints);
|
||||
}
|
||||
|
||||
for (int p = 0; p < players.Length; p++)
|
||||
@@ -379,7 +415,13 @@ namespace Vocaluxe.Screens
|
||||
|
||||
private void _LeaveScreen()
|
||||
{
|
||||
if (_ApplauseStream != -1)
|
||||
{
|
||||
CSound.Close(_ApplauseStream);
|
||||
_ApplauseStream = -1;
|
||||
}
|
||||
|
||||
CParty.LeavingScore();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user