diff --git a/packages/mediacenter/xbmc/install b/packages/mediacenter/xbmc/install index 26389423ca..a5a2669182 100755 --- a/packages/mediacenter/xbmc/install +++ b/packages/mediacenter/xbmc/install @@ -82,6 +82,9 @@ mkdir -p $INSTALL/usr/share/xbmc/addons cp -R $PKG_DIR/config/repository.openelec.tv $INSTALL/usr/share/xbmc/addons $SED "s|@ADDON_URL@|$ADDON_URL|g" -i $INSTALL/usr/share/xbmc/addons/repository.openelec.tv/addon.xml +mkdir -p $PYTHON_LIBDIR/site-packages/xbmc + cp -R $PKG_BUILD/tools/EventClients/lib/python/* $PYTHON_LIBDIR/site-packages/xbmc + # install powermanagement hooks mkdir -p $INSTALL/etc/pm/sleep.d cp $PKG_DIR/sleep.d/* $INSTALL/etc/pm/sleep.d @@ -103,3 +106,14 @@ if [ "$WIIMOTE_SUPPORT" = yes ]; then mkdir -p $INSTALL/lib/udev cp $PKG_DIR/scripts/wiiremote_helper $INSTALL/lib/udev fi + +if [ "$PS3REMOTE_SUPPORT" = yes ]; then + mkdir -p $INSTALL/usr/bin + cp $PKG_BUILD/tools/EventClients/Clients/PS3\ BD\ Remote/ps3_remote.py $INSTALL/usr/bin/xbmc-ps3remote + mkdir -p $INSTALL/usr/share/pixmaps/xbmc + cp $PKG_BUILD/tools/EventClients/icons/bluetooth.png $INSTALL/usr/share/pixmaps/xbmc + mkdir -p $PYTHON_LIBDIR/site-packages/xbmc + echo 'ICON_PATH="/usr/share/pixmaps/xbmc/"' > $PYTHON_LIBDIR/site-packages/xbmc/defs.py + mkdir -p $INSTALL/lib/udev + cp $PKG_DIR/scripts/ps3remote_helper $INSTALL/lib/udev +fi diff --git a/packages/mediacenter/xbmc/meta b/packages/mediacenter/xbmc/meta index 21a2ffca5a..abd15b59ba 100644 --- a/packages/mediacenter/xbmc/meta +++ b/packages/mediacenter/xbmc/meta @@ -122,6 +122,10 @@ if [ "$WIIMOTE_SUPPORT" = yes ]; then PKG_DEPENDS="$PKG_DEPENDS wiiuse" fi +if [ "$PS3REMOTE_SUPPORT" = yes ]; then + PKG_DEPENDS="$PKG_DEPENDS PyBluez" +fi + # some python stuff needed for various addons PKG_DEPENDS="$PKG_DEPENDS Imaging" PKG_DEPENDS="$PKG_DEPENDS simplejson" diff --git a/packages/mediacenter/xbmc/patches/xbmc-79cceb5-453-ps3_remote_be_more_quiet-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-79cceb5-453-ps3_remote_be_more_quiet-0.1.patch new file mode 100644 index 0000000000..6b2f879e1c --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-79cceb5-453-ps3_remote_be_more_quiet-0.1.patch @@ -0,0 +1,29 @@ +diff -Naur xbmc-pvr-3513480/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py xbmc-pvr-3513480.patch/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py +--- xbmc-pvr-3513480/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py 2011-04-25 02:36:33.000000000 +0200 ++++ xbmc-pvr-3513480.patch/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py 2011-04-25 05:30:03.870260596 +0200 +@@ -59,9 +59,6 @@ + target_connected = False + target_address = None + while target_connected is False: +- xbmc.send_notification("Action Required!", +- "Hold Start+Enter on your remote.", +- bticon) + print "Searching for %s" % target_name + print "(Hold Start + Enter on remote to make it discoverable)" + time.sleep(2) +@@ -72,7 +69,6 @@ + except Exception, e: + print "Error performing bluetooth discovery" + print str(e) +- xbmc.send_notification("Error", "Unable to find devices.", bticon) + time.sleep(5) + continue + +@@ -109,7 +105,6 @@ + print "ERROR - Could Not Connect. Trying again..." + time.sleep(2) + else: +- xbmc.send_notification("Error", "No remotes were found.", bticon) + print "Could not find BD Remote Control. Trying again..." + time.sleep(2) + return (remote,target_address) diff --git a/packages/mediacenter/xbmc/scripts/ps3remote_helper b/packages/mediacenter/xbmc/scripts/ps3remote_helper new file mode 100755 index 0000000000..84d8db2806 --- /dev/null +++ b/packages/mediacenter/xbmc/scripts/ps3remote_helper @@ -0,0 +1,34 @@ +#!/bin/sh + +################################################################################ +# Copyright (C) 2009-2010 OpenELEC.tv +# http://www.openelec.tv +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +case "${ACTION}" in + add) + if [ -f /usr/bin/xbmc-ps3remote ]; then + /usr/bin/xbmc-ps3remote localhost 9777 & + fi + ;; + remove) + killall xbmc-ps3remote + ;; +esac + +exit 0 diff --git a/packages/mediacenter/xbmc/udev.d/98-ps3remote.rules b/packages/mediacenter/xbmc/udev.d/98-ps3remote.rules new file mode 100644 index 0000000000..913d47f406 --- /dev/null +++ b/packages/mediacenter/xbmc/udev.d/98-ps3remote.rules @@ -0,0 +1,27 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +# only does something with "bluetooth" subsystem devices. +SUBSYSTEM!="bluetooth", GOTO="end" + +# Start PS3 Remote support if bluetooth is starting +ACTION=="add|remove", RUN+="/lib/udev/ps3remote_helper" + +LABEL="end" diff --git a/projects/ATV/options b/projects/ATV/options index 387fa3a69c..356c0d0a15 100644 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -226,6 +226,9 @@ # build and install WiiMote support (yes / no) WIIMOTE_SUPPORT="no" +# build and install PS3 Remote support (yes / no) + PS3REMOTE_SUPPORT="no" + # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="yes" diff --git a/projects/Fusion/options b/projects/Fusion/options index 7198c4c410..50213e6851 100644 --- a/projects/Fusion/options +++ b/projects/Fusion/options @@ -226,6 +226,9 @@ # build and install WiiMote support (yes / no) WIIMOTE_SUPPORT="yes" +# build and install PS3 Remote support (yes / no) + PS3REMOTE_SUPPORT="yes" + # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="no" diff --git a/projects/Generic/options b/projects/Generic/options index b5be8a50b8..ac6706b759 100644 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -226,6 +226,9 @@ # build and install WiiMote support (yes / no) WIIMOTE_SUPPORT="yes" +# build and install PS3 Remote support (yes / no) + PS3REMOTE_SUPPORT="yes" + # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="yes" diff --git a/projects/Generic_OSS/options b/projects/Generic_OSS/options index 02c87b30f2..0c6729e199 100644 --- a/projects/Generic_OSS/options +++ b/projects/Generic_OSS/options @@ -226,6 +226,9 @@ # build and install WiiMote support (yes / no) WIIMOTE_SUPPORT="yes" +# build and install PS3 Remote support (yes / no) + PS3REMOTE_SUPPORT="yes" + # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="yes" diff --git a/projects/ION/options b/projects/ION/options index 7cbcf5ca88..9fccc22ce9 100644 --- a/projects/ION/options +++ b/projects/ION/options @@ -226,6 +226,9 @@ # build and install WiiMote support (yes / no) WIIMOTE_SUPPORT="yes" +# build and install PS3 Remote support (yes / no) + PS3REMOTE_SUPPORT="yes" + # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="no" diff --git a/projects/Intel/options b/projects/Intel/options index b9d7391c72..39e9968305 100644 --- a/projects/Intel/options +++ b/projects/Intel/options @@ -226,6 +226,9 @@ # build and install WiiMote support (yes / no) WIIMOTE_SUPPORT="yes" +# build and install PS3 Remote support (yes / no) + PS3REMOTE_SUPPORT="yes" + # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="no" diff --git a/projects/Ultra/options b/projects/Ultra/options index 3d8a84726c..cda0647908 100644 --- a/projects/Ultra/options +++ b/projects/Ultra/options @@ -226,6 +226,9 @@ # build and install WiiMote support (yes / no) WIIMOTE_SUPPORT="yes" +# build and install PS3 Remote support (yes / no) + PS3REMOTE_SUPPORT="yes" + # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="no"