Funkwhale story :
we wanted to implement this but we agreed to first implement a link feature : https://forum.funkwhale.audio/d/355-link-to-tracks-that-arent-on-funkwhale/54
Have a proper way to get links can help the feature. But we forgot the initial goal which is describe here :
https://dev.funkwhale.audio/funkwhale/funkwhale/-/issues/639
A lot of discussion already happened around this. the main raised issues are :
- which third party services to support ?
- how to support them (youtube-dl or official api, other library) ?
I think there is various possible responses to these questions and a proper solution for me would be to build a plugin system that support every use case. Then people can implement what they want.
So this raise this questions : What are the need to listen third party content on funkwhale ?
Find the track
If we don't have a link we need to search for the track. Funkwhale will ask each plugin for a track stream source.
Play the tracks
Once we have the track audio source we can either :
download and save into db to avoid further requests
play a stream
-> funkwhale should allow both. Each plugin should choose one of the two methods
Regular updates :
Since api services can change, we need a way to update the plugin code fast. It would be best if plugins could be updated without having to do a funkwhale release. This is the main issue, we need to investigate what is doable.