[longomatch] Retrieve the current time on a new marl using the apropiate device
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Retrieve the current time on a new marl using the apropiate device
- Date: Thu, 25 Mar 2010 20:47:33 +0000 (UTC)
commit d7bdeb00dea7d14069237e1b972792d12e286988
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Thu Mar 4 23:24:08 2010 +0100
Retrieve the current time on a new marl using the apropiate device
LongoMatch/Gui/MainWindow.cs | 4 ++-
LongoMatch/Handlers/EventsManager.cs | 45 +++++++++++++++++++++++++--------
2 files changed, 37 insertions(+), 12 deletions(-)
---
diff --git a/LongoMatch/Gui/MainWindow.cs b/LongoMatch/Gui/MainWindow.cs
index fe5f091..f1c05e4 100644
--- a/LongoMatch/Gui/MainWindow.cs
+++ b/LongoMatch/Gui/MainWindow.cs
@@ -143,8 +143,9 @@ namespace LongoMatch.Gui
}
}else {
Title = "LongoMatch";
- playerbin1.Visible = false;
+ playerbin1.Visible = false;
capturerBin = new CapturerBin();
+ eManager.Capturer = capturerBin;
hbox2.Add(capturerBin);
(capturerBin).Show();
}
@@ -177,6 +178,7 @@ namespace LongoMatch.Gui
}
if (projectType != ProjectType.NewFileProject){
playerbin1.Visible = true;
+ eManager.Capturer = null;
if (capturerBin != null)
capturerBin.Destroy();
}
diff --git a/LongoMatch/Handlers/EventsManager.cs b/LongoMatch/Handlers/EventsManager.cs
index 4c726b2..d8a8036 100644
--- a/LongoMatch/Handlers/EventsManager.cs
+++ b/LongoMatch/Handlers/EventsManager.cs
@@ -48,6 +48,7 @@ namespace LongoMatch
private ButtonsWidget buttonswidget;
private PlayListWidget playlist;
private PlayerBin player;
+ private CapturerBin capturer;
private TimeLineWidget timeline;
private ProgressBar videoprogressbar;
private NotesWidget notes;
@@ -88,10 +89,16 @@ namespace LongoMatch
}
public ProjectType OpenedProjectType{
- set{
+ set {
projectType = value;
}
}
+
+ public CapturerBin Capturer{
+ set {
+ capturer = value;
+ }
+ }
private void ConnectSignals() {
//Adding Handlers for each event
@@ -142,22 +149,32 @@ namespace LongoMatch
private void ProcessNewMarkEvent(int section,Time pos) {
if (player != null && openedProject != null) {
- //Getting defualt star and stop gap for the section
+ Time fStop;
+ Pixbuf miniature;
+ MediaTimeNode tn;
+ Time length;
+
+ //Get the default lead and lag time for the section
Time startTime = openedProject.Sections.GetStartTime(section);
Time stopTime = openedProject.Sections.GetStopTime(section);
// Calculating borders of the segment depnding
Time start = pos - startTime;
Time stop = pos + stopTime;
Time fStart = (start < new Time(0)) ? new Time(0) : start;
- //La longitud tiene que ser en ms
- Time length;
-
- length = new Time((int)player.StreamLength);
-
- Time fStop = (stop > length) ? length: stop;
- Pixbuf miniature = projectType == ProjectType.NewFakeCaptureProject ?
+
+ if (projectType == ProjectType.NewFakeCaptureProject ||
+ projectType == ProjectType.NewCaptureProject){
+ fStop = stop;
+ }
+ else {
+ length = new Time((int)player.StreamLength);
+ fStop = (stop > length) ? length: stop;
+ }
+
+ miniature = projectType == ProjectType.NewFakeCaptureProject ?
null : player.CurrentMiniatureFrame;
- MediaTimeNode tn = openedProject.AddTimeNode(section,fStart, fStop,miniature);
+
+ tn = openedProject.AddTimeNode(section,fStart, fStop,miniature);
treewidget.AddPlay(tn,section);
tagsTreeWidget.AddPlay(tn);
timeline.QueueDraw();
@@ -200,7 +217,13 @@ namespace LongoMatch
}
public virtual void OnNewMark(int i) {
- Time pos = new Time((int)player.CurrentTime);
+ Time pos;
+
+ if (projectType == ProjectType.NewFakeCaptureProject ||
+ projectType == ProjectType.NewCaptureProject)
+ pos = new Time((int)capturer.CurrentTime);
+ else
+ pos = new Time((int)player.CurrentTime);
ProcessNewMarkEvent(i,pos);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]