*************************** 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/software/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, python-twisted


================================ 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
  -c, --configfile             configuration file
  -d, --daemonize              go into background and just use gui
  -l, --lirc                   enable infrared
  -L, --lircrc                 path to lircrc
  -C, --clockstatefile         path to a clockstatefile
  -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
  -t, --themedir               theme directory
  -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

[daemon]
daemonize = True
pidfile = /var/state/pympdtouchgui/pympdtouchgui.pid
logfile = /var/run/pympdtouchgui/pympdtouchgui.log
lowertouser = myuser
lowertogroup = users


------------------------- 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 -------------------------
