diff --git a/packages/addons/driver/hdhomerun/changelog.txt b/packages/addons/driver/hdhomerun/changelog.txt index e66a53169e..08c51d1348 100644 --- a/packages/addons/driver/hdhomerun/changelog.txt +++ b/packages/addons/driver/hdhomerun/changelog.txt @@ -1,2 +1,4 @@ +2.0.1 +- starting userspace DVB drivers from Tvheadend/VDR 2.0.0 - initial version of HDHomeRun driver diff --git a/packages/addons/driver/hdhomerun/meta b/packages/addons/driver/hdhomerun/meta index 39d2aafa59..7e6fbc5e0f 100644 --- a/packages/addons/driver/hdhomerun/meta +++ b/packages/addons/driver/hdhomerun/meta @@ -20,7 +20,7 @@ PKG_NAME="hdhomerun" PKG_VERSION="2.0" -PKG_REV="0" +PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.silicondust.com/products/hdhomerun/dvbt/" @@ -32,5 +32,5 @@ PKG_SECTION="driver/dvb" PKG_SHORTDESC="A linux DVB driver for the HDHomeRun (http://www.silicondust.com)." PKG_LONGDESC="A linux DVB driver for the HDHomeRun (http://www.silicondust.com)." PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="xbmc.service" +PKG_ADDON_TYPE="xbmc.python.script" PKG_AUTORECONF="no" diff --git a/packages/addons/driver/hdhomerun/source/bin/userspace-driver.sh b/packages/addons/driver/hdhomerun/source/bin/userspace-driver.sh new file mode 100755 index 0000000000..9fea322811 --- /dev/null +++ b/packages/addons/driver/hdhomerun/source/bin/userspace-driver.sh @@ -0,0 +1,65 @@ +#!/bin/sh + +################################################################################ +# 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 +################################################################################ + +. /etc/profile + +ADDON_DIR="$HOME/.xbmc/addons/driver.dvb.hdhomerun" +ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.dvb.hdhomerun" + +mkdir -p $ADDON_HOME + +if [ ! -f "$ADDON_HOME/dvbhdhomerun.sample" ]; then + cp $ADDON_DIR/config/* $ADDON_HOME/ +fi + +if [ -z "$(pidof userhdhomerun)" ]; then + rm -f /tmp/dvbhdhomerun + if [ -f $ADDON_HOME/dvbhdhomerun.conf ]; then + ln -s $ADDON_HOME/dvbhdhomerun.conf /tmp/dvbhdhomerun + fi + + # if not already added + modprobe dvb_hdhomerun + modprobe dvb_hdhomerun_fe + + mkdir -p /var/log/ + rm -f /var/log/dvbhdhomerun.log + + export LD_LIBRARY_PATH=$ADDON_DIR/lib:$LD_LIBRARY_PATH + + userhdhomerun -f + # how much time should we wait? + usleep 1000000 + if [ -f $ADDON_HOME/extra-wait.sh ]; then + sh $ADDON_HOME/extra-wait.sh + fi + +# save adapter names in background +( + sleep 4 + sn_old=$(cat $ADDON_HOME/adapters.txt 2>/dev/null) + sn_new=$(grep "Name of device: " /var/log/dvbhdhomerun.log) + if [ "$sn_old" != "$sn_new" ]; then + echo -n $sn_new >$ADDON_HOME/adapters.txt + fi +)& +fi diff --git a/packages/addons/driver/hdhomerun/source/default.py b/packages/addons/driver/hdhomerun/source/default.py old mode 100755 new mode 100644 index 51ae54d239..2085a1f96d --- a/packages/addons/driver/hdhomerun/source/default.py +++ b/packages/addons/driver/hdhomerun/source/default.py @@ -21,12 +21,3 @@ import os import sys import xbmcaddon - -__scriptname__ = "Driver for the HDHomeRun TV tuner" -__author__ = "OpenELEC" -__url__ = "http://www.openelec.tv" -__settings__ = xbmcaddon.Addon(id='driver.dvb.hdhomerun') -__cwd__ = __settings__.getAddonInfo('path') -__path__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "hdhomerun.service") ) - -os.system(__path__) diff --git a/packages/addons/driver/hdhomerun/source/sleep.d/hdhomerun.power b/packages/addons/driver/hdhomerun/source/sleep.d/hdhomerun.power index 416d059066..66eb8d2d57 100755 --- a/packages/addons/driver/hdhomerun/source/sleep.d/hdhomerun.power +++ b/packages/addons/driver/hdhomerun/source/sleep.d/hdhomerun.power @@ -37,8 +37,7 @@ case "$1" in thaw|resume) if [ -f "$LOCKDIR/$LOCKFILE" ]; then - progress "Restarting HDHomeRun driver for wakeup..." - hdhomerun.service + # driver started within Tvheadend/VDR rm -rf "$LOCKDIR/$LOCKFILE" fi ;; diff --git a/packages/addons/driver/sundtek-mediatv/changelog.txt b/packages/addons/driver/sundtek-mediatv/changelog.txt index 64e4eecd42..36442c4e48 100644 --- a/packages/addons/driver/sundtek-mediatv/changelog.txt +++ b/packages/addons/driver/sundtek-mediatv/changelog.txt @@ -1,2 +1,4 @@ +2.0.5 +- starting userspace DVB drivers from Tvheadend/VDR 1.90.0 - initial version of Sundtek MediaTV DVB driver diff --git a/packages/addons/driver/sundtek-mediatv/config/sundtek.conf b/packages/addons/driver/sundtek-mediatv/config/sundtek.conf index 1620e1365e..a3311d4bbe 100644 --- a/packages/addons/driver/sundtek-mediatv/config/sundtek.conf +++ b/packages/addons/driver/sundtek-mediatv/config/sundtek.conf @@ -2,8 +2,8 @@ # sundtek.conf # # Call attach/detach script when new device appears/disappears -device_attach=/storage/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv/device_attach_detach.sh attach DEVID -device_detach=/storage/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv/device_attach_detach.sh detach DEVID +# Do not change this line! +device_attach=/storage/.xbmc/addons/driver.dvb.sundtek-mediatv/bin/device-attached.sh # Infrared Control Support is disabled/enabled ir_disabled=1 diff --git a/packages/addons/driver/sundtek-mediatv/meta b/packages/addons/driver/sundtek-mediatv/meta old mode 100755 new mode 100644 index f8b32338f1..c2feb61e69 --- a/packages/addons/driver/sundtek-mediatv/meta +++ b/packages/addons/driver/sundtek-mediatv/meta @@ -19,8 +19,8 @@ ################################################################################ PKG_NAME="sundtek-mediatv" -PKG_VERSION="1.90" -PKG_REV="4" +PKG_VERSION="2.0" +PKG_REV="5" PKG_ARCH="any" PKG_LICENSE="nonfree" PKG_SITE="http://support.sundtek.com/" @@ -32,5 +32,5 @@ PKG_SECTION="driver/dvb" PKG_SHORTDESC="Sundtek USB Stick DVB userspace driver" PKG_LONGDESC="Driver for Sundtek MediaTV Pro (DVB-C, DVB-T, AnalogTV, Composite, S-Video, FM-Radio USB Stick) and Sundtek SkyTV Ultimate (DVB-S/S2 USB)." PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="xbmc.service" +PKG_ADDON_TYPE="xbmc.python.script" PKG_AUTORECONF="no" diff --git a/packages/addons/driver/sundtek-mediatv/source/bin/device-attached.sh b/packages/addons/driver/sundtek-mediatv/source/bin/device-attached.sh new file mode 100755 index 0000000000..e88d52c225 --- /dev/null +++ b/packages/addons/driver/sundtek-mediatv/source/bin/device-attached.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +################################################################################ +# 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 +################################################################################ + +SUNDTEK_READY="/var/run/sundtek.ready" + +touch $SUNDTEK_READY diff --git a/packages/addons/driver/sundtek-mediatv/source/bin/userspace-driver.sh b/packages/addons/driver/sundtek-mediatv/source/bin/userspace-driver.sh new file mode 100755 index 0000000000..c44eda3202 --- /dev/null +++ b/packages/addons/driver/sundtek-mediatv/source/bin/userspace-driver.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +################################################################################ +# 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 +################################################################################ + +. /etc/profile + +ADDON_DIR="$HOME/.xbmc/addons/driver.dvb.sundtek-mediatv" +ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv" +SUNDTEK_READY="/var/run/sundtek.ready" + +mkdir -p $ADDON_HOME + +if [ ! -f "$ADDON_HOME/sundtek.conf" ]; then + cp $ADDON_DIR/config/* $ADDON_HOME/ +fi + +SUNDTEK_ARG="--pluginpath=$ADDON_DIR/bin --daemon" + +if [ -z "$(pidof mediasrv)" ]; then + rm -f $SUNDTEK_READY + rm -f /tmp/sundtek.conf + ln -sf $ADDON_HOME/sundtek.conf /tmp/sundtek.conf + mediasrv $SUNDTEK_ARG + + # wait for device to attach + cnt=0 + while [ 1 ]; do + if [ -f $SUNDTEK_READY ]; then + rm -f $SUNDTEK_READY + break + else if [ "$cnt" = "120" ]; then + logger -t Tvheadend "### No Sundtek device attached in 60 sec ###" + return + fi + fi + let cnt=cnt+1 + usleep 500000 + done + + export LD_LIBRARY_PATH=$ADDON_DIR/lib:$LD_LIBRARY_PATH + export LD_PRELOAD=$ADDON_DIR/lib/libmediaclient.so:$LD_PRELOAD + +( + # save adapter serial number in background + sleep 4 + serial_number_old=$(cat $ADDON_HOME/adapters.txt 2>/dev/null) + serial_number_new=$(mediaclient -e | awk '/ID:/ {print $2}') + if [ "$serial_number_old" != "$serial_number_new" ]; then + echo "$serial_number_new" >$ADDON_HOME/adapters.txt + fi +)& +fi diff --git a/packages/addons/driver/sundtek-mediatv/source/default.py b/packages/addons/driver/sundtek-mediatv/source/default.py old mode 100755 new mode 100644 index 8d040571ca..2085a1f96d --- a/packages/addons/driver/sundtek-mediatv/source/default.py +++ b/packages/addons/driver/sundtek-mediatv/source/default.py @@ -18,6 +18,6 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -import xbmc, time, os, subprocess - -os.system("sundtek-mediatv.service") +import os +import sys +import xbmcaddon diff --git a/packages/addons/driver/sundtek-mediatv/source/sleep.d/sundtek-mediatv.power b/packages/addons/driver/sundtek-mediatv/source/sleep.d/sundtek-mediatv.power index 151d8c0ff4..18d8c0ba55 100755 --- a/packages/addons/driver/sundtek-mediatv/source/sleep.d/sundtek-mediatv.power +++ b/packages/addons/driver/sundtek-mediatv/source/sleep.d/sundtek-mediatv.power @@ -37,8 +37,7 @@ case "$1" in thaw|resume) if [ -f "$LOCKDIR/$LOCKFILE" ]; then - progress "Restarting Sundtek MediaTV DVB driver for wakeup..." - sundtek-mediatv.service + # driver started within Tvheadend/VDR rm -rf "$LOCKDIR/$LOCKFILE" fi ;; diff --git a/packages/addons/service/multimedia/hts-tvheadend/addon b/packages/addons/service/multimedia/hts-tvheadend/addon index ad2c079534..566015a4f2 100755 --- a/packages/addons/service/multimedia/hts-tvheadend/addon +++ b/packages/addons/service/multimedia/hts-tvheadend/addon @@ -28,3 +28,4 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin cp -P $PKG_BUILD/build.Linux/tvheadend $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $BUILD/w_scan-[0-9]*/w_scan $ADDON_BUILD/$PKG_ADDON_ID/bin diff --git a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt index 7abbfa88d0..5a030e5d7e 100644 --- a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt +++ b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt @@ -1,3 +1,6 @@ +2.0.5 +- start userspace DVB drivers before Tvheadend + 2.0.4 - update to hts-tvheadend-fdf89b2 diff --git a/packages/addons/service/multimedia/hts-tvheadend/meta b/packages/addons/service/multimedia/hts-tvheadend/meta index 081700db36..895df48f47 100644 --- a/packages/addons/service/multimedia/hts-tvheadend/meta +++ b/packages/addons/service/multimedia/hts-tvheadend/meta @@ -20,7 +20,7 @@ PKG_NAME="hts-tvheadend" PKG_VERSION="fdf89b2" -PKG_REV="4" +PKG_REV="5" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.lonelycoder.com/hts/tvheadend_overview.html" @@ -32,8 +32,6 @@ PKG_PRIORITY="optional" PKG_SECTION="service/multimedia" PKG_SHORTDESC="hts-tvheadend: a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources." PKG_LONGDESC="HTS-Tvheadend is a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources. It also comes with a powerful and easy to use web interface both used for configuration and day-to-day operations, such as searching the EPG and scheduling recordings. Even so, the most notable feature of Tvheadend is how easy it is to set up: Install it, navigate to the web user interface, drill into the TV adapters tab, select your current location and Tvheadend will start scanning channels and present them to you in just a few minutes. If installing as an Addon a reboot is needed" - PKG_IS_ADDON="yes" PKG_ADDON_TYPE="xbmc.service" - PKG_AUTORECONF="no" diff --git a/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.service b/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.service index f34d4097db..d3a85090d6 100755 --- a/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.service +++ b/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.service @@ -47,5 +47,13 @@ TVHEADEND_ARG="-f -C -s -u root -g root -c $ADDON_HOME" mkdir -p $ADDON_HOME if [ ! $(pidof tvheadend) ];then + # start userspace DVB driver/addon + for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do + driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}') + logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###" + # use ". " because of variable export + . $driver_dvb + done + tvheadend $TVHEADEND_ARG &>$LOG_FILE fi diff --git a/packages/addons/service/multimedia/vdr-addon/changelog.txt b/packages/addons/service/multimedia/vdr-addon/changelog.txt index 7ccc30d41f..3f797e66c7 100644 --- a/packages/addons/service/multimedia/vdr-addon/changelog.txt +++ b/packages/addons/service/multimedia/vdr-addon/changelog.txt @@ -1,3 +1,6 @@ +2.0.4 +- start userspace DVB drivers before VDR + 2.0.3 - update to vdr-plugin-xvdr-0ac808a - rebuild for libiconv changes diff --git a/packages/addons/service/multimedia/vdr-addon/meta b/packages/addons/service/multimedia/vdr-addon/meta old mode 100644 new mode 100755 index 709427fc80..e3147533cc --- a/packages/addons/service/multimedia/vdr-addon/meta +++ b/packages/addons/service/multimedia/vdr-addon/meta @@ -21,7 +21,7 @@ PKG_NAME="vdr-addon" PKG_VERSION="2.0" -PKG_REV="3" +PKG_REV="4" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.openelec.tv" @@ -33,6 +33,5 @@ PKG_SECTION="service.multimedia" PKG_SHORTDESC="vdr: A powerful DVB TV application" PKG_LONGDESC="This project describes how to build your own digital satellite receiver and video disk recorder. It is based mainly on the DVB-S digital satellite receiver card, which used to be available from Fujitsu Siemens and the driver software developed by the LinuxTV project." PKG_AUTORECONF="no" - PKG_IS_ADDON="yes" PKG_ADDON_TYPE="xbmc.service" diff --git a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.service b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.service index f839e7b206..87680cecc4 100755 --- a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.service +++ b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.service @@ -58,5 +58,13 @@ fi ) if [ ! $(pidof vdr.bin) ];then + # start userspace DVB driver/addon + for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do + driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}') + logger -t VDR "### Loading userspace DVB driver: $driver_dvb_name ###" + # use ". " because of variable export + . $driver_dvb + done + LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH" vdr.bin $VDR_ARG &>$LOG_FILE fi