Musikilo v2 - a complete overhaul

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.

14 Likes

Okay so musikilo v2 has been released and here are the news:

Entire codebase has been overhauled and I’ve added mpd and squeezebox plugins. I ended up not adding spotify plugin cause I was bit tired of working on musikilo, and I wouldn’t use it and spotify is not a nice company. Hutspot with newer librespot works so there’s not much need

Also as to mpd/spotify/squeezebox plugins. Yes I know that smpc and squeezer exists, i even used smpc code to create mpd plugin. Difference is that, musikilo does not implement all the features, just the features I care about. For example I don’t use library, i just use directory listing to play all the files. So you cannot search, you cannot list by artist or whatever. If you want full functionality I encourage you to use squeezer and smpc, but if your requirements match mine, as a simple remote, you can use musikilo with all in one place.

Also musikilo doesn’t generate much interest even with those 3 plugins so motivation to add spotify or anything else (gregguh made me icons for spotify/deezer/tidal for fun) but If you think i should add for example spotify remote (not running librespot just a remote) well then, this topic has plenty of space for replies. But spotify would be quite difficult to implement cause essentially i would have to add search (which is not impossible) but people might simply not like limited functionality hence hutspot is there.

So yeah tell me your thoughts on this update and if you haven’t tried it plz try at least if you have nextcloud/mpd/squeezebox

4 Likes

Thanx @Mister_Magister I haven’t used Musikilo so far. I had my music always offline on the device. On the other hand it maybe makes sense, to just keep SOME music on the device and play the rest from my nextcloud to save space on the device. A first test shows, that Musikilo is connecting fine and plays well. It looks nice as well. I will test further and will decide, if it is useful for me. In any case thank you very much for this app.

1 Like

You can also run mpd on the device and control it that way lol

MPD is more for the local network, or?
I don’t use my phone at home for playing music or better to say I use it but just as remote control. I use kodi on a small PC with an optical output. Sound processing is done by some specialized equipment. Files are lying on a separate samba server.

Doesn’t have to be. If you have music on your phone it can be entirely confined to your phone.

That’s precisely my usecase, and thats why I added mpd and squeezebox controls

See that’s very similar to my setup. I have server hosting music over nfs, with nextcloud on it (my music is stored on nextcloud) as well as mpd server. And on my HTPC(and pc) I have mpd satellite setup, that connects to the mpd running on the server and streams music files and has better control over audio than kodi. Thats why I added mpd to musikilo so that i can just sit down and have remote for mpd instead of using my computer. You should try that!

1 Like

Just a stupid question, but would the Spotify implementation meant that Musikilo can be used as native app for Spotify? I would sign in using my Spotify account and play music through Musikilo?

no, it would just control spotify players. But if you also run librespot then it would basically achieve that but you can do the same currently with hutspot

2 Likes

I have to look in to these options when I get the phone to play with. Currently I am just nodding here like I had some glue what librespot or hutspot are :sweat_smile:

1 Like

https://openrepos.net/content/wdehoog/hutspot

https://build.sailfishos.org/package/show/home:b100dian:rust-packages/librespot-git

hutspot is spotify remote, librespot plays audio from spotify

2 Likes

Amazing, can’t thank you enough!

you can do so by joining my telegram group lol

Then, it is nice to see that there is support for more then nextcloud audio player. That means there is is a chance for more users than 2 :), at last.
Spotted flaws for mpd plugin:

  • there is missing mpd playlist load (from library, as advertised but still)
  • there is missing default option for plugin, after app restart I have to tap the plugin to connect (even there is only one)
  • if playlist is longer then screen space, start playing resets playlist view to the beginning, instead of keeping focus on selected one.

Great that there is an alternative for SMPC(it looks very good for me :wink: ) but Musikilo must have at least one feature to prompt me to tap Musikilo instead of SMPC. Now, there is no reason to do so. I keep my fingers crossed for Musikilo.

I’m not 100% sure, but I think that @vlagged is working with the chum version of hutspot and not the openrepos version: Show sailfishos:chum / hutspot - SailfishOS Open Build Service

what do you mean? it loads just fine. Or do you mean playlists in general? yeah thats missing (cause I don’t need it)

yeap was thinking about adding it but its better this way in case it errors our. maybe i’ll add it later

oh interesting

That won’t happen. Like i said if you want feature completeness use the smpc/squeezer. musikilo just provides everything in one place with very nice ui for me thats why i click on musikilo (and it uses less resources)

I mean playlists that are in directory that is defined in mpd.conf as “playlist_directory”. In Cantata “mpd player” you can see them, create and edit in “Playlist” tab.
In Musikiulo “File List” tab is empty(only with inactive two lines with 2 dots)

oh yeah i’m not listing playlists

What is your telegram group called?

https://t.me/SFOSFanclub

nice to hear that somebody is still having squeeze boxes at home.
former squeezeserver aka logitech mediaserver and now reborn as lyrion has a nice tidal plugin btw.
and tidal is a bit nicer company as spotify, as they pay factors more on streams (still cents but factors more)