Showing posts with label mpd. Show all posts
Showing posts with label mpd. Show all posts

2011-11-24

audio::mpd gained ipv6 support

when i got a bug report asking for ipv6 support in audio::mpd, i didn't know where to start, and put it aside... but since i fixed quite a few test bugs in audio-mpd, i thought i could give a try at supporting ipv6.

and it proved quite easy in fact, with io::socket::ip which is a drop-in replacement for io::socket::inet... and thus, by changing 3 strings in audio-mpd, it is now ipv6 enabled - neat!

so, enable ipv6 on your software with the following one-liner:
$ ack -l 'IO::Socket::INET' | xargs perl -pi -E 's/IO::Socket::INET/IO::Socket::IP/g'
easy, uh? who said ipv6 was difficult? :-)

2009-10-28

right trimming for dzil autoprereq plugin

autoprereq plugin for dzil used to trim all modules under the dist namespace from the list of prereqs. eg, for dist-zilla dist, it would trim all dist::zilla::* modules.

although good for a first try, it had two problems:
  • modules outside of your dist can be trimmed. eg, audio::mpd is requiring some audio::mpd::common modules which are outside of audio-mpd dist.
  • if your dist is shipping 2 namespaces, only the modules inside the first namespace are trimmed, and you can end up with a dist with circular deps.
the first one is easy to solve with a fixed [Prereq] section in your dist.ini (this is what i've done for audio-mpd). and the second is not really common, so i thought that i could leave dzpa as is...

but dams now uses dzil for the excellent curses-toolkit - which ships curses::toolkit::* and poe::component::curses::* modules. so he complained (rightly) and i had to fix autoprereq plugin.

so, dzpa will only trim modules that are part of the dist, instead of blindly removing the modules under the dist namespace. and this only change fixes at once the 2 problems outlined above. where dzpa used to trim too much and not enough, it now trims just what it has to...

2009-10-25

migration to moose - step 2

another module converted to moose (and dist-zilla): audio::mpd. migrating the attributes is quite easy, but this time the constructor migration was a bit trickier to do. fortunately, moose lazy building proved handy.

since the module is quite stable by now, i bumped version to 1.x (1.yyyddn even).

one more module with a simplified code-base... next migration will be pococm, and should prove more difficult, but for even more reward (thanks to moosex::poe).

2009-10-21

test::corpus::* namespace

both audio::mpd and poe::component::client::mpd share the same files for their regression test suite. this includes some boring ogg files - weighing around 150 kb. although not that much, those files are duplicated between those 2 modules.

moreover, it means that everytime i upload a fix for one of those modules, i'm taking some more space on cpan for those exact same files - they never ever change...

something had to be done. i therefore wanted to split this raw test data, and put it in a module of its own. the other 2 modules would then get rid of the test data, and require the new one during the tests.

the question was of course how to name this module. i asked module-authors for advices, and david nicol proposed the test::corpus::* namespace.

since the idea is quite sound, i then released test::corpus::audio::mpd with the data (with some fixes to bring it up to mpd 0.15.x). audio::mpd has already been migrated to use this. i still need to do it for pococm, though.

anyway, this post is merely about the announce of the test::corpus:: namespace, to hold your test data instead of putting them in your dists. let us know what you think of it.

2009-10-11

migration to moose - step 1

as promised, i just migrated audio::mpd::common to use moose. and since i was at it, i also took the opportunity to migrate to dist::zilla!

conclusion: it takes some time to migrate (around half a day?) - and this is a very small dist! maybe i should have not mixed moose and dzil migration... but the resulting code is also easier to read, and better documented now, so it's not a one to one migration.

anyway, i'll continue migrating the mpd related modules to moose, dist-zilla as i find the tuits.

2009-02-14

audio::mpd 0.19.6 released

audio::mpd 0.19.6 is on its way to cpan.

changes:
so, even if i started this blog to try to spread the word about perl on outside world (not that my blog is high-profile - yet! :-) - and will change perl perception overnight), it is also proving useful for me as well...

note that bug reports are better sent to http://rt.cpan.org

2009-01-06

poe::component::client::mpd 0.9.1 released

following other mpd-related modules announcements, poe::component::client::mpd 0.9.1 is, too, on its way to cpan.

changes:
  • updates to match mpd 0.14 behaviour
the new idle command is not yet implemented, but will be in a subsequent release (api to be thought of).

audio::mpd::common 0.1.4 released

still due to recent mpd 0.14 availability, audio::mpd::common 0.1.4 is on its way to cpan.

changes:
  • missing tag last_modified in amci:playlist (new in mpd 0.14)

2009-01-05

audio::mpd 0.19.5 released

audio::mpd 0.19.5 is on its way to cpan.

changes:
  • updates to match mpd 0.14 behaviour (released for x-mas)
  • doc update

the new idle command is not (and will not be) implemented in audio::mpd, since it requires non blocking sockets and i don't want to deal with them in this module. it will be implemented in poe::component::client::mpd, though.