12 using Iri.Modernisation.BaseMVVM.ViewModel; |
12 using Iri.Modernisation.BaseMVVM.ViewModel; |
13 using Iri.Modernisation.Controls.View; |
13 using Iri.Modernisation.Controls.View; |
14 using Iri.Modernisation.Data.Models; |
14 using Iri.Modernisation.Data.Models; |
15 using System.Collections.ObjectModel; |
15 using System.Collections.ObjectModel; |
16 using System.Collections.Generic; |
16 using System.Collections.Generic; |
|
17 using Iri.Modernisation.Data.LDTClass; |
17 namespace Iri.Modernisation.Controls.ViewModel |
18 namespace Iri.Modernisation.Controls.ViewModel |
18 { |
19 { |
19 /// <summary> |
20 /// <summary> |
20 /// ViewModel de ProductionView |
21 /// ViewModel de ProductionView |
21 /// </summary> |
22 /// </summary> |
124 { |
125 { |
125 _masterVideoViewerVM = value; |
126 _masterVideoViewerVM = value; |
126 OnPropertyChanged("ViewModelMasterVideoViewer"); |
127 OnPropertyChanged("ViewModelMasterVideoViewer"); |
127 } |
128 } |
128 } |
129 } |
129 |
130 |
|
131 |
130 private void InitializeCommands() |
132 private void InitializeCommands() |
131 { |
133 { |
132 Commands.ProductionView.ClickAddSelectedRecord.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickAddSelectedRecord_Executed); |
134 Commands.ProductionView.ClickAddSelectedRecord.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickAddSelectedRecord_Executed); |
133 ViewModelProductionTimeLine.SwitchVideo += new EventHandler<ProductionTimeLineVMEventArgs>(ViewModelProductionTimeLine_SwitchVideo); |
135 ViewModelProductionTimeLine.SwitchVideo += new EventHandler<ProductionTimeLineVMEventArgs>(ViewModelProductionTimeLine_SwitchVideo); |
134 ViewModelMasterVideoViewer.Tick += new EventHandler<VideoViewerVMEventArgs>(ViewModelMasterVideoViewer_Tick); |
136 ViewModelMasterVideoViewer.Tick += new EventHandler<VideoViewerVMEventArgs>(ViewModelMasterVideoViewer_Tick); |
135 ViewModelHeaderProduction.Change += new EventHandler<HeaderProductionVMArgs>(ViewModelHeaderProduction_Change); |
137 ViewModelHeaderProduction.Change += new EventHandler<HeaderProductionVMArgs>(ViewModelHeaderProduction_Change); |
|
138 Commands.HeaderProduction.PublishClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(PublishClick_Executed); |
|
139 |
136 } |
140 } |
137 public ProductionViewVM() |
141 public ProductionViewVM() |
138 { |
142 { |
139 RecordedVideoSequences = new ObservableCollection<VideoSequence>(); |
143 RecordedVideoSequences = new ObservableCollection<VideoSequence>(); |
140 ViewModelHeaderProduction = new HeaderProductionVM(); |
144 ViewModelHeaderProduction = new HeaderProductionVM(); |
141 ViewModelProductionTimeLine = new ProductionTimeLineVM(); |
145 ViewModelProductionTimeLine = new ProductionTimeLineVM(); |
142 ViewModelProductionEditor = new ProductionEditorVM(); |
146 ViewModelProductionEditor = new ProductionEditorVM(); |
143 ViewModelMasterVideoViewer = new VideoViewerVM(true, false); |
147 ViewModelMasterVideoViewer = new VideoViewerVM(true, false); |
144 |
148 |
145 ViewModelProductionTimeLine.ViewModelVideoViewer = ViewModelMasterVideoViewer; |
149 ViewModelProductionTimeLine.ViewModelVideoViewer = ViewModelMasterVideoViewer; |
146 Random rndNumbers = new Random(); |
150 Random rndNumbers = new Random(); |
147 _recordedVideoSequences.Add(new VideoSequence() |
151 _recordedVideoSequences.Add(new VideoSequence() |
148 { |
152 { |
149 Path = Application.Current.Host.Source.Host.ToString() + "/test.wmv", |
153 Path = Application.Current.Host.Source.Host.ToString() + "/test.wmv", |
153 }); |
157 }); |
154 |
158 |
155 |
159 |
156 _recordedVideoSequences.Add(new VideoSequence() |
160 _recordedVideoSequences.Add(new VideoSequence() |
157 { |
161 { |
158 Path = "http://localhost:1942/video.mp4", |
162 Path = "/video.mp4", |
159 RunTime = new TimeSpan(0, rndNumbers.Next(10, 60), 0), |
163 RunTime = new TimeSpan(0, rndNumbers.Next(10, 60), 0), |
160 BeginTrim = new TimeSpan(0, 0, 0), |
164 BeginTrim = new TimeSpan(0, 0, 0), |
161 EndTrim = new TimeSpan(0, 0, 0), |
165 EndTrim = new TimeSpan(0, 0, 0), |
162 }); |
166 }); |
163 |
167 |
164 |
168 |
165 InitializeCommands(); |
169 InitializeCommands(); |
166 OnPropertyChanged(String.Empty); |
170 OnPropertyChanged(String.Empty); |
167 |
171 |
168 } |
172 } |
169 |
173 void PublishClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
174 { |
|
175 IRIFile newFile = new IRIFile(); |
|
176 IRIDecoupage decoupage = new IRIDecoupage() |
|
177 { |
|
178 Author = "this author", |
|
179 Id = "Index" |
|
180 |
|
181 }; |
|
182 foreach (ObservableCollection<SegmentIndex> Ocsi in this.ViewModelProductionTimeLine.ListIndex) |
|
183 { |
|
184 foreach (SegmentIndex si in Ocsi) |
|
185 { |
|
186 IRIElement temp = new IRIElement() |
|
187 { |
|
188 |
|
189 Chapter = si.Chapter.IdChap, |
|
190 Begin = si.TimerIn, |
|
191 Dur = si.Duration, |
|
192 Title = si.Description, |
|
193 Abstract = si.Description, |
|
194 Tags = si.Tags |
|
195 }; |
|
196 decoupage.Elements.Add(temp); |
|
197 } |
|
198 |
|
199 } |
|
200 IRIMedia videoMedia = new IRIMedia() { Id = "video" }; |
|
201 |
|
202 |
|
203 foreach (VideoSequence vs in this.ViewModelProductionTimeLine.TimeLine) |
|
204 { |
|
205 videoMedia.Videos.Add(new IRIVideo() |
|
206 { |
|
207 Begin = vs.TimerIn, |
|
208 Dur = vs.Duration, |
|
209 Src = vs.Path, |
|
210 |
|
211 } |
|
212 ); |
|
213 } |
|
214 IRIEnsemble ensemble = new IRIEnsemble() |
|
215 { |
|
216 Id = "VideoBookIndex" |
|
217 }; |
|
218 ensemble.Decoupages.Add(decoupage); |
|
219 newFile.Body.Ensembles.Add(ensemble); |
|
220 newFile.Body.Medias.Add(videoMedia); |
|
221 |
|
222 MessageBox.Show(newFile.ToString()); |
|
223 } |
170 void ViewModelHeaderProduction_Change(object sender, HeaderProductionVMArgs e) |
224 void ViewModelHeaderProduction_Change(object sender, HeaderProductionVMArgs e) |
171 { |
225 { |
172 ViewModelProductionTimeLine.IsIndexing = e.ChapterHeader.Editing; |
226 if (e.ChapterHeader.Indexing == false && e.ChapterHeader.Editing == true) |
|
227 { |
|
228 ViewModelProductionTimeLine.IsIndexing = true; |
|
229 } |
|
230 else |
|
231 { |
|
232 ViewModelProductionTimeLine.IsIndexing = false; |
|
233 } |
173 ViewModelProductionTimeLine.SelectedChapter = e.ChapterHeader.ChapterDescription.Id ; |
234 ViewModelProductionTimeLine.SelectedChapter = e.ChapterHeader.ChapterDescription.Id ; |
174 } |
235 } |
175 |
236 |
176 private void ViewModelProductionTimeLine_SwitchVideo(object sender, ProductionTimeLineVMEventArgs e) |
237 private void ViewModelProductionTimeLine_SwitchVideo(object sender, ProductionTimeLineVMEventArgs e) |
177 { |
238 { |