[longomatch] Handle secondary cam going out of scope in playing.
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Handle secondary cam going out of scope in playing.
- Date: Wed, 18 Mar 2015 14:41:57 +0000 (UTC)
commit 6aa80f4fc93f9549e2f2cba5864bae7732668c4f
Author: Julien Moutte <julien fluendo com>
Date: Fri Mar 13 19:43:40 2015 +0100
Handle secondary cam going out of scope in playing.
While playing the main camera the secondary cam can go out of scope.
LongoMatch.GUI/Gui/Component/ProjectPeriods.cs | 23 +++++++++++++++++++----
1 files changed, 19 insertions(+), 4 deletions(-)
---
diff --git a/LongoMatch.GUI/Gui/Component/ProjectPeriods.cs b/LongoMatch.GUI/Gui/Component/ProjectPeriods.cs
index 1fb2ce9..7c9ccab 100644
--- a/LongoMatch.GUI/Gui/Component/ProjectPeriods.cs
+++ b/LongoMatch.GUI/Gui/Component/ProjectPeriods.cs
@@ -255,6 +255,13 @@ namespace LongoMatch.Gui.Component
{
timerule.CurrentTime = currentTime;
camerasTimeline.CurrentTime = currentTime;
+ // Detect when secondary camera goes out of scope while main camera is playing.
+ if (sec_cam_playerbin.Opened) {
+ MediaFile mf = sec_cam_playerbin.MediaFileSet.First ();
+ if (mf.Duration + mf.Offset < currentTime) {
+ HandleOutOfScope ();
+ }
+ }
QueueDraw ();
}
@@ -282,6 +289,17 @@ namespace LongoMatch.Gui.Component
}
}
+ /// <summary>
+ /// Handles the case where the secondary video gets out of scope compared to current time of
main video.
+ /// </summary>
+ void HandleOutOfScope ()
+ {
+ // Camera is out of scope, show didactic message
+ sec_cam_vbox.Hide ();
+ sec_cam_didactic_label.Text = Catalog.GetString ("Camera out of scope");
+ sec_cam_didactic_label.Show ();
+ }
+
void HandleCameraDragged (MediaFile mediafile, TimeNode timenode)
{
// Start by pausing players
@@ -312,10 +330,7 @@ namespace LongoMatch.Gui.Component
// Seek to position
sec_cam_playerbin.Seek (timerule.CurrentTime, true);
} else {
- // Camera is out of scope, show didactic message
- sec_cam_vbox.Hide ();
- sec_cam_didactic_label.Text = Catalog.GetString ("Camera out of scope");
- sec_cam_didactic_label.Show ();
+ HandleOutOfScope ();
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]