Roeland Douma wrote: > Hi, > > As my first (non-introduction) post I would like to talk about the MPD- > protocol. The whole protocol feels to me like it is just implemented when new > functionality was added to MPD. While I totally understand this from a > developers point of view. This is not a good thing. The protocol is the only > way to communicate with MPD so this should be very well structured. > > Take for example the naming of the functions in the protocol. We have list, > listinfo, listallinfo, lsinfo. All commands that look the same. But have > different meanings. Now I could talk about the difference between them and > how > the naming is not consistent trough out the protocol. One example: list > should > be something like searchDatabase. > > However I think my point is clear. When looking at a random command it is not > clear (by the name) what is has effect on.
Agree here, but "fixing" this will mean breaking clients. > > Now I think the protocol would be a lot more efficient if it was event based > (or even better publish-subscribe) but since cirrus has just added that a > couple of weeks ago I first want to see how it works before I start > criticising it. However I already do have some idea's. But more on that in > another thread. > > Other than that there is no command now for retrieving all the play lists > from > the server. lsinfo works. But that would mean I have to parse that again. > This > is a missing feature. Since it means parsing all stuff from lsinfo (which > could be a lot!) every time. Now if I understand it correctly events are > generated with cirrus's events so you should be notified by that in order to > update it all. This has been added by cirrus to the api. listplaylists > > Other than that right now adding songs is a real pain in the ass. Or to be > more precise adding albums. When I supply the artist and the album MPD should > be able to add this album by itself right? Same for everything from a > specific > artist. I do realise this function can't be always used when people have a > lot > of duplicated songs or an album double in their database. But in the general > case this would be very use full. Is this really a huge problem? you just do the search for the album, and what you get back you add again. I agree it is not perfect, but works fine. Maybe a command that tells mpd to add the result of the next search/find query (instead of returning to client)? > > Now this is not really part of the protocol but still related to it. > Compression. Why do we send everything in plain text? It is true that most > commands are very small. But for example retrieving the play list over at my > folks is 4.5 MB. While when it is gzipped it is only 630 kb. This can save a > lot of network traffic. > I had this problem too. I solved this for the "Play queue" by doing a lazy view. I only retrieve the songs from the queue that are visible. If this is also possible for f.e. playlist content it could reduce a lot of (instant) traffic. > I have some other ideas but they are more related to features of MPD instead > of the protocol. So an other time for that. > > Note that it is not my intention to start a flame war. Anyway I would love > to get input/opinions on all of this. > > Greetings, > --Roeland Q > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Musicpd-dev-team mailing list > Musicpd-dev-team@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Musicpd-dev-team mailing list Musicpd-dev-team@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team