Subsoniq (the app)

@JulienBlanc sorry these things are on you, afaics they all happen inside the .spec file.

Tell me when you’re done, I’ll bump the revision.

Done (outside screenshots, which i’ll need to add later). I also bumped the version to 0.2.

If you have a codeberg account, i think i can give you push access to the repo.

1 Like

@piggz Re-submitted the latest commit. Hope I did it right, I still sometimes feel like I’m winging it with OBS.

I also added the new (?) sailfishos:5.1 repositories, and they build, too.

Done.. You can now manage the app in chum:testing, then submit to chum when ready (current version is in chum already)

1 Like

Thanks again.

When did that happen? I’m not aware of submitting this to chum proper?

1 Like

I do that as part of the initial request … all future ones will be triggered by yourself

1 Like

You mean #19? Was that my initial request? No, you mean in build.sailfishos.org. I was so sure I requested chum:testing though. Did I mess up there?

You did … as part of initial submissions to chum:testing, we also then submit to chum ourselves

Are you saying it was your choice to submit it from testing to Chum proper straight away?

Yes, its standard process for the first submission, see GitHub - sailfishos-chum/main: Documentation and issue tracker for the SailfishOS:Chum community repository · GitHub

1 Like

If all is fine, the package will be promoted to the main sailfishos:chum repository by the SailfishOS:Chum maintainers.

Interesting, I did not know that. Well, now I do. Thanks again!

1 Like

One difference I see in the recently compiled Subsoniq on ohnonot’s webserver and chum:testing, that the emblems next to the page names in the pulley menu are missing.

(screenshot taken on a build I compiled from commit 6e67baede9 on April 23rd)

Was that an intentional change?

No, clearly not intentional. I guess the migration to cmake broke the resources path, need to fix that. Thanks for reporting.

1 Like

Now that the basics are working :tada:
I wonder if it would be too much work to enable caching? The app already creates ~/.cache/harbour-subsoniq, is there something in QML/Qt that would populate it as one listens? So that already listened songs don’t have to be streamed again, ideally so that offline listening becomes possible?

(I have never coded Qt, neither QML nor C++)

That would obviously need to be implemented at the C++ level. It’s clearly feasible, but would imply that i’m not busy finished other apps that i need to publish at the moment.

PRs welcomed, as always :).

1 Like

Yes, “enable” was wrong, “implement” is right.

I recently got a notice that my primary music store, Bandcamp, has started offering access through Subsonic clients, so of course I tested all three clients I found for Sailfish OS. Sadly, none of them seem to work for accessing Bandcamp.

Subsoniq doesn’t give an error, but simply shows an empty library.

What can I do to help debug this?

You mean this?

It refers to this API: https://opensubsonic.netlify.app/ but also admits that currently only 3 clients work, all of them such I have never heard of.

First step of debugging is to a) check that you have taken care of the preliminaries as outlined in the article, then b) start submusic from the command line:

harbour-subsoniq

And see what you see.

I have a bandcamp account, so i could debug that. But i won’t have the time to do it in the next few weeks, sorry.

Like ohnonot said, running from console may provide significant information. If it’s a quick fix i may find the time to make a release.

Also, does it work with clementine player ? AFAIK clementine’s subsoniq implementation works well with many servers.

No, Clementine does not work. It claims to be logged in, but doesn’t show any content. SubTUI works, Moosic seems to be streaming but no sound is heard, but that is a different issue altogether, Supersonic shows my artists, but doesn’t do anything more.
(EDIT: Supersonic works on a Windows machine)

Subsoniq gets an error when trying to fetch getIndexes.view. Trying to use Firefox or Curl gets me HTTP Error 500 for the same query (same if replacing the password/p parameter with token/t and salt/s).

[defaultuser@JollaC2mk2 ~]$ harbour-subsoniq 
[D] unknown:0 - Using Wayland-EGL
library "libutils.so" not found
library "libdmabufheap.so" not found
library "libbase.so" not found
library "libz.so" not found
library "libcutils.so" not found
library "android.hardware.graphics.mapper@4.0.so" not found
library "libgralloctypes.so" not found
library "libhidlbase.so" not found
library "libhardware.so" not found
library "libc++.so" not found
[W] unknown:0 - QObject: Cannot create children for a parent that is in a different thread.
(Parent is ResourcePolicyPlugin(0x729417beb0), parent's thread is QThread(0x5657800910), current thread is Player(0x56579c94f8)
[W] unknown:70 - file:///usr/share/harbour-subsoniq/qml/subsoniq.qml:70:2: QML DockedPanel: Binding loop detected for property "visibleSize"
[D] expression for script:257 - Warning: Slider.maximumValue needs to be higher than Slider.minimumValue
[D] unknown:0 - CollectionRootNode
[W] unknown:33 - file:///usr/share/harbour-subsoniq/qml/pages/SubsoniqMenuItem.qml:33:4: QML Image: Cannot open: file:///usr/share/harbour-subsoniq/icon-s-setting.png
[W] unknown:33 - file:///usr/share/harbour-subsoniq/qml/pages/SubsoniqMenuItem.qml:33:4: QML Image: Cannot open: file:///usr/share/harbour-subsoniq/icon-s-playlist.png
[W] unknown:33 - file:///usr/share/harbour-subsoniq/qml/pages/SubsoniqMenuItem.qml:33:4: QML Image: Cannot open: file:///usr/share/harbour-subsoniq/icon-s-artists.png
[W] unknown:33 - file:///usr/share/harbour-subsoniq/qml/pages/SubsoniqMenuItem.qml:33:4: QML Image: Cannot open: file:///usr/share/harbour-subsoniq/icon-s-search.png
[D] unknown:0 - "https://bandcamp.com/api/subsonic/rest/getIndexes.view?u=<myuser>&p=<mypass>&v=1.12.0&c=subsoniq&f=json"
library "libion.so" not found
[D] unknown:0 - ERROR
[D] unknown:0 - QJsonObject()