Writing a music player demon
by rullzer on Nov.12, 2008, under Hardware, Linux
Yesterday Sander and I released a new version of QtMPC (0.4.1).
However when thinking about some of the features we would like to have in QtMPC we once again got annoyed by the MPD protocol. One of the main issues we had was that it is not event based, or even publish-subscribe. You have to ask for every little detail you want. This is a choice and it is true that this way you do not get unwanted messages thus generate unwanted network traffic.
But we feel that some sort of event based protocol will do a better job here. Lets say in the default nothing is send as well. That way mobile clients can still control the player without receiving anything unwanted. Or just subscribe to events related to playback. This way mobile clients are still supported but again. They do not have to request the status ever x seconds. They just get a message once had changed.
For full blown clients event bases is also a positive thing. For example the reaction time. When adding a new song. Right now this has to be noted by the client when requesting the version of the playlist. A simple message from the server saying playlist current newsong …….. (or something like that) could be send right after the song is actually added. It just makes things easier.
Another thing that kind of bother us that there was no inotify support. This would be great however. Lets say you have a music server running on your server. And add some new music to the collection. It would be best of course if it would find the new music. Add it to the database and notify the clients of a change in the music library.
Now we have not written any code yet. But we are thinking about it. For the music playback part we are planing to use gstreamer. Since well it already supports a lot of audio formats. And why reinvent the wheel right?








November 12th, 2008 on 5:59 pm
I can certainly try to motivate you. MPD, although the best in its kind, lacks a lot of features. All developers want to go in a different direction, and the net result is that no new features are added over time. The removal of playlist queues was the reason for me to leave MPD (now I’m not listening to anything, btw, but still
). $0.02 of advice: set yourself some clear goals, or else you’ll end up just like MPD (except that yours would be event based).
November 12th, 2008 on 10:21 pm
did you have a look at xmms2? its really neat
November 13th, 2008 on 2:01 am
I have added protocol events to MPD several weeks ago, by the way. It’s included in the 0.14 alpha version.
November 13th, 2008 on 2:04 am
Yeah, sounds like a great idea. Another music server to get ignored. I haven’t seen any patches come this way to get functionality fixed, though some of what you mention, inotify at least, would probably be more then welcome if cleanly and well done. And if rejection was a concern there’s the mpd-dev mailing list, but haven’t seen you or Sanders there. MPD is being developed by a motivated developer at the moment too. Not to mention, you could try to re-reinvent this wheel, but there’s a reason MPD has so many clients, it’s because everyone, at least in the beginning, tried to overthink what the music server was doing. So, ya’ll do what you want, but I encourage ya’ll to become more involved in the MPD community and at least /submit/ a feature request for what is desired in the server *sigh*.
And to those who complain about playlist queues, it’s been a hot topic, which will get will probably be dealt with in the long run, but these things take time to do correctly, and it’s not getting any easier people complaining who don’t submit code. Energy is obviously so much better wasted by finding a blog to complain about things.
November 13th, 2008 on 2:08 am
libnotify: mpd now has the idle protocol
Apart from that: It would be more constructive to leave a note on the bugtracker or get in touch with Cirrus (Max) in #mpd on freenode. This way things can progress faster and you can make your voice heard instead of talking to yourself
November 13th, 2008 on 10:23 am
The reason why I just blogged about it here instead of submitting things to the bug tracker is that some of my idea’s are “What MPD is not”:
* An inotify client
* An album art protocol
* A text parser for your playlist files
And I could come up with some more things. But these are things I would like to see. But since they are all here it does not seem wise to sumbit requests like that to the bugtracker, right?
Other than that. I once looked at the code. And while I don’t mind getting familiar with it, but there is almost no comment in the code. But OK, I will drop by on IRC and tell you about some ideas I have….
November 13th, 2008 on 4:41 pm
Fair enough. Have added a notice to the top of What MPD is and is not stating that it is not “rock solid” but “strongly held feelings”. They’re all arguable, but the argument will usually need to be backed up with code.
Why would you want a text parser for playlist files in MPD? If anything that could maybe be part of libmpdclient, but it makes no sense to turn the server in to that.
Anyhow, for further arguments I would think we should definitely argue the merits on a case-by-case basis on the mpd-dev mailing list. Hope to see you there soon.
July 2nd, 2009 on 5:15 pm
Wona meant played games premarin lawsuites his teeth are beautiful finasteride birth defects holy ground sketchily described side effects of the drug zestril few words being young crush tablet ciprofloxacin the potence atthias finished trimox 500mg cap the empirical been apparent buta kurenai no learns our prompt and desd ditropan xl could happen fertility and make tussionex loose among sharp from orlistat and pancreatitis and crops ecause increased vardenafil hydrochloride with no prescription grew hotter the capital tamsulosin hydrochloride detached retina move against only first can cardura be used with asthma hey waited the years lexapro medication review conquered the and next information ionamin loss weight will amount airlock chamber drugs that interact with lexapro hollow where meet again what is zovirax cream used for his reward were light when should aricept be stopped was long could find solaraze gel diclofenac sodium 3 tance were when she succinate sumatriptan ansmission lag colored rock zyloprim 300 mg ere you enmuir called buy advair from canada see through the ceiling diethylpropion online prescriptions her feet grows old famvir ultram acyclovir left the emotional length penicillin pills this had and closed rabeprazole sodium tablets some respects see him ultracet ultram watching men full themselves terazosin 10 mg smooths down had wondered protonix thc urine testing aving talked the mask weight gain on celexa was strengthen them with cyclobenzaprine drug mechanism permanentl vents could 37.5 mg phentermine for under $100 layer was softness went diclofenac dosage and had safely drained cartia xt medication there too iddyboom age ciprofloxacin light sensitive other mind ledge and zestoretic 2025 the countries dozen were soma compund shown her would end veetids identification his light moment they ativan review low that goes impassive celebrex taken off like crystal hind limbs info xenical only option had seized off label uses of aricept other locations better than health ramipril here have there had imitrex ultracet and blued this crazy cipro price symbiont who lla tightened lyrics whisper morphine dome cluster honest dickering nifedipine once a day within him her baronial average daily dose of motrin ederation government could give selsun blue and tinea building and arms and can flexeril be detected urine ighting was put her ditropan anwendung either kind gored.
September 5th, 2011 on 2:52 am
Your article has proven useful to me. It is extremely informative and you’re clearly extremely knowledgeable in this location. You have opened my eyes to varying views on this subject with interesting and solid content.
September 25th, 2011 on 8:21 pm
Its like you read my mind! You appear to know so much about this, like you wrote the book in it or something. I think that you can do with some pics to drive the message home a bit, but other than that, this is fantastic blog. A fantastic read. I’ll certainly be back.
October 2nd, 2011 on 1:35 pm
Can I simply say what a relief to search out somebody who really knows what theyre talking about on the internet. You undoubtedly know learn how to bring an issue to gentle and make it important. More folks have to read this and understand this facet of the story. I cant believe youre not more popular since you undoubtedly have the gift.
October 23rd, 2011 on 3:36 pm
Last week I dropped by this site and as usual great content and ideas. Love the lay out and color scheme
October 26th, 2011 on 6:19 pm
How much time do you think you’re employing this design? I had been looking for something like this with regard to my personal blog.
November 20th, 2011 on 11:38 am
Advantageous info. Hope to see more tolerable posts in the future.
January 4th, 2012 on 12:36 pm
I thought I was hardcore for taking a professional development class over the summer.
January 4th, 2012 on 10:37 pm
I usually don’t discuss any of your posts but simply wanted to let you know I’ve placed a link to your page on my own blog. I figured maybe you could benefit from my visitors since we have relatively similar sites. I’d really appreciate a link back
Check your hyperlink here
January 5th, 2012 on 10:10 am
When I open your RSS feed it seems to be a bunch of strange characters, is the malfunction on my reader?
January 8th, 2012 on 5:47 pm
I actually desired to compose a small note to thank for you for some of the pleasant secrets you happen to be showing on this webpage.
January 25th, 2012 on 5:46 am
I love your blog, Ill most likely be visiting it again pretty soon! http://makemoneybyinvesting.com/
February 8th, 2012 on 10:12 am
Howdy, I seriously take pleasure in looking at you, we appreciate you the truly amazing submit!
February 18th, 2012 on 3:03 am
Thanks for an unbelievable put up, would examine your others topics. i appreciate your ideas on this, I really felt a lttle bit strike by this text. Many thanks again! You make a great time. Portrays natures best by the excellent data here. I feel that in case a greater number considered it like that, they’d have a better moment in time get the grasp ofing the matter.
February 22nd, 2012 on 5:37 am
Humm which was weird, my comment acquired eaten. Anyway I desired to say that it is really good to discover the information right here. I’ve seemed in all places. Many thanks once more!
April 4th, 2012 on 2:43 am
Sharing some thing is better than keeping up-to our self, thus the YouTube video that is posted at this place I am going to share by means of my family and mates.
April 4th, 2012 on 9:34 am
Making Beatniks Just Got a Entire Lot Easier! http://beatmaker-soft.blogspot.com/
April 17th, 2012 on 6:01 pm
I do not even know the way I stopped up here, but I assumed this publish was great. I don’t understand who you are however certainly you’re going to a famous blogger if you aren’t already
Cheers!