Problem with MPD client but probably POE user error

John <[email protected]> Tue, 04 Feb 2014 06:56:52 -0600
Newsgroups gmane.comp.lang.perl.poe
Message-ID <[email protected]>
Hello,

I am working with POE::Component::Client::MPD for the first time and 
attempting to get the example provided working.  I have modified it 
along the way but results have been the same (code is below).

The MPD (Music Player Daemon) logging shows the client connect and 
disconnect (when I control-c).  However, none of the events I send get 
to the daemon (also running on localhost with default port).  I added 
print statements at pretty much all the entry points for events within 
MPD.pm and none of them get hit.  Therefore maybe this is not a problem 
with MPD.pm but my usage of POE.

Also note that I can use the command line client that comes with MPD to 
interact with the daemon and that works as expected as well as it 
generates logging information.

Which direction should I go in to track it down?

Thanks,

John

#!/usr/bin/env/perl 

# 


use warnings;
use strict;

use FindBin qw{ $Bin };
use lib "$Bin/../lib";

use POE;
use POE::Component::Client::MPD;

POE::Component::Client::MPD->spawn( {
     alias          => 'mpd',
     } );

POE::Session->create(
     inline_states => {
         _start     => \&start,
         _stop      => sub { print "bye-bye\n"; },
         mpd_result => \&result,
         mpd_error => \&error,
         status_msgs_to => \&clutter,
     }
);
POE::Kernel->run;
exit;


sub start {
     my $k = $_[KERNEL];
     $k->alias_set('client'); # increment refcount 

     print "hello there\n";
     $k->post( 'mpd' => 'current' );
     $k->post( 'mpd', 'coll:all_files' );
     print "done with start\n";

}

sub result {
     print "yeah!\n";
}

sub error {
     print "got an error\n";
}

sub clutter {
     print "got some clutter!\n";

}