Giter Site home page Giter Site logo

plex2sonos's Introduction

Plex2Sonos

What is it:

A Proxy Server that implements the Sonos Music SOAP API and forwards requests to Plex.

Why I did it:

I love Plex, I have all of my play lists stored on it and I have a Plex Pass which gets all this great metadata about the artists. I tried SubSonic, meh.. didn't really want to switch over to it just for music. Plus I didn't like how they did everything by directory name.

Where I'm at right now:

Well, it took about 2 hours to get one song to play through the system, but it was a total hack job. To actually get the browsing going, artwork, etc, it took some work. I have about a billion things left to do and I need to redo 99% of the code base. I've done like zero testing, hence no unit tests, hence the reason why I'm going to rewrite it.

What you can do:

Browse and play music.. no searching, but that is pretty easy to do.. no play lists.. again should be easy..

What I need to do:

Search Play Lists (the main reason why I did this) Dynamic Play Lists (Year, Genre, Etc) Plex Native Play Lists (Recently Added etc..) Auto Registration with Sonos Smart Updating of Plex2Sonos DB or think about just going against Plex, the problem is Sonos wants "Total Counts" of everything so it can do proper paging.. I don't think Plex API has that. I know there is an issue with mime-types being set incorrectly. Remove dependencies on Linq for navigating with SelectMany.. that has to suck with larger collections Add Unit Tests (Duh) Figure out why the F I can't get proper display on the actual track time and duration, and album art and artist name and album name.. I set it all (IOS App, I assume others as well) Shorten Key Names Add "Related Artists, etc" Dig Deeper into ExtendedMetaData Handle Multiple Music Collections Work with External Plex Servers?? Work with Multiple Plex Servers?? Look at Authentication for differnet local users, so you have different play lists.. Create, Edit, Delete?? Play Lists Favorites Ratings Scrolling Support Custom Icons for app Shrink Images for proper sizing on the fly Strings and Maps Caching options on Sonos Caching options with images..?? Add as Windows Service (should be easy) Port to Node Create a docker image and let this run on Mono before it gets ported.. Logging Exception Handling About a billion other things, but this is just a POC

What you need to do to get this to work (Compile it, .NET 4.6 and make sure you do it in release mode, DynamicRestProxy is slow in debug mode with or without debugger) Register it with Sonos http://:1400/customsd.htm

SID, pick anything, I took 249 ServiceName: Plex2Sonos EndPointUrl: http://:8888/Plex2Sonos Secure EndPointUrl: http://:8888/Plex2Sonos Pooling Interval: 60 Seconds Container Type: Music Service Auth: Anonymous (for now) Leave Strings and Maps empty.. I know what I need to do there..

Check the following (more to come soon) Extended Metadata (for MOAPI-based InfoView) Disable Multiple Account Support

Start the Console App, Add the service to Sonos.. Pray..

I'M NOT SURE IF THIS WILL WORK IF YOU DON'T HAVE PLEX PASS.. IT SHOULD BUT I HAVEN'T TESTED

plex2sonos's People

Contributors

aceven24 avatar

Stargazers

 avatar Joshua Wilson avatar James Treworgy avatar

Watchers

James Treworgy avatar  avatar Pedro Vieira avatar

Forkers

jamietre

plex2sonos's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.