client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/ProductionTimeLineVM.cs
changeset 36 b6df6fce6e5d
parent 35 43bb1b8ed555
equal deleted inserted replaced
35:43bb1b8ed555 36:b6df6fce6e5d
   238                 //_newBook.Chapters[SelectedChapter].Index = value;
   238                 //_newBook.Chapters[SelectedChapter].Index = value;
   239                 OnPropertyChanged("SelectedIndex");
   239                 OnPropertyChanged("SelectedIndex");
   240             }
   240             }
   241         }
   241         }
   242 
   242 
   243         private VideoChapterType _selectedChapterType;
   243 
   244 
   244 
   245         /// <summary>
   245 
   246         /// Chapitre en cours
       
   247         /// </summary>
       
   248         public VideoChapterType SelectedChapterType
       
   249         {
       
   250             get
       
   251             {
       
   252                 return _selectedChapterType;
       
   253             }
       
   254             set
       
   255             {
       
   256                 _selectedChapterType = value;
       
   257                 OnPropertyChanged("SelectedChapterType");
       
   258             }
       
   259         }
       
   260 
   246 
   261         private void InitializeCommands()
   247         private void InitializeCommands()
   262         {
   248         {
   263             #region Commands
   249             #region Commands
   264             Commands.ProductionView.DelVideoSequence.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(DelVideoSequence_Executed);
   250             Commands.ProductionView.DelVideoSequence.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(DelVideoSequence_Executed);
   302            // PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ProductionTimeLineVM_PropertyChanged);
   288            // PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ProductionTimeLineVM_PropertyChanged);
   303            // SelectedVideoSequences = new ObservableCollection<VideoSequence>();
   289            // SelectedVideoSequences = new ObservableCollection<VideoSequence>();
   304            InitializeCommands();
   290            InitializeCommands();
   305         }
   291         }
   306 
   292 
   307     
   293         
   308         private void TimeChange_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
   294         private void TimeChange_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
   309         {
   295         {
   310             double newValue = ((double)e.Parameter);
   296             double newValue = ((double)e.Parameter);
   311             if(e.Source == this)
   297             if(e.Source == this)
   312             {
   298             {
   315                     foreach (VideoSequence Vs in TimeLine)
   301                     foreach (VideoSequence Vs in TimeLine)
   316                     {
   302                     {
   317                         if (Vs.TimerIn.TotalMilliseconds <= newValue && Vs.TimerOut.TotalMilliseconds > newValue)
   303                         if (Vs.TimerIn.TotalMilliseconds <= newValue && Vs.TimerOut.TotalMilliseconds > newValue)
   318                         {
   304                         {
   319                             ActualVideoSequence = Vs;
   305                             ActualVideoSequence = Vs;
   320                             ViewModelVideoViewer.Source = ActualVideoSequence.Path;                  
   306 
   321                             ViewModelVideoViewer.GoTo(TimeSpan.FromMilliseconds(newValue) - Vs.TimerIn +Vs.BeginTrim);
   307                             /**/
       
   308                             ViewModelVideoViewer.BeginIn = TimeSpan.FromMilliseconds(newValue)+ Vs.BeginTrim;
       
   309                             ViewModelVideoViewer.Source = ActualVideoSequence.Path;
       
   310                             ViewModelVideoViewer.GoTo(TimeSpan.FromMilliseconds(newValue) - Vs.TimerIn + Vs.BeginTrim);
       
   311                             ViewModelVideoViewer.BeginIn = Vs.BeginTrim;
   322 
   312 
   323                         }
   313                         }
   324                     }
   314                     }
   325                 }
   315                 }
   326                 else
   316                 else
   327                 {
   317                 {
   328                     ViewModelVideoViewer.GoTo(TimeSpan.FromMilliseconds(newValue) - ActualVideoSequence.TimerIn);
   318                     ViewModelVideoViewer.GoTo(TimeSpan.FromMilliseconds(newValue) - ActualVideoSequence.TimerIn + ActualVideoSequence.BeginTrim);
   329                 }
   319                 }
   330                 
   320                 
   331                
   321                
   332             }
   322             }
   333         }
   323         }
   376         }
   366         }
   377 
   367 
   378         private void EditorPartSelected_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
   368         private void EditorPartSelected_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
   379         {
   369         {
   380            
   370            
   381             SelectedChapter = (int)((HeaderProductionEventArgs)e.Source).ChapterType;
   371            
   382             SelectedChapterType = ((HeaderProductionEventArgs)e.Source).ChapterType ;
   372 
   383             IsIndexing = ((HeaderProductionEventArgs)e.Source).IsIndexPart;
   373             IsIndexing = ((HeaderProductionEventArgs)e.Source).IsIndexPart;
   384         }
   374         }
   385 
   375 
   386         public event EventHandler<ProductionTimeLineVMEventArgs> SwitchVideo;
   376         
   387 
   377 
   388     }
   378     }
   389     public class ProductionTimeLineVMEventArgs : EventArgs
   379     public class ProductionTimeLineVMEventArgs : EventArgs
   390     {
   380     {
   391         public VideoSequence VideoSequence{get;set;}
   381         public VideoSequence VideoSequence{get;set;}