diff --git a/packages/addons/addon-depends/tvh-dtv-scan-tables/package.mk b/packages/addons/addon-depends/tvh-dtv-scan-tables/package.mk new file mode 100644 index 0000000000..df0682eae7 --- /dev/null +++ b/packages/addons/addon-depends/tvh-dtv-scan-tables/package.mk @@ -0,0 +1,29 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="tvh-dtv-scan-tables" +PKG_VERSION="a3ebfcd" +PKG_SHA256="0cfb977f9346b3a19f8494816379214a9e197301254f6fd46d9072f3895f5f68" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="https://github.com/tvheadend" +PKG_URL="https://github.com/tvheadend/dtv-scan-tables/archive/$PKG_VERSION.tar.gz" +PKG_SOURCE_DIR="dtv-scan-tables-${PKG_VERSION}*" +PKG_DEPENDS_TARGET="toolchain" +PKG_LONGDESC="Digital TV scan tables, a fork from Tvh to support more recent tables" +PKG_TOOLCHAIN="manual" diff --git a/packages/addons/service/tvheadend42/addon.xml b/packages/addons/service/tvheadend42/addon.xml new file mode 100644 index 0000000000..a166e9a6b0 --- /dev/null +++ b/packages/addons/service/tvheadend42/addon.xml @@ -0,0 +1,35 @@ + + + + + +@REQUIRES@ + + + @PKG_ADDON_PROVIDES@ + + + @PKG_ADDON_PROVIDES@ + + + @PKG_SHORTDESC@ + +@PKG_LONGDESC@ + + +@PKG_DISCLAIMER@ + + all + +@PKG_ADDON_NEWS@ + + + resources/icon.png + resources/fanart.png +@PKG_ADDON_SCREENSHOT@ + + + diff --git a/packages/addons/service/tvheadend42/changelog.txt b/packages/addons/service/tvheadend42/changelog.txt index 30b75937aa..5f4f2d6c20 100644 --- a/packages/addons/service/tvheadend42/changelog.txt +++ b/packages/addons/service/tvheadend42/changelog.txt @@ -1,3 +1,7 @@ +114 +- update to 4.2.5-27 +- addded manual Scan-Table update + 113 - update to 4.2.4-23 - full transcoding support diff --git a/packages/addons/service/tvheadend42/package.mk b/packages/addons/service/tvheadend42/package.mk index f81ac1c4fc..8bc8704e37 100644 --- a/packages/addons/service/tvheadend42/package.mk +++ b/packages/addons/service/tvheadend42/package.mk @@ -17,16 +17,16 @@ ################################################################################ PKG_NAME="tvheadend42" -PKG_VERSION="ceaf330" -PKG_SHA256="c6b3b366136d9e86630cb2ebd2cab823448d0eeb02ef15e72bc0accd8dc9d923" -PKG_VERSION_NUMBER="4.2.4-23" -PKG_REV="113" +PKG_VERSION="7a8fa15" +PKG_SHA256="317fbd5ac0167cb64021bcfbe1f31deb4edbafaf63e6ffc385c94662706e20a1" +PKG_VERSION_NUMBER="4.2.5-27" +PKG_REV="114" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.tvheadend.org" PKG_URL="https://github.com/tvheadend/tvheadend/archive/$PKG_VERSION.tar.gz" PKG_SOURCE_DIR="tvheadend-${PKG_VERSION}*" -PKG_DEPENDS_TARGET="toolchain avahi curl dvb-apps ffmpegx libdvbcsa libiconv openssl pngquant:host Python2:host" +PKG_DEPENDS_TARGET="toolchain avahi curl dvb-apps ffmpegx libdvbcsa libiconv openssl pngquant:host Python2:host tvh-dtv-scan-tables" PKG_SECTION="service" PKG_SHORTDESC="Tvheadend: a TV streaming server for Linux" PKG_LONGDESC="Tvheadend ($PKG_VERSION_NUMBER): is a TV streaming server for Linux supporting DVB-S/S2, DVB-C, DVB-T/T2, IPTV, SAT>IP, ATSC and ISDB-T" @@ -71,8 +71,9 @@ PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \ --disable-dbus_1 \ --enable-dvbcsa \ --enable-dvben50221 \ - --enable-hdhomerun_client \ - --enable-hdhomerun_static \ + --disable-dvbscan \ + --disable-hdhomerun_client \ + --disable-hdhomerun_static \ --enable-epoll \ --enable-inotify \ --enable-pngquant \ @@ -114,6 +115,20 @@ makeinstall_target() { addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin + + cp $PKG_DIR/addon.xml $ADDON_BUILD/$PKG_ADDON_ID + + # set only version (revision will be added by buildsystem) + $SED -e "s|@ADDON_VERSION@|$ADDON_VERSION|g" \ + -i $ADDON_BUILD/$PKG_ADDON_ID/addon.xml + cp -P $PKG_BUILD/build.linux/tvheadend $ADDON_BUILD/$PKG_ADDON_ID/bin cp -P $PKG_BUILD/capmt_ca.so $ADDON_BUILD/$PKG_ADDON_ID/bin + + #dvb-scan files + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/dvb-scan + cp -r $(get_build_dir tvh-dtv-scan-tables)/atsc \ + $(get_build_dir tvh-dtv-scan-tables)/dvb-* \ + $(get_build_dir tvh-dtv-scan-tables)/isdb-t \ + $ADDON_BUILD/$PKG_ADDON_ID/dvb-scan } diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-01-dvb-scan-path.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-01-dvb-scan-path.patch new file mode 100644 index 0000000000..af3432ed85 --- /dev/null +++ b/packages/addons/service/tvheadend42/patches/tvheadend42-01-dvb-scan-path.patch @@ -0,0 +1,11 @@ +--- a/src/input/mpegts/scanfile.c ++++ b/src/input/mpegts/scanfile.c +@@ -903,7 +903,7 @@ scanfile_init ( const char *muxconf_path, int lock ) + #elif defined(PLATFORM_FREEBSD) + path = "/usr/local/share/dtv-scan-tables"; + #else +- path = "/usr/share/dvb"; ++ path = "/storage/.kodi/addons/service.tvheadend42/dvb-scan"; + #endif + + if (!initialized) { diff --git a/packages/addons/service/tvheadend42/source/default.py b/packages/addons/service/tvheadend42/source/default.py index 3999a0eb31..131e0e528d 100644 --- a/packages/addons/service/tvheadend42/source/default.py +++ b/packages/addons/service/tvheadend42/source/default.py @@ -1,6 +1,6 @@ ################################################################################ # This file is part of LibreELEC - https://libreelec.tv -# Copyright (C) 2016 Team LibreELEC +# Copyright (C) 2016-present Team LibreELEC # # LibreELEC is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/packages/addons/service/tvheadend42/source/download.py b/packages/addons/service/tvheadend42/source/download.py new file mode 100644 index 0000000000..8f7cbeb9c9 --- /dev/null +++ b/packages/addons/service/tvheadend42/source/download.py @@ -0,0 +1,82 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +import urllib, os, zipfile +from urllib2 import URLError +import xbmc, xbmcgui, xbmcaddon +import shutil +import sys + +url = 'https://github.com/tvheadend/dtv-scan-tables/archive/tvheadend.zip' +temp = xbmc.translatePath('special://temp') +temp_folder = os.path.join(temp, 'dtv-scan-tables-tvheadend') +dest_folder = os.path.join(xbmc.translatePath(xbmcaddon.Addon().getAddonInfo('path')), 'dvb-scan') +archive = os.path.join(temp, 'dtv_scantables.zip') + +ADDON_NAME = xbmcaddon.Addon().getAddonInfo('name') +LS = xbmcaddon.Addon().getLocalizedString +SCANTABLES = ['atsc', 'channels-conf', 'dvb-c', 'dvb-s', 'dvb-t', 'isdb-t'] + +class DownLoader(): + + def __init__(self): + self.dp = xbmcgui.DialogProgressBG() + + def download(self, url, dest): + try: + self.dp.create(ADDON_NAME, LS(30042)) + urllib.urlretrieve(url, dest, reporthook=self._pbhook) + self.dp.close() + zip = zipfile.ZipFile(archive) + if zip.testzip() is not None: raise zipfile.BadZipfile + + if os.path.exists(temp_folder): shutil.rmtree(temp_folder) + if os.path.exists(dest_folder): shutil.rmtree(dest_folder) + + self.dp.create(ADDON_NAME, LS(30043)) + for idx, folder in enumerate(SCANTABLES): + self._pbhook(idx, 1, len(SCANTABLES) - 1) + for z in zip.filelist: + if folder in z.filename: zip.extract(z.filename, temp) + + self.dp.close() + for folder in SCANTABLES: + shutil.copytree(os.path.join(temp_folder, folder), os.path.join(dest_folder, folder)) + + xbmcgui.Dialog().notification(ADDON_NAME, LS(30039), xbmcgui.NOTIFICATION_INFO) + except URLError, e: + xbmc.log('Could not download file: %s' % e.reason, xbmc.LOGERROR) + self.dp.close() + xbmcgui.Dialog().notification(ADDON_NAME, LS(30040), xbmcgui.NOTIFICATION_ERROR) + except zipfile.BadZipfile: + xbmc.log('Could not extract files from zip, bad zipfile', xbmc.LOGERROR) + xbmcgui.Dialog().notification(ADDON_NAME, LS(30041), xbmcgui.NOTIFICATION_ERROR) + + def _pbhook(self, numblocks, blocksize, filesize): + percent = int((numblocks * blocksize * 100) / filesize) + self.dp.update(percent) + + +if __name__ == '__main__': + try: + if sys.argv[1] == 'getscantables': + dl = DownLoader() + dl.download(url, archive) + except IndexError: + pass + diff --git a/packages/addons/service/tvheadend42/source/resources/language/English/strings.po b/packages/addons/service/tvheadend42/source/resources/language/English/strings.po new file mode 100644 index 0000000000..8047092343 --- /dev/null +++ b/packages/addons/service/tvheadend42/source/resources/language/English/strings.po @@ -0,0 +1,182 @@ +# Kodi Media Center language file +# Addon Name: tvheadend42 +# Addon id: service.tvheadend42 +# Addon Provider: Team LibreELEC +msgid "" +msgstr "" + +msgctxt "#30000" +msgid "XMLTV" +msgstr "" + +msgctxt "#30001" +msgid "DVB" +msgstr "" + +msgctxt "#30002" +msgid "DEBUG" +msgstr "" + +msgctxt "#30003" +msgid "FRITZ!Box Sat>IP" +msgstr "" + +msgctxt "#30004" +msgid "XMLTV Configuration" +msgstr "" + +msgctxt "#30005" +msgid "XMLTV source type" +msgstr "" + +msgctxt "#30006" +msgid "XMLTV File location" +msgstr "" + +msgctxt "#30007" +msgid "XMLTV Web location" +msgstr "" + +msgctxt "#30008" +msgid "XMLTV Script location" +msgstr "" + +msgctxt "#30009" +msgid "DVB Configuration" +msgstr "" + +msgctxt "#30010" +msgid "Unload DVB modules before suspend" +msgstr "" + +msgctxt "#30011" +msgid "Wait for frontend initialization" +msgstr "" + +msgctxt "#30012" +msgid "Number of adapters to wait for" +msgstr "" + +msgctxt "#30013" +msgid "Preload capmt_ca.so library" +msgstr "" + +msgctxt "#30014" +msgid "Delay the start of Tvheadend" +msgstr "" + +msgctxt "#30015" +msgid "Seconds delay" +msgstr "" + +msgctxt "#30016" +msgid "Custom start parameter" +msgstr "" + +msgctxt "#30017" +msgid "Parameter" +msgstr "" + +msgctxt "#30018" +msgid "FRITZ!Box Sat>IP server" +msgstr "" + +msgctxt "#30019" +msgid "AVM device" +msgstr "" + +msgctxt "#30020" +msgid "IP of the AVM Repeater" +msgstr "" + +msgctxt "#30021" +msgid "Router IP range (last digits are always .254)" +msgstr "" + +msgctxt "#30022" +msgid "Used network" +msgstr "" + +msgctxt "#30023" +msgid "Virtual IP #1" +msgstr "" + +msgctxt "#30024" +msgid "Virtual IP #2" +msgstr "" + +msgctxt "#30025" +msgid "Virtual IP #3" +msgstr "" + +msgctxt "#30026" +msgid "Virtual IP #4" +msgstr "" + +msgctxt "#30027" +msgid "TRACE Configuration" +msgstr "" + +msgctxt "#30028" +msgid "Path" +msgstr "" + +msgctxt "#30029" +msgid "Activate TRACE Debug" +msgstr "" + +msgctxt "#30030" +msgid "Debug Value #1" +msgstr "" + +msgctxt "#30031" +msgid "Debug Value #2" +msgstr "" + +msgctxt "#30032" +msgid "Debug Value #3" +msgstr "" + +msgctxt "#30033" +msgid "Debug Value #4" +msgstr "" + +msgctxt "#30034" +msgid "Debug Value #5" +msgstr "" + +msgctxt "#30035" +msgid "FRITZ!Box Configuration" +msgstr "" + +msgctxt "#30036" +msgid "Scan Tables" +msgstr "" + +msgctxt "#30037" +msgid "Manage Scan-Tables" +msgstr "" + +msgctxt "#30038" +msgid "Download and install Scan-Tables" +msgstr "" + +msgctxt "#30039" +msgid "Download completed, tables installed" +msgstr "" + +msgctxt "#30040" +msgid "Could not download Scan-Tables" +msgstr "" + +msgctxt "#30041" +msgid "Could not extract zip files" +msgstr "" + +msgctxt "#30042" +msgid "Download Scan-Tables" +msgstr "" + +msgctxt "#30043" +msgid "Extract Scan-Tables" +msgstr "" diff --git a/packages/addons/service/tvheadend42/source/resources/language/English/strings.xml b/packages/addons/service/tvheadend42/source/resources/language/English/strings.xml deleted file mode 100644 index 7cd4701897..0000000000 --- a/packages/addons/service/tvheadend42/source/resources/language/English/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - XMLTV - DVB - DEBUG - FRITZ!Box Sat>IP - XMLTV Configuration - XMLTV source type - XMLTV File location - XMLTV Web location - XMLTV Script location - DVB Configuration - Unload DVB mudules before suspend - Wait for frontend initialization - Number of adapters to wait for - Preload capmt_ca.so library - Delay the start of Tvheadend - Seconds delay - Custom start parameter - Parameter - FRITZ!Box Sat>IP server - AVM device - IP of the AVM Repeater - Router IP range (last digits are always .254) - Used network - Virtual IP #1 - Virtual IP #2 - Virtual IP #3 - Virtual IP #4 - TRACE Configuration - Path - Activate TRACE Debug - Debug Value #1 - Debug Value #2 - Debug Value #3 - Debug Value #4 - Debug Value #5 - diff --git a/packages/addons/service/tvheadend42/source/resources/settings.xml b/packages/addons/service/tvheadend42/source/resources/settings.xml index 8737b8de5c..33599b7e01 100644 --- a/packages/addons/service/tvheadend42/source/resources/settings.xml +++ b/packages/addons/service/tvheadend42/source/resources/settings.xml @@ -1,51 +1,55 @@ - - + + - - - - + + + + - - + + - - - - - - + + + + + + - - + + - + - - - - - - + + + + + + - - + + - - + + - - - - - + + + + + - - - - + + + + + + + + diff --git a/packages/addons/service/tvheadend42/source/settings-default.xml b/packages/addons/service/tvheadend42/source/settings-default.xml index 0f47b8e232..1b5688d658 100644 --- a/packages/addons/service/tvheadend42/source/settings-default.xml +++ b/packages/addons/service/tvheadend42/source/settings-default.xml @@ -1,10 +1,31 @@ - - - - - - - - - + + + + 192.168.178.201 + 192.168.178.202 + 192.168.178.203 + 192.168.178.204 + 192.168.178.254 + 192.168.178.2 + false + + false + false + /storage/.kodi/userdata/addon_data/service.tvheadend42/debug.txt + NONE + NONE + NONE + NONE + NONE + + 1 + false + + false + false + 1 + + + http:// + NONE diff --git a/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power b/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power index ca66f083ff..b35747480a 100755 --- a/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power +++ b/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power @@ -1,8 +1,8 @@ #!/bin/sh ################################################################################ -# This file is part of LibreELEC - https://LibreELEC.tv -# Copyright (C) 2016 Team LibreELEC +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC # # LibreELEC is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by