Rish spent most of the time this week re-designing the UI for our application. The new UI now consists of a gaze-based control ( this was due to the fact that the controller will be on the guitar for this application). There are buttons such as Manual, Autoplay and Start. If we look to the right there is now a select songs option which loads dynamically through a data structure. With this we kept in mind the need to be able to add new songs easily. Kirit improved the cursor based approach by adding a ray-tracer, helping accelerate the response time. One challenge while creating the UI was that there are no button elements in AR. So each additional button on screen is stacks with other plane and text entities. Rish had to also manually create the drop down menu and add event listeners to each of these “planes” independently. This was slightly laborious but seemed like the only good option.
This week Sam helped Rish make the UI functional and integrated the code with the existing code base. He modeled the sweet PRS guitar above to add some flare to the starting UI. Sam was also the actor and “model” for the demo video being edited by kirit. He played the music with GuitXR active while Kirit filmed dynamic shots.
Kirit cleaned up, optimized and Integrated the new UI and MIDI support this week. He fixed some raycaster issues and got the gaze-based menu to work reliably and support dynamically added songs. He also created a method for adding new songs with MIDI and chordpro support, and used it to add Seven Nation Army.
Kirit further worked with Sam to record footage of the application in action, and he then produced the final teaser video. This involved a large amount of audio processing and video editing.
Max wrote up a list of classic rock guitar songs with single-note melodies. Unfortunately MIDI tracks include a lot more of the performance than expected. This meant melodies were infested with chords and quick repeated tones that interfered with pitch recognition and forced almost the same amount of editing and hard-coding of practice sections as we had before starting on MIDI integration. This and chord recognition will be long-term goals as part of continued work on GuitXR.