*************************** PyMPDTouchGUI *****************************


PyMPDTouchGUI is a client for MPD that is usable via touchscreen and 
will run on embedded-systems without X (but works with X and a mouse,
too).


============================== License ================================
GPL v2, see LICENSE-file

=============================== Author ================================
Timo Boettcher <pympdtouchgui@spida.net>

Please send comments, bugreports and pizza to pympdtouchgui@spida.net

============================== Homepage ===============================
http://www.spida.net/projects/pympdtouchgui/

============================ Installation =============================
Packages for Debian are available from the author on the 
project-homepage. To install from source, use shipped setup.py and
execute:
python setup.py build install

============================ Dependencies =============================
python, pygame, python-imaging


================================ Usage ================================
Usage `./mpdtouchgui [option]'

Valid Options are:
  -i, --connect-ip             ip/hostname to connect to
  -p, --connect-port           port to connect to
  -P, --password               password to authenticate with
  -k, --keyboard               enable onscreen-keyboard
  -f, --fullscreen             fullscreen
  -s, --size WIDTHxHEIGHT      viewable area
  -l, --lirc                   enable infrared
  -L, --lircrc                 path to lircrc
  -A, --album-art-from-amazon  fetch Album-Art from Amazon
  -I, --amazon-id              Amazon Account-ID
  -S, --screensaverpath        directory that contains images
                               to be used for screensaver
  -T  --screensavertimeout     timeout for screensaver
  -c, --configfile             configuration file
  -t, --themedir               theme directory 
  -b, --browser                Browser to use for showing
                               Amazon product infos
  -h, --help                   shows this help and exits

SDL honours the environment variable SDL_VIDEODRIVER 
to select a Video Driver.

Possible Values for SDL_VIDEODRIVER on windows are
     windib, directx
Possible Values for SDL_VIDEODRIVER on Linux are
     x11, dga, fbcon, directfb, ggi, vgl, svgalib, aalib

All commandline options are available in the config-file, too.

Example:
SDL_VIDEODRIVER="x11" ./mpdtouchgui -i 127.0.0.1 -p 6600 -P password -s 800x600


================================ Files ================================
PyMPDTouchGUI tries to read the following files:
Config from /etc/mpdtouchguirc and ~/.mpdtouchgui/config (in this order).
------------------------ Start Config Example -------------------------
[connection]
host = 192.168.0.123
password = secretpassword
port = 6600

[other]
themedir = /usr/share/mpdtouchgui/themes/default
onscreenkeyboard = True
browser = /usr/bin/firefox
lirc = False
lircrc = ~/.lircrc
allowquit = true
powerofftimeoutenabled = True
powerofftimeout = 10
commandwakeup = /usr/bin/true
commandsleep = /usr/bin/true

[albumart]
fetchfromamazon = False
amazonid = 0MR5G85VBCCM2KS8RK82
dir = ~/albumart/

[display]
fullscreen = True
width = 800
height = 600

------------------------- End Config Example --------------------------
Some of the settings in the config are available on the commandline,
too. See above for details.

A separate file in /var/lib/mpdtouchgui/clock-state (or as configured)
needs to be writable by the mpdtouchgui-user.

PyMPDTouchGUI tries to use a theme, by default from 
/usr/share/mpdtouchgui/themes/default, overridden by setting in config,
overridden by commandline arguments.
The Theme consists of a directory containing a file named themeconfig
------------------------- Start Theme Example -------------------------
[Colors]
Background = (0,0,0)
BackgroundPlaylistHighlightLine = (0,0,127)
ForegroundPlaylistHighlightLine = (0,127,0)
ForegroundStatus = (255,255,255)
ForegroundInfo = (255,255,255)
ForegroundMenu = (255,255,255)
ForegroundButtons = (255,255,255)
ForegroundBrowseLines = (255,255,255)
ForegroundBrowseText = (255,255,255)
ForegroundSearchLines = (255,255,255)
ForegroundSearchText = (255,255,255)
ForegroundPlaylistLines = (255,255,255)
ForegroundPlaylistText = (255,255,255)
ForegroundScrollLines = (255,255,255)
ForegroundScrollMiddleSlider = (255,255,255)
ForegroundScrollFirstLastSlider = (255,255,255)

[Position]
PlayControlButtons = Edge,Bottom,Center
InfoArea = Edge,Top,Center
MenuButton = Corner,Bottom,Right
VirtualKeyboardButton = Corner,Bottom,Left
-------------------------- End Theme Example --------------------------
and a few png-images for the buttons, named:

ButtonAdd.png				ButtonAlarmClock.png
ButtonBackspace.png			ButtonBrowse.png
ButtonCheckBoxChecked.png		ButtonCheckBoxEmpty.png
ButtonDecrement.png			ButtonDel.png
ButtonEnter.png				ButtonFirstSlider.png
ButtonIncrement.png			ButtonKeyboard.png
ButtonKey.png				ButtonList.png
ButtonMenu.png				ButtonMiddleSlider.png
ButtonMute.png				ButtonNext.png
ButtonNoRandomNoRepeat.png		ButtonNoRandomRepeat.png
ButtonPause.png				ButtonPlay.png
ButtonPrevious.png			ButtonQuit.png
ButtonRandomNoRepeat.png		ButtonRandomRepeat.png
ButtonScrollDown.png			ButtonScrollUp.png
ButtonSearch.png			ButtonSecondSlider.png
ButtonSleepClock.png			ButtonStatus.png
ButtonStop.png				ButtonTemplate.png
ButtonUpdate.png			ButtonVolumeDown.png
ButtonVolumeUp.png			ButtonBrowseMarked.png
ButtonListMarked.png			ButtonQuitMarked.png
ButtonSearchMarked.png			ButtonSleepClockMarked.png
ButtonStatusMarked.png			ButtonUpdateMarked.png


-----------------------------------------------------------------------
PyMPDTouchGUI has support for LIRC (Linux Infrared Remote Control) 
through pylirc. When pylirc has been installed, LIRC-support can be
used with the --lirc or -l commandline-switch (or the respective 
config-file setting) and putting a lircrc like the one below in 
~/.lircrc or a path specified on commandline or in the configfile.
The lircrc contains mappings from the names of the buttons on the
remote as configured in your /etc/lirc/lircd.conf (called button in
lircrc) and the names used in PyMPDTouchGUI (called config in lircrc)
------------------------- Begin lircrc Example ------------------------
# lircrc
#

# Left
begin
prog = mpdtouchgui
button = LEFT
repeat = 3
config = Left
end

# Right
begin
prog = mpdtouchgui
button = RIGHT
repeat = 3
config = Right
end

# Up
begin
prog = mpdtouchgui
button = UP
repeat = 3
config = Up
end

# Down
begin
prog = mpdtouchgui
button = DOWN
repeat = 3
config = Down
end

# OK/Select
begin
prog = mpdtouchgui
button = SELECTOK
repeat = 3
config = Enter
end

# Play
begin
prog = mpdtouchgui
button = PLAYPAUSE
repeat = 3
config = PlayPause
end

# Previous
begin
prog = mpdtouchgui
button = PREVIOUS
repeat = 3
config = Previous
end

# Next
begin
prog = mpdtouchgui
button = NEXT
repeat = 3
config = Next
end

# Stop
begin
prog = mpdtouchgui
button = CANCEL
repeat = 3
config = Cancel
end

# Mute
begin
prog = mpdtouchgui
button = MUTE
repeat = 3
config = Mute
end

# Volume-
begin
prog = mpdtouchgui
button = VOLUME-
repeat = 3
config = Volume-
end

# Volume+
begin
prog = mpdtouchgui
button = VOLUME+
repeat = 3
config = Volume+
end

# Menu
begin
prog = mpdtouchgui
button = START
repeat = 3
config = Menu
end
-------------------------- End lircrc Example -------------------------
