On Fri, Jan 28, 2011 at 5:16 AM, Max Kellermann <m...@duempel.org> wrote:
> On 2011/01/28 09:52, Sean McNamara <smc...@gmail.com> wrote:
>> The only problem is that mpd itself would be completely unaware of
>> this external daemon's existence, and as such, would not (could not)
>> provide any management service for it (i.e. stopping and starting it,
>> or configuring it). If the goal is not to touch the mpd core, then the
>> most logical way to ease end-user management of said daemon would be
>> to integrate it as a plugin into the most popular mpd clients. They'd
>> have to make a separate TCP connection to the playlist workflow
>> daemon.
>
> This is where an idea steps in I had a while ago:
>
> Problem: mpdscribble should be able to send the "loved song" flag to
> last.fm.  However mpdscribble itself is a daemon and the user cannot
> interact with it.
>
> Solution: allow mpd clients to communicate with each others over the
> mpd protocol:

Very neat.  This is something I've been mulling over recently too: how
do I add very precise, specific, peculiar user-driven features to mpd
without bloating the core?  E.g. I want features like "stop at the end
of this song" or "I have to leave the house in 25 minutes, so pick
just enough random songs to fill that time and start playing" or "fade
out and pause, then rewind 5 sec and fade in when I unpause".  All of
those are just features that I happen to think digital music players
ought to offer.  I'm perfectly capable of implementing them myself
using the Python mpd client library, but then they're locked in their
own little universe -- I have to run a different client alongside GMPC
or Sonata or whatever.  (Or I have to open a command-line window and
do it there, but that's conceptually the same thing.)  Or I could hack
them into GMPC and build my own copy, but what if I decide I'd rather
use Sonata?  Or I could hack them into mpd as core features for my own
use, but of course you would never accept those patches.  And rightly
so.

A dedicated daemon for my goofy mpd features doesn't solve the whole
problem though: I still have to convince GMPC, Sonata, and the rest of
the world to give me a GUI to my custom daemon.  That's not gonna
happen.

> mpd could support listing the keywords that clients have subscribed
> to; so gmpc could hide the heart button when there is no scrobbler.
> Each time a new client subscribes or unsubscribes, mpd broadcasts the
> "subscription" idle event to all clients.

Even better: make it so GUI clients can discover "custom actions"
supported by "daemon" clients.  E.g. if
Greg's-custom-mpd-controller-daemon offers a "fade out and pause"
action, then GMPC could have a "fade out and pause" button somewhere
in its GUI.  It's much harder if the action requires user input (how
many minutes until I have to leave the house?), but there are plenty
of interesting things that could be done with a "just hit the button
to execute the action" interface.

Greg

------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to