- First meeting of the semester! (:
- Met with Ryan to go over project
- About using Spotify on the Jetson
- Went through the GitHub repo and pulled all the files
- Installed PuTTY, Xming Server, and PyCharm
- Went through the ReadMe and GitHub to gain a better understanding of the material
- Learned more about Open Sound Control, python-osc, and osc.js
- Wrote simple code to try and send information from JavaScript to Python and vice versa
- Went through librespot as a library to use for Spotify's service
- Only with Spotify Premium
- Using Spotify Web API to set the playback device to Shimi
- Played around with creating a headless Spotify Connect receiver using librespot
- Tried out different runtime options, but I figured I only need the basic device name, username, and password options to create the device that I need
- Looked at old python-librespot examples from here
- Starting out with example code was a good starting point for me with my project last semester, so I figured I would try doing that again
- Tried the playlists.py example
- Uses librespot to authenticate and spotipy to fetch metadata
- Couldn't use the python-librespot library, so went back to just using requests to get information from the web API without a library
- Got Shimi to display as a device active on my Spotify account
- Got both the list of devices on the account and the information about each player to print out into PuTTY
- Will continue to use web API endpoints to get information about devices on the account and playing/pausing music from Shimi
- Created a command line interface to play/resume and pause songs, set the volume, and get song information from whatever's currently playing on Shimi
- Currently, the search function could be a little better because it's kind of spotty about whether or not it returns the right song since I haven't included a part to search for the corresponding artist
- For future work, I want to continue implementing other available web API endpoints (shuffling, skipping, transferring playback between devices, etc.) and transitioning my command line interface into code that could be used in an app
- Also adding documentation to my code
- Added more endpoint functionalities (skipping tracks, setting repeat mode, setting toggle mode, etc).
- Trying to figure out how to fix current librespot problem
- Shimi will only play the first track that you search for; all subsequent searches don't work
- Added docstrings to all methods
- Cleaned up the code using pylint
- Got rid of the command line interface
- Turned all methods into class methods
- Got rid of some methods that only work with playlists (skipping to next/previous track)
- Still need to work on getting queue to work the way I want it to