/// <summary> /// this method computes the offset created by the translation of the slider and replays or keeps paused the stream/avatar /// </summary> /// <author> Alban Descottes 2018 </author> private void Slider_DragCompleted(object sender, DragCompletedEventArgs e) { ReplayAvatar.offset += ReplayViewModel.localOffset; ReplayViewModel.localOffset = 0; if (Stream.IsChecked == true) { if (isPlayed) { DrawingSheetView.Get().ReplayVideo.Play(); } DrawingSheetView.Get().ReplayVideo.Position = new TimeSpan(0, 0, 0, 0, (int)Tools.getStopWatch() - ReplayAvatar.offset); } if (isPlayed) { if (DrawingSheetView.Get().ReplayAudio.Source != null) { DrawingSheetView.Get().ReplayAudio.Position = new TimeSpan(0, 0, 0, 0, (int)Tools.getStopWatch() - ReplayAvatar.offset); DrawingSheetView.Get().ReplayAudio.Play(); } ReplayViewModel.PlayReplay(); isPlayed = false; } this.dragStarted = false; }
public static DrawingSheetView Get() { if (instance == null) { instance = new DrawingSheetView(); } return(instance); }
/// <summary> /// When the user strats to drag the slider the avatar/stream is paused /// </summary> /// <author> Alban Descottes 2018 </author> private void Slider_DragStarted(object sender, DragStartedEventArgs e) { this.dragStarted = true; ReplayViewModel.initTime = ReplayAvatar.SkeletonList[ReplayAvatar.CurrentSkeletonNumber].Item1; if (Stream.IsChecked == true) { DrawingSheetView.Get().ReplayVideo.Pause(); DrawingSheetView.Get().ReplayAudio.Pause(); } if (ReplayViewModel.played) { isPlayed = true; ReplayViewModel.PauseReplay(); } }
public DrawingSheetView() { InitializeComponent(); initializeGLControl(); DrawingSheetStreamViewModel.Get(this); DrawingSheetAvatarViewModel.Get(this); sheet = DrawingSheetAvatarViewModel.Get(this); this.DataContext = sheet; MyImage.Source = sheet.getImage(); this.mode = SheetMode.AvatarMode; ChangeMode(SheetMode.StreamMode); ChangeMode(SheetMode.AvatarMode); instance = this; }