public void tearDown() { freePlayer = null; freePlayer2 = null; tutoree = null; myMediaElement.Visibility = System.Windows.Visibility.Visible; // Instructions.Visibility = System.Windows.Visibility.Visible; // Facts.Visibility = System.Windows.Visibility.Visible; mainCanvas.Background = new SolidColorBrush(Colors.Black); PauseOverlay.Visibility = System.Windows.Visibility.Hidden; // Tell the timeline and visualizer to cleanup foreach (WaveformTimeline wave in Timelines) { wave.Destroy(); } Visualizer.Destroy(); MainWindow.setManipulating(false); Processing.Audio.End(delegate { MainWindow.currentPage = MainWindow.homePage; MainWindow.loadingPage.NavigationService.Navigate(MainWindow.currentPage); }); }
public void allFramesReady(object sender, AllFramesReadyEventArgs e) { if (!_isPaused) { if (_type == "Solo") { Skeleton skeleton = KinectGesturePlayer.getFristSkeleton(e); if (skeleton != null) { freePlayer.skeletonReady(e, skeleton); } } else if (_type == "Buddy") { Skeleton[] skeletons = KinectGesturePlayer.getFirstTwoSkeletons(e); Skeleton leftSkeleton; Skeleton rightSkeleton; if (skeletons == null) { return; } if (skeletons.Length == 0) { return; } else if (skeletons.Length == 1) { leftSkeleton = skeletons[0]; freePlayer.skeletonReady(e, leftSkeleton); } else { leftSkeleton = skeletons[0]; rightSkeleton = skeletons[1]; freePlayer.skeletonReady(e, leftSkeleton); freePlayer2.skeletonReady(e, rightSkeleton); } } else if (_type == "Tutor") { Skeleton skeleton = KinectGesturePlayer.getFristSkeleton(e); if (skeleton != null) { tutoree.skeletonReady(e, skeleton); } } } }
public void initSoloForm(ArrayList addrList, ArrayList nameList) { _type = "Solo"; initCommon(); int doneCount = 0; // Load and set the song titles for (int i = 0; i < addrList.Count; i++) { string address = addrList[i] as String; string name = nameList[i] as String; _nameList.Add(name); SongTitles[i].Text = name; Processing.Audio.LoadFile(address); // Initlaize the wave form initWaveForm(waveFormContainers[i], address, delegate() { doneCount++; if (doneCount == _nameList.Count) { MainWindow.currentPage = MainWindow.freeFormPage; MainWindow.loadingPage.NavigationService.Navigate(MainWindow.currentPage); // Sets the current track & also plays it currentTrackIndex = _nameList.Count > 1 ? 1 : 0; Processing.Audio.Play(currentTrackIndex); } }); } // connected to gestures freePlayer = new KinectGesturePlayer(); freePlayer.registerCallBack(freePlayer.kinectGuideListener, pauseTrackingHandler, pauseChangeHandler); freePlayer.registerCallBack(freePlayer.handsAboveHeadListener, pitchTrackingHandler, pitchChangeHandler); freePlayer.registerCallBack(freePlayer.leanListener, tempoTrackingHandler, tempoChangeHandler); freePlayer.registerCallBack(freePlayer.handsWidenListener, volumeTrackingHandler, volumeChangeHandler); freePlayer.registerCallBack(freePlayer.trackMoveListener, changeTrackTrackingHandler, null); IsTutorialMode = false; }
public void initBuddyForm(string address, string name) { _type = "Buddy"; initCommon(); // Load and set the song titles SongTitles[1].Text = name; Processing.Audio.LoadFile(address); // NavigationService.Navigate(MainWindow.freeFormPage); // Initlaize the wave form initWaveForm(waveFormContainers[1], address, delegate() { MainWindow.currentPage = MainWindow.freeFormPage; MainWindow.loadingPage.NavigationService.Navigate(MainWindow.currentPage); // Sets the current track & also plays it currentTrackIndex = 1; Processing.Audio.Play(0); }); _nameList.Add(address); // connected to gestures freePlayer = new KinectGesturePlayer(); freePlayer.registerCallBack(freePlayer.kinectGuideListener, pauseTrackingHandler, pauseChangeHandler); freePlayer.registerCallBack(freePlayer.handsAboveHeadListener, pitchTrackingHandler, pitchChangeHandler); freePlayer.registerCallBack(freePlayer.leanListener, tempoTrackingHandler, tempoChangeHandler); freePlayer.registerCallBack(freePlayer.handsWidenListener, volumeTrackingHandler, volumeChangeHandler); freePlayer2 = new KinectGesturePlayer(); freePlayer2.registerCallBack(freePlayer2.kinectGuideListener, pauseTrackingHandler, pauseChangeHandler); freePlayer2.registerCallBack(freePlayer2.handsAboveHeadListener, pitchTrackingHandler2, pitchChangeHandler); freePlayer2.registerCallBack(freePlayer2.leanListener, tempoTrackingHandler2, tempoChangeHandler); freePlayer2.registerCallBack(freePlayer2.handsWidenListener, volumeTrackingHandler2, volumeChangeHandler); IsTutorialMode = false; }
public void initTutor(int index) { _type = "Tutor"; initCommon(); List<string> nameList = new List<string> { "Chasing Pavements", "Enough To Fly With You" }; ArrayList addrList = new ArrayList { @"..\..\Resources\Music\Chasing Pavements.mp3", @"..\..\Resources\Music\Enough To Fly With You.mp3" }; int doneCount = 0; myMediaElement.Visibility = System.Windows.Visibility.Visible; Instructions.Visibility = System.Windows.Visibility.Visible; Facts.Visibility = System.Windows.Visibility.Visible; Timer = new DispatcherTimer(); Timer.Interval = TimeSpan.FromSeconds(2); /* Timer.Tick += (delegate(object s, EventArgs args) { //Checks if the user has finished the task, and queues up the next task if (Tutorial.checkTask()) { Tutorial next = Tutorial.nextTutorial(); if (next != null) { showTutorialChooser(next); } else { showTutorialsFinished(); Timer.Stop(); } } }); * */ // Load and set the song titles for (int i = 0; i < addrList.Count; i++) { string address = addrList[i] as String; string name = nameList[i] as String; _nameList.Add(name); SongTitles[i].Text = name; Processing.Audio.LoadFile(address); // Initlaize the wave form initWaveForm(waveFormContainers[i], address, delegate() { doneCount++; if (doneCount == _nameList.Count) { MainWindow.currentPage = MainWindow.freeFormPage; MainWindow.loadingPage.NavigationService.Navigate(MainWindow.currentPage); // Sets the current track & also plays it currentTrackIndex = _nameList.Count > 1 ? 1 : 0; Processing.Audio.Play(currentTrackIndex); Timer.Start(); Tutorial.TutorialIndex = index; playTutorial(Tutorial.getCurrentTutorial()); } }); } tutoree = new KinectGesturePlayer(); tutoree.registerCallBack(tutoree.kinectGuideListener, pauseTrackingHandler, pauseChangeHandler); tutoree.registerCallBack(tutoree.handsAboveHeadListener, pitchTrackingHandler, pitchChangeHandler); tutoree.registerCallBack(tutoree.handSwingListener, seekTrackingHandler, seekChangeHandler); tutoree.registerCallBack(tutoree.leanListener, tempoTrackingHandler, tempoChangeHandler); tutoree.registerCallBack(tutoree.handsWidenListener, volumeTrackingHandler, volumeChangeHandler); tutoree.registerCallBack(tutoree.trackMoveListener, changeTrackTrackingHandler, volumeChangeHandler); IsTutorialMode = true; }
public void initSoloForm(ArrayList addrList, ArrayList nameList) { _type = "Solo"; initCommon(); int doneCount = 0; // Load and set the song titles for( int i=0; i < addrList.Count; i++) { string address = addrList[i] as String; string name = nameList[i] as String; _nameList.Add(name); SongTitles[i].Text = name; Processing.Audio.LoadFile(address); // Initlaize the wave form initWaveForm(waveFormContainers[i], address, delegate() { doneCount++; if (doneCount == _nameList.Count) { MainWindow.currentPage = MainWindow.freeFormPage; MainWindow.loadingPage.NavigationService.Navigate(MainWindow.currentPage); // Sets the current track & also plays it currentTrackIndex = _nameList.Count > 1 ? 1 : 0; Processing.Audio.Play(currentTrackIndex); } }); } // connected to gestures freePlayer = new KinectGesturePlayer(); freePlayer.registerCallBack(freePlayer.kinectGuideListener, pauseTrackingHandler, pauseChangeHandler); freePlayer.registerCallBack(freePlayer.handsAboveHeadListener, pitchTrackingHandler, pitchChangeHandler); freePlayer.registerCallBack(freePlayer.leanListener, tempoTrackingHandler, tempoChangeHandler); freePlayer.registerCallBack(freePlayer.handsWidenListener, volumeTrackingHandler, volumeChangeHandler); freePlayer.registerCallBack(freePlayer.trackMoveListener, changeTrackTrackingHandler, null); IsTutorialMode = false; }
public void initTutor(int index) { _type = "Tutor"; initCommon(); List <string> nameList = new List <string> { "Chasing Pavements", "Enough To Fly With You" }; ArrayList addrList = new ArrayList { @"..\..\Resources\Music\Chasing Pavements.mp3", @"..\..\Resources\Music\Enough To Fly With You.mp3" }; int doneCount = 0; myMediaElement.Visibility = System.Windows.Visibility.Visible; Instructions.Visibility = System.Windows.Visibility.Visible; Facts.Visibility = System.Windows.Visibility.Visible; Timer = new DispatcherTimer(); Timer.Interval = TimeSpan.FromSeconds(2); /* * Timer.Tick += (delegate(object s, EventArgs args) * { * //Checks if the user has finished the task, and queues up the next task * if (Tutorial.checkTask()) * { * Tutorial next = Tutorial.nextTutorial(); * if (next != null) * { * showTutorialChooser(next); * } * else * { * showTutorialsFinished(); * Timer.Stop(); * } * } * }); * */ // Load and set the song titles for (int i = 0; i < addrList.Count; i++) { string address = addrList[i] as String; string name = nameList[i] as String; _nameList.Add(name); SongTitles[i].Text = name; Processing.Audio.LoadFile(address); // Initlaize the wave form initWaveForm(waveFormContainers[i], address, delegate() { doneCount++; if (doneCount == _nameList.Count) { MainWindow.currentPage = MainWindow.freeFormPage; MainWindow.loadingPage.NavigationService.Navigate(MainWindow.currentPage); // Sets the current track & also plays it currentTrackIndex = _nameList.Count > 1 ? 1 : 0; Processing.Audio.Play(currentTrackIndex); Timer.Start(); Tutorial.TutorialIndex = index; playTutorial(Tutorial.getCurrentTutorial()); } }); } tutoree = new KinectGesturePlayer(); tutoree.registerCallBack(tutoree.kinectGuideListener, pauseTrackingHandler, pauseChangeHandler); tutoree.registerCallBack(tutoree.handsAboveHeadListener, pitchTrackingHandler, pitchChangeHandler); tutoree.registerCallBack(tutoree.handSwingListener, seekTrackingHandler, seekChangeHandler); tutoree.registerCallBack(tutoree.leanListener, tempoTrackingHandler, tempoChangeHandler); tutoree.registerCallBack(tutoree.handsWidenListener, volumeTrackingHandler, volumeChangeHandler); tutoree.registerCallBack(tutoree.trackMoveListener, changeTrackTrackingHandler, volumeChangeHandler); IsTutorialMode = true; }
/// <summary> /// Register gesture joint to specified point tracker. Needs to be used after load or initialize. /// </summary> /// <param name="player">Point tracked that supplies related data for this gesture.</param> public void RegisterJointListeners(KinectGesturePlayer player) { player.RegisterJoint(trackedJoint, this); registered = true; }