If you’ve never used this app, which is part of punky suite, understandable because its quite purpose-specific. It allows playing music from nextcloud.
5 years ago (where has the time gone) we were already planning adding more music sources to musikilo like online streaming since that is what musikilo does already anyway, just from nextcloud, and long story short that time is now.
I’m going to do massive overhaul of the app by both decoupling ui from the backend and abstracting the sources. Decoupling ui because I’ll want to port all my apps to nemo in the future so if i’m gonna overhaul it why not prepare for it, and for abstracting the music sources, I am going to make a plugins structure.
What plugins am I planning?
1 - Of course first nextcloud to continue what musikilo was doing.
2 - Then I want to add mpd plugin, not for playback but just for controls because while smpc exists it erm… doesn’t look too good[1].
3 - I also want squeezebox plugin. Yes there also exists SqueezeR app but similarly to smpc it also doesn’t… erm doesn’t look too good.
4 - Fourth and probably the most exciting one for the person reading, spotify plugin. We were planning to add some streaming service and I was researching spotify while back and it looked painful. librespot seems to be quite straightforward, albeit its only for premium, i don’t know of any non-premium option that doesn’t require massive amount of pain.
Now to the challenges. Making plugins come with one issue, that you have to average all functionality, which often times limits the functionality A LOT (look pidgin). So to combat that I will add another tab in the ui for the plugin specific stuff. For mpd it can be switching outputs, for squeezebox it can be switching player, and for spotify… yeah did I mention i never used spotify nor I plan to?
The general idea for the ui is, the current files explorer/selector will be replaced with search. So that you can search in spotify, explore files or search library in mpd/squeezebox/nextcloud. It sure will have to be slightly customised per plugin but i think it won’t differ too much, search/file explorer is quite generic idea.
Then after selecting songs they land in playback queue where you can shuffle or loop or whatever.
Then you have the next/prev/play/pause/seek/info screen
Then you have the plugin specific page that i mentioned already
And lastly the settings page to configure plugins.
Now while i have fair idea what to put in the plugin specific settings for mpd/squeezebox i am not quite sure what spotify users need (as again, i never used it) so would be nice if interested users could drop what they need.
Also if you need anything else/have any ideas just drop a comment and perhaps it will happen?
[1][2] Common question will be “why don’t you just fix the ui instead of making your own”. I looked into that with smpc and it was such a mess that honestly making my own would be faster. Also i can either fix 3 apps or make my own that replaces all 3 apps and i think i know which option is better to maintain in the long run.