Esempio n. 1
0
        private void switchInstrument(MainWindow.Player player, instrumentList instrument, MainWindow.PlayerMode mode = MainWindow.PlayerMode.None)
        {
            if (player.instrument != instrument || player.mode != mode)
            {
                removeInstrumentVisuals(player);

                clearInstrumentRefs(player);
                //Hide all the instrument-specific overlays & set the new instrument
                if (MainWindow.activeSkeletons.ContainsKey(player.skeleton.TrackingId))
                {
                    switch (instrument)
                    {
                        case instrumentList.Drums:
                            setupDrums(MainWindow.activeSkeletons[player.skeleton.TrackingId]);
                            MainWindow.activeSkeletons[player.skeleton.TrackingId].mode = MainWindow.PlayerMode.None;
                            break;
                        case instrumentList.GuitarLeft:
                        case instrumentList.GuitarRight:
                            setupGuitar(MainWindow.activeSkeletons[player.skeleton.TrackingId]);
                            MainWindow.activeSkeletons[player.skeleton.TrackingId].mode = mode;
                            break;
                        case instrumentList.Keyboard:
                            setupKeyboard(MainWindow.activeSkeletons[player.skeleton.TrackingId]);
                            MainWindow.activeSkeletons[player.skeleton.TrackingId].mode = MainWindow.PlayerMode.None;
                            break;
                        case instrumentList.Triangle:
                            setupTriangle(MainWindow.activeSkeletons[player.skeleton.TrackingId]);
                            MainWindow.activeSkeletons[player.skeleton.TrackingId].mode = MainWindow.PlayerMode.None;
                            break;
                    }

                    manageInstrumentImage(MainWindow.activeSkeletons[player.skeleton.TrackingId], instrument);

                    MainWindow.activeSkeletons[player.skeleton.TrackingId].instrument = instrument;
                }
            }
        }
Esempio n. 2
0
        //Instrument management code
        private void manageInstrumentImage(MainWindow.Player player, instrumentList instrument)
        {
            //Remove the old image
            MainCanvas.Children.Remove(MainWindow.activeSkeletons[player.skeleton.TrackingId].instrumentImage);

            Image image = new Image();
            //image.Name = "image" + aSkeleton.TrackingId.ToString();

            //Overlay
            player.instrumentOverlay.Clear();

            switch (instrument)
            {
                case instrumentList.Drums:
                    image.Source = new BitmapImage(new Uri("images/drums.png", UriKind.Relative));
                    break;
                case instrumentList.GuitarLeft:
                case instrumentList.GuitarRight:
                    if (player.mode == MainWindow.PlayerMode.Acoustic)
                    {
                        image.Source = new BitmapImage(new Uri("images/guitar.png", UriKind.Relative));
                    }
                    else
                    {
                        image.Source = new BitmapImage(new Uri("images/electric-guitar.png", UriKind.Relative));
                    }
                    break;
                case instrumentList.Keyboard:
                    image.Source = new BitmapImage(new Uri("images/keyboard.png", UriKind.Relative));
                    break;
                case instrumentList.Triangle:
                    image.Source = new BitmapImage(new Uri("images/triangle.png", UriKind.Relative));
                    break;
            }

            MainCanvas.Children.Add(image);

            player.instrumentImage = image;

            if (currentFocus != playerFocus.None && currentFocus != playerFocus.Picture)
            {
                MainWindow.hidePlayerOverlays();
            }

            if (instrument == instrumentList.GuitarLeft || instrument == instrumentList.GuitarRight)
            {
                if (!player.instrumentOverlay.ContainsKey(0))
                {
                    player.instrumentOverlay.Add(0, new Image());
                }
                else
                {
                    player.instrumentOverlay[0] = new Image();
                }

                MainCanvas.Children.Add(player.instrumentOverlay[0]);
            }
        }
Esempio n. 3
0
        private double scaledWidth(SkeletonPoint point, instrumentList instrument)
        {
            //Player distance (Converted to centimetres)
            double distance = point.Z * 100;
            double width = 0;

            switch (instrument)
            {
                case instrumentList.Drums:
                    width = 1112.5 * Math.Pow(Math.E, -0.006 * distance);
                    break;
                case instrumentList.GuitarRight:
                case instrumentList.GuitarLeft:
                    width = 680.35 * Math.Pow(Math.E, -0.004 * distance);
                    break;
                case instrumentList.Keyboard:
                    width = 968.62 * Math.Pow(Math.E, -0.006 * distance);
                    break;
                case instrumentList.Triangle:
                    width = 178.74 * Math.Pow(Math.E, -0.006 * distance);
                    break;
            }

            return width;
        }