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
{
/// <summary>
@@ -126,13 +127,16 @@
OnPropertyChanged("ViewModelMasterVideoViewer");
}
}
-
+
+
private void InitializeCommands()
{
Commands.ProductionView.ClickAddSelectedRecord.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickAddSelectedRecord_Executed);
ViewModelProductionTimeLine.SwitchVideo += new EventHandler<ProductionTimeLineVMEventArgs>(ViewModelProductionTimeLine_SwitchVideo);
ViewModelMasterVideoViewer.Tick += new EventHandler<VideoViewerVMEventArgs>(ViewModelMasterVideoViewer_Tick);
ViewModelHeaderProduction.Change += new EventHandler<HeaderProductionVMArgs>(ViewModelHeaderProduction_Change);
+ Commands.HeaderProduction.PublishClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(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<SegmentIndex> 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 ;
}