Tree [f48b38] master v0.19 /

File Date Author Commit
 display 2012-06-18 irimi irimi [f351a1] PIL merge fix
 distributions 2012-07-06 irimi irimi [1b10e3] VNC client integration update
 fonts 2012-04-24 irimi irimi [8a2e0a] Alu2 MPD theme added , theme support improved
 gfx 2012-03-14 irimi irimi [ba97e6] bugfixes & optimsed
 remote 2012-07-06 irimi irimi [1b10e3] VNC client integration update
 utils 2012-11-08 irimi irimi [ad6f71] minor weather bugfixes
 GPL-2.0.txt 2012-02-20 irimi irimi [49b7db] On branch master
 HISTORY 2012-11-08 irimi irimi [f48b38] v0.19 release (yahoo's api) 2012-11-08 irimi irimi [ad6f71] minor weather bugfixes
 README 2012-07-06 irimi irimi [1b10e3] VNC client integration update 2012-11-08 irimi irimi [ad6f71] minor weather bugfixes 2012-11-08 irimi irimi [5d56ea] switch to yahoo's weather api 2012-07-06 irimi irimi [1b10e3] VNC client integration update

Read Me

PyDPF - A Digital Picture Frame Application to be used as MPD client and/or standard DPF written in Python 

Copyright 2012 Jens Koehler <irimi_at_gmx_de>

Licensed under the GPLv2


- Linux OS
- Python 2.6.x / 2.7.x 				(
- Python-Image-Library (PIL) v1.1.7 (
- pylirc/lirc                       (,
required for PEARL_DPF driver:
- PyUSB v0.4 (python-usb)   	    (

required for Pearl DPF_C (PEARL_DPF_C driver only):
 installed pydpf lib, see ./distributions/pydpflib/README

required for virtual QT display (VIRT_QT_DISPLAY driver) 
- QT4 / QT4 Python bindings

required only when Music Player Daemon is used:
- python-mpd2 v0.4.2                (

required only when VNC client is used:
 - installed vnc client bindings: pyvnc lib, see ./distributions/pyvnc/README
 - libvncclient

Hardware Requirements
- USB Interface
- Hacked DPF with AX206 chipset connected to your USB (called PearlDPF, too) see

- software alternative: VIRT_QT_DISPLAY / VIRT_IMAGE if you don't have a Pearl DPF

- input device i.e. remote controller or USB keyboard resp. similar that supports /dev/input/eventX 
  (check 'cat /proc/bus/input/devices') 


Just type 'python PyDPF &' as user

Quit PyDPF with your remote control: KEY_CLOSE (may to be adapted to your RC)
or try 'killall python' 


- support of PEARL DPF or virtual QT screen display at your monitor
  or just save the output to an image to provide it other applications
- virtual screens are resolution independent 
- can be controlled via lirc: you are able to define your own RC dependent keys / commands
- show 'new EMail available' indication
- 'Themes support' to display clock/date, filename, text  etc. with different true type fonts
   and different TTF's sizes, change of current theme during runtime (i.e. by RC command)  
- switch between MPD and DPF modes via remote control
- execute commands via RC (eg.' poweroff')

As MPD Client:
- MPD can be controlled via RC / lirc 
- MPD client mode with graphical current song information incl. album cover art support that is displayed on DPF 
- new 'current song' themes can be easily created and added
- clear/load playlist , play/stop/next/prev/seek song via RC 
- can be disabled (just running as DPF)
- volume control

- standard DPF mode to show image galleries on DPF
- Pictures are automatically adapted & centered to DPF screen resolution
- Orientation/EXIF support of pictures in gallery
- can be disabled (just running as MPD client)   
- download and display new pictures received from your private email account
- display current google weather informations 

As VNC client:
- display VNC desktop on DPF
- can be controlled via RC/ lirc 

Running on embedded Linux devices:
PyDPF,MPD and the DPF + RC are successfully running on my OpenWRT based TP-Link Router TL-WR1043ND 
( acting as a full featured Jukebox ! 

Sorry, still under construction but:

- Configuration of PyDPF to adapt remote control keys resp. commands see depends on your lirc/inputlirc configuration 
  AND the mapping in  --> see file ''. There you'll find some comments for parameters, too.
 - to evaluate key codes of your desired RC, set parameter DEBUG_INPUT=1.
  and you'll see the keycode in the console window
- Known key-names you'll find in remote/lircrc.conf resp.
- to check your connected DPF type 'python display/dpflib_py', it ought to be show you a little demo 
- configuration of themes are in the format is "TAG_NAME:(X,Y,#24bitColor, OPTION FONTSIZE, OPTION FONTNAME)" (=python dictionary) 
- x,y=0 is the upper, left pixel on screen
- new nice themes are welcome :-)

Thread for lirc is not shutdown correctly when PyDPF is closed (use 'killall python')