Merge branch 'release-0.4.1' into develop
This commit is contained in:
commit
009a303c28
7 files changed
+62
-40
No files matched your search
@@ -125,6 +125,7 @@ namespace VocaluxeLib.PartyModes.Challenge
|
||||
_AddText(_NextPlayerTexts[_NextPlayerTexts.Count - 1]);
|
||||
_NextPlayerStatics.Add(GetNewStatic(_Statics[_StaticNextPlayer]));
|
||||
_AddStatic(_NextPlayerStatics[_NextPlayerStatics.Count - 1]);
|
||||
_NextPlayerStatics[_NextPlayerStatics.Count - 1].Aspect = EAspect.Crop;
|
||||
}
|
||||
_Statics[_StaticNextPlayer].Visible = false;
|
||||
}
|
||||
|
||||
@@ -98,6 +98,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
||||
|
||||
_CreateFields();
|
||||
_Buttons[_ButtonField].Visible = false;
|
||||
|
||||
_Statics[_StaticAvatarT1].Aspect = EAspect.Crop;
|
||||
_Statics[_StaticAvatarT2].Aspect = EAspect.Crop;
|
||||
}
|
||||
|
||||
public override bool HandleInput(SKeyEvent keyEvent)
|
||||
|
||||
@@ -74,12 +74,23 @@ namespace Vocaluxe.Lib.Sound
|
||||
}
|
||||
lock (_Mutex)
|
||||
{
|
||||
if (_Disposed)
|
||||
return;
|
||||
Debug.Assert(_RefCount > 0);
|
||||
_RefCount--;
|
||||
if (_RefCount == 0)
|
||||
PortAudio.Pa_Terminate();
|
||||
{
|
||||
try
|
||||
{
|
||||
PortAudio.Pa_Terminate();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
CLog.LogError(errorText: $"Error disposing PortAudio: {ex.Message}", e: ex);
|
||||
}
|
||||
}
|
||||
_Disposed = true;
|
||||
}
|
||||
_Disposed = true;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
@@ -100,11 +111,11 @@ namespace Vocaluxe.Lib.Sound
|
||||
double sampleRate, uint framesPerBuffer, PortAudio.PaStreamFlags streamFlags,
|
||||
PortAudio.PaStreamCallbackDelegate streamCallback, IntPtr userData)
|
||||
{
|
||||
if (_Disposed)
|
||||
throw new ObjectDisposedException("PortAudioHandle already disposed");
|
||||
|
||||
lock (_Mutex)
|
||||
{
|
||||
if (_Disposed)
|
||||
throw new ObjectDisposedException("PortAudioHandle already disposed");
|
||||
|
||||
PortAudio.PaError res = PortAudio.Pa_OpenStream(out stream, ref inputParameters, ref outputParameters, sampleRate, framesPerBuffer, streamFlags, streamCallback,
|
||||
userData);
|
||||
if (res == PortAudio.PaError.paNoError)
|
||||
@@ -157,12 +168,19 @@ namespace Vocaluxe.Lib.Sound
|
||||
|
||||
public void CloseStream(IntPtr stream)
|
||||
{
|
||||
if (_Disposed)
|
||||
throw new ObjectDisposedException("PortAudioHandle already disposed");
|
||||
|
||||
lock (_Mutex)
|
||||
{
|
||||
PortAudio.Pa_CloseStream(stream);
|
||||
if (_Disposed)
|
||||
throw new ObjectDisposedException("PortAudioHandle already disposed");
|
||||
|
||||
try
|
||||
{
|
||||
PortAudio.Pa_CloseStream(stream);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
CLog.LogError(errorText:$"Error closing stream: {ex.Message}", e:ex);
|
||||
}
|
||||
_Streams.Remove(stream);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,6 +138,9 @@ namespace Vocaluxe.Screens
|
||||
_SetVisibility();
|
||||
_UpdateRatings();
|
||||
_SlideShowBG.Visible = _UpdateBackground();
|
||||
|
||||
for (int p = 0; p < CGame.NumPlayers; p++)
|
||||
_Statics[_StaticAvatar[p, CGame.NumPlayers - 1]].Aspect = EAspect.Crop;
|
||||
}
|
||||
|
||||
public override bool UpdateGame()
|
||||
|
||||
@@ -206,8 +206,6 @@ namespace Vocaluxe.Screens
|
||||
CConfig.Config.Theme.PlayerInfo = (EPlayerInfo)mode;
|
||||
CConfig.SaveConfig();
|
||||
_SetVisibility();
|
||||
if (CGame.GetSong() != null)
|
||||
_SetDuetLyricsVisibility(CGame.GetSong().IsDuet); //make sure duet lyrics remain visible
|
||||
break;
|
||||
|
||||
case Keys.S:
|
||||
@@ -607,7 +605,6 @@ namespace Vocaluxe.Screens
|
||||
for (int p = 0; p < CGame.NumPlayers; p++)
|
||||
_ProgressBars[_ProgressBarsRating[p, CGame.NumPlayers - 1]].Reset();
|
||||
|
||||
_SetDuetLyricsVisibility(song.IsDuet);
|
||||
_SetNormalLyricsVisibility();
|
||||
|
||||
_TimerSongText.Reset();
|
||||
@@ -620,37 +617,36 @@ namespace Vocaluxe.Screens
|
||||
_StartSong();
|
||||
}
|
||||
|
||||
private void _SetDuetLyricsVisibility(bool isDuet)
|
||||
{
|
||||
_Statics[_StaticLyricsDuet].Visible = isDuet;
|
||||
_Lyrics[_LyricMainDuet].Visible = isDuet;
|
||||
_Lyrics[_LyricSubDuet].Visible = isDuet;
|
||||
|
||||
if (isDuet)
|
||||
{
|
||||
_Lyrics[_LyricMainTop].Visible = false;
|
||||
_Lyrics[_LyricSubTop].Visible = false;
|
||||
_Statics[_StaticLyricsTop].Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
bool lyricsOnTop = CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP
|
||||
|| CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|
||||
|| (CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsTop);
|
||||
_Lyrics[_LyricMainTop].Visible = lyricsOnTop;
|
||||
_Lyrics[_LyricSubTop].Visible = lyricsOnTop;
|
||||
_Statics[_StaticLyricsTop].Visible = lyricsOnTop;
|
||||
}
|
||||
}
|
||||
|
||||
private void _SetNormalLyricsVisibility()
|
||||
{
|
||||
bool visible = CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTTOM
|
||||
bool bottomLyricsVisible = CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTTOM
|
||||
|| CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|
||||
|| (CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsBottom);
|
||||
_Lyrics[_LyricMain].Visible = visible;
|
||||
_Lyrics[_LyricSub].Visible = visible;
|
||||
_Statics[_StaticLyrics].Visible = visible;
|
||||
|
||||
bool topLyricsVisible = CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP
|
||||
|| CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|
||||
|| (CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsTop);
|
||||
|
||||
bool duetLyricsVisible = false;
|
||||
|
||||
if (CGame.GetSong() != null && CGame.GetSong().IsDuet)
|
||||
{
|
||||
bottomLyricsVisible = true;
|
||||
topLyricsVisible = false;
|
||||
duetLyricsVisible = true;
|
||||
}
|
||||
|
||||
_Lyrics[_LyricMain].Visible = bottomLyricsVisible;
|
||||
_Lyrics[_LyricSub].Visible = bottomLyricsVisible;
|
||||
_Statics[_StaticLyrics].Visible = bottomLyricsVisible;
|
||||
|
||||
_Lyrics[_LyricMainTop].Visible = topLyricsVisible;
|
||||
_Lyrics[_LyricSubTop].Visible = topLyricsVisible;
|
||||
_Statics[_StaticLyricsTop].Visible = topLyricsVisible;
|
||||
|
||||
_Lyrics[_LyricMainDuet].Visible = duetLyricsVisible;
|
||||
_Lyrics[_LyricSubDuet].Visible = duetLyricsVisible;
|
||||
_Statics[_StaticLyricsDuet].Visible = duetLyricsVisible;
|
||||
}
|
||||
|
||||
private void _StartSong()
|
||||
|
||||
@@ -469,6 +469,7 @@ namespace VocaluxeLib.Menu
|
||||
Text = new CText(0, 0, 0, _TextH, _MaxW, EAlignment.Center, _Theme.TextStyle, _Theme.TextFont, _TextColor, "T", _PartyModeID),
|
||||
Img = new CStatic(_PartyModeID)
|
||||
};
|
||||
el.Img.Aspect = EAspect.Crop;
|
||||
_VisibleElements.Add(el);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ namespace VocaluxeLib.Profile
|
||||
{
|
||||
Avatar = CBase.Profiles.GetAvatarByFilename(value);
|
||||
if (Avatar == null)
|
||||
throw new Exception("Avatar '" + value + "' not found");
|
||||
CBase.Log.LogError("Avatar '" + value + "' not found");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user