Some background info so the following makes sense.
For Wiphi I currently store the information about my ogg files in a database and have a Web app that streams the music to MPD (or any player that can handle streams, I also use that setup for playing music on the PC upstairs too).
I was chatting to the developer of MPD on IRC recently, trying to explain my project and he couldn’t understand why I was streaming the music from a remote server, when I could just use Samba and let MPD handle the music database and playlists. I couldn’t understand what he was getting at and we were both completely confused.
His suggestion though did get me thinking and I realised my way of doing it was over-complicated. However, that in itself is not a reason to change, after all, it’s my project, and I can do it how I like.
But, I couldn’t shake the thought that I might be going about it the wrong way.
Then I realised the source of the confusion. He thought I was writing a front-end to MPD. And I was in fact only using MPD as a player. I was ignoring half its feature-set.
I was busily writing a system that would be useful to one person, me. When I actually had the chance to write something that could be useful to many people. Once I realised this my opposition to his suggestion crumbled.
So, I am going to re-work the project. It’s going to essentially be a LCD/remote control front-end to MPD. It will still have all the functionality I originally intended, but it will actually be useful to other people too.
Hopefully it won’t involve too much new code.