public void StopRecording() { segmentToRecordTo = null; Debug.WriteLine("Set recording canvas's segment to null"); sensor.AllFramesReady -= newSensor_AllFramesReady_Record; }
public void StartRecording(DanceSegment s) { Debug.WriteLine("Setting recording canvas's segment to destination segment"); segmentToRecordTo = s; sensor.AllFramesReady += newSensor_AllFramesReady_Record; }
public DanceSegment addDanceSegment(int startFrame) { var segment = new DanceSegment(this); segments.Add(startFrame, segment); return segment; }
public String addComment(DanceSegment segment, String comment) { if (comments.ContainsKey(segment)) comments.Remove(segment); comments.Add(segment, comment); return comment; }
public void deleteDanceSegment(DanceSegment segment) { foreach (KeyValuePair<int, DanceSegment> kvp in segments) { if (kvp.Value == segment) { Debug.WriteLine("Deleting of segment, target segment found at frame " + kvp.Key.ToString()); segments.Remove(kvp.Key); Debug.WriteLine("Is the segment still in the segments list? " + segments.ContainsKey(kvp.Key).ToString()); segment.deleteFiles(); return; } } Debug.WriteLine("Exited deleteDanceSegment without actually deleting anything"); }
//Load window private void Window_Loaded(object sender, RoutedEventArgs e) { kinectSensorChooser1.KinectSensorChanged += new DependencyPropertyChangedEventHandler(kinectSensorChooser1_KinectSensorChanged); this.Cursor = Cursors.None; moves = new LinkedList<Skeleton>(); Global.canGestureTimer.Elapsed += new System.Timers.ElapsedEventHandler(Global.canGestureTimer_Elapsed); Global.windowWidth = mainCanvas.ActualWidth; Global.windowHeight = mainCanvas.ActualHeight; if (DanceRoutine.saveAlreadyExists("fakeSong.wav")) { routine = DanceRoutine.load("fakeSong.wav"); } else { routine = new DanceRoutine("fakeSong.wav"); } routine.deleteDanceSegmentAt(0); showRecordingCanvas(); newSegment = routine.addDanceSegment(0); waveform = new Waveform(1800, 259, wfcanvas); }
private void deleteSegment() { if (selectedSegment != null) { blackBack.Visibility = Visibility.Collapsed; routine.deleteDanceSegment(selectedSegment); selectedSegment = null; routine.save(); renderSegments(); } }
private void renderComment(DanceSegment segment) { double pos; String comment; int frame = 0; if (routine.comments.TryGetValue(segment, out comment)) { if (comment == null) Debug.WriteLine("THIS COMMENT IS NULL! WHYYYYYY?!"); if (comment == null) return; Debug.WriteLine("THIS COMMENT SHOULD HAVE RENDERED: " + comment); foreach (KeyValuePair<int, DanceSegment> kvp in routine.segments) { if (kvp.Value == selectedSegment) { frame = kvp.Key; break; } } pos = (frame + (segment.length/2)) / 30 * waveform.getPixelsPerSecond(); Image cImg = new Image { Height = 160, Width = 40, }; cImg.Source = new BitmapImage(new Uri(@"pack://application:,,,/Choreoh;component/img/waveform/speech_bubble.png", UriKind.RelativeOrAbsolute)); HoverButton commentImg = new HoverButton { Height = 50, Width = 50, Visibility = Visibility.Visible, BackgroundColor = Brushes.LavenderBlush }; commentImg.leftImageName.Source = cImg.Source; segmentCanvas.Children.Add(commentImg); Canvas.SetTop(commentImg, 0); Canvas.SetLeft(commentImg, pos); Canvas.SetZIndex(commentImg, 100); segmentList.AddLast(commentImg); } }
private void segmentRadialMenu_rightClick(object sender, EventArgs e) { if (selectedSegment != null) { var menu = (RadialMenu)sender; blackBack.Visibility = Visibility.Collapsed; hideAllRadialMenus(); Debug.WriteLine("Deleting segment: " + selectedSegment); routine.deleteDanceSegment(selectedSegment); selectedSegment = null; Debug.WriteLine("Segment should have been deleted"); Debug.WriteLine("Now saving routine"); routine.save(); Debug.WriteLine("Should have finished saving routine"); renderSegments(); } else { Debug.WriteLine("Tried to delete already deleted segment. Maybe radial menu clicking too many times?"); } }