This PR aims to add shuffle functionality to Orchestrator and also deprecates usage of the CSV file by reading directly from Google Drive.
Shuffle:
Adds a 'Shuffle' button to the right of the 'Play' button.
When clicked it will randomly choose a song based on the ids provided from the Google Drive CSV. It will then continuously play random songs until stopped (a playlist of random songs is generated on click of the 'Shuffle' button which is then iterated through).
Some FFXIV songs repeat endlessly while some do not and only loop once (i.e. 'Victory!').
For songs that only loop once I found the pointer that I believe represents the games music buffer. I have added logic that skips to the next song when the buffer is no longer being written to i.e. when the first song loop ends.
For songs that repeat endlessly I have simply added logic to change song after 3 minutes. Future work would be trying to find in-memory where the flag to repeat a song is stored.
Shuffle can be toggled off by either clicking 'Stop' or 'Play'.
Google Drive reading:
Simply retrieves from Google Drive the CSV file for the song list and then parses it into memory.
Aware there is a WIP PR for this so let me know if you want me to take that stuff out.
Hi both,
This PR aims to add shuffle functionality to Orchestrator and also deprecates usage of the CSV file by reading directly from Google Drive.
Shuffle:
Google Drive reading: