Added full-video-preview. Toggle wie "V" or click on video-icon.
This commit is contained in:
1 parent
26a5086fc8
commit
aa68edfba9
5 files changed
+188
-99
No files matched your search
@@ -143,6 +143,16 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_SongMenu.SetSmallView(SmallView);
|
||||
}
|
||||
|
||||
public void ToggleVideoFull()
|
||||
{
|
||||
_SongMenu.ToggleVideoFull();
|
||||
}
|
||||
|
||||
public bool IsVideoFull()
|
||||
{
|
||||
return _SongMenu.IsVideoFull();
|
||||
}
|
||||
|
||||
#endregion ISongMenu
|
||||
|
||||
#region IMenuElement
|
||||
|
||||
@@ -484,6 +484,9 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_timer.Stop();
|
||||
_timer.Reset();
|
||||
_SelectedInternal = _SelectedPending;
|
||||
|
||||
if (IsVideoFull())
|
||||
ToggleVideoFull();
|
||||
}
|
||||
|
||||
public virtual void HandleInput(ref KeyEvent KeyEvent)
|
||||
@@ -553,6 +556,17 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual void ToggleVideoFull()
|
||||
{
|
||||
if (!_Initialized)
|
||||
return;
|
||||
}
|
||||
|
||||
public virtual bool IsVideoFull()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual void UnloadTextures()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
private int _actualSelection = -1;
|
||||
|
||||
private bool _SmallView = false;
|
||||
private bool _VidFull = false;
|
||||
|
||||
public override int GetActualSelection()
|
||||
{
|
||||
@@ -359,6 +360,10 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
}
|
||||
else if (_PreviewSelected != -1 && MouseEvent.LB && CSongs.Category != -1)
|
||||
{
|
||||
if (CHelper.IsInBounds(_VideoIcon.Rect, MouseEvent))
|
||||
{
|
||||
ToggleVideoFull();
|
||||
}
|
||||
if (CHelper.IsInBounds(_CoverBig.Rect, MouseEvent) || CHelper.IsInBounds(_TextBG.Rect, MouseEvent))
|
||||
{
|
||||
_Locked = _PreviewSelected;
|
||||
@@ -375,6 +380,10 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (MouseEvent.LB && CHelper.IsInBounds(_VideoIcon.Rect, MouseEvent))
|
||||
{
|
||||
ToggleVideoFull();
|
||||
}
|
||||
|
||||
if (MouseEvent.Wheel > 0)
|
||||
{
|
||||
@@ -472,14 +481,26 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
|
||||
if (_vidtex.index != -1 && _Video != -1)
|
||||
{
|
||||
RectangleF bounds = new RectangleF(_CoverBig.Rect.X, _CoverBig.Rect.Y, _CoverBig.Rect.W, _CoverBig.Rect.H);
|
||||
RectangleF rect = new RectangleF(0f, 0f, _vidtex.width, _vidtex.height);
|
||||
CHelper.SetRect(bounds, ref rect, rect.Width / rect.Height, EAspect.Crop);
|
||||
if (_VidFull)
|
||||
{
|
||||
RectangleF bounds = new RectangleF(0, 0, CSettings.iRenderW, CSettings.iRenderH);
|
||||
RectangleF rect = new RectangleF(0f, 0f, _vidtex.width, _vidtex.height);
|
||||
CHelper.SetRect(bounds, ref rect, rect.Width / rect.Height, EAspect.Crop);
|
||||
|
||||
CDraw.DrawTexture(_vidtex, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, _CoverBig.Rect.Z),
|
||||
_vidtex.color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), false);
|
||||
CDraw.DrawTextureReflection(_vidtex, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, _CoverBig.Rect.Z),
|
||||
_vidtex.color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), _CoverBig.ReflectionSpace, _CoverBig.ReflectionHeight);
|
||||
CDraw.DrawTexture(_vidtex, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CSettings.zNear),
|
||||
_vidtex.color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), false);
|
||||
}
|
||||
else
|
||||
{
|
||||
RectangleF bounds = new RectangleF(_CoverBig.Rect.X, _CoverBig.Rect.Y, _CoverBig.Rect.W, _CoverBig.Rect.H);
|
||||
RectangleF rect = new RectangleF(0f, 0f, _vidtex.width, _vidtex.height);
|
||||
CHelper.SetRect(bounds, ref rect, rect.Width / rect.Height, EAspect.Crop);
|
||||
|
||||
CDraw.DrawTexture(_vidtex, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, _CoverBig.Rect.Z),
|
||||
_vidtex.color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), false);
|
||||
CDraw.DrawTextureReflection(_vidtex, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, _CoverBig.Rect.Z),
|
||||
_vidtex.color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), _CoverBig.ReflectionSpace, _CoverBig.ReflectionHeight);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -793,6 +814,16 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
return _SmallView;
|
||||
}
|
||||
|
||||
public override void ToggleVideoFull()
|
||||
{
|
||||
_VidFull = !_VidFull;
|
||||
}
|
||||
|
||||
public override bool IsVideoFull()
|
||||
{
|
||||
return _VidFull;
|
||||
}
|
||||
|
||||
public override void LoadTextures()
|
||||
{
|
||||
base.LoadTextures();
|
||||
|
||||
@@ -33,6 +33,9 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
bool IsVisible();
|
||||
void SetVisible(bool Visible);
|
||||
|
||||
void ToggleVideoFull();
|
||||
bool IsVideoFull();
|
||||
|
||||
bool IsSmallView();
|
||||
void SetSmallView(bool SmallView);
|
||||
|
||||
|
||||
+123
-92
@@ -141,7 +141,9 @@ namespace Vocaluxe.Screens
|
||||
switch (KeyEvent.Key)
|
||||
{
|
||||
case Keys.Escape:
|
||||
if (CSongs.Category < 0 || CConfig.Tabs == EOffOn.TR_CONFIG_OFF)
|
||||
if (SongMenus[htSongMenus(SongMenu)].IsVideoFull())
|
||||
SongMenus[htSongMenus(SongMenu)].ToggleVideoFull();
|
||||
else if (CSongs.Category < 0 || CConfig.Tabs == EOffOn.TR_CONFIG_OFF)
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
break;
|
||||
|
||||
@@ -149,7 +151,11 @@ namespace Vocaluxe.Screens
|
||||
if (CSongs.NumVisibleSongs > 0)
|
||||
{
|
||||
if (SongMenus[htSongMenus(SongMenu)].GetSelectedSong() != -1 && !_SongOptionsActive)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.Song);
|
||||
if (SongMenus[htSongMenus(SongMenu)].IsVideoFull())
|
||||
SongMenus[htSongMenus(SongMenu)].ToggleVideoFull();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -174,6 +180,8 @@ namespace Vocaluxe.Screens
|
||||
break;
|
||||
|
||||
case Keys.Space:
|
||||
if (SongMenus[htSongMenus(SongMenu)].IsVideoFull())
|
||||
SongMenus[htSongMenus(SongMenu)].ToggleVideoFull();
|
||||
ToggleSongOptions(ESongOptionsView.General);
|
||||
break;
|
||||
|
||||
@@ -187,6 +195,8 @@ namespace Vocaluxe.Screens
|
||||
else
|
||||
{
|
||||
_SearchActive = true;
|
||||
if (SongMenus[htSongMenus(SongMenu)].IsVideoFull())
|
||||
SongMenus[htSongMenus(SongMenu)].ToggleVideoFull();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -215,6 +225,8 @@ namespace Vocaluxe.Screens
|
||||
else
|
||||
{
|
||||
_SearchActive = true;
|
||||
if (SongMenus[htSongMenus(SongMenu)].IsVideoFull())
|
||||
SongMenus[htSongMenus(SongMenu)].ToggleVideoFull();
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -234,13 +246,16 @@ namespace Vocaluxe.Screens
|
||||
//TODO: Delete that!
|
||||
case Keys.S:
|
||||
if (CSongs.NumVisibleSongs > 0)
|
||||
{
|
||||
StartMedleySong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
else if(!SongMenus[htSongMenus(SongMenu)].IsVideoFull())
|
||||
{
|
||||
switch (KeyEvent.Key)
|
||||
{
|
||||
@@ -294,118 +309,134 @@ namespace Vocaluxe.Screens
|
||||
}
|
||||
}
|
||||
|
||||
if (KeyEvent.Key == Keys.V)
|
||||
{
|
||||
if (CSongs.Category != -1)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].ToggleVideoFull();
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HandleMouse(MouseEvent MouseEvent)
|
||||
{
|
||||
base.HandleMouse(MouseEvent);
|
||||
|
||||
if (Playlists[htPlaylists(Playlist)].Visible && Playlists[htPlaylists(Playlist)].IsMouseOver(MouseEvent))
|
||||
if (!SongMenus[htSongMenus(SongMenu)].IsVideoFull())
|
||||
{
|
||||
_PlaylistActive = true;
|
||||
Playlists[htPlaylists(Playlist)].Selected = _PlaylistActive;
|
||||
SongMenus[htSongMenus(SongMenu)].SetActive(!_PlaylistActive);
|
||||
}
|
||||
else if (CHelper.IsInBounds(SongMenus[htSongMenus(SongMenu)].Rect, MouseEvent.X, MouseEvent.Y))
|
||||
{
|
||||
_PlaylistActive = false;
|
||||
Playlists[htPlaylists(Playlist)].Selected = _PlaylistActive;
|
||||
SongMenus[htSongMenus(SongMenu)].SetActive(!_PlaylistActive);
|
||||
}
|
||||
base.HandleMouse(MouseEvent);
|
||||
|
||||
if (Playlists[htPlaylists(Playlist)].Visible && Playlists[htPlaylists(Playlist)].HandleMouse(MouseEvent))
|
||||
return true;
|
||||
|
||||
if (!_SongOptionsActive)
|
||||
{
|
||||
|
||||
if ((MouseEvent.RB) && (CSongs.Category < 0))
|
||||
if (Playlists[htPlaylists(Playlist)].Visible && Playlists[htPlaylists(Playlist)].IsMouseOver(MouseEvent))
|
||||
{
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
_PlaylistActive = true;
|
||||
Playlists[htPlaylists(Playlist)].Selected = _PlaylistActive;
|
||||
SongMenus[htSongMenus(SongMenu)].SetActive(!_PlaylistActive);
|
||||
}
|
||||
else if (CHelper.IsInBounds(SongMenus[htSongMenus(SongMenu)].Rect, MouseEvent.X, MouseEvent.Y))
|
||||
{
|
||||
_PlaylistActive = false;
|
||||
Playlists[htPlaylists(Playlist)].Selected = _PlaylistActive;
|
||||
SongMenus[htSongMenus(SongMenu)].SetActive(!_PlaylistActive);
|
||||
}
|
||||
else if (MouseEvent.RB && _SongOptionsActive)
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
|
||||
if (MouseEvent.MB && CSongs.Category != -1)
|
||||
if (Playlists[htPlaylists(Playlist)].Visible && Playlists[htPlaylists(Playlist)].HandleMouse(MouseEvent))
|
||||
return true;
|
||||
|
||||
if (!_SongOptionsActive)
|
||||
{
|
||||
Console.WriteLine("MB pressed");
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
else if (MouseEvent.MB && CSongs.Category == -1)
|
||||
{
|
||||
Console.WriteLine("MB pressed");
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedCategory(CSongs.GetRandomCategory());
|
||||
|
||||
if ((MouseEvent.RB) && (CSongs.Category < 0))
|
||||
{
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
}
|
||||
else if (MouseEvent.RB && _SongOptionsActive)
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
|
||||
if (MouseEvent.MB && CSongs.Category != -1)
|
||||
{
|
||||
Console.WriteLine("MB pressed");
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
else if (MouseEvent.MB && CSongs.Category == -1)
|
||||
{
|
||||
Console.WriteLine("MB pressed");
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedCategory(CSongs.GetRandomCategory());
|
||||
}
|
||||
else
|
||||
SongMenus[htSongMenus(SongMenu)].HandleMouse(ref MouseEvent);
|
||||
|
||||
if (MouseEvent.LB && CSongs.NumVisibleSongs > 0 && SongMenus[htSongMenus(SongMenu)].GetActualSelection() != -1)
|
||||
{
|
||||
if (SongMenus[htSongMenus(SongMenu)].GetSelectedSong() != -1 && !_SongOptionsActive)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.Song);
|
||||
}
|
||||
}
|
||||
else if (MouseEvent.LB && IsMouseOver(MouseEvent))
|
||||
{
|
||||
if (Buttons[htButtons(ButtonOpenOptions)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.General);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
SongMenus[htSongMenus(SongMenu)].HandleMouse(ref MouseEvent);
|
||||
|
||||
if (MouseEvent.LB && CSongs.NumVisibleSongs > 0 && SongMenus[htSongMenus(SongMenu)].GetActualSelection() != -1)
|
||||
{
|
||||
if (SongMenus[htSongMenus(SongMenu)].GetSelectedSong() != -1 && !_SongOptionsActive)
|
||||
if (MouseEvent.LB && IsMouseOver(MouseEvent))
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.Song);
|
||||
if (Buttons[htButtons(ButtonOptionsClose)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSing)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsPlaylist)].Selected)
|
||||
{
|
||||
OpenAndAddPlaylistAction();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsRandom)].Selected)
|
||||
{
|
||||
if (CSongs.Category != -1)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsRandomCategory)].Selected)
|
||||
{
|
||||
if (CSongs.Category == -1)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedCategory(CSongs.GetRandomCategory());
|
||||
}
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSingAll)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
StartRandomAllSongs();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSingAllVisible)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
StartRandomVisibleSongs();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsOpenPlaylist)].Selected)
|
||||
{
|
||||
OpenPlaylistAction();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (MouseEvent.LB && IsMouseOver(MouseEvent))
|
||||
{
|
||||
if (Buttons[htButtons(ButtonOpenOptions)].Selected)
|
||||
if (MouseEvent.RB)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.General);
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
if (MouseEvent.LB && IsMouseOver(MouseEvent))
|
||||
{
|
||||
if (Buttons[htButtons(ButtonOptionsClose)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSing)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsPlaylist)].Selected)
|
||||
{
|
||||
OpenAndAddPlaylistAction();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsRandom)].Selected)
|
||||
{
|
||||
if (CSongs.Category != -1)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsRandomCategory)].Selected)
|
||||
{
|
||||
if (CSongs.Category == -1)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedCategory(CSongs.GetRandomCategory());
|
||||
}
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSingAll)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
StartRandomAllSongs();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSingAllVisible)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
StartRandomVisibleSongs();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsOpenPlaylist)].Selected)
|
||||
{
|
||||
OpenPlaylistAction();
|
||||
}
|
||||
}
|
||||
if (MouseEvent.RB)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
}
|
||||
if(MouseEvent.RB || MouseEvent.LB)
|
||||
SongMenus[htSongMenus(SongMenu)].ToggleVideoFull();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in new issue
Block a user