Sync Client for Desktop Players to sync ratings and playlists

Goal
Like many others I am a little bit annoyed about not being able to import the ratings I have assigned to my music tracks and my playlists into Plex. I want to build a simple commandline tool that interfaces with raw files / coding interfaces of popular players / directly reads the databases of these players and synchronizes them with the music library of a Plex user.

State
I have already started working on this in this repository, mainly relying on the on-official Python PlexAPI and the MediaMonkey COM interface on Windows. However it should be extensible to other players as well easily.
Currently I am able to interface with MediaMonkey and access track ratings and playlists. Also I can read the ratings of tracks from a PMS.

Help needed
I could need a hand in this in several regards

  • port this to players other than iTunes
  • how to use the API to change content of a user on a server that is not the admin / owner
  • other coders who would like to join me on github.
    Update: @smilerz has started contributing to the repo and is implementing a ton of features :rocket:.

I am referencing these feature requests:

And more general complaints / requests:

6 Likes

The first working prototype is ready: plex sync v0.1
Try it out on your own risk and submit any issues you find to the respective github issue page. Any help, contributions, etc. are very welcome :smile:

1 Like

with version plex sync v0.3 I finished a more robust version that also includes playlist synchronization. Any further contributions are more than welcome :smile:

1 Like

Hello, I’m brand new to Plex and this is exactly what I’m looking to do. Do you have instructions on how I can use this? Thanks

I just have updated the readme file in the GitHub repository. I hope this will explain how to use the sync tool. If the instructions do not lead you to the expected result, read about installing Python 3.6 and how to use pip.

I just want to thank you @martin_patz . I’ve tried your tool yesterday and after some initial hiccups it worked. Saved me a lot of time. Thank you.

For people having problems using this on windows, my findings:

  1. Python-Levenshtein is highly recommended! Speeds up process tremendously for large libraries. You don’t want to skip on this.
  2. If you have troubles installing python-Levenshtein on Win10 (compile errors), as I had, install the newest Visual Studio Community version first - installing the basics of c++ development (runtimes, sdk) was enough for me.
  3. Personally, I had to set up MediaMonkey as a DLNA server in MM options and choose “run as service” to get this tool to connect to my MM library. Not sure if it’s absolutely necessary though.
4 Likes

Hi

Thanks for your efforts. One question before I start trying: I fear I know the answer to my question already: Does PLEXMS need to be installed on the same system (i.e. Windows) as MediaMonkey, Python etc.?

I have PLEXMS on a Fedora-Server…

thanks

P.S. My guess is “yes”., which would be unfortunate.

no it does not have to be. You just need to know a URL:port where you can access it. But I guess you have that :wink:
Check out the help (--help flag) to see the options you have.

I see you have it listed in “Upcoming Features” but bi-directional sync would be very helpful!