[Feature Request]: Api Server - Next Song #3614
Labels
No labels
awaiting-reply
breaking changes
bug
cannot-reproduce
dependencies
documentation
duplicate
electron-issue
enhancement
fix-available
good first issue
help wanted
invalid
javascript
need more information
need rebase
official-youtube-music-issue
plugin request
question
release
security
stale
Status: blocked
typo
wontfix
ytmd-issue
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: YTMD/youtube-music#3614
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Preflight Checklist
Problem Description
I am Integrating YT_music with Resonite: Displaying current song info inside of the Platform and Playing the Song in a Session synched with Playback Position in the Desktop App.
For the Playback inside of a session i automatically put YT Link into a In World Video Player and Sync the Playback Position to all other Users.
Sadly loading YT Videos in Resonite Takes a few seconds longer than in the YT Music App which causes the Start of the Song to cut off.
I would like to be able to preload the nex song comming up to minimize this issue.
i know that i could use the output from /api/v1/queue by looking at "selected": true, but parsing all the data in /api/v1/queue trough the visual coding Language in Resonite is a pain (well JSON parsing is a pain in general)
Proposed Solution
adding a Api endpoint that returns the next song in the current queue. maybe even better would be if one could specify a relative Index to the current playing song (ie: -1= previous song, +1 = next song and so on)
Idealy this would return moast of the information that /api/v1/song provides. (without "is-paused" and "elapsed-seconds")
Alternatives Considered
Manually parsing /api/v1/queue and generating the queue as slots in resonite to manually get this information
Additional Information
Visual of the integration Manager with all the Data and controls at the bottom and at the top a video Player that gets the currently playing Song Url and elapsed Seconds
The reason YTMD returns the queue data "as-is" is that YTM's queue behavior keeps changing unpredictably. The data structure might suddenly change one day, or the behavior may differ across user accounts due to A/B testing. Therefore, to make maintenance easier, we decided to return the queue data as-is.
However, this decision does not mean that we won't implement the API you suggested. (We are reviewing the suggestion positively)