Author Topic: Subsonic Client  (Read 146270 times)

retrofan01

  • Jr. Member
  • **
  • Posts: 32
Thanks, hope it can be implemented. I'm also currently having trouble playing FLAC files using the plugin but will post in further detail on GitHub.

MiDWaN

  • Jr. Member
  • **
  • Posts: 78
I have a few things I was working on, that would improve the situation a lot. But unfortunately I also have other projects I need to maintain, and there's only so much spare time to use up... so this got delayed, but not forgotten.

MiDWaN

  • Jr. Member
  • **
  • Posts: 78
I've pushed v2.9 out of beta, since it's been sitting there for quite a while now.
No major changes in it, just lowered the API requirement to v1.11 so that it can work with Ampache installations as well.

MiDWaN

  • Jr. Member
  • **
  • Posts: 78
Small update: v2.10 is out, introducing support for LibreSonic server installations (the responses from LibreSonic API use a different namespace and were not recognized as valid Subsonic servers from the plugin).

evil_mani-mani

  • Newbie
  • *
  • Posts: 10
Great plugin, there's not really any decent windows Subsonic clients so this is great. Question though, I don't see an option to browse 'starred' or top rated tracks or albums. How feasible would this be to implement in the tree? While I'm wishing for things as well, perhaps a way to 'star' tracks from within MusicBee? Cheers!

boroda

  • Sr. Member
  • ****
  • Posts: 4595
subsonic server sends only some basic tags to client: artist, title, album and some others. even album artist is inaccessible. not to speak about rating.

evil_mani-mani

  • Newbie
  • *
  • Posts: 10
subsonic server sends only some basic tags to client: artist, title, album and some others. even album artist is inaccessible. not to speak about rating.

That might have been the case years ago, but every modern client I've used (DSub, play:Sub, Jamstash, the official android client, etc) all support these features. There's API calls for getStarred, star, unstar, setrating, etc. (http://www.subsonic.org/pages/api.jsp). So it definitely doesn't look impossible.

boroda

  • Sr. Member
  • ****
  • Posts: 4595
That might have been the case years ago, ...
maybe you are right, i investigated this question 3-4 yeas ago.

kazak

  • Newbie
  • *
  • Posts: 1
I want to import my ratings from one MB library (let's call it MB1) to another that uses the subsonic client (MB2). Since subsonic doesn't support track rating, I will have two local copies cached in MB that I will have to sync manually.

I think the most straightforward way to do this is to import the itunes xml that is export from the MB1 library to MB2 once the subsonic library is added to MB2 (so it updates the ratings and playcounts, not the file locations which aren't available to MB2 network). I successfully installed the plugin, added all of the files from subsonic 'drive' to the MB2 library, checked the setting to automatically generate an itunes library xml.

Then in MB2 I clicked import library from itunes xml (selecting MB1 library using local files) and it added all the files again but with an error that the file couldn't be located. This is because the MB1 library used the files locally and MB2 using subsonic cannot access them. I deleted the duplicates and then I instead modified the MB2 library xml to include ratings. Once the MB2 xml had added ratings from MB1 xml (and a new name so it wasn't overwritten), i retried the import from MB2 and it read the file but nothing happened. It seems that if the location is subsonic, it won't add the track update the rating to my library. I made sure it wasn't how I modified the xml by just changing the existing rating of one track and trying to import it. Nothing. Is there a better way to do this or get this to work?

Boullie

  • Newbie
  • *
  • Posts: 1
Awesome work Dev's!!!
Thank you so much for making a plugin that properly works, over internet! :)
I used to have a commercial package to connect to my subsonic server, yet that dev took down his website and apparently the application checks everytime if your serial number is still valid: hence, back to trial which doesn't have any decent functionality.

This plugin is much better than the other application originally was, so I'm sticking to this one!

However, something I cannot seem to find is a way to download the database again?
My subsonic database gets updated daily and it seems as if the plugin just remains to use it's cached database, even after an update was done on server level?

How can I update the database?
I did notice that when I delete the subsonicCache.dat file, that musicbee will download the database again, but I cannot seem to find a way to update the subsonic library data from within musicbee.

MiDWaN

  • Jr. Member
  • **
  • Posts: 78
Hi all,
I've just pushed a new version out: v2.12.

Changes since the last version:
- Fixed bug where tracks would be incorrectly shown as Directories in some configurations
- Weaved assemblies into one file for ease of installation (now everything regarding this plugin is included in mb_Subsonic.dll)

You can grab it from the official Github repo: https://github.com/midwan/MB_SubSonic/releases

I'll also upload it on the Plugins page of MusicBee.


Note: Kindly open any requests, problems or bug fixes as Issues on the Github page. That's what I normally track and get notifications for, posting it here on this forum does not guarantee I will read it in time.. ;)

jalabulajunx

  • Newbie
  • *
  • Posts: 8
@Steven - There is currently (or at least for some time) that from MusicBee v3.1 onwards, a user is unable to retrieve the Playlists from Subsonic servers. The last version it worked was on v3.0.6132. I did some digging on this based on the issue reported here, and I was able to reproduce. I did debug the plugin and its versions against MusicBee's version to verify that it is the issue. Looks like somewhere along the way v3.1 did break the playlists portion. The calls never hit the below code.

       public KeyValuePair<string, string>[] GetPlaylists()
       {
           return Subsonic.GetPlaylists();
       }

I am trying to help @Midwan to clear some of the issues posted on his plugin, and thought I could tackle this and another related issue on creating playlists from MusicBee. Looks like we would need your blessing in resolving both the issues.

Please do let me know how I can help you with this.

Thanks.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34312
you will need to send me the MB API calls - the section of code you quoted is purely related to the subsonic api

in terms of playlist creation, thats been supported for a very long time (Playlist_CreatePlaylist). Perhaps the plugin is using a very old version
https://getmusicbee.com/forum/index.php?topic=1972.0
Last Edit: April 13, 2018, 06:47:44 PM by Steven

jalabulajunx

  • Newbie
  • *
  • Posts: 8
Apologies for the late response, @Steven, for some reason I did not get a notification on your reply.

I am not sure a MB API call is used. I believe you had made specific changes to MusicBee application to directly call certain functions on Subsonic Plugin - GetFolders, GetFiles ... GetPlaylists. Looking at the CallStack - I see calls coming directly from MusicBee and not via the delegates. Not sure if I am missing the delegate to the function call, though.

I compared the v3.1 MusicBeeInterface.cs against the one inside the Plugin. They are one and the same.

jalabulajunx

  • Newbie
  • *
  • Posts: 8
@Steve - Following up on this question. Can you please let me know if there is something from your side that could be done?