diff -r 43bb1b8ed555 -r b6df6fce6e5d client/src/Iri.Modernisation.Controls/ViewModel/ProductionView/ProductionViewVM.cs --- a/client/src/Iri.Modernisation.Controls/ViewModel/ProductionView/ProductionViewVM.cs Mon Jan 25 09:30:22 2010 +0100 +++ b/client/src/Iri.Modernisation.Controls/ViewModel/ProductionView/ProductionViewVM.cs Wed Jan 27 10:37:39 2010 +0100 @@ -132,7 +132,7 @@ private void InitializeCommands() { Commands.ProductionView.ClickAddSelectedRecord.Executed += new EventHandler(ClickAddSelectedRecord_Executed); - ViewModelProductionTimeLine.SwitchVideo += new EventHandler(ViewModelProductionTimeLine_SwitchVideo); + ViewModelMasterVideoViewer.Tick += new EventHandler(ViewModelMasterVideoViewer_Tick); ViewModelHeaderProduction.Change += new EventHandler(ViewModelHeaderProduction_Change); Commands.HeaderProduction.PublishClick.Executed += new EventHandler(PublishClick_Executed); @@ -147,24 +147,9 @@ ViewModelMasterVideoViewer = new VideoViewerVM(true, false); ViewModelProductionTimeLine.ViewModelVideoViewer = ViewModelMasterVideoViewer; - Random rndNumbers = new Random(); - _recordedVideoSequences.Add(new VideoSequence() - { - Path = Application.Current.Host.Source.Host.ToString() + "/test.wmv", - RunTime = new TimeSpan(0, rndNumbers.Next(10, 60), 0), - BeginTrim = new TimeSpan(0, 0, 0), - EndTrim = new TimeSpan(0, 0, 0), - }); - - - _recordedVideoSequences.Add(new VideoSequence() - { - Path = "/video.mp4", - RunTime = new TimeSpan(0, rndNumbers.Next(10, 60), 0), - BeginTrim = new TimeSpan(0, 0, 0), - EndTrim = new TimeSpan(0, 0, 0), - }); + + InitializeCommands(); OnPropertyChanged(String.Empty); @@ -234,20 +219,24 @@ ViewModelProductionTimeLine.SelectedChapter = e.ChapterHeader.ChapterDescription.Id ; } - private void ViewModelProductionTimeLine_SwitchVideo(object sender, ProductionTimeLineVMEventArgs e) - { - ViewModelMasterVideoViewer.Source = (e.VideoSequence.Path); - ViewModelMasterVideoViewer.GoTo(e.BeginAt); - } + private void ViewModelMasterVideoViewer_Tick(object sender, VideoViewerVMEventArgs e) { - double newPos = ViewModelProductionTimeLine.ActualVideoSequence.TimerIn.TotalMilliseconds+e.Position.TotalMilliseconds; + double newPos = ViewModelProductionTimeLine.ActualVideoSequence.TimerIn.TotalMilliseconds + e.Position.TotalMilliseconds; if (ViewModelProductionTimeLine.ActualVideoSequence.TimerOut.TotalMilliseconds <= newPos) { - ViewModelProductionTimeLine.ActualVideoSequence = ViewModelProductionTimeLine.TimeLine[ViewModelProductionTimeLine.TimeLine.IndexOf(ViewModelProductionTimeLine.ActualVideoSequence) + 1]; - ViewModelMasterVideoViewer.Source = ViewModelProductionTimeLine.ActualVideoSequence.Path; - ViewModelMasterVideoViewer.GoTo(ViewModelProductionTimeLine.ActualVideoSequence.BeginTrim); + if (ViewModelProductionTimeLine.TimeLine.IndexOf(ViewModelProductionTimeLine.ActualVideoSequence) + 1 < ViewModelProductionTimeLine.TimeLine.Count) + { + ViewModelProductionTimeLine.ActualVideoSequence = ViewModelProductionTimeLine.TimeLine[ViewModelProductionTimeLine.TimeLine.IndexOf(ViewModelProductionTimeLine.ActualVideoSequence) + 1]; + ViewModelMasterVideoViewer.BeginIn = ViewModelProductionTimeLine.ActualVideoSequence.BeginTrim; + ViewModelMasterVideoViewer.Source = ViewModelProductionTimeLine.ActualVideoSequence.Path; + ViewModelMasterVideoViewer.GoTo(ViewModelProductionTimeLine.ActualVideoSequence.BeginTrim); + } + else + { + ViewModelMasterVideoViewer.Pause(); + } } ViewModelProductionTimeLine.Position = newPos; }