GJay-based smart audio-player for Ben (was: Ben NanoNote applications)
Joshua Judson Rosen
rozzin at geekspace.com
Fri Jun 17 19:02:16 EDT 2011
Wolfgang Spraul <wolfgang at sharism.cc> writes:
> > A pocket-sized machine that could run GJay is another thing
> > that I've wanted for the past decade, and *that* I've actually
> > been able to get working with my Ben.
> Can you share it? Is GJay free software? I would love to include
> it on the Ben if it is...
Yes, it is--cf.: http://gjay.sourceforge.net/
There's a package for it in Debian that I've used for a number of years,
and the Debian package maintainer just recently became the upstream
maintainer; I have a fairly large number of patches that I wrote
to make it build and run on OpenWRT/Ben, which I've submitted upstream
(so they're in the SF tracker), but I don't think that Craig has
had an opportunity to review them all.
It's a GTK+ application, but it can also run in batch mode--which is
the way that my wife and I are using it on our Bens: we're using
MPD with ncmpc (with slightly-adjusted keymaps, more friendly to
single-handed operation), with a small Bash script...:
... running as a daemon that monitors MPD's play-mode and the
position in its play-queue, and then automatically invokes GJay,
in batch mode to extend the playlist before it runs out
(if MPD is in an appropriate playback-mode, e.g.: not on `repeat'
or in `single' mode; more details in the comments in the script...).
On top of that, I have a couple of additions to inittab and
to the suite of init & udev scripts so that the Ben automatically
starts up with ncmpc running in the foreground will problematic
system logging suppressed on that console, so that mpd reloads
when a new µSD card is inserted, the µSD can be un-mounted
from the ncmpc screen, state is properly saved at shutdown, etc.
I'm working on tying all of this up into an appropriate patchset
to submit to you guys, actually--hopefully I'll be able to
send it soon :)
Actually, I'm not sure how I should submit my mpdjay script:
it seems almost silly to package it up into a release tarball,
given how trivial and lacking in `build procedure' it is...,
but you're going to need some sort of version-number to use
in a package....
"Don't be afraid to ask (λf.((λx.xx) (λr.f(rr))))."
More information about the discussion