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;
        }
Exemple #3
0
 public DanceSegment addDanceSegment(int startFrame)
 {
     var segment = new DanceSegment(this);
     segments.Add(startFrame, segment);
     return segment;
 }
Exemple #4
0
 public String addComment(DanceSegment segment, String comment)
 {
     if (comments.ContainsKey(segment)) comments.Remove(segment);
     comments.Add(segment, comment);
     return comment;
 }
Exemple #5
0
 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);
     }
 }
Exemple #9
0
        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?");
            }
        }