Thomas Lee
- This week, in close collaboration with Matt I updated the web app backend as well as the queue manager, began the lighting control application, and worked on general system integration to make sure our modules were collaborating properly. On Sunday I spent a couple hours with my team in the Hamerschlag lab integrating our systems, and was able to achieve end to end functionality for getting a song request (and song recommendation requests) from a User through the web app onto the main system, and then to the Spotify Web API to make a ‘Play Song’ query and finally to the bluetooth speaker audio output. This was demoed in our meeting this week. During the week I took the lead on adding the Likes & Dislikes user inputs on the web app, and tying it to the song data stored by the backend on the queue manager. The Likes & Dislikes is a critical feature as it drives both the recommendation system and the song veto capabilities: songs with more Likes are given more consideration by Luke’s recommendation service, and songs with low/negative likes downvoted by the majority are vetoed and removed from the song queue. I updated the frontend so that users could interface with this functionality and the data models in the backend, from which I accessed the song voting data on the queue manager. Attached below are some examples of the updated UI and the song veto/remove from queue functionality:
I also created and worked on the lighting fixture control module, as we received our DMX controlled lighting unit and DMX to USB cable this week. I started a new Maven project and wrote a test script utilizing the DmxPy library (ported over to Java for coherence) to toggle the different channels of the lights in a regular manner. This was done to both check that we could, indeed, control the lighting fixture via DMX signals generated by our own software program, and to begin the steps for a persistent controller microservice to continually operate the lights based on which songs are playing/on the queue. We were able to start and run a simple lights show off this lighting application:
[ video here ] - Our progress is on schedule. Our project now has the core functionality in place and the peripheral features are becoming fully constructed.
- Next week we hope to make more progress actually getting the lights to work properly and in sync with the queue and the data received from the Spotify Web API. We are also looking into some song start/stop timing mechanisms in order to for the internal system to know what song is currently being played by the Spotify Web API.