Quote:
Wow! VERY nice! Thank you for all your efforts you've put into this!
I myself am looking very forward to this RPi 'desktop' solution.


Your welcome :-) I've always been an empeg fan. The project was a bit of a vanity project for me, i've bult some displays and gadgets but I needed the software to make them useful. The software is probably not feature complete from an empeg perspective.

Quote:
RPi board with an SSD disk into the glove compartment, all controlled by a small touch screen. (or maybe my iPhone?)

Very much in theory here..... if you put a bog standard Pi board with a good DC/DC converter on it and a suitable USB wifi stick it would be possible to run the player application (and hostAP) with no head and use an Iphone (or tablet) to control it. I dont have any Iphone or similar front end available but it should not be a huge job to write one.

The important to thing to note is that my player software does not require a display at all, its nicer with one - but is not required. It all functions with UDP packets, the player is not aware of the front end. Practial upshoot is you can connect or disconnect a display/keys at any point (or have multiple displays or key inputs), the player continues regardless.

For anyone who wants to write a front end, specify -ptx <port> (for just display data) or -master (display and audio data) on the player command line. The UDP display packet is identical to an empeg framebuffer (I thought ahead here). Its 2048 bytes of two pixel per byte 2 bit data. An example (a little crude) of the display end is "display_on_framebuffer.c"

From memory format is XXPPXXPP for a byte, X unused PP two bits of pixel data.


For reference networking (and player process) looks like this: (some might claim overkill here!) On empeg substite "madplayer" for "mplayer"

http://www.jonshouse.co.uk/player.png

The player listens for buttons (from any host) on UDP port 5050
It optionally sends UDP display data on a port specified with -ptx.
It sends UDP display data on port 5051 but only to localhost (127.0.0.1), except on the empeg version where it drives the VFD instead.

In master mode it sends UDP display data on UDP BROADCAST port 4040
in master mode is sends AUDIO + (see source, sorry) data on UDP BROADCAST port 2500
If a master is already present the player will refuse to enter master mode.

In slave mode it receives UDP display data on port 4040
in slave mode it receives AUDIO+ data on port 2500

Jon


Edited by jonshouse (04/05/2013 14:18)