[longomatch] Update cameras layout when a new event is loaded
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Update cameras layout when a new event is loaded
- Date: Tue, 31 Mar 2015 17:35:15 +0000 (UTC)
commit 973e9a51a7fcce6ff7835896dbd6d93fc5ab6ba9
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Thu Mar 26 11:39:18 2015 +0100
Update cameras layout when a new event is loaded
LongoMatch.Services/Services/PlayerController.cs | 32 +++++++++++----------
1 files changed, 17 insertions(+), 15 deletions(-)
---
diff --git a/LongoMatch.Services/Services/PlayerController.cs
b/LongoMatch.Services/Services/PlayerController.cs
index 13ce7fb..7c04485 100644
--- a/LongoMatch.Services/Services/PlayerController.cs
+++ b/LongoMatch.Services/Services/PlayerController.cs
@@ -438,8 +438,8 @@ namespace LongoMatch.Services
if (element is PlaylistPlayElement) {
PlaylistPlayElement ple = element as PlaylistPlayElement;
- TimelineEvent play = ple.Play;
- LoadSegment (ple.FileSet, play.Start, play.Stop, play.Start, true, ple.Rate);
+ TimelineEvent evt = ple.Play;
+ LoadSegment (ple.FileSet, evt, evt.Start, true);
} else if (element is PlaylistVideo) {
LoadVideo (element as PlaylistVideo);
} else if (element is PlaylistImage) {
@@ -458,7 +458,7 @@ namespace LongoMatch.Services
loadedPlaylistElement = null;
loadedEvent = evt;
if (evt.Start != null && evt.Start != null) {
- LoadSegment (fileSet, evt.Start, evt.Stop, seekTime, playing, evt.Rate);
+ LoadSegment (fileSet, evt, seekTime, playing);
} else if (evt.EventTime != null) {
Seek (evt.EventTime, true);
} else {
@@ -686,37 +686,37 @@ namespace LongoMatch.Services
/// </summary>
void SetRate (float rate)
{
+ if (rate == 0)
+ rate = 1;
Rate = rate;
EmitRateChanged (rate);
}
/// <summary>
- /// Loads a video segment in the player.
+ /// Loads a video segment defined by a <see cref="TimelineEvent"/> in the player.
/// </summary>
/// <param name="fileSet">File set.</param>
- /// <param name="start">Start time.</param>
- /// <param name="stop">Stop time.</param>
+ /// <param name="evt">The timeline event to load.</param>
/// <param name="seekTime">Seek time.</param>
/// <param name="playing">If set to <c>true</c> starts playing.</param>
- /// <param name="rate">Rate.</param>
- void LoadSegment (MediaFileSet fileSet, Time start, Time stop, Time seekTime,
- bool playing, float rate = 1)
+ void LoadSegment (MediaFileSet fileSet, TimelineEvent evt, Time seekTime, bool playing)
{
Log.Debug (String.Format ("Update player segment {0} {1} {2}",
- start.ToMSecondsString (),
- stop.ToMSecondsString (), rate));
+ evt.Start, evt.Stop, evt.Rate));
+
+ CamerasVisible = evt.CamerasVisible;
+ CamerasLayout = evt.CamerasLayout;
if (fileSet != this.FileSet) {
Open (fileSet, false);
}
Pause ();
- loadedSegment.Start = start;
- loadedSegment.Stop = stop;
- rate = rate == 0 ? 1 : rate;
+ loadedSegment.Start = evt.Start;
+ loadedSegment.Stop = evt.Stop;
StillImageLoaded = false;
if (readyToSeek) {
Log.Debug ("Player is ready to seek, seeking to " +
seekTime.ToMSecondsString ());
- SetRate (rate);
+ SetRate (evt.Rate);
Seek (seekTime, true);
if (playing) {
Play ();
@@ -749,6 +749,8 @@ namespace LongoMatch.Services
loadedPlaylistElement = video;
MediaFileSet fileSet = new MediaFileSet ();
fileSet.Add (video.File);
+ CamerasVisible = new List<int> { 0 };
+ CamerasLayout = null;
Open (fileSet, false, true, true);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]