feat(mpd): add support for a simpler audio player interface#34
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I realized that I've played around with using Plex for music and kind of hated the experience. It's not organized in a way that makes sense to me, didn't really have good options for playlists, blah blah. For the MVP of it all, it will be easier to start with a lil baby application that's very linux-native and has good python api support. It also has a fuller-featured sibling, Mopidy, that supports Spotify and YouTube integration, which will set this up nicely for those not-today-satan milestones.
MPD is dead-simple: dump audio files in a folder and go. This may not be as user-friendly for someone who doesn't want to ssh into their raspberry pi, but I figure anyone other than me doing things with this repo at the moment is comfy enough with that.
MPD Docs .
I also included very smol Mopidy support in this change, but it doesn't support the spotify/youtube stuff yet. That's in an analysis doc. Major concern is that Spotify and YouTube are effectively an infinite supply of Artists, Genres, and Playlists, so there's not a practical way to build a phone system off of their entire catalog. Instead, it would be limited to the user's local favorites and playlists. Genres might be easier on, say, spotify, since they have those "This is [insertGenreName]" playlists, but might put that off to later. MIGHT be able to hook into a search function that the phone system could enter single characters in at a time, but that seems royally awful, so I think we'll just...never go there.
A user would need to enter in their own Spotify and/or Youtube credentials, then the system could either pre-populate the phonebook with artists and playlists in that person's favorites, or use it to search (probably the first...).
When that feature gets addressed, it might also be a good time to introduce the idea of an area code to the phone numbers. I'm considering making the first 3 digits of the base 7 specific to the media type (ie. artist, genre, playlist) here, but if I let users have a multi-modal music library (local mpd, mopidy-spotify and mopidy-youtube) there'd need to be a way to distinguish those. Easy to put spotify and/or youtube in the main phone menu, but storing in the phone book will need a distinguishing key, whether it's just a "media-source" column, or an encoded "media-source" area code - I mean, they're functionally the same thing as far as data access, goes, the choice is really just to make things quirky on the user's end. 🙃
So anyways. That's way in the future stuff. And for now, I'm going to go with MPD as my MVP use case so I don't have to futz with Plex.