Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: kodi-pvr/pvr.iptvsimple
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: vpeter4/pvr.iptvsimple
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Able to merge. These branches can be automatically merged.
Loading
Showing with 11,180 additions and 3,918 deletions.
  1. +40 −14 .gitignore
  2. +30 −17 .travis.yml
  3. +43 −16 CMakeLists.txt
  4. +14 −0 FindPugixml.cmake
  5. +0 −12 FindRapidxml.cmake
  6. +1 −1 Jenkinsfile
  7. +264 −0 LICENSE.md
  8. +478 −6 README.md
  9. +65 −0 azure-pipelines.yml
  10. +59 −0 build-install-mac.sh
  11. +8 −4 debian/control
  12. +4 −24 debian/copyright
  13. +2 −5 debian/rules
  14. +1 −0 depends/common/pugixml/pugixml.sha256
  15. +1 −0 depends/common/pugixml/pugixml.txt
  16. +0 −29 depends/common/rapidxml/01-fix-windows.patch
  17. +0 −5 depends/common/rapidxml/CMakeLists.txt
  18. +0 −1 depends/common/rapidxml/rapidxml.sha256
  19. +0 −1 depends/common/rapidxml/rapidxml.txt
  20. +1 −0 depends/windowsstore/p8-platform/p8-platform.txt
  21. +293 −9 pvr.iptvsimple/addon.xml.in
  22. +285 −0 pvr.iptvsimple/changelog.txt
  23. +9 −0 pvr.iptvsimple/resources/data/genres.xml
  24. +134 −0 pvr.iptvsimple/resources/data/genres/genreTextMappings/Rytec-UK-Ireland.xml
  25. +138 −0 pvr.iptvsimple/resources/data/genres/kodiDvbGenres.xml
  26. +138 −0 pvr.iptvsimple/resources/data/genres/kodiDvbGenresTypeSubtype.xml
  27. +15 −47 pvr.iptvsimple/resources/language/resource.language.af_za/strings.po
  28. +8 −0 pvr.iptvsimple/resources/language/resource.language.am_et/strings.po
  29. +12 −48 pvr.iptvsimple/resources/language/resource.language.ar_sa/strings.po
  30. +4 −12 pvr.iptvsimple/resources/language/resource.language.az_az/strings.po
  31. +12 −0 pvr.iptvsimple/resources/language/resource.language.be_by/strings.po
  32. +206 −30 pvr.iptvsimple/resources/language/resource.language.bg_bg/strings.po
  33. +8 −0 pvr.iptvsimple/resources/language/resource.language.bs_ba/strings.po
  34. +15 −47 pvr.iptvsimple/resources/language/resource.language.ca_es/strings.po
  35. +15 −47 pvr.iptvsimple/resources/language/resource.language.cs_cz/strings.po
  36. +12 −48 pvr.iptvsimple/resources/language/resource.language.cy_gb/strings.po
  37. +18 −50 pvr.iptvsimple/resources/language/resource.language.da_dk/strings.po
  38. +19 −51 pvr.iptvsimple/resources/language/resource.language.de_de/strings.po
  39. +15 −47 pvr.iptvsimple/resources/language/resource.language.el_gr/strings.po
  40. +12 −44 pvr.iptvsimple/resources/language/resource.language.en_au/strings.po
  41. +629 −17 pvr.iptvsimple/resources/language/resource.language.en_gb/strings.po
  42. +15 −47 pvr.iptvsimple/resources/language/resource.language.en_nz/strings.po
  43. +201 −25 pvr.iptvsimple/resources/language/resource.language.en_us/strings.po
  44. +8 −0 pvr.iptvsimple/resources/language/resource.language.eo/strings.po
  45. +12 −48 pvr.iptvsimple/resources/language/resource.language.es_ar/strings.po
  46. +194 −18 pvr.iptvsimple/resources/language/resource.language.es_es/strings.po
  47. +15 −47 pvr.iptvsimple/resources/language/resource.language.es_mx/strings.po
  48. +12 −0 pvr.iptvsimple/resources/language/resource.language.et_ee/strings.po
  49. +12 −0 pvr.iptvsimple/resources/language/resource.language.eu_es/strings.po
  50. +8 −0 pvr.iptvsimple/resources/language/resource.language.fa_af/strings.po
  51. +12 −0 pvr.iptvsimple/resources/language/resource.language.fa_ir/strings.po
  52. +15 −47 pvr.iptvsimple/resources/language/resource.language.fi_fi/strings.po
  53. +8 −0 pvr.iptvsimple/resources/language/resource.language.fo_fo/strings.po
  54. +15 −47 pvr.iptvsimple/resources/language/resource.language.fr_ca/strings.po
  55. +201 −25 pvr.iptvsimple/resources/language/resource.language.fr_fr/strings.po
  56. +15 −47 pvr.iptvsimple/resources/language/resource.language.gl_es/strings.po
  57. +15 −47 pvr.iptvsimple/resources/language/resource.language.he_il/strings.po
  58. +12 −0 pvr.iptvsimple/resources/language/resource.language.hi_in/strings.po
  59. +197 −25 pvr.iptvsimple/resources/language/resource.language.hr_hr/strings.po
  60. +48 −24 pvr.iptvsimple/resources/language/resource.language.hu_hu/strings.po
  61. +4 −0 pvr.iptvsimple/resources/language/resource.language.hy_am/strings.po
  62. +15 −47 pvr.iptvsimple/resources/language/resource.language.id_id/strings.po
  63. +15 −47 pvr.iptvsimple/resources/language/resource.language.is_is/strings.po
  64. +15 −47 pvr.iptvsimple/resources/language/resource.language.it_it/strings.po
  65. +26 −42 pvr.iptvsimple/resources/language/resource.language.ja_jp/strings.po
  66. +191 −15 pvr.iptvsimple/resources/language/resource.language.ko_kr/strings.po
  67. +149 −17 pvr.iptvsimple/resources/language/resource.language.lt_lt/strings.po
  68. +12 −44 pvr.iptvsimple/resources/language/resource.language.lv_lv/strings.po
  69. +12 −0 pvr.iptvsimple/resources/language/resource.language.mi/strings.po
  70. +12 −44 pvr.iptvsimple/resources/language/resource.language.mk_mk/strings.po
  71. +4 −0 pvr.iptvsimple/resources/language/resource.language.ml_in/strings.po
  72. +7 −11 pvr.iptvsimple/resources/language/resource.language.mn_mn/strings.po
  73. +15 −47 pvr.iptvsimple/resources/language/resource.language.ms_my/strings.po
  74. +12 −48 pvr.iptvsimple/resources/language/resource.language.mt_mt/strings.po
  75. +12 −0 pvr.iptvsimple/resources/language/resource.language.my_mm/strings.po
  76. +15 −47 pvr.iptvsimple/resources/language/resource.language.nb_no/strings.po
  77. +43 −27 pvr.iptvsimple/resources/language/resource.language.nl_nl/strings.po
  78. +43 −19 pvr.iptvsimple/resources/language/resource.language.pl_pl/strings.po
  79. +201 −25 pvr.iptvsimple/resources/language/resource.language.pt_br/strings.po
  80. +15 −47 pvr.iptvsimple/resources/language/resource.language.pt_pt/strings.po
  81. +15 −47 pvr.iptvsimple/resources/language/resource.language.ro_ro/strings.po
  82. +15 −47 pvr.iptvsimple/resources/language/resource.language.ru_ru/strings.po
  83. +11 −23 pvr.iptvsimple/resources/language/resource.language.si_lk/strings.po
  84. +72 −24 pvr.iptvsimple/resources/language/resource.language.sk_sk/strings.po
  85. +15 −47 pvr.iptvsimple/resources/language/resource.language.sl_si/strings.po
  86. +12 −0 pvr.iptvsimple/resources/language/resource.language.sq_al/strings.po
  87. +15 −47 pvr.iptvsimple/resources/language/resource.language.sr_rs/strings.po
  88. +15 −47 pvr.iptvsimple/resources/language/resource.language.sr_rs@latin/strings.po
  89. +15 −47 pvr.iptvsimple/resources/language/resource.language.sv_se/strings.po
  90. +15 −47 pvr.iptvsimple/resources/language/resource.language.szl/strings.po
  91. +12 −0 pvr.iptvsimple/resources/language/resource.language.ta_in/strings.po
  92. +4 −0 pvr.iptvsimple/resources/language/resource.language.te_in/strings.po
  93. +12 −0 pvr.iptvsimple/resources/language/resource.language.tg_tj/strings.po
  94. +12 −0 pvr.iptvsimple/resources/language/resource.language.th_th/strings.po
  95. +40 −24 pvr.iptvsimple/resources/language/resource.language.tr_tr/strings.po
  96. +15 −43 pvr.iptvsimple/resources/language/resource.language.uk_ua/strings.po
  97. +4 −0 pvr.iptvsimple/resources/language/resource.language.uz_uz/strings.po
  98. +13 −21 pvr.iptvsimple/resources/language/resource.language.vi_vn/strings.po
  99. +15 −47 pvr.iptvsimple/resources/language/resource.language.zh_cn/strings.po
  100. +15 −47 pvr.iptvsimple/resources/language/resource.language.zh_tw/strings.po
  101. +520 −32 pvr.iptvsimple/resources/settings.xml
  102. +210 −1,044 src/PVRIptvData.cpp
  103. +76 −121 src/PVRIptvData.h
  104. +0 −454 src/client.cpp
  105. +0 −56 src/client.h
  106. +512 −0 src/iptvsimple/CatchupController.cpp
  107. +78 −0 src/iptvsimple/CatchupController.h
  108. +142 −0 src/iptvsimple/ChannelGroups.cpp
  109. +40 −0 src/iptvsimple/ChannelGroups.h
  110. +155 −0 src/iptvsimple/Channels.cpp
  111. +54 −0 src/iptvsimple/Channels.h
  112. +537 −0 src/iptvsimple/Epg.cpp
  113. +84 −0 src/iptvsimple/Epg.h
  114. +379 −0 src/iptvsimple/PlaylistLoader.cpp
  115. +68 −0 src/iptvsimple/PlaylistLoader.h
  116. +192 −0 src/iptvsimple/Settings.cpp
  117. +258 −0 src/iptvsimple/Settings.h
  118. +91 −0 src/iptvsimple/StreamManager.cpp
  119. +38 −0 src/iptvsimple/StreamManager.h
  120. +471 −0 src/iptvsimple/data/Channel.cpp
  121. +163 −0 src/iptvsimple/data/Channel.h
  122. +71 −0 src/iptvsimple/data/ChannelEpg.cpp
  123. +48 −0 src/iptvsimple/data/ChannelEpg.h
  124. +19 −0 src/iptvsimple/data/ChannelGroup.cpp
  125. +44 −0 src/iptvsimple/data/ChannelGroup.h
  126. +353 −0 src/iptvsimple/data/EpgEntry.cpp
  127. +136 −0 src/iptvsimple/data/EpgEntry.h
  128. +52 −0 src/iptvsimple/data/EpgGenre.cpp
  129. +39 −0 src/iptvsimple/data/EpgGenre.h
  130. +51 −0 src/iptvsimple/data/StreamEntry.h
  131. +269 −0 src/iptvsimple/utilities/FileUtils.cpp
  132. +38 −0 src/iptvsimple/utilities/FileUtils.h
  133. +62 −0 src/iptvsimple/utilities/Logger.cpp
  134. +83 −0 src/iptvsimple/utilities/Logger.h
  135. +386 −0 src/iptvsimple/utilities/StreamUtils.cpp
  136. +52 −0 src/iptvsimple/utilities/StreamUtils.h
  137. +23 −0 src/iptvsimple/utilities/TimeUtils.h
  138. +84 −0 src/iptvsimple/utilities/WebUtils.cpp
  139. +31 −0 src/iptvsimple/utilities/WebUtils.h
  140. +88 −0 src/iptvsimple/utilities/XMLUtils.h
54 changes: 40 additions & 14 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,24 +1,50 @@
# build artifacts
build/
cmake-build-debug/
pvr.*/addon.xml

# Debian build files
debian/changelog
debian/files
debian/kodi-pvr-iptvsimple-dbg.debhelper.log
debian/kodi-pvr-iptvsimple-dbg.substvars
debian/kodi-pvr-iptvsimple-dbg/
debian/kodi-pvr-iptvsimple.debhelper.log
debian/kodi-pvr-iptvsimple.postinst.debhelper
debian/kodi-pvr-iptvsimple.postrm.debhelper
debian/kodi-pvr-iptvsimple.substvars
debian/kodi-pvr-iptvsimple/
debian/*.log
debian/*.substvars
debian/.debhelper/
debian/tmp/
debian/kodi-pvr-*/
obj-x86_64-linux-gnu/
pvr.iptvsimple/addon.xml

# commonly used editors
# vim
*.swp

# Eclipse
*.project
*.cproject
.classpath
*.sublime-*
.settings/

# KDevelop 4
*.kdev4

# gedit
*~

# CLion
/.idea

# clion
.idea/

# Eclipse/CDT
.cproject
.project
.settings/
# to prevent add after a "git format-patch VALUE" and "git add ." call
/*.patch

# Visual Studio Code
.vscode

# to prevent add if project code opened by Visual Studio over CMake file
.vs/

# General MacOS
.DS_Store
.AppleDouble
.LSOverride
47 changes: 30 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
language: cpp

#
# Define the build matrix
#
# Travis defaults to building on Ubuntu Precise when building on
# Linux. We need Trusty in order to get up to date versions of
# cmake and g++.
# Define the builds to get up to date versions of cmake and gcc
#
env:
global:
@@ -14,28 +10,45 @@ env:
matrix:
include:
- os: linux
dist: xenial
dist: bionic
sudo: required
compiler: gcc
- os: linux
dist: xenial
dist: bionic
sudo: required
compiler: clang
- os: linux
dist: bionic
sudo: required
compiler: gcc
env: DEBIAN_BUILD=true
- os: linux
dist: focal
sudo: required
compiler: gcc
env: DEBIAN_BUILD=true
- os: osx
osx_image: xcode9
- os: osx
osx_image: xcode9.4
osx_image: xcode10.2

before_install:
- if [[ $DEBIAN_BUILD == true ]]; then sudo add-apt-repository -y ppa:team-xbmc/xbmc-nightly; fi
- if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get update; fi
- if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get install fakeroot; fi

#
# The addon source is automatically checked out in $TRAVIS_BUILD_DIR,
# we'll put the Kodi source on the same level
#
before_script:
- cd $TRAVIS_BUILD_DIR/..
- git clone --depth=1 https://github.com/xbmc/xbmc.git
- cd ${app_id} && mkdir build && cd build
- mkdir -p definition/${app_id}
- echo ${app_id} $TRAVIS_BUILD_DIR $TRAVIS_COMMIT > definition/${app_id}/${app_id}.txt
- cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DADDONS_DEFINITION_DIR=$TRAVIS_BUILD_DIR/build/definition -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/cmake/addons
- if [[ $DEBIAN_BUILD != true ]]; then cd $TRAVIS_BUILD_DIR/..; fi
- if [[ $DEBIAN_BUILD != true ]]; then git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git; fi
- if [[ $DEBIAN_BUILD != true ]]; then cd ${app_id} && mkdir build && cd build; fi
- if [[ $DEBIAN_BUILD != true ]]; then mkdir -p definition/${app_id}; fi
- if [[ $DEBIAN_BUILD != true ]]; then echo ${app_id} $TRAVIS_BUILD_DIR $TRAVIS_COMMIT > definition/${app_id}/${app_id}.txt; fi
- if [[ $DEBIAN_BUILD != true ]]; then cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DADDONS_DEFINITION_DIR=$TRAVIS_BUILD_DIR/build/definition -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/cmake/addons; fi
- if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/master/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi
- if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get build-dep $TRAVIS_BUILD_DIR; fi

script: make
script:
- if [[ $DEBIAN_BUILD != true ]]; then make; fi
- if [[ $DEBIAN_BUILD == true ]]; then ./debian-addon-package-test.sh $TRAVIS_BUILD_DIR; fi
59 changes: 43 additions & 16 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,33 +1,60 @@
cmake_minimum_required(VERSION 3.5)
project(pvr.iptvsimple)

cmake_minimum_required(VERSION 2.6)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})

enable_language(CXX)

find_package(Kodi REQUIRED)
find_package(kodiplatform REQUIRED)
find_package(p8-platform REQUIRED)
find_package(Rapidxml REQUIRED)
find_package(Pugixml REQUIRED)
find_package(ZLIB REQUIRED)

include_directories(${kodiplatform_INCLUDE_DIRS}
${p8-platform_INCLUDE_DIRS}
${KODI_INCLUDE_DIR}
${RAPIDXML_INCLUDE_DIRS}
include_directories(${KODI_INCLUDE_DIR}/.. # Hack way with "/..", need bigger Kodi cmake rework to match right include ways
${PUGIXML_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIRS})

set(DEPLIBS ${p8-platform_LIBRARIES}
set(DEPLIBS ${PUGIXML_LIBRARIES}
${ZLIB_LIBRARIES})

message(STATUS "PUGIXML_LIBRARIES: ${PUGIXML_LIBRARIES}")
message(STATUS "ZLIB_LIBRARIES: ${ZLIB_LIBRARIES}")

set(IPTV_SOURCES src/client.cpp
src/PVRIptvData.cpp)
set(IPTV_SOURCES src/PVRIptvData.cpp
src/iptvsimple/CatchupController.cpp
src/iptvsimple/Channels.cpp
src/iptvsimple/ChannelGroups.cpp
src/iptvsimple/Epg.cpp
src/iptvsimple/PlaylistLoader.cpp
src/iptvsimple/Settings.cpp
src/iptvsimple/StreamManager.cpp
src/iptvsimple/data/Channel.cpp
src/iptvsimple/data/ChannelEpg.cpp
src/iptvsimple/data/ChannelGroup.cpp
src/iptvsimple/data/EpgEntry.cpp
src/iptvsimple/data/EpgGenre.cpp
src/iptvsimple/utilities/FileUtils.cpp
src/iptvsimple/utilities/Logger.cpp
src/iptvsimple/utilities/StreamUtils.cpp
src/iptvsimple/utilities/WebUtils.cpp)

set(IPTV_HEADERS src/client.h
src/PVRIptvData.h)
set(IPTV_HEADERS src/PVRIptvData.h
src/iptvsimple/CatchupController.h
src/iptvsimple/Channels.h
src/iptvsimple/ChannelGroups.h
src/iptvsimple/Epg.h
src/iptvsimple/PlaylistLoader.h
src/iptvsimple/Settings.h
src/iptvsimple/StreamManager.h
src/iptvsimple/data/Channel.h
src/iptvsimple/data/ChannelEpg.h
src/iptvsimple/data/ChannelGroup.h
src/iptvsimple/data/EpgEntry.h
src/iptvsimple/data/EpgGenre.h
src/iptvsimple/data/StreamEntry.h
src/iptvsimple/utilities/FileUtils.h
src/iptvsimple/utilities/Logger.h
src/iptvsimple/utilities/StreamUtils.h
src/iptvsimple/utilities/TimeUtils.h
src/iptvsimple/utilities/WebUtils.h
src/iptvsimple/utilities/XMLUtils.h)

addon_version(pvr.iptvsimple IPTV)
add_definitions(-DIPTV_VERSION=${IPTV_VERSION})
14 changes: 14 additions & 0 deletions FindPugixml.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# - Try to find pugixml
# Once done this will define
#
# PUGIXML_FOUND - system has pugixml
# PUGIXML_INCLUDE_DIRS - the pugixml include directory
# PUGIXML_LIBRARIES - the pugixml library

find_path(PUGIXML_INCLUDE_DIRS pugixml.hpp)
find_library(PUGIXML_LIBRARIES pugixml)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(pugixml REQUIRED_VARS PUGIXML_INCLUDE_DIRS PUGIXML_LIBRARIES)

mark_as_advanced(PUGIXML_INCLUDE_DIRS PUGIXML_LIBRARIES)
12 changes: 0 additions & 12 deletions FindRapidxml.cmake

This file was deleted.

2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
buildPlugin()
buildPlugin(version: "Matrix")
Loading