[PLUGIN] Volusonic

Solved!

http://ip-address:portnum

Gday, Is anyone successfully using volusonic with the lastest edge builds of airsonic-advanced? I cant get it to authenticate. Of note is that my airsonic server now requires me to put /airsonic at the end of the url or I get a tomccat error. Other than that, its working fine.

:+1:

didi you try to add /airsonic at the end of the server address in volusonic then?

contextpath is set correctly now (dsub works fine) volusonic will browse library but will not play music. Spotify/web radio works fine. nothing in airsonic.log. Any iseas?

OK, heres whats actually happening: 1. reboot airsonic, 2. play a song. I i just let it keep playing the playlist it seems fine 3. pause and play another song, song starts and (maybe) plays. 4. skip to song without pausing, song and all future songs will not play. Whats going on? Upgraded to latest airsonic-advanced 08/09.

is anyone listening? can definitely reproduce this over and over again. and its only using volusonic, other players are fine. It should be noted that the server that airsonic-advanced is running on goes to 120% cpu usage, so I suspect volusonic is throwing some non-compatible call to it. Where do I even start to debug this? Heres something from the airsonic logs.

value: null | New value: Stadium Arcadium
2021-09-12 17:33:44.646 ERROR --- o.a.p.s.LoggingExceptionResolver         : 192.168.1.26: An exception occurred while loading http://x.y.com:5150/rest/getCoverArt.view?id=undefined&size=400&v=1.10.2&f=json&c=volusonic&t=<hidden>&s=<hidden>&u=<hidden>

java.lang.NumberFormatException: For input string: "undefined"
	at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) ~[na:na]
	at java.base/java.lang.Integer.parseInt(Integer.java:660) ~[na:na]
	at java.base/java.lang.Integer.valueOf(Integer.java:991) ~[na:na]
	at org.airsonic.player.controller.CoverArtController.createCoverArtRequest(CoverArtController.java:163) ~[classes!/:11.0.0-SNAPSHOT]
	at org.airsonic.player.controller.CoverArtController.handleRequest(CoverArtController.java:114) ~[classes!/:11.0.0-SNAPSHOT]
	at org.airsonic.player.controller.SubsonicRESTController.getCoverArt(SubsonicRESTController.java:1985) ~[classes!/:11.0.0-SNAPSHOT]
	at jdk.internal.reflect.GeneratedMethodAccessor234.invoke(Unknown Source) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:567) ~[na:na]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.8.jar!/:5.3.8]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.8.jar!/:5.3.8]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.8.jar!/:5.3.8]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.8.jar!/:5.3.8]

It’s probably tracks with no cover art.
Please update to 2.0.1

cheers. 1.23 is still showing as the latest for me in the volumio plugin installer

@foobarjo 2.0.1 of what software?

The PR for volusonic will be merged in a few days, sorry for the convenience and please be patient.

That said, airsonic and airsonic advanced should provide a default coverart for anything they provide and present it for each object in the API. This is kindly not to the client to deal with that.
That’s what subsonic do.
That’s what all other subsonic API implémentation do.
(Ampache, navidrome, etc…)

You now should be able to upgrade to 2.0.1, the PR has been merged.

Hi Foobarjo

I am still very happy with volusonic, which I use extensively!

I have nevertheless noticed a strange behaviour: sometimes (i.e not always), the tracks of the album I chose are duplicated, which means that I see, in the queue, Track1 three times, Track2 three times, etc… And, of course, all these tracks are played… So, the full album is played 3 times…

Here are some comments/remarks on this:

It can be also “two times” (i.e twice). I have never seen more than 3.

It this happens, it applies to all the tracks of the album. Either 3 or 2 for all tracks, but never mixed.

I always listen to albums as a whole, I never listen to tracks individually.

It seems to me that it happens only when I use the “random” selection: using volusonic, I ask for “random albums”, and I choose one in the list.

If I do the same directly in subsonic (with a subsonic client, apart from volumio), it never happens (at least, I never saw it)… Only through volusonic, and only when using random access.

Would you have an idea of the cause of this? Or how should I proceed to understand the issue? What should I do when it happens?

Software versions:
Volumio: 2.917 (on RPI3)
Volusonic: 1.2.3
Subsonic: 6.1.6 (runs on Raspbian / RPI4)

It is not a major issue… Thanks for your help

  Denis

Hi,

I may have the beginning of an explanation.

Some of my albums can be accessed through different ways in my DB. One “hard link” way, which is the path to the directory in the file system, and sometimes several (2, 3 at least) “soft” pathes, which are symlinks. It seems to me that these albums are the one which are “duplicated”. The album is present only once, but additional symlinks can be used to reach it.

Using subsonic direclty, if I use the “random” view; I click on the album and play it, no problem, it’s played ony once.

Using volusonic, when I select the album in this case, it may be duplicated, as I explained before. Would there be a parameter in the subsonic API which is not properly set that could be the cause of the problem (something like “fetch only unique reference”, or similar?)

Denis

Thanks for all your hard work with this foobarjo

Can I ask whether you’re looking to update the plugin for the buster version, as that will decide whether I give it a go.

Many thanks

Hello Denis,

I’m glad you like the plug-in.
I’m sorry but as far as now, I wasn’t able to reproduce the bug. I will try to make some symbolic links in the next few days. My thoughts are on a subsonic behavior more than the plug-in but we will see.
Could you give a try to Navidrome just in case?

The buster version is already on his way and should, let’s hope, be published soon.

Hi Foobarjo,

Thanks for your help. If needed, here is an example of the symlinks I use, for one album:

  • the “hard link path” to the “album directory” is this one:

flac/Classical/03-Baroque/JS Bach/Clavecin/Skip Sempe/Skip_Sempe-Bach_Tradition_Transcription

The tracks of the album are in this repertoire, and only in this place.

  • there are two symlinks to this path, in two steps:
  1. one symlink to the “hard link”

flac/Classical/000_NEWS-2021/Skip_Sempe-Bach_Tradition_Transcription → …/03-Baroque/JS Bach/Clavecin/Skip Sempe/Skip_Sempe-Bach_Tradition_Transcription/

  1. one symlink to the symlink:

flac/Classical/000_NEWS-2021/2021-11-03-Skip_Sempe-Bach_Tradition_Transcription → ./Skip_Sempe-Bach_Tradition_Transcription

They are all built this way. I keep only these symlinks for the last two years (2020 & 2021). So all the albums in my DB which are recent are referred this way.

Therefore, all albums which are older (2019 and before) don’t have the symlinks.

As far as I see, I have the duplication problem only for the albums which have these symlinks.
But using directly a subsonic client on these albums (i.e not in volumio), the problem is not present.

And again, it’s only when selected through the “random album” item that the problem appears.

Hope this helps.

Denis

Hi Foobarjo,

I had a look at Navidrome, but did not install it yet. The thing is that my Subsonic server is used by several people (including me when I’m away…) to access to my music. So, switching to Navidrome is not immediate.

Anyway, I have made some more tests, and I have some confirmations. The issue appears also with the “search” function, which makes it much easier to test.

Let’s assume that I have an Album called Album-X which is “duplicated”, ie not really duplicated in the file hierarchy, but accessed by one “natural” path and several symlinks.

Now, I have 3 possibilities to search this album:

  • using a web client to subsonic (i.e NOT in volumio), if I “search” this album, I find several instances of this album with the same name, which looks fine. Each album contains all the tracks, of course, but only once: (track01, track02, track03?..). That’s normal. If I choose to play one of these albums, it will play normally. Let’s say that this Album-X is duplicated at the “album level”, which is OK.

  • using volusonic, it I search the same album, I find it only once (!), and this “album” contains duplicated tracks, like “track01, track01, track01, track02, track02,…” and so on. Son same behaviours as for random choice. In this case, it seems that the album is duplicated at the track level, which is not so fine.

  • now, using another “standalone” volumio instance, which is connected through USB to a copy of the server’s HD, so eveything is in the “Music Library” (ie. not in Volusonic). If I issue a “search” for my Album-X in the volumio web-UI, the Album appears only once (!), the tracks are duplicated, but not in the same way. I find: “track01, track02,…,track01, track02,…”. So again duplicated, but I will listen to the same albums 3 times in a row.

I think the issue is not in subsonic, because subsonic clients are OK. So switching to Navidrome may not be the solution. The issue seems to be in volumio and there is a similar issue in volusonic.

I could describe the problem in the “Help & Support” thread, I’m not sure I will have a solution.

Thanks for your help.

 Denis

Hello Denis,

I have run some tests and what you face is normal behavior.
Their is two ways to talk to a subsonic server. The original (older) way, relies on physicals (and symbolics) files and paths on the drive, the second (newest) relies on the ID3 tags presents in the music files.
You probably use the default volusonic setting wich use the second, newest and smarter way to get music metadatas but since it’s file path independant you got those duplicates.
You can use the old way by deactivating ID3 in the plugin settings. You will have duplicates on the album level the way it is on your file system, and the way you want them to, but be aware that the naming of the albums and tracks will relies on how it is on your file sytem and may be less precise and accurate.