turbowookie / turbo-wookie

Turbo Wookie Project. Because Turbo Wookie
http://turbowookie.github.io
BSD 3-Clause "New" or "Revised" License
9 stars 2 forks source link

Remove MPD Dependency #35

Open sleepdeprecation opened 10 years ago

sleepdeprecation commented 10 years ago

At present, Turbo Wookie is reliant on MPD (or, potentially, some other backend streaming service). While this gives us some flexibility in how music is output, using a pure Go solution that's bundled with Turbo Wookie is probably a good idea.

What's Not Good About MPD

MPD is an excellent product that does exactly what it says it does, and most of what we want it to do, but there are a couple problems with using it:

Mostly MPD is a little large for what we want, and setting up is kind of a hassle.

Thoughts on building our own streamer

The main issue is that we haven't done it before, and don't really know where to start. Arguably the main reason we didn't do this from the start was that we didn't have the time to properly write a good streaming service (or even audio player), and we were more interested in having a working jukebox that streamed than having our own streamer.

Additionally, Go may not have the libraries to play audio, or stream audio over the network. If that's the case, we'll have more work than originally thought.

sleepdeprecation commented 10 years ago

We may be able to use something like PortAudio (go library). It seems to be an includable library, but this requires further investigation.

mpeterson2 commented 10 years ago

I think MPD is the biggest turn off of Turbo Wookie, as it is a pain to get setup if you don't know what you are doing, so I definitely agree with this issue.

PortAudio could be really nice if what I'm assuming is right. From what I've seen so far, it looks like you just download their code and the go library, and we can use it. It doesn't seem like MPD where we have to rely on the user to go through the hassle to install.

sleepdeprecation commented 10 years ago

That's what I'm hoping. I haven't really had the time to look into it more yet.

My thoughts right now are to just make a music player in Go, and write it in such a way that it can be coupled in with Turbo Wookie with minimal fuss.

mpeterson2 commented 10 years ago

This is kinda related, but another thing that would be cool is if we could play music from other sources like Google Music, Spotify and whatnot as well.

sleepdeprecation commented 10 years ago

See https://github.com/mopidy/mopidy

It's still technically MPD. But it might be easier to use/give more source options.

mpeterson2 commented 10 years ago

Sounds interesting. Still requires MPD though. This is probably just because it's a pain to install on Windows, but they mention that it runs on Mac/Linux, but not Windows, so that could be an issue.

I think going away from MPD would be best though.

Edit: Just noticed it says vanilla Mopidy uses MPD and that other backends could be created using plugins. I'm not really sure if that adds any more value to us since we'd still have to write the backend.