diff -r 4d9ebc6fbbe8 -r 43bb1b8ed555 client/src/Iri.Modernisation.Controls/ViewModel/ProductionView/ProductionViewVM.cs --- a/client/src/Iri.Modernisation.Controls/ViewModel/ProductionView/ProductionViewVM.cs Tue Jan 19 09:49:56 2010 +0100 +++ b/client/src/Iri.Modernisation.Controls/ViewModel/ProductionView/ProductionViewVM.cs Mon Jan 25 09:30:22 2010 +0100 @@ -14,6 +14,7 @@ using Iri.Modernisation.Data.Models; using System.Collections.ObjectModel; using System.Collections.Generic; +using Iri.Modernisation.Data.LDTClass; namespace Iri.Modernisation.Controls.ViewModel { /// @@ -126,13 +127,16 @@ OnPropertyChanged("ViewModelMasterVideoViewer"); } } - + + 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); + } public ProductionViewVM() { @@ -141,7 +145,7 @@ ViewModelProductionTimeLine = new ProductionTimeLineVM(); ViewModelProductionEditor = new ProductionEditorVM(); ViewModelMasterVideoViewer = new VideoViewerVM(true, false); - + ViewModelProductionTimeLine.ViewModelVideoViewer = ViewModelMasterVideoViewer; Random rndNumbers = new Random(); _recordedVideoSequences.Add(new VideoSequence() @@ -155,7 +159,7 @@ _recordedVideoSequences.Add(new VideoSequence() { - Path = "http://localhost:1942/video.mp4", + Path = "/video.mp4", RunTime = new TimeSpan(0, rndNumbers.Next(10, 60), 0), BeginTrim = new TimeSpan(0, 0, 0), EndTrim = new TimeSpan(0, 0, 0), @@ -166,10 +170,67 @@ OnPropertyChanged(String.Empty); } + void PublishClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) + { + IRIFile newFile = new IRIFile(); + IRIDecoupage decoupage = new IRIDecoupage() + { + Author = "this author", + Id = "Index" + }; + foreach (ObservableCollection Ocsi in this.ViewModelProductionTimeLine.ListIndex) + { + foreach (SegmentIndex si in Ocsi) + { + IRIElement temp = new IRIElement() + { + + Chapter = si.Chapter.IdChap, + Begin = si.TimerIn, + Dur = si.Duration, + Title = si.Description, + Abstract = si.Description, + Tags = si.Tags + }; + decoupage.Elements.Add(temp); + } + + } + IRIMedia videoMedia = new IRIMedia() { Id = "video" }; + + + foreach (VideoSequence vs in this.ViewModelProductionTimeLine.TimeLine) + { + videoMedia.Videos.Add(new IRIVideo() + { + Begin = vs.TimerIn, + Dur = vs.Duration, + Src = vs.Path, + + } + ); + } + IRIEnsemble ensemble = new IRIEnsemble() + { + Id = "VideoBookIndex" + }; + ensemble.Decoupages.Add(decoupage); + newFile.Body.Ensembles.Add(ensemble); + newFile.Body.Medias.Add(videoMedia); + + MessageBox.Show(newFile.ToString()); + } void ViewModelHeaderProduction_Change(object sender, HeaderProductionVMArgs e) { - ViewModelProductionTimeLine.IsIndexing = e.ChapterHeader.Editing; + if (e.ChapterHeader.Indexing == false && e.ChapterHeader.Editing == true) + { + ViewModelProductionTimeLine.IsIndexing = true; + } + else + { + ViewModelProductionTimeLine.IsIndexing = false; + } ViewModelProductionTimeLine.SelectedChapter = e.ChapterHeader.ChapterDescription.Id ; }