void PerformStep(bool isForward) { MediaFileVM file = projectVM.FileSet.FirstOrDefault(f => f.SelectedGrabber == SelectionPosition.All); if (file != null) { var oneFrame = new Time(1000 / file.Fps); if (isForward) { file.Offset = file.Offset + oneFrame; } else { file.Offset = file.Offset - oneFrame; } } else { if (isForward) { videoPlayerVM.SeekToNextFrameCommand.Execute(); } else { videoPlayerVM.SeekToPreviousFrameCommand.Execute(); } } }
public async Task Replace_FileNotContained_Added() { dialogMock.Setup(d => d.OpenMediaFile(It.IsAny <object> ())).Returns(new MediaFile { FilePath = "new" }); MediaFileSet fileSet = new MediaFileSet(); MediaFileSetVM fileSetVM = new MediaFileSetVM { Model = fileSet }; fileSet.Add(new MediaFile { FilePath = "old" }); MediaFileVM newFileVM = await App.Current.EventsBroker.PublishWithReturn <ReplaceMediaFileEvent, MediaFileVM> (new ReplaceMediaFileEvent { OldFileSet = fileSetVM, OldFile = new MediaFileVM { Model = new MediaFile { FilePath = "not contained" } }, }); Assert.IsNotNull(newFileVM); Assert.IsNotNull(newFileVM.Model); Assert.AreEqual("new", newFileVM.FilePath); Assert.AreEqual("new", newFileVM.Model.FilePath); Assert.AreEqual(2, fileSetVM.Count()); }
void Update() { MediaFileVM file = ViewModel.FileSet.FirstOrDefault(); if (ViewModel.HomeTeamShield != null) { homeShield = ViewModel.HomeTeamShield.Scale(Constants.SHIELD_IMAGE_SIZE, Constants.SHIELD_IMAGE_SIZE); homeMaskColor = null; } else { homeShield = App.Current.ResourcesLocator.LoadIcon("vas-default-shield", Constants.SHIELD_IMAGE_SIZE); homeMaskColor = Colors.DefaultShield; } if (ViewModel.AwayTeamShield != null) { awayShield = ViewModel.AwayTeamShield.Scale(Constants.SHIELD_IMAGE_SIZE, Constants.SHIELD_IMAGE_SIZE); awayMaskColor = null; } else { awayShield = App.Current.ResourcesLocator.LoadIcon("vas-default-shield", Constants.SHIELD_IMAGE_SIZE); awayMaskColor = Colors.DefaultShield; } description = FormatDesc(); }
void AddCamera(MediaFileVM fileVM, int width, int height, ref int row) { var l = App.Current.ViewLocator.Retrieve("CameraLabelView") as CameraLabelView; l.Width = width; l.Height = height; l.OffsetY = row * height; l.BackgroundColor = App.Current.Style.PaletteBackgroundLight; l.ViewModel = fileVM; AddLabel(l); row++; }
public void TestHotkey_FrameStepDown_NoCameraSelected() { Start(); MediaFileVM mediaFile = projectVM.FileSet.First(); Time previousOffset = mediaFile.Offset; mediaFile.SelectedGrabber = SelectionPosition.All; App.Current.KeyContextManager.HandleKeyPressed(App.Current.Keyboard.ParseName("Right")); Assert.AreEqual(previousOffset + new Time(1000 / mediaFile.Fps), mediaFile.Offset); // FIXME: It should be called once but the forwarder bug makes it 3 videoPlayerControllerMock.Verify(pl => pl.Seek(new Time(0), true, false, false), Times.Exactly(3)); }
void HandleReplaceMediaFile(ReplaceMediaFileEvent evt) { MediaFile file = App.Current.Dialogs.OpenMediaFile(); if (file == null) { evt.ReturnValue = evt.OldFile; return; } MediaFileVM fileVM = new MediaFileVM { Model = file }; Replace(evt.OldFileSet, evt.OldFile, fileVM); evt.ReturnValue = fileVM; }
async void HandleButtonPressEvent(object o, Gtk.ButtonPressEventArgs args) { if (args.Event.Button != 1 || disableChanges) { return; } MediaFileVM file = await App.Current.EventsBroker.PublishWithReturn <ReplaceMediaFileEvent, MediaFileVM> (new ReplaceMediaFileEvent { OldFileSet = ViewModel, OldFile = mediaFile }); mediaFile = file; UpdateMediaFile(); if (Changed != null) { Changed(this, new EventArgs()); } }
// Copied and migrated from MediaFileSet.cs bool Replace(MediaFileSetVM fileSet, MediaFileVM oldFile, MediaFileVM newFile) { bool found = false; if (fileSet.Contains(oldFile)) { if (newFile != null && oldFile != null) { newFile.Name = oldFile.Name; newFile.Offset = oldFile.Offset; } fileSet.ViewModels [fileSet.ViewModels.IndexOf(oldFile)] = newFile; found = true; } else { fileSet.ViewModels.Add(newFile); } return(found); }
public async Task Replace_FileNotSelected_NothingChanged() { dialogMock.Setup(d => d.OpenMediaFile(It.IsAny <object> ())).Returns <MediaFile> (null); MediaFileSet fileSet = new MediaFileSet(); MediaFileSetVM fileSetVM = new MediaFileSetVM { Model = fileSet }; fileSet.Add(new MediaFile { FilePath = "old" }); MediaFileVM newFileVM = await App.Current.EventsBroker.PublishWithReturn <ReplaceMediaFileEvent, MediaFileVM> (new ReplaceMediaFileEvent { OldFileSet = fileSetVM, OldFile = fileSetVM.ViewModels.First(), }); Assert.IsNotNull(newFileVM); Assert.IsNotNull(newFileVM.Model); Assert.AreSame(fileSetVM.ViewModels.First(), newFileVM); Assert.AreEqual(fileSetVM.ViewModels.First().Model, newFileVM.Model); Assert.AreEqual(1, fileSetVM.Count()); }
public void SetMediaFile(MediaFileVM file, bool editable = false) { mediaFile = file; disableChanges = !editable; UpdateMediaFile(); }
public void SetMediaFileSet(MediaFileSetVM files, MediaFileVM file) { viewModel = files; SetMediaFile(file, true); }