public void ExecuteVoiceCommand(VoiceCommand command)
        {
            switch (command)
            {
            case VoiceCommand.Start:
                if (bodyManager != null)
                {
                    initialPositionComputer = new InitialPositionComputer(bodyManager);
                    gestureRecorder         = new GestureRecorder(bodyManager, initialPositionComputer, gestureIndex.GestureDB[gestureIndex.NewGesture].fileName);
                    gestureRecorder.GestureRecordEventHandler += GestureRecordEventHandler;
                    gestureRecorder.RecordInitialPosition(true);
                    StartRecordingTimer();
                }
                break;

            case VoiceCommand.Up:
                if (gestureList.SelectedIndex > 0)
                {
                    gestureList.SelectedIndex--;
                }
                break;

            case VoiceCommand.Down:
                if (gestureList.SelectedIndex < gestureList.Items.Count)
                {
                    gestureList.SelectedIndex++;
                }
                break;

            case VoiceCommand.Select: //TODO
                Console.WriteLine("select");
                break;
            }
        }
Ejemplo n.º 2
0
        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            if (!Directory.Exists(GesturePakFolder))
            {
                Directory.CreateDirectory(GesturePakFolder);
            }

            OriginalHeight = this.ActualHeight;
            OriginalWidth  = this.ActualWidth;

            // Kinect Engine initialization
            KinectViewer              = new ColorAndBodyViewer();
            KinectViewer.BodyTracked += KinectViewer_BodyTracked;

            KinectViewer.ShowLiveVideo     = true;
            KinectViewer.DrawBodies        = true;
            KinectViewer.JointThickness    = 12;
            KinectViewer.TrackedJointBrush = new SolidColorBrush(Colors.DarkGreen);
            KinectViewer.TrackedBonePen    = new Pen(Brushes.Green, 12);
            KinectViewer.FramePrefix       = "frame";
            KinectViewer.VideoFolder       = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\frames";

            // Create the gesture recorder
            Recorder = new GestureRecorder();

            // Show the first page
            if (UIPages != null && UIPages.Count > 0 && UIPages[0].UserControl != null)
            {
                NotifyPropertyChanged("SelectedPage");
                OnTransitionComplete(null, HomeControl);
                this.CurrentPage = HomePage;
            }
        }
Ejemplo n.º 3
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        GestureRecorder recorder = (GestureRecorder)target;

        //EditorGUILayout.PropertyField(filename);

        if (GUILayout.Button("Record Hand Snapshot"))
        {
            Debug.Log("clicked");
            recorder.StoreHandSnapshot();
        }
    }
Ejemplo n.º 4
0
    private void Start()
    {
        if (settings == null)
        {
            Debug.LogError("DESTROYING SELF.  InputSettings were not initialized.");
            Destroy(this);
            return;
        }

        spellCasterRight = Instantiate(settings.spellCasterPrefab, transform);
        spellCasterLeft  = Instantiate(settings.spellCasterPrefab, transform);

        gestureRecorder          = gameObject.AddComponent <GestureRecorder>();
        gestureRecorder.filename = settings.gestureFile;

        gestures = Resources.LoadAll <GestureData>("");

        OSCReceiver[] temp = GetComponentsInChildren <OSCReceiver>();
        if (temp.Length != 2)
        {
            Debug.LogError("Expected to find exactly two OSCReceivers.");
        }
        else if (temp[0] != null && !temp[0].Equals(null) && temp[1] != null && !temp[1].Equals(null))
        {
            if (temp[0].IsLeft)
            {
                oscReceiverLeft  = temp[0];
                oscReceiverRight = temp[1];
            }
            else
            {
                oscReceiverRight = temp[0];
                oscReceiverLeft  = temp[1];
            }

            foreach (GestureData item in gestures)
            {
                if (item.wekinatorAddress == "" || item.wekinatorAddress == null)
                {
                    continue;
                }
                gestureDict.Add(item.wekinatorAddress, item);

                if (item.wekinatorAddress.ToLower().Contains("left"))
                {
                    oscReceiverLeft.AddAddress(item.wekinatorAddress);
                }
                else if (item.wekinatorAddress.ToLower().Contains("right"))
                {
                    oscReceiverRight.AddAddress(item.wekinatorAddress);
                }
            }
        }

        if (settings.useFingertipMode)
        {
            if (settings.leftThumb)
            {
                settings.leftThumb.spellCaster = this.spellCasterLeft;
            }

            if (settings.rightThumb)
            {
                settings.rightThumb.spellCaster = this.spellCasterRight;
            }
        }
    }