diff options
| author | manuel <manuel@mausz.at> | 2018-08-30 00:42:04 +0200 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2018-08-30 00:42:04 +0200 |
| commit | 2577b55681a97f3eec3fb0e3b5a4fb7f2cb18b8a (patch) | |
| tree | cc9e1f8ea69eebca8416677b2470a5b3f11a850e | |
| parent | b3d195f0188758a14875a5a2f270e4fd190a679f (diff) | |
| download | kodi-pvr-build-2577b55681a97f3eec3fb0e3b5a4fb7f2cb18b8a.tar.gz kodi-pvr-build-2577b55681a97f3eec3fb0e3b5a4fb7f2cb18b8a.tar.bz2 kodi-pvr-build-2577b55681a97f3eec3fb0e3b5a4fb7f2cb18b8a.zip | |
sync with upstream
173 files changed, 1578 insertions, 2336 deletions
diff --git a/cmake/README.md b/cmake/README.md index c1b953f..8637da6 100644 --- a/cmake/README.md +++ b/cmake/README.md | |||
| @@ -1,326 +1,85 @@ | |||
| 1 | # Kodi CMake based buildsystem | 1 |  |
| 2 | 2 | ||
| 3 | This files describes Kodi's CMake based buildsystem. CMake is a cross-platform | 3 | # Kodi's CMake Based Build System |
| 4 | tool for generating makefiles as well as project files used by IDEs. | 4 | Welcome to Kodi's CMake Based Build System. CMake is a cross-platform tool for generating makefiles as well as project files used by IDEs. The current version of the build system is capable of building and packaging Kodi for the following platforms: |
| 5 | 5 | ||
| 6 | The current version of the buildsystem is capable of building and packaging | 6 | * Linux (several distros) |
| 7 | Kodi for the following platforms: | 7 | * Windows |
| 8 | * macOS and iOS | ||
| 9 | * Android | ||
| 10 | * FreeBSD | ||
| 8 | 11 | ||
| 9 | - Linux (GNU Makefiles, Ninja) | 12 | While the legacy build systems typically used in-source builds, it's recommended to use out-of-source builds with CMake. The necessary runtime dependencies such as dlls, skins and configuration files are copied over to the build directory automatically. Instructions are highly dependent on your operating system and target platform but we prepared a set of **[build guides](../docs/README.md)** for your convenience. |
| 10 | - Windows (NMake Makefiles, Visual Studio 14 (2015), Ninja) | ||
| 11 | - macOS and iOS (GNU Makefiles, Xcode, Ninja) | ||
| 12 | - Android (GNU Makefiles) | ||
| 13 | - FreeBSD (GNU Makefiles) | ||
| 14 | 13 | ||
| 15 | Before building Kodi with CMake, please ensure that you have the platform | 14 | ## Build options |
| 16 | specific dependencies installed. | 15 | Kodi supports a number of build options that can enable or disable functionality. These options must be set when running CMake with `-DENABLE_<OPTION>=<ON|OFF|AUTO`. The default is `AUTO` which enables the option if a certain dependency is found. For example CEC support is enabled if `libCEC` is available. `ON` forcefully enables the dependency and the CMake run will **fail** if the related dependency is not available. `OFF` will disable the feature. |
| 17 | |||
| 18 | While the legacy build systems typically used in-source builds it's recommended | ||
| 19 | to use out-of-source builds with CMake. The necessary runtime dependencies such | ||
| 20 | as dlls, skins and configuration files are copied over to the build directory | ||
| 21 | automatically. | ||
| 22 | |||
| 23 | ## Dependency installation | ||
| 24 | |||
| 25 | ### Linux | ||
| 26 | |||
| 27 | The dependencies required to build on Linux can be found in | ||
| 28 | [docs/README.xxx](https://github.com/xbmc/xbmc/tree/master/docs). | ||
| 29 | |||
| 30 | ### Raspberry Pi | ||
| 31 | |||
| 32 | The cross compilation environment for the Raspberry Pi as well as the | ||
| 33 | dependencies have to be installed as explained in | ||
| 34 | [docs/README.raspberrypi](https://github.com/xbmc/xbmc/tree/master/docs/README.raspberrypi). | ||
| 35 | |||
| 36 | ### Windows | ||
| 37 | |||
| 38 | For Windows the dependencies can be found in the | ||
| 39 | [Wiki](https://kodi.wiki/view/HOW-TO:Compile_Kodi_for_Windows#Setting_up_the_build_Environment) (Step 1-4). If not already available on your pc, you should | ||
| 40 | install the [Windows Software Development Kit (SDK)](https://dev.windows.com/en-us/downloads/sdk-archive) for your Windows version. This is required for HLSL shader offline compiling with the [Effect-Compiler Tool](https://msdn.microsoft.com/de-de/library/windows/desktop/bb232919(v=vs.85).aspx) (fxc.exe). | ||
| 41 | |||
| 42 | On Windows, the CMake based buildsystem requires that the binary dependencies | ||
| 43 | are downloaded using `download-dependencies.bat` and `download-msys2.bat` | ||
| 44 | and that the mingw libs (ffmpeg, libdvd and others) are built using | ||
| 45 | `make-mingwlibs.bat`. | ||
| 46 | |||
| 47 | ### macOS | ||
| 48 | |||
| 49 | For macOS the required dependencies can be found in | ||
| 50 | [docs/README.osx.md](https://github.com/xbmc/xbmc/tree/master/docs/README.osx.md). | ||
| 51 | |||
| 52 | On macOS it is necessary to build the dependencies in `tools/depends` using | ||
| 53 | `./bootstrap && ./configure --host=<PLATFORM> && make`. The other steps such | ||
| 54 | as `make -C tools/depends/target/xbmc` and `make xcode_depends` are not needed | ||
| 55 | as these steps are covered already by the CMake project. | ||
| 56 | |||
| 57 | ### Android | ||
| 58 | |||
| 59 | The dependencies needed to compile for Android can be found in | ||
| 60 | [docs/README.android](https://github.com/xbmc/xbmc/tree/master/docs/README.android) | ||
| 61 | . All described steps have to be executed (except 5.2 which is replaced by the | ||
| 62 | respective CMake command below). | ||
| 63 | |||
| 64 | ## Building Kodi | ||
| 65 | |||
| 66 | This section lists the necessary commands for building Kodi with CMake. | ||
| 67 | CMake supports different generators that can be classified into two categories: | ||
| 68 | single- and multiconfiguration generators. | ||
| 69 | |||
| 70 | A single configuration generator (GNU/NMake Makefiles) generates project files | ||
| 71 | for a single build type (e.g. Debug, Release) specified at configure time. | ||
| 72 | Multi configuration generators (Visual Studio, Xcode) allow to specify the | ||
| 73 | build type at compile time. | ||
| 74 | |||
| 75 | All examples below are for out-of-source builds with Kodi checked out to | ||
| 76 | `<KODI_SRC>`: | ||
| 77 | |||
| 78 | ``` | ||
| 79 | mkdir kodi-build && cd kodi-build | ||
| 80 | ``` | ||
| 81 | |||
| 82 | ### Linux with GNU Makefiles | ||
| 83 | |||
| 84 | ``` | ||
| 85 | cmake <KODI_SRC> | ||
| 86 | cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) | ||
| 87 | ./kodi.bin | ||
| 88 | ``` | ||
| 89 | |||
| 90 | `CMAKE_BUILD_TYPE` defaults to `Release`. | ||
| 91 | |||
| 92 | #### Debian package generation | ||
| 93 | The buildsystem is capable of generating Debian packages using CPack. To generate them, `CPACK_GENERATOR` has to be set to *DEB*, i.e. executing CMake's configure step with `-DCPACK_GENERATOR=DEB`. | ||
| 94 | You should use CMake/CPack 3.6.0 or higher. Lower versions can generate the packages but package names will be mangled. | ||
| 95 | |||
| 96 | The following optional variables (which can be passed to buildsystem when executing cmake with the -D`<variable-name>=<value>` format) can be used to manipulate package type, name and version: | ||
| 97 | |||
| 98 | - `DEBIAN_PACKAGE_TYPE` controls the name and version of generated packages. Accepted values are `stable`, `unstable` and `nightly` (default is `nightly`). | ||
| 99 | - `DEBIAN_PACKAGE_EPOCH` controls package epoch (default is `2`) | ||
| 100 | - `DEBIAN_PACKAGE_VERSION` controls package version (default is `0`) | ||
| 101 | - `DEBIAN_PACKAGE_REVISION` controls package revision (no default is set) | ||
| 102 | |||
| 103 | Packages metadata can be changed simply by editing files present in the `cpack/deb` folder | ||
| 104 | A lot more variables are available (see cpack/CPackDebian.cmake file) but you shouldn't mess with them unless you know what you're doing. | ||
| 105 | |||
| 106 | Generated packages can be found in <BUILD_DIR>/packages. | ||
| 107 | |||
| 108 | ### Raspberry Pi with GNU Makefiles | ||
| 109 | |||
| 110 | ``` | ||
| 111 | cmake -DCMAKE_TOOLCHAIN_FILE=<KODI_SRC>/tools/depends/target/Toolchain.cmake <KODI_SRC> | ||
| 112 | cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) | ||
| 113 | ``` | ||
| 114 | |||
| 115 | ### Windows with Visual Studio project files | ||
| 116 | These instructions are for Visual Studio 2015. If you want to build for Visal Studio 2017, you need to target `Visual Studio 15` instead of `Visual Studio 14`. | ||
| 117 | |||
| 118 | #### Build for win32 | ||
| 119 | ``` | ||
| 120 | cmake -G "Visual Studio 14" <KODI_SRC> | ||
| 121 | cmake --build . --config "Debug" # or: Build solution with Visual Studio | ||
| 122 | Debug\kodi.exe | ||
| 123 | ``` | ||
| 124 | |||
| 125 | Building on a x64 cpu can be improved, if you're on a cmake version > 3.8: | ||
| 126 | ``` | ||
| 127 | cmake -G "Visual Studio 14" -T host=x64 <KODI_SRC> | ||
| 128 | cmake --build . --config "Debug" # or: Build solution with Visual Studio | ||
| 129 | Debug\kodi.exe | ||
| 130 | ``` | ||
| 131 | This will choose the x64 toolset, as windows uses the x32 toolset by default. | ||
| 132 | |||
| 133 | #### Build for x64 | ||
| 134 | ``` | ||
| 135 | cmake -G "Visual Studio 14 Win64" <KODI_SRC> | ||
| 136 | cmake --build . --config "Debug" # or: Build solution with Visual Studio | ||
| 137 | Debug\kodi.exe | ||
| 138 | ``` | ||
| 139 | |||
| 140 | Building on a x64 cpu can be improved, if you're on a cmake version > 3.8: | ||
| 141 | ``` | ||
| 142 | cmake -G "Visual Studio 14 Win64" -T host=x64 <KODI_SRC> | ||
| 143 | cmake --build . --config "Debug" # or: Build solution with Visual Studio | ||
| 144 | Debug\kodi.exe | ||
| 145 | ``` | ||
| 146 | This will choose the x64 toolset, as windows uses the x32 toolset by default. | ||
| 147 | |||
| 148 | You can always check ``cmake --help` to see which generators are available and how to call those. | ||
| 149 | |||
| 150 | #### Windows installer generation | ||
| 151 | |||
| 152 | The script [project/Win32BuildSetup](https://github.com/xbmc/xbmc/blob/master/tools/buildsteps/windows/win32/BuildSetup.bat) or [project/Win64BuildSetup](https://github.com/xbmc/xbmc/blob/master/tools/buildsteps/windows/x64/BuildSetup.bat) | ||
| 153 | builds an installable package for Windows. Choose either 32bit or 64bit, depending on what your trying to build. | ||
| 154 | |||
| 155 | ### Windows with NMake Makefiles | ||
| 156 | |||
| 157 | ``` | ||
| 158 | cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release <KODI_SRC> | ||
| 159 | cmake --build . # or: nmake | ||
| 160 | kodi.exe | ||
| 161 | ``` | ||
| 162 | |||
| 163 | ### macOS with GNU Makefiles | ||
| 164 | |||
| 165 | ``` | ||
| 166 | cmake -DCMAKE_TOOLCHAIN_FILE=<KODI_SRC>/tools/depends/target/Toolchain.cmake <KODI_SRC> | ||
| 167 | cmake --build . -- VERBOSE=1 -j$(sysctl -n hw.ncpu) # or: make VERBOSE=1 -j$(sysctl -n hw.ncpu) | ||
| 168 | ./kodi.bin | ||
| 169 | ``` | ||
| 170 | |||
| 171 | ### macOS with Xcode project files | ||
| 172 | |||
| 173 | ``` | ||
| 174 | cmake -DCMAKE_TOOLCHAIN_FILE=<KODI_SRC>/tools/depends/target/Toolchain.cmake -G "Xcode" <KODI_SRC> | ||
| 175 | cmake --build . --config "Release" -- -verbose -jobs $(sysctl -n hw.ncpu) # or: Build solution with Xcode | ||
| 176 | ./Release/kodi.bin | ||
| 177 | ``` | ||
| 178 | |||
| 179 | #### macOS installer generation | ||
| 180 | |||
| 181 | Afterwards an installable DMG for macOS can be built with the following command: | ||
| 182 | |||
| 183 | ``` | ||
| 184 | cmake --build . --config "Release" --target "dmg" # or: make dmg | ||
| 185 | ``` | ||
| 186 | |||
| 187 | #### iOS package generation | ||
| 188 | |||
| 189 | Consequently an installable DEB for iOS can be built with the following command: | ||
| 190 | |||
| 191 | ``` | ||
| 192 | make deb | ||
| 193 | ``` | ||
| 194 | |||
| 195 | ### Android with GNU Makefiles | ||
| 196 | |||
| 197 | ``` | ||
| 198 | cmake -DCMAKE_TOOLCHAIN_FILE=<KODI_SRC>/tools/depends/target/Toolchain.cmake <KODI_SRC> | ||
| 199 | cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) | ||
| 200 | ``` | ||
| 201 | |||
| 202 | #### Android package generation | ||
| 203 | |||
| 204 | An installable APK for Android can be built with the following command: | ||
| 205 | |||
| 206 | ``` | ||
| 207 | make apk | ||
| 208 | ``` | ||
| 209 | |||
| 210 | ## Options | ||
| 211 | |||
| 212 | Kodi supports a number of build options that can enable or disable certain | ||
| 213 | functionality.i These options must be set when running CMake with | ||
| 214 | `-DENABLE_<OPTION>=<ON|OFF|AUTO`. The default is `AUTO` which enables | ||
| 215 | the option if a certain dependency is found. For example CEC support is | ||
| 216 | enabled if libCEC is available. `ON` forcefully enables the dependency | ||
| 217 | and the CMake run will fail if the related dependency is not available. | ||
| 218 | This is mostly useful for packagers. `OFF` will disable the feature. | ||
| 219 | 16 | ||
| 220 | Example for forcefully enabling VAAPI and disabling VDPAU: | 17 | Example for forcefully enabling VAAPI and disabling VDPAU: |
| 221 | |||
| 222 | ``` | 18 | ``` |
| 223 | cmake ... -DENABLE_VAAPI=ON -DENABLE_VDPAU=OFF ... | 19 | cmake ... -DENABLE_VAAPI=ON -DENABLE_VDPAU=OFF ... |
| 224 | ``` | 20 | ``` |
| 225 | 21 | ||
| 226 | Example for building with external FFMPEG: | 22 | Unfortunately, Kodi's CMake gazillion options are not fully documented yet. For more information and an updated list of options, please check the main **[CMakeLists.txt](../CMakeLists.txt)**. |
| 227 | |||
| 228 | ``` | ||
| 229 | cmake ... -DFFMPEG_PATH=/opt/ffmpeg -DENABLE_INTERNAL_FFMPEG=OFF ... | ||
| 230 | ``` | ||
| 231 | |||
| 232 | For more information and an updated list of option, please check the | ||
| 233 | main [CMakeLists.txt](https://github.com/xbmc/xbmc/tree/master/CMakeLists.txt). | ||
| 234 | 23 | ||
| 235 | ## Tests | 24 | ## Tests |
| 25 | Kodi uses Google Test as its testing framework. Each test file is scanned for tests and these are added to CTest, which is the native test driver for CMake. | ||
| 236 | 26 | ||
| 237 | Kodi uses Google Test as its testing framework. Each test file is scanned for tests and these | 27 | This scanning happens at configuration time. If tests depend on generated support files which should not be scanned, then those support files should be added to the `SUPPORT_SOURCES` variable as opposed to `SOURCES` before calling `core_add_test`. You might want to do this where the generated support files would not exist at configure time, or if they are so large that scanning them would take up an unreasonable amount of configure time. |
| 238 | are added to CTest, which is the native test driver for CMake. | ||
| 239 | |||
| 240 | This scanning happens at configuration time. If tests depend on generated support files which | ||
| 241 | should not be scanned, then those support files should be added to the SUPPORT_SOURCES | ||
| 242 | variable as opposed to SOURCES before calling core_add_test. You might want to do this where | ||
| 243 | the generated support files would not exist at configure time, or if they are so large that | ||
| 244 | scanning them would take up an unreasonable amount of configure time. | ||
| 245 | 28 | ||
| 246 | ## Extra targets | 29 | ## Extra targets |
| 30 | When using makefile builds, a few extra targets are defined: | ||
| 247 | 31 | ||
| 248 | When using the makefile builds a few extra targets are defined: | 32 | * `make check` builds and executes the test suite. |
| 249 | 33 | * `make check-valgrind` builds and executes the test suite with valgrind memcheck. | |
| 250 | - `make check` builds and executes the test suite. | 34 | * `make doc` builds the Doxygen documentation. |
| 251 | - `make check-valgrind` builds and executes the test suite with valgrind memcheck. | ||
| 252 | - `make doc` builds the Doxygen documentation. | ||
| 253 | 35 | ||
| 254 | Code coverage (with Gcov, LCOV and Gcovr) can be built on Linux: | 36 | Code coverage (with Gcov, LCOV and Gcovr) can be built on Linux: |
| 255 | 37 | ||
| 256 | - CMake has to be executed with `-DCMAKE_BUILD_TYPE=Coverage` | 38 | * CMake has to be executed with `-DCMAKE_BUILD_TYPE=Coverage`. |
| 257 | - `make coverage` generates an HTML code coverage report. | 39 | * `make coverage` generates an HTML code coverage report. |
| 258 | - `make coverage_xml` generates an XML code coverage report. | 40 | * `make coverage_xml` generates an XML code coverage report. |
| 259 | 41 | ||
| 260 | ## Building binary addons | 42 | ## Building binary addons |
| 43 | Kodi's CMake build system integrates with the add-on build system if the GNU Makefile generator is used. This offers an easy way to build add-ons for packagers or Kodi developers who don't work on add-ons. | ||
| 261 | 44 | ||
| 262 | The CMake build system integrates with the addon build system if the GNU | 45 | Build all add-ons: |
| 263 | Makefile generator is used. This offers an easy way to build addons for | ||
| 264 | packagers or Kodi developers who don't work on addons. | ||
| 265 | |||
| 266 | ``` | 46 | ``` |
| 267 | make binary-addons | 47 | make binary-addons |
| 268 | ``` | 48 | ``` |
| 269 | 49 | ||
| 270 | Specific addons can be built with: | 50 | Build specific add-ons: |
| 271 | |||
| 272 | ``` | 51 | ``` |
| 273 | make binary-addons ADDONS="visualization.spectrum pvr.demo" | 52 | make binary-addons ADDONS="visualization.spectrum pvr.demo" |
| 274 | ``` | 53 | ``` |
| 275 | 54 | ||
| 276 | Addon developers can build single addons into the Kodi build directory | 55 | Add-on developers can build single add-ons into the Kodi build directory so that the add-on can be tested with self-compiled specific versions of Kodi. |
| 277 | so that the addon can be tested with self-compiled specific versions of Kodi. | ||
| 278 | |||
| 279 | ``` | 56 | ``` |
| 280 | mkdir pvr.demo-build && cd pvr.demo-build | 57 | mkdir pvr.demo-build |
| 58 | cd pvr.demo-build | ||
| 281 | cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=<KODI_BUILD_DIR>/build -DKODI_BUILD_DIR=<KODI_BUILD_DIR> <pvr.demo-SRC> | 59 | cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=<KODI_BUILD_DIR>/build -DKODI_BUILD_DIR=<KODI_BUILD_DIR> <pvr.demo-SRC> |
| 282 | make | 60 | make |
| 283 | ``` | 61 | ``` |
| 284 | 62 | ||
| 285 | It is recommended to specify the directories as absolute paths. If relative | 63 | It is recommended to specify the directories as absolute paths. If relative paths are used, they are considered relative to the build directory in which `cmake` was executed (the current working directory). |
| 286 | paths are used, they are considered relative to the build directory in which | ||
| 287 | `cmake` was executed (aka the current working working directory). | ||
| 288 | 64 | ||
| 289 | Both methods work only for already existing addons. See this | 65 | Both methods work only for already existing add-ons. See this **[forum thread](https://forum.kodi.tv/showthread.php?tid=219166&pid=1934922)** and add-ons **[README](cmake/addons/README.md)** |
| 290 | [forum thread](http://forum.kodi.tv/showthread.php?tid=219166&pid=1934922#pid1934922) | 66 | for add-on development and detailed documentation about the add-on build system. |
| 291 | and [addons/README.md](https://github.com/xbmc/xbmc/blob/master/cmake/addons/README.md) | ||
| 292 | for addon development and detailed documentation about the addon build system. | ||
| 293 | 67 | ||
| 294 | ## Sanitizers | 68 | ## Sanitizers |
| 69 | Clang and GCC support different kinds of sanitizers. To enable a sanitizer, call CMake with the option `-DECM_ENABLE_SANITIZERS=’san1;san2;...'`. For more information about enabling the | ||
| 70 | sanitizers, read the module **[documentation](modules/extra/ECMEnableSanitizers.cmake)**. | ||
| 295 | 71 | ||
| 296 | Clang and GCC support different kinds of Sanitizers. To enable a Sanitizer call CMake with the | 72 | It is also recommended to read the sections about sanitizers in the [Clang documentation](http://clang.llvm.org/docs/). |
| 297 | option `-DECM_ENABLE_SANITIZERS=’san1;san2;...'`. For more information about enabling the | ||
| 298 | Sanitizers read the documentation in | ||
| 299 | [modules/extra/ECMEnableSanitizers.cmake](https://github.com/xbmc/xbmc/tree/master/cmake/modules/extra/ECMEnableSanitizers.cmake). | ||
| 300 | |||
| 301 | It is also recommended to read the sections about the Sanitizers in the [Clang | ||
| 302 | documentation](http://clang.llvm.org/docs/). | ||
| 303 | 73 | ||
| 304 | ## Debugging the build | 74 | ## Debugging the build |
| 75 | In order to see the exact compiler commands `make` and `nmake` can be executed with a `VERBOSE=1` parameter. | ||
| 305 | 76 | ||
| 306 | This section covers some tips that can be useful for debugging a CMake | 77 | On Windows, this is unfortunately not enough because `nmake` uses temporary files to workaround `nmake`'s command string length limitations. |
| 307 | based build. | 78 | In order to see verbose output the file **[Modules/Platform/Windows.cmake](https://github.com/Kitware/CMake/blob/master/Modules/Platform/Windows.cmake#L40)** in the local CMake installation has to be adapted by uncommenting these lines: |
| 308 | |||
| 309 | ### Verbosity (show compiler and linker parameters) | ||
| 310 | |||
| 311 | In order to see the exact compiler commands `make` and `nmake` can be | ||
| 312 | executed with a `VERBOSE=1` parameter. | ||
| 313 | |||
| 314 | On Windows, this is unfortunately not enough because `nmake` uses | ||
| 315 | temporary files to workaround `nmake`'s command string length limitations. | ||
| 316 | In order to see verbose output the file | ||
| 317 | [Modules/Platform/Windows.cmake](https://github.com/Kitware/CMake/blob/master/Modules/Platform/Windows.cmake#L40) | ||
| 318 | in the local CMake installation has to be adapted by uncommenting these | ||
| 319 | lines: | ||
| 320 | |||
| 321 | ``` | 79 | ``` |
| 322 | # uncomment these out to debug nmake and borland makefiles | 80 | # uncomment these out to debug nmake and borland makefiles |
| 323 | #set(CMAKE_START_TEMP_FILE "") | 81 | #set(CMAKE_START_TEMP_FILE "") |
| 324 | #set(CMAKE_END_TEMP_FILE "") | 82 | #set(CMAKE_END_TEMP_FILE "") |
| 325 | #set(CMAKE_VERBOSE_MAKEFILE 1) | 83 | #set(CMAKE_VERBOSE_MAKEFILE 1) |
| 326 | ``` | 84 | ``` |
| 85 | |||
diff --git a/cmake/addons/CMakeLists.txt b/cmake/addons/CMakeLists.txt index 5db5dba..5fc798b 100644 --- a/cmake/addons/CMakeLists.txt +++ b/cmake/addons/CMakeLists.txt | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.3) | 1 | cmake_minimum_required(VERSION 3.5) |
| 2 | project(kodi-addons) | 2 | project(kodi-addons) |
| 3 | 3 | ||
| 4 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) | 4 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) |
diff --git a/cmake/addons/README.md b/cmake/addons/README.md index 6470ee1..e04c834 100644 --- a/cmake/addons/README.md +++ b/cmake/addons/README.md | |||
| @@ -5,7 +5,7 @@ This directory contains the cmake-based buildsystem for Kodi add-ons. It looks i | |||
| 5 | - `<addon-id> <git-url> <git-revision>` | 5 | - `<addon-id> <git-url> <git-revision>` |
| 6 | - `<addon-id> <tarball-url>` | 6 | - `<addon-id> <tarball-url>` |
| 7 | - `<addon-id> <file://path>` | 7 | - `<addon-id> <file://path>` |
| 8 | 8 | ||
| 9 | where | 9 | where |
| 10 | - `<addon-id>` must be identical to the add-on's ID as defined in the add-on's addon.xml | 10 | - `<addon-id>` must be identical to the add-on's ID as defined in the add-on's addon.xml |
| 11 | - `<git-url>` must be the URL of the git repository containing the add-on | 11 | - `<git-url>` must be the URL of the git repository containing the add-on |
diff --git a/cmake/addons/depends/common/tinyxml/tinyxml.sha256 b/cmake/addons/depends/common/tinyxml/tinyxml.sha256 new file mode 100644 index 0000000..78c07c8 --- /dev/null +++ b/cmake/addons/depends/common/tinyxml/tinyxml.sha256 | |||
| @@ -0,0 +1 @@ | |||
| 8164c9ad48b9028667768a584d62f7760cfbfb90d0dd6214ad174403058da10c | |||
diff --git a/cmake/cpack/deb/copyright b/cmake/cpack/deb/copyright index ba82f18..3033afd 100644 --- a/cmake/cpack/deb/copyright +++ b/cmake/cpack/deb/copyright | |||
| @@ -1920,14 +1920,6 @@ Crystal HD | |||
| 1920 | You should have received a copy of the GNU General Public License | 1920 | You should have received a copy of the GNU General Public License |
| 1921 | along with this driver. If not, see <http://www.gnu.org/licenses/>. | 1921 | along with this driver. If not, see <http://www.gnu.org/licenses/>. |
| 1922 | 1922 | ||
| 1923 | OpenSSH | ||
| 1924 | <http://www.openssh.org/> | ||
| 1925 | |||
| 1926 | Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | ||
| 1927 | All rights reserved. | ||
| 1928 | |||
| 1929 | See the section 'License: OpenSSH' for full license terms. | ||
| 1930 | |||
| 1931 | Enca - Extremely Naive Charset Analyser | 1923 | Enca - Extremely Naive Charset Analyser |
| 1932 | <http://freshmeat.net/projects/enca/> | 1924 | <http://freshmeat.net/projects/enca/> |
| 1933 | 1925 | ||
| @@ -2916,211 +2908,3 @@ We are required to state that | |||
| 2916 | CompuServe Incorporated." | 2908 | CompuServe Incorporated." |
| 2917 | 2909 | ||
| 2918 | -- End of IJG License -- | 2910 | -- End of IJG License -- |
| 2919 | |||
| 2920 | License: OpenSSH | ||
| 2921 | |||
| 2922 | This file is part of the OpenSSH software. | ||
| 2923 | |||
| 2924 | The licences which components of this software fall under are as | ||
| 2925 | follows. First, we will summarize and say that all components | ||
| 2926 | are under a BSD licence, or a licence more free than that. | ||
| 2927 | |||
| 2928 | OpenSSH contains no GPL code. | ||
| 2929 | |||
| 2930 | 1) | ||
| 2931 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | ||
| 2932 | * All rights reserved | ||
| 2933 | * | ||
| 2934 | * As far as I am concerned, the code I have written for this software | ||
| 2935 | * can be used freely for any purpose. Any derived versions of this | ||
| 2936 | * software must be clearly marked as such, and if the derived work is | ||
| 2937 | * incompatible with the protocol description in the RFC file, it must be | ||
| 2938 | * called by a name other than "ssh" or "Secure Shell". | ||
| 2939 | |||
| 2940 | [Tatu continues] | ||
| 2941 | * However, I am not implying to give any licenses to any patents or | ||
| 2942 | * copyrights held by third parties, and the software includes parts that | ||
| 2943 | * are not under my direct control. As far as I know, all included | ||
| 2944 | * source code is used in accordance with the relevant license agreements | ||
| 2945 | * and can be used freely for any purpose (the GNU license being the most | ||
| 2946 | * restrictive); see below for details. | ||
| 2947 | |||
| 2948 | [However, none of that term is relevant at this point in time. All of | ||
| 2949 | these restrictively licenced software components which he talks about | ||
| 2950 | have been removed from OpenSSH, i.e., | ||
| 2951 | |||
| 2952 | - RSA is no longer included, found in the OpenSSL library | ||
| 2953 | - IDEA is no longer included, its use is deprecated | ||
| 2954 | - DES is now external, in the OpenSSL library | ||
| 2955 | - GMP is no longer used, and instead we call BN code from OpenSSL | ||
| 2956 | - Zlib is now external, in a library | ||
| 2957 | - The make-ssh-known-hosts script is no longer included | ||
| 2958 | - TSS has been removed | ||
| 2959 | - MD5 is now external, in the OpenSSL library | ||
| 2960 | - RC4 support has been replaced with ARC4 support from OpenSSL | ||
| 2961 | - Blowfish is now external, in the OpenSSL library | ||
| 2962 | |||
| 2963 | [The licence continues] | ||
| 2964 | |||
| 2965 | Note that any information and cryptographic algorithms used in this | ||
| 2966 | software are publicly available on the Internet and at any major | ||
| 2967 | bookstore, scientific library, and patent office worldwide. More | ||
| 2968 | information can be found e.g. at "http://www.cs.hut.fi/crypto". | ||
| 2969 | |||
| 2970 | The legal status of this program is some combination of all these | ||
| 2971 | permissions and restrictions. Use only at your own responsibility. | ||
| 2972 | You will be responsible for any legal consequences yourself; I am not | ||
| 2973 | making any claims whether possessing or using this is legal or not in | ||
| 2974 | your country, and I am not taking any responsibility on your behalf. | ||
| 2975 | |||
| 2976 | |||
| 2977 | NO WARRANTY | ||
| 2978 | |||
| 2979 | BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
| 2980 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
| 2981 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
| 2982 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
| 2983 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
| 2984 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
| 2985 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
| 2986 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
| 2987 | REPAIR OR CORRECTION. | ||
| 2988 | |||
| 2989 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
| 2990 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
| 2991 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
| 2992 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
| 2993 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
| 2994 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
| 2995 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
| 2996 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
| 2997 | POSSIBILITY OF SUCH DAMAGES. | ||
| 2998 | |||
| 2999 | 2) | ||
| 3000 | The 32-bit CRC compensation attack detector in deattack.c was | ||
| 3001 | contributed by CORE SDI S.A. under a BSD-style license. | ||
| 3002 | |||
| 3003 | * Cryptographic attack detector for ssh - source code | ||
| 3004 | * | ||
| 3005 | * Copyright (c) 1998 CORE SDI S.A., Buenos Aires, Argentina. | ||
| 3006 | * | ||
| 3007 | * All rights reserved. Redistribution and use in source and binary | ||
| 3008 | * forms, with or without modification, are permitted provided that | ||
| 3009 | * this copyright notice is retained. | ||
| 3010 | * | ||
| 3011 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
| 3012 | * WARRANTIES ARE DISCLAIMED. IN NO EVENT SHALL CORE SDI S.A. BE | ||
| 3013 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR | ||
| 3014 | * CONSEQUENTIAL DAMAGES RESULTING FROM THE USE OR MISUSE OF THIS | ||
| 3015 | * SOFTWARE. | ||
| 3016 | * | ||
| 3017 | * Ariel Futoransky <futo@core-sdi.com> | ||
| 3018 | * <http://www.core-sdi.com> | ||
| 3019 | |||
| 3020 | 3) | ||
| 3021 | ssh-keyscan was contributed by David Mazieres under a BSD-style | ||
| 3022 | license. | ||
| 3023 | |||
| 3024 | * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>. | ||
| 3025 | * | ||
| 3026 | * Modification and redistribution in source and binary forms is | ||
| 3027 | * permitted provided that due credit is given to the author and the | ||
| 3028 | * OpenBSD project by leaving this copyright notice intact. | ||
| 3029 | |||
| 3030 | 4) | ||
| 3031 | The Rijndael implementation by Vincent Rijmen, Antoon Bosselaers | ||
| 3032 | and Paulo Barreto is in the public domain and distributed | ||
| 3033 | with the following license: | ||
| 3034 | |||
| 3035 | * @version 3.0 (December 2000) | ||
| 3036 | * | ||
| 3037 | * Optimised ANSI C code for the Rijndael cipher (now AES) | ||
| 3038 | * | ||
| 3039 | * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be> | ||
| 3040 | * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be> | ||
| 3041 | * @author Paulo Barreto <paulo.barreto@terra.com.br> | ||
| 3042 | * | ||
| 3043 | * This code is hereby placed in the public domain. | ||
| 3044 | * | ||
| 3045 | * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | ||
| 3046 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
| 3047 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 3048 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | ||
| 3049 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
| 3050 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
| 3051 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | ||
| 3052 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
| 3053 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | ||
| 3054 | * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
| 3055 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 3056 | |||
| 3057 | 5) | ||
| 3058 | One component of the ssh source code is under a 3-clause BSD license, | ||
| 3059 | held by the University of California, since we pulled these parts from | ||
| 3060 | original Berkeley code. | ||
| 3061 | |||
| 3062 | * Copyright (c) 1983, 1990, 1992, 1993, 1995 | ||
| 3063 | * The Regents of the University of California. All rights reserved. | ||
| 3064 | * | ||
| 3065 | * Redistribution and use in source and binary forms, with or without | ||
| 3066 | * modification, are permitted provided that the following conditions | ||
| 3067 | * are met: | ||
| 3068 | * 1. Redistributions of source code must retain the above copyright | ||
| 3069 | * notice, this list of conditions and the following disclaimer. | ||
| 3070 | * 2. Redistributions in binary form must reproduce the above copyright | ||
| 3071 | * notice, this list of conditions and the following disclaimer in the | ||
| 3072 | * documentation and/or other materials provided with the distribution. | ||
| 3073 | * 3. Neither the name of the University nor the names of its contributors | ||
| 3074 | * may be used to endorse or promote products derived from this software | ||
| 3075 | * without specific prior written permission. | ||
| 3076 | * | ||
| 3077 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | ||
| 3078 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 3079 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
| 3080 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE | ||
| 3081 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
| 3082 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
| 3083 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
| 3084 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
| 3085 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
| 3086 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | ||
| 3087 | * THE POSSIBILITY OF SUCH DAMAGE. | ||
| 3088 | |||
| 3089 | 6) | ||
| 3090 | Remaining components of the software are provided under a standard | ||
| 3091 | 2-term BSD licence with the following names as copyright holders: | ||
| 3092 | |||
| 3093 | Markus Friedl | ||
| 3094 | Theo de Raadt | ||
| 3095 | Niels Provos | ||
| 3096 | Dug Song | ||
| 3097 | Aaron Campbell | ||
| 3098 | Damien Miller | ||
| 3099 | Kevin Steves | ||
| 3100 | Daniel Kouril | ||
| 3101 | Wesley Griffin | ||
| 3102 | Per Allansson | ||
| 3103 | Nils Nordman | ||
| 3104 | Simon Wilkinson | ||
| 3105 | |||
| 3106 | * Redistribution and use in source and binary forms, with or without | ||
| 3107 | * modification, are permitted provided that the following conditions | ||
| 3108 | * are met: | ||
| 3109 | * 1. Redistributions of source code must retain the above copyright | ||
| 3110 | * notice, this list of conditions and the following disclaimer. | ||
| 3111 | * 2. Redistributions in binary form must reproduce the above copyright | ||
| 3112 | * notice, this list of conditions and the following disclaimer in the | ||
| 3113 | * documentation and/or other materials provided with the distribution. | ||
| 3114 | * | ||
| 3115 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | ||
| 3116 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
| 3117 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
| 3118 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
| 3119 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
| 3120 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
| 3121 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
| 3122 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| 3123 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
| 3124 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 3125 | |||
| 3126 | -- End of OpenSSH License -- | ||
diff --git a/cmake/cpack/deb/packages/kodi-bin.txt.in b/cmake/cpack/deb/packages/kodi-bin.txt.in index 2ece66f..0e31451 100644 --- a/cmake/cpack/deb/packages/kodi-bin.txt.in +++ b/cmake/cpack/deb/packages/kodi-bin.txt.in | |||
| @@ -15,7 +15,7 @@ PACKAGE_ARCHITECTURE | |||
| 15 | PACKAGE_SECTION video | 15 | PACKAGE_SECTION video |
| 16 | PACKAGE_PRIORITY optional | 16 | PACKAGE_PRIORITY optional |
| 17 | PACKAGE_SHLIBDEPS ON | 17 | PACKAGE_SHLIBDEPS ON |
| 18 | PACKAGE_DEPENDS | 18 | PACKAGE_DEPENDS |
| 19 | PACKAGE_RECOMMENDS | 19 | PACKAGE_RECOMMENDS |
| 20 | PACKAGE_SUGGESTS | 20 | PACKAGE_SUGGESTS |
| 21 | PACKAGE_BREAKS xbmc-bin (<< 2:14.0~git20141019), xbmc-common | 21 | PACKAGE_BREAKS xbmc-bin (<< 2:14.0~git20141019), xbmc-common |
diff --git a/cmake/cpack/deb/packages/kodi-tools-texturepacker.txt.in b/cmake/cpack/deb/packages/kodi-tools-texturepacker.txt.in index 36e8297..79c1f0f 100644 --- a/cmake/cpack/deb/packages/kodi-tools-texturepacker.txt.in +++ b/cmake/cpack/deb/packages/kodi-tools-texturepacker.txt.in | |||
| @@ -15,7 +15,7 @@ PACKAGE_ARCHITECTURE | |||
| 15 | PACKAGE_SECTION video | 15 | PACKAGE_SECTION video |
| 16 | PACKAGE_PRIORITY optional | 16 | PACKAGE_PRIORITY optional |
| 17 | PACKAGE_SHLIBDEPS ON | 17 | PACKAGE_SHLIBDEPS ON |
| 18 | PACKAGE_DEPENDS | 18 | PACKAGE_DEPENDS |
| 19 | PACKAGE_RECOMMENDS | 19 | PACKAGE_RECOMMENDS |
| 20 | PACKAGE_SUGGESTS | 20 | PACKAGE_SUGGESTS |
| 21 | PACKAGE_BREAKS | 21 | PACKAGE_BREAKS |
diff --git a/cmake/cpack/deb/packages/kodi.txt.in b/cmake/cpack/deb/packages/kodi.txt.in index 90ae9ea..5ab8905 100644 --- a/cmake/cpack/deb/packages/kodi.txt.in +++ b/cmake/cpack/deb/packages/kodi.txt.in | |||
| @@ -15,7 +15,7 @@ PACKAGE_ARCHITECTURE all | |||
| 15 | PACKAGE_SECTION video | 15 | PACKAGE_SECTION video |
| 16 | PACKAGE_PRIORITY optional | 16 | PACKAGE_PRIORITY optional |
| 17 | PACKAGE_SHLIBDEPS | 17 | PACKAGE_SHLIBDEPS |
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-bin (>= @CPACK_DEBIAN_PACKAGE_VERSION@), @APP_NAME_LC@-bin (<< @CPACK_DEBIAN_PACKAGE_VERSION@.1~), curl, libcurl4 | libcurl3, mesa-utils, x11-utils, fonts-liberation | ttf-liberation, fonts-dejavu-core | ttf-dejavu-core, python-bluez | python-lightblue, python-imaging | python-pil, python-simplejson, libass9 | libass5 | libass4, libgif5 | libgif7, libssh-4 | libssh2-1, libnfs8 | libnfs4 | libnfs1, libbluray1 | libbluray2, libshairplay0, libvorbisfile3, libaacs0, libcec4, libgnutls30 | libgnutls-deb0-28 | libgnutls28 | libgnutls26, libxslt1.1, libyajl2 | 18 | PACKAGE_DEPENDS @APP_NAME_LC@-bin (>= @CPACK_DEBIAN_PACKAGE_VERSION@), @APP_NAME_LC@-bin (<< @CPACK_DEBIAN_PACKAGE_VERSION@.1~), curl, libcurl4 | libcurl3, mesa-utils, x11-utils, fonts-liberation | ttf-liberation, fonts-dejavu-core | ttf-dejavu-core, python-bluez | python-lightblue, python-imaging | python-pil, python-simplejson, libass9 | libass5 | libass4, libgif5 | libgif7, libnfs8 | libnfs4 | libnfs1, libbluray1 | libbluray2, libshairplay0, libvorbisfile3, libaacs0, libcec4, libgnutls30 | libgnutls-deb0-28 | libgnutls28 | libgnutls26, libxslt1.1, libyajl2 |
| 19 | PACKAGE_RECOMMENDS libvdpau1, libva-intel-vaapi-driver, libva1 | 19 | PACKAGE_RECOMMENDS libvdpau1, libva-intel-vaapi-driver, libva1 |
| 20 | PACKAGE_SUGGESTS @APP_NAME_LC@-pvr-mythtv, @APP_NAME_LC@-pvr-vuplus, @APP_NAME_LC@-pvr-vdr-vnsi, @APP_NAME_LC@-pvr-njoy, @APP_NAME_LC@-pvr-nextpvr, @APP_NAME_LC@-pvr-mediaportal-tvserver, @APP_NAME_LC@-pvr-tvheadend-hts, @APP_NAME_LC@-pvr-dvbviewer, @APP_NAME_LC@-pvr-argustv, @APP_NAME_LC@-pvr-iptvsimple, @APP_NAME_LC@-audioencoder-vorbis, @APP_NAME_LC@-audioencoder-flac, @APP_NAME_LC@-audioencoder-lame | 20 | PACKAGE_SUGGESTS @APP_NAME_LC@-pvr-mythtv, @APP_NAME_LC@-pvr-vuplus, @APP_NAME_LC@-pvr-vdr-vnsi, @APP_NAME_LC@-pvr-njoy, @APP_NAME_LC@-pvr-nextpvr, @APP_NAME_LC@-pvr-mediaportal-tvserver, @APP_NAME_LC@-pvr-tvheadend-hts, @APP_NAME_LC@-pvr-dvbviewer, @APP_NAME_LC@-pvr-argustv, @APP_NAME_LC@-pvr-iptvsimple, @APP_NAME_LC@-audioencoder-vorbis, @APP_NAME_LC@-audioencoder-flac, @APP_NAME_LC@-audioencoder-lame |
| 21 | PACKAGE_BREAKS xbmc (<< 2:14.0~git20141019), xbmc-data, xbmc-standalone | 21 | PACKAGE_BREAKS xbmc (<< 2:14.0~git20141019), xbmc-data, xbmc-standalone |
diff --git a/cmake/installdata/ios/certificates.txt b/cmake/installdata/common/certificates.txt index 14e74a7..14e74a7 100644 --- a/cmake/installdata/ios/certificates.txt +++ b/cmake/installdata/common/certificates.txt | |||
diff --git a/cmake/installdata/ios/packaging.txt b/cmake/installdata/ios/packaging.txt index ce990b5..3d5ae4a 100644 --- a/cmake/installdata/ios/packaging.txt +++ b/cmake/installdata/ios/packaging.txt | |||
| @@ -1,3 +1,3 @@ | |||
| 1 | LICENSE.gpl | 1 | LICENSE.md |
| 2 | privacy-policy.txt | 2 | privacy-policy.txt |
| 3 | xbmc/platform/darwin/Credits.html | 3 | xbmc/platform/darwin/Credits.html |
diff --git a/cmake/installdata/osx/certificates.txt b/cmake/installdata/osx/certificates.txt deleted file mode 100644 index 14e74a7..0000000 --- a/cmake/installdata/osx/certificates.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | tools/depends/target/openssl/cacert.pem system/certs \ No newline at end of file | ||
diff --git a/cmake/installdata/osx/packaging.txt b/cmake/installdata/osx/packaging.txt index f869e4c..f9ae368 100644 --- a/cmake/installdata/osx/packaging.txt +++ b/cmake/installdata/osx/packaging.txt | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | LICENSE.gpl | 1 | LICENSE.md |
| 2 | privacy-policy.txt | 2 | privacy-policy.txt |
| 3 | xbmc/platform/darwin/Credits.html | 3 | xbmc/platform/darwin/Credits.html |
| 4 | tools/darwin/packaging/media/osx/icon.iconset/* | 4 | tools/darwin/packaging/media/osx/icon.iconset/* |
diff --git a/cmake/installdata/windowsstore/certificates.txt b/cmake/installdata/windowsstore/certificates.txt deleted file mode 100644 index 14e74a7..0000000 --- a/cmake/installdata/windowsstore/certificates.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | tools/depends/target/openssl/cacert.pem system/certs \ No newline at end of file | ||
diff --git a/cmake/messages/flatbuffers/retroplayer.txt b/cmake/messages/flatbuffers/retroplayer.txt new file mode 100644 index 0000000..3d42d5c --- /dev/null +++ b/cmake/messages/flatbuffers/retroplayer.txt | |||
| @@ -0,0 +1 @@ | |||
| xbmc/cores/RetroPlayer/messages cores/RetroPlayer/messages | |||
diff --git a/cmake/modules/FindAML.cmake b/cmake/modules/FindAML.cmake index 602f5d9..89d1fd9 100644 --- a/cmake/modules/FindAML.cmake +++ b/cmake/modules/FindAML.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------- | 3 | # ------- |
| 4 | # Finds the AML codec | 4 | # Finds the AML codec |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # AML_FOUND - system has AML | 8 | # AML_FOUND - system has AML |
| 9 | # AML_INCLUDE_DIRS - the AML include directory | 9 | # AML_INCLUDE_DIRS - the AML include directory |
diff --git a/cmake/modules/FindASS.cmake b/cmake/modules/FindASS.cmake index 2d592fa..cb9d732 100644 --- a/cmake/modules/FindASS.cmake +++ b/cmake/modules/FindASS.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------- | 3 | # ------- |
| 4 | # Finds the ASS library | 4 | # Finds the ASS library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # ASS_FOUND - system has ASS | 8 | # ASS_FOUND - system has ASS |
| 9 | # ASS_INCLUDE_DIRS - the ASS include directory | 9 | # ASS_INCLUDE_DIRS - the ASS include directory |
diff --git a/cmake/modules/FindAlsa.cmake b/cmake/modules/FindAlsa.cmake index ae05817..fdc7db8 100644 --- a/cmake/modules/FindAlsa.cmake +++ b/cmake/modules/FindAlsa.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the Alsa library | 4 | # Finds the Alsa library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # ALSA_FOUND - system has Alsa | 8 | # ALSA_FOUND - system has Alsa |
| 9 | # ALSA_INCLUDE_DIRS - the Alsa include directory | 9 | # ALSA_INCLUDE_DIRS - the Alsa include directory |
diff --git a/cmake/modules/FindAvahi.cmake b/cmake/modules/FindAvahi.cmake index 068b292..e0e6689 100644 --- a/cmake/modules/FindAvahi.cmake +++ b/cmake/modules/FindAvahi.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # --------- | 3 | # --------- |
| 4 | # Finds the avahi library | 4 | # Finds the avahi library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # AVAHI_FOUND - system has avahi | 8 | # AVAHI_FOUND - system has avahi |
| 9 | # AVAHI_INCLUDE_DIRS - the avahi include directory | 9 | # AVAHI_INCLUDE_DIRS - the avahi include directory |
diff --git a/cmake/modules/FindBluetooth.cmake b/cmake/modules/FindBluetooth.cmake index a69980d..7ca99bb 100644 --- a/cmake/modules/FindBluetooth.cmake +++ b/cmake/modules/FindBluetooth.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # --------- | 3 | # --------- |
| 4 | # Finds the Bluetooth library | 4 | # Finds the Bluetooth library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # BLUETOOTH_FOUND - system has Bluetooth | 8 | # BLUETOOTH_FOUND - system has Bluetooth |
| 9 | # BLUETOOTH_INCLUDE_DIRS - the Bluetooth include directory | 9 | # BLUETOOTH_INCLUDE_DIRS - the Bluetooth include directory |
diff --git a/cmake/modules/FindBluray.cmake b/cmake/modules/FindBluray.cmake index 3c29f54..58a9a91 100644 --- a/cmake/modules/FindBluray.cmake +++ b/cmake/modules/FindBluray.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ---------- | 3 | # ---------- |
| 4 | # Finds the libbluray library | 4 | # Finds the libbluray library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # BLURAY_FOUND - system has libbluray | 8 | # BLURAY_FOUND - system has libbluray |
| 9 | # BLURAY_INCLUDE_DIRS - the libbluray include directory | 9 | # BLURAY_INCLUDE_DIRS - the libbluray include directory |
| @@ -30,20 +30,13 @@ if(NOT BLURAY_VERSION AND EXISTS ${BLURAY_INCLUDE_DIR}/libbluray/bluray-version. | |||
| 30 | unset(_bluray_version_str) | 30 | unset(_bluray_version_str) |
| 31 | endif() | 31 | endif() |
| 32 | 32 | ||
| 33 | include(FindPackageHandleStandardArgs) | 33 | find_library(BLURAY_LIBRARY NAMES bluray libbluray |
| 34 | if(NOT WIN32) | 34 | PATHS ${PC_BLURAY_LIBDIR}) |
| 35 | find_library(BLURAY_LIBRARY NAMES bluray | ||
| 36 | PATHS ${PC_BLURAY_LIBDIR}) | ||
| 37 | 35 | ||
| 38 | find_package_handle_standard_args(Bluray | 36 | include(FindPackageHandleStandardArgs) |
| 39 | REQUIRED_VARS BLURAY_LIBRARY BLURAY_INCLUDE_DIR BLURAY_VERSION | 37 | find_package_handle_standard_args(Bluray |
| 40 | VERSION_VAR BLURAY_VERSION) | 38 | REQUIRED_VARS BLURAY_LIBRARY BLURAY_INCLUDE_DIR BLURAY_VERSION |
| 41 | else() | 39 | VERSION_VAR BLURAY_VERSION) |
| 42 | # Dynamically loaded DLL | ||
| 43 | find_package_handle_standard_args(Bluray | ||
| 44 | REQUIRED_VARS BLURAY_INCLUDE_DIR | ||
| 45 | VERSION_VAR BLURAY_VERSION) | ||
| 46 | endif() | ||
| 47 | 40 | ||
| 48 | if(BLURAY_FOUND) | 41 | if(BLURAY_FOUND) |
| 49 | set(BLURAY_LIBRARIES ${BLURAY_LIBRARY}) | 42 | set(BLURAY_LIBRARIES ${BLURAY_LIBRARY}) |
diff --git a/cmake/modules/FindCEC.cmake b/cmake/modules/FindCEC.cmake index bd6fd1d..00b2e12 100644 --- a/cmake/modules/FindCEC.cmake +++ b/cmake/modules/FindCEC.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------- | 3 | # ------- |
| 4 | # Finds the libCEC library | 4 | # Finds the libCEC library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # CEC_FOUND - system has libCEC | 8 | # CEC_FOUND - system has libCEC |
| 9 | # CEC_INCLUDE_DIRS - the libCEC include directory | 9 | # CEC_INCLUDE_DIRS - the libCEC include directory |
| @@ -33,20 +33,13 @@ if(NOT CEC_FIND_VERSION) | |||
| 33 | set(CEC_FIND_VERSION 4.0.0) | 33 | set(CEC_FIND_VERSION 4.0.0) |
| 34 | endif() | 34 | endif() |
| 35 | 35 | ||
| 36 | include(FindPackageHandleStandardArgs) | 36 | find_library(CEC_LIBRARY NAMES cec |
| 37 | if(NOT WIN32) | 37 | PATHS ${PC_CEC_LIBDIR}) |
| 38 | find_library(CEC_LIBRARY NAMES cec | ||
| 39 | PATHS ${PC_CEC_LIBDIR}) | ||
| 40 | 38 | ||
| 41 | find_package_handle_standard_args(CEC | 39 | include(FindPackageHandleStandardArgs) |
| 42 | REQUIRED_VARS CEC_LIBRARY CEC_INCLUDE_DIR | 40 | find_package_handle_standard_args(CEC |
| 43 | VERSION_VAR CEC_VERSION) | 41 | REQUIRED_VARS CEC_LIBRARY CEC_INCLUDE_DIR |
| 44 | else() | 42 | VERSION_VAR CEC_VERSION) |
| 45 | # Dynamically loaded DLL | ||
| 46 | find_package_handle_standard_args(CEC | ||
| 47 | REQUIRED_VARS CEC_INCLUDE_DIR | ||
| 48 | VERSION_VAR CEC_VERSION) | ||
| 49 | endif() | ||
| 50 | 43 | ||
| 51 | if(CEC_FOUND) | 44 | if(CEC_FOUND) |
| 52 | set(CEC_LIBRARIES ${CEC_LIBRARY}) | 45 | set(CEC_LIBRARIES ${CEC_LIBRARY}) |
diff --git a/cmake/modules/FindCWiid.cmake b/cmake/modules/FindCWiid.cmake index 88cfbef..af9e391 100644 --- a/cmake/modules/FindCWiid.cmake +++ b/cmake/modules/FindCWiid.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # --------- | 3 | # --------- |
| 4 | # Finds the CWiid library | 4 | # Finds the CWiid library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # CWIID_FOUND - system has CWiid | 8 | # CWIID_FOUND - system has CWiid |
| 9 | # CWIID_INCLUDE_DIRS - the CWiid include directory | 9 | # CWIID_INCLUDE_DIRS - the CWiid include directory |
diff --git a/cmake/modules/FindCdio.cmake b/cmake/modules/FindCdio.cmake index cce7f2a..91ba7bc 100644 --- a/cmake/modules/FindCdio.cmake +++ b/cmake/modules/FindCdio.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the cdio library | 4 | # Finds the cdio library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # CDIO_FOUND - system has cdio | 8 | # CDIO_FOUND - system has cdio |
| 9 | # CDIO_INCLUDE_DIRS - the cdio include directory | 9 | # CDIO_INCLUDE_DIRS - the cdio include directory |
diff --git a/cmake/modules/FindCurl.cmake b/cmake/modules/FindCurl.cmake index 17c1f01..6ccf44a 100644 --- a/cmake/modules/FindCurl.cmake +++ b/cmake/modules/FindCurl.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the Curl library | 4 | # Finds the Curl library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # CURL_FOUND - system has Curl | 8 | # CURL_FOUND - system has Curl |
| 9 | # CURL_INCLUDE_DIRS - the Curl include directory | 9 | # CURL_INCLUDE_DIRS - the Curl include directory |
diff --git a/cmake/modules/FindDBus.cmake b/cmake/modules/FindDBus.cmake index 9ea4f8f..df3edc5 100644 --- a/cmake/modules/FindDBus.cmake +++ b/cmake/modules/FindDBus.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------- | 3 | # ------- |
| 4 | # Finds the DBUS library | 4 | # Finds the DBUS library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # DBUS_FOUND - system has DBUS | 8 | # DBUS_FOUND - system has DBUS |
| 9 | # DBUS_INCLUDE_DIRS - the DBUS include directory | 9 | # DBUS_INCLUDE_DIRS - the DBUS include directory |
diff --git a/cmake/modules/FindEGL.cmake b/cmake/modules/FindEGL.cmake index 331ac39..0b73eb8 100644 --- a/cmake/modules/FindEGL.cmake +++ b/cmake/modules/FindEGL.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------- | 3 | # ------- |
| 4 | # Finds the EGL library | 4 | # Finds the EGL library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # EGL_FOUND - system has EGL | 8 | # EGL_FOUND - system has EGL |
| 9 | # EGL_INCLUDE_DIRS - the EGL include directory | 9 | # EGL_INCLUDE_DIRS - the EGL include directory |
diff --git a/cmake/modules/FindFFMPEG.cmake b/cmake/modules/FindFFMPEG.cmake index e2fbe8d..ef74671 100644 --- a/cmake/modules/FindFFMPEG.cmake +++ b/cmake/modules/FindFFMPEG.cmake | |||
| @@ -18,7 +18,7 @@ | |||
| 18 | # usage: -DWITH_FFMPEG=/path/to/ffmpeg_install_prefix | 18 | # usage: -DWITH_FFMPEG=/path/to/ffmpeg_install_prefix |
| 19 | # | 19 | # |
| 20 | # -------- | 20 | # -------- |
| 21 | # This module will will define the following variables: | 21 | # This module will define the following variables: |
| 22 | # | 22 | # |
| 23 | # FFMPEG_FOUND - system has FFmpeg | 23 | # FFMPEG_FOUND - system has FFmpeg |
| 24 | # FFMPEG_INCLUDE_DIRS - FFmpeg include directory | 24 | # FFMPEG_INCLUDE_DIRS - FFmpeg include directory |
| @@ -33,14 +33,14 @@ | |||
| 33 | # | 33 | # |
| 34 | 34 | ||
| 35 | # required ffmpeg library versions | 35 | # required ffmpeg library versions |
| 36 | set(REQUIRED_FFMPEG_VERSION 3.4) | 36 | set(REQUIRED_FFMPEG_VERSION 4.0) |
| 37 | set(_avcodec_ver ">=57.107.100") | 37 | set(_avcodec_ver ">=58.18.100") |
| 38 | set(_avfilter_ver ">=6.107.100") | 38 | set(_avfilter_ver ">=7.16.100") |
| 39 | set(_avformat_ver ">=57.83.100") | 39 | set(_avformat_ver ">=58.12.100") |
| 40 | set(_avutil_ver ">=55.78.100") | 40 | set(_avutil_ver ">=56.14.100") |
| 41 | set(_swscale_ver ">=4.8.100") | 41 | set(_swscale_ver ">=5.1.100") |
| 42 | set(_swresample_ver ">=2.9.100") | 42 | set(_swresample_ver ">=3.1.100") |
| 43 | set(_postproc_ver ">=54.7.100") | 43 | set(_postproc_ver ">=55.1.100") |
| 44 | 44 | ||
| 45 | 45 | ||
| 46 | # Allows building with external ffmpeg not found in system paths, | 46 | # Allows building with external ffmpeg not found in system paths, |
| @@ -229,6 +229,11 @@ if(NOT FFMPEG_FOUND) | |||
| 229 | message(STATUS "FFMPEG_URL: ${FFMPEG_URL}") | 229 | message(STATUS "FFMPEG_URL: ${FFMPEG_URL}") |
| 230 | endif() | 230 | endif() |
| 231 | 231 | ||
| 232 | set(FFMPEG_OPTIONS -DENABLE_CCACHE=${ENABLE_CCACHE} | ||
| 233 | -DCCACHE_PROGRAM=${CCACHE_PROGRAM} | ||
| 234 | -DENABLE_VAAPI=${ENABLE_VAAPI} | ||
| 235 | -DENABLE_VDPAU=${ENABLE_VDPAU}) | ||
| 236 | |||
| 232 | if(KODI_DEPENDSBUILD) | 237 | if(KODI_DEPENDSBUILD) |
| 233 | set(CROSS_ARGS -DDEPENDS_PATH=${DEPENDS_PATH} | 238 | set(CROSS_ARGS -DDEPENDS_PATH=${DEPENDS_PATH} |
| 234 | -DPKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE} | 239 | -DPKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE} |
| @@ -237,6 +242,8 @@ if(NOT FFMPEG_FOUND) | |||
| 237 | -DOS=${OS} | 242 | -DOS=${OS} |
| 238 | -DCMAKE_AR=${CMAKE_AR}) | 243 | -DCMAKE_AR=${CMAKE_AR}) |
| 239 | endif() | 244 | endif() |
| 245 | set(LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS}) | ||
| 246 | list(APPEND LINKER_FLAGS ${SYSTEM_LDFLAGS}) | ||
| 240 | 247 | ||
| 241 | externalproject_add(ffmpeg | 248 | externalproject_add(ffmpeg |
| 242 | URL ${FFMPEG_URL} | 249 | URL ${FFMPEG_URL} |
| @@ -255,8 +262,9 @@ if(NOT FFMPEG_FOUND) | |||
| 255 | -DENABLE_CCACHE=${ENABLE_CCACHE} | 262 | -DENABLE_CCACHE=${ENABLE_CCACHE} |
| 256 | -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} | 263 | -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} |
| 257 | -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} | 264 | -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} |
| 258 | -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS} | 265 | -DCMAKE_EXE_LINKER_FLAGS=${LINKER_FLAGS} |
| 259 | ${CROSS_ARGS} | 266 | ${CROSS_ARGS} |
| 267 | ${FFMPEG_OPTIONS} | ||
| 260 | PATCH_COMMAND ${CMAKE_COMMAND} -E copy | 268 | PATCH_COMMAND ${CMAKE_COMMAND} -E copy |
| 261 | ${CMAKE_SOURCE_DIR}/tools/depends/target/ffmpeg/CMakeLists.txt | 269 | ${CMAKE_SOURCE_DIR}/tools/depends/target/ffmpeg/CMakeLists.txt |
| 262 | <SOURCE_DIR> && | 270 | <SOURCE_DIR> && |
diff --git a/cmake/modules/FindFlatBuffers.cmake b/cmake/modules/FindFlatBuffers.cmake new file mode 100644 index 0000000..6f7e6a2 --- /dev/null +++ b/cmake/modules/FindFlatBuffers.cmake | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | # FindFlatBuffers | ||
| 2 | # -------- | ||
| 3 | # Find the FlatBuffers schema compiler and headers | ||
| 4 | # | ||
| 5 | # This will define the following variables: | ||
| 6 | # | ||
| 7 | # FLATBUFFERS_FOUND - system has FlatBuffers compiler and headers | ||
| 8 | # FLATBUFFERS_FLATC_EXECUTABLE - the flatc compiler executable | ||
| 9 | # FLATBUFFERS_INCLUDE_DIRS - the FlatFuffers include directory | ||
| 10 | # FLATBUFFERS_MESSAGES_INCLUDE_DIR - the directory for generated headers | ||
| 11 | |||
| 12 | if(ENABLE_INTERNAL_FLATBUFFERS) | ||
| 13 | include(ExternalProject) | ||
| 14 | file(STRINGS ${CMAKE_SOURCE_DIR}/tools/depends/native/flatbuffers-native/Makefile VER REGEX "^[ ]*VERSION[ ]*=.+$") | ||
| 15 | string(REGEX REPLACE "^[ ]*VERSION[ ]*=[ ]*" "" FLATBUFFERS_VER "${VER}") | ||
| 16 | |||
| 17 | # Allow user to override the download URL with a local tarball | ||
| 18 | # Needed for offline build envs | ||
| 19 | if(FLATBUFFERS_URL) | ||
| 20 | get_filename_component(FLATBUFFERS_URL "${FLATBUFFERS_URL}" ABSOLUTE) | ||
| 21 | else() | ||
| 22 | set(FLATBUFFERS_URL http://mirrors.kodi.tv/build-deps/sources/flatbuffers-${FLATBUFFERS_VER}.tar.gz) | ||
| 23 | endif() | ||
| 24 | if(VERBOSE) | ||
| 25 | message(STATUS "FLATBUFFERS_URL: ${FLATBUFFERS_URL}") | ||
| 26 | endif() | ||
| 27 | |||
| 28 | set(FLATBUFFERS_FLATC_EXECUTABLE ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/bin/flatc CACHE INTERNAL "FlatBuffer compiler") | ||
| 29 | set(FLATBUFFERS_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include CACHE INTERNAL "FlatBuffer include dir") | ||
| 30 | |||
| 31 | externalproject_add(flatbuffers | ||
| 32 | URL ${FLATBUFFERS_URL} | ||
| 33 | DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download | ||
| 34 | PREFIX ${CORE_BUILD_DIR}/flatbuffers | ||
| 35 | CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} | ||
| 36 | -DCMAKE_BUILD_TYPE=Release | ||
| 37 | -DFLATBUFFERS_CODE_COVERAGE=OFF | ||
| 38 | -DFLATBUFFERS_BUILD_TESTS=OFF | ||
| 39 | -DFLATBUFFERS_INSTALL=ON | ||
| 40 | -DFLATBUFFERS_BUILD_FLATLIB=OFF | ||
| 41 | -DFLATBUFFERS_BUILD_FLATC=ON | ||
| 42 | -DFLATBUFFERS_BUILD_FLATHASH=OFF | ||
| 43 | -DFLATBUFFERS_BUILD_GRPCTEST=OFF | ||
| 44 | -DFLATBUFFERS_BUILD_SHAREDLIB=OFF | ||
| 45 | "${EXTRA_ARGS}" | ||
| 46 | PATCH_COMMAND patch -p1 < ${CORE_SOURCE_DIR}/tools/depends/native/flatbuffers-native/0001-Fix-compiler-warning.patch | ||
| 47 | BUILD_BYPRODUCTS ${FLATBUFFERS_FLATC_EXECUTABLE}) | ||
| 48 | set_target_properties(flatbuffers PROPERTIES FOLDER "External Projects" | ||
| 49 | INTERFACE_INCLUDE_DIRECTORIES ${FLATBUFFERS_INCLUDE_DIR}) | ||
| 50 | else() | ||
| 51 | find_program(FLATBUFFERS_FLATC_EXECUTABLE NAMES flatc) | ||
| 52 | find_path(FLATBUFFERS_INCLUDE_DIR NAMES flatbuffers/flatbuffers.h) | ||
| 53 | endif() | ||
| 54 | |||
| 55 | include(FindPackageHandleStandardArgs) | ||
| 56 | find_package_handle_standard_args(FlatBuffers | ||
| 57 | REQUIRED_VARS FLATBUFFERS_FLATC_EXECUTABLE FLATBUFFERS_INCLUDE_DIR | ||
| 58 | VERSION_VAR FLATBUFFERS_VER) | ||
| 59 | |||
| 60 | if(FLATBUFFERS_FOUND) | ||
| 61 | set(FLATBUFFERS_MESSAGES_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cores/RetroPlayer/messages CACHE INTERNAL "Generated FlatBuffer headers") | ||
| 62 | set(FLATBUFFERS_INCLUDE_DIRS ${FLATBUFFERS_INCLUDE_DIR} ${FLATBUFFERS_MESSAGES_INCLUDE_DIR}) | ||
| 63 | |||
| 64 | if(NOT TARGET flatbuffers) | ||
| 65 | add_library(flatbuffers UNKNOWN IMPORTED) | ||
| 66 | set_target_properties(flatbuffers PROPERTIES | ||
| 67 | FOLDER "External Projects" | ||
| 68 | INTERFACE_INCLUDE_DIRECTORIES ${FLATBUFFERS_INCLUDE_DIR}) | ||
| 69 | endif() | ||
| 70 | endif() | ||
| 71 | |||
| 72 | mark_as_advanced(FLATBUFFERS_FLATC_EXECUTABLE FLATBUFFERS_INCLUDE_DIR) | ||
diff --git a/cmake/modules/FindFmt.cmake b/cmake/modules/FindFmt.cmake index 5e47509..df18d85 100644 --- a/cmake/modules/FindFmt.cmake +++ b/cmake/modules/FindFmt.cmake | |||
| @@ -30,7 +30,7 @@ if(ENABLE_INTERNAL_FMT) | |||
| 30 | 30 | ||
| 31 | if(APPLE) | 31 | if(APPLE) |
| 32 | set(EXTRA_ARGS "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}") | 32 | set(EXTRA_ARGS "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}") |
| 33 | endif() | 33 | endif() |
| 34 | 34 | ||
| 35 | set(FMT_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libfmt.a) | 35 | set(FMT_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libfmt.a) |
| 36 | set(FMT_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include) | 36 | set(FMT_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include) |
| @@ -90,14 +90,13 @@ if(FMT_FOUND) | |||
| 90 | set(FMT_LIBRARIES ${FMT_LIBRARY}) | 90 | set(FMT_LIBRARIES ${FMT_LIBRARY}) |
| 91 | set(FMT_INCLUDE_DIRS ${FMT_INCLUDE_DIR}) | 91 | set(FMT_INCLUDE_DIRS ${FMT_INCLUDE_DIR}) |
| 92 | 92 | ||
| 93 | if(NOT TARGET Fmt::Fmt) | 93 | if(NOT TARGET fmt) |
| 94 | add_library(Fmt::Fmt UNKNOWN IMPORTED) | 94 | add_library(fmt UNKNOWN IMPORTED) |
| 95 | set_target_properties(Fmt::Fmt PROPERTIES | 95 | set_target_properties(fmt PROPERTIES |
| 96 | IMPORTED_LOCATION "${FMT_LIBRARY}" | 96 | IMPORTED_LOCATION "${FMT_LIBRARY}" |
| 97 | INTERFACE_INCLUDE_DIRECTORIES "${FMT_INCLUDE_DIR}") | 97 | INTERFACE_INCLUDE_DIRECTORIES "${FMT_INCLUDE_DIR}") |
| 98 | endif() | 98 | endif() |
| 99 | endif() | 99 | endif() |
| 100 | 100 | ||
| 101 | mark_as_advanced(FMT_INCLUDE_DIR FMT_LIBRARY) | ||
| 102 | |||
| 103 | endif() | 101 | endif() |
| 102 | mark_as_advanced(FMT_INCLUDE_DIR FMT_LIBRARY) | ||
diff --git a/cmake/modules/FindFreeType.cmake b/cmake/modules/FindFreeType.cmake index fb4c668..8a39555 100644 --- a/cmake/modules/FindFreeType.cmake +++ b/cmake/modules/FindFreeType.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------------ | 3 | # ------------ |
| 4 | # Finds the FreeType library | 4 | # Finds the FreeType library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # FREETYPE_FOUND - system has FreeType | 8 | # FREETYPE_FOUND - system has FreeType |
| 9 | # FREETYPE_INCLUDE_DIRS - the FreeType include directory | 9 | # FREETYPE_INCLUDE_DIRS - the FreeType include directory |
diff --git a/cmake/modules/FindFriBidi.cmake b/cmake/modules/FindFriBidi.cmake index dcaeb48..91f3994 100644 --- a/cmake/modules/FindFriBidi.cmake +++ b/cmake/modules/FindFriBidi.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ----------- | 3 | # ----------- |
| 4 | # Finds the GNU FriBidi library | 4 | # Finds the GNU FriBidi library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # FRIBIDI_FOUND - system has FriBidi | 8 | # FRIBIDI_FOUND - system has FriBidi |
| 9 | # FRIBIDI_INCLUDE_DIRS - the FriBidi include directory | 9 | # FRIBIDI_INCLUDE_DIRS - the FriBidi include directory |
diff --git a/cmake/modules/FindGBM.cmake b/cmake/modules/FindGBM.cmake index ac95241..37a26a7 100644 --- a/cmake/modules/FindGBM.cmake +++ b/cmake/modules/FindGBM.cmake | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # ---------- | 2 | # ---------- |
| 3 | # Finds the GBM library | 3 | # Finds the GBM library |
| 4 | # | 4 | # |
| 5 | # This will will define the following variables:: | 5 | # This will define the following variables:: |
| 6 | # | 6 | # |
| 7 | # GBM_FOUND - system has GBM | 7 | # GBM_FOUND - system has GBM |
| 8 | # GBM_INCLUDE_DIRS - the GBM include directory | 8 | # GBM_INCLUDE_DIRS - the GBM include directory |
| @@ -29,11 +29,35 @@ find_package_handle_standard_args(GBM | |||
| 29 | REQUIRED_VARS GBM_LIBRARY GBM_INCLUDE_DIR | 29 | REQUIRED_VARS GBM_LIBRARY GBM_INCLUDE_DIR |
| 30 | VERSION_VAR GBM_VERSION) | 30 | VERSION_VAR GBM_VERSION) |
| 31 | 31 | ||
| 32 | include(CheckCSourceCompiles) | ||
| 33 | set(CMAKE_REQUIRED_LIBRARIES ${GBM_LIBRARY}) | ||
| 34 | check_c_source_compiles("#include <gbm.h> | ||
| 35 | |||
| 36 | int main() | ||
| 37 | { | ||
| 38 | gbm_bo_map(NULL, 0, 0, 0, 0, GBM_BO_TRANSFER_WRITE, NULL, NULL); | ||
| 39 | } | ||
| 40 | " GBM_HAS_BO_MAP) | ||
| 41 | |||
| 42 | check_c_source_compiles("#include <gbm.h> | ||
| 43 | |||
| 44 | int main() | ||
| 45 | { | ||
| 46 | gbm_surface_create_with_modifiers(NULL, 0, 0, 0, NULL, 0); | ||
| 47 | } | ||
| 48 | " GBM_HAS_MODIFIERS) | ||
| 49 | |||
| 32 | if(GBM_FOUND) | 50 | if(GBM_FOUND) |
| 33 | set(GBM_LIBRARIES ${GBM_LIBRARY}) | 51 | set(GBM_LIBRARIES ${GBM_LIBRARY}) |
| 34 | set(GBM_INCLUDE_DIRS ${GBM_INCLUDE_DIR}) | 52 | set(GBM_INCLUDE_DIRS ${GBM_INCLUDE_DIR}) |
| 35 | set(GBM_DEFINITIONS -DHAVE_GBM=1) | 53 | set(GBM_DEFINITIONS -DHAVE_GBM=1) |
| 36 | if(NOT TARGET GBM::GBM) | 54 | if(GBM_HAS_BO_MAP) |
| 55 | list(APPEND GBM_DEFINITIONS -DHAS_GBM_BO_MAP=1) | ||
| 56 | endif() | ||
| 57 | if(GBM_HAS_MODIFIERS) | ||
| 58 | list(APPEND GBM_DEFINITIONS -DHAS_GBM_MODIFIERS=1) | ||
| 59 | endif() | ||
| 60 | if(NOT TARGET GBM::GBM) | ||
| 37 | add_library(GBM::GBM UNKNOWN IMPORTED) | 61 | add_library(GBM::GBM UNKNOWN IMPORTED) |
| 38 | set_target_properties(GBM::GBM PROPERTIES | 62 | set_target_properties(GBM::GBM PROPERTIES |
| 39 | IMPORTED_LOCATION "${GBM_LIBRARY}" | 63 | IMPORTED_LOCATION "${GBM_LIBRARY}" |
diff --git a/cmake/modules/FindGIF.cmake b/cmake/modules/FindGIF.cmake index 8649bd4..1c616e0 100644 --- a/cmake/modules/FindGIF.cmake +++ b/cmake/modules/FindGIF.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------- | 3 | # ------- |
| 4 | # Finds the libgif library | 4 | # Finds the libgif library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # GIF_FOUND - system has libgif | 8 | # GIF_FOUND - system has libgif |
| 9 | # GIF_INCLUDE_DIRS - the libgif include directory | 9 | # GIF_INCLUDE_DIRS - the libgif include directory |
diff --git a/cmake/modules/FindGLX.cmake b/cmake/modules/FindGLX.cmake index 77c8fce..ab74dfd 100644 --- a/cmake/modules/FindGLX.cmake +++ b/cmake/modules/FindGLX.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ----- | 3 | # ----- |
| 4 | # Finds the GLX library | 4 | # Finds the GLX library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # GLX_FOUND - system has GLX | 8 | # GLX_FOUND - system has GLX |
| 9 | # GLX_INCLUDE_DIRS - the GLX include directory | 9 | # GLX_INCLUDE_DIRS - the GLX include directory |
diff --git a/cmake/modules/FindIconv.cmake b/cmake/modules/FindIconv.cmake index 8ee01fb..ae7d8d7 100644 --- a/cmake/modules/FindIconv.cmake +++ b/cmake/modules/FindIconv.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the ICONV library | 4 | # Finds the ICONV library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # ICONV_FOUND - system has ICONV | 8 | # ICONV_FOUND - system has ICONV |
| 9 | # ICONV_INCLUDE_DIRS - the ICONV include directory | 9 | # ICONV_INCLUDE_DIRS - the ICONV include directory |
diff --git a/cmake/modules/FindLCMS2.cmake b/cmake/modules/FindLCMS2.cmake index 5ec7a77..7cc1497 100644 --- a/cmake/modules/FindLCMS2.cmake +++ b/cmake/modules/FindLCMS2.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ----------- | 3 | # ----------- |
| 4 | # Finds the LCMS Color Management library | 4 | # Finds the LCMS Color Management library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # LCMS2_FOUND - system has LCMS Color Management | 8 | # LCMS2_FOUND - system has LCMS Color Management |
| 9 | # LCMS2_INCLUDE_DIRS - the LCMS Color Management include directory | 9 | # LCMS2_INCLUDE_DIRS - the LCMS Color Management include directory |
diff --git a/cmake/modules/FindLibDRM.cmake b/cmake/modules/FindLibDRM.cmake index 35d632e..ec30920 100644 --- a/cmake/modules/FindLibDRM.cmake +++ b/cmake/modules/FindLibDRM.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ---------- | 3 | # ---------- |
| 4 | # Finds the LibDRM library | 4 | # Finds the LibDRM library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # LIBDRM_FOUND - system has LibDRM | 8 | # LIBDRM_FOUND - system has LibDRM |
| 9 | # LIBDRM_INCLUDE_DIRS - the LibDRM include directory | 9 | # LIBDRM_INCLUDE_DIRS - the LibDRM include directory |
| @@ -14,7 +14,7 @@ | |||
| 14 | # LibDRM::LibDRM - The LibDRM library | 14 | # LibDRM::LibDRM - The LibDRM library |
| 15 | 15 | ||
| 16 | if(PKG_CONFIG_FOUND) | 16 | if(PKG_CONFIG_FOUND) |
| 17 | pkg_check_modules(PC_LIBDRM libdrm QUIET) | 17 | pkg_check_modules(PC_LIBDRM libdrm>=2.4.71 QUIET) |
| 18 | endif() | 18 | endif() |
| 19 | 19 | ||
| 20 | find_path(LIBDRM_INCLUDE_DIR NAMES drm.h | 20 | find_path(LIBDRM_INCLUDE_DIR NAMES drm.h |
diff --git a/cmake/modules/FindLibDvd.cmake b/cmake/modules/FindLibDvd.cmake index 5c72826..bd08b94 100644 --- a/cmake/modules/FindLibDvd.cmake +++ b/cmake/modules/FindLibDvd.cmake | |||
| @@ -76,9 +76,6 @@ else() | |||
| 76 | endforeach() | 76 | endforeach() |
| 77 | 77 | ||
| 78 | set(DVDREAD_CFLAGS "${DVDREAD_CFLAGS} -I${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/include") | 78 | set(DVDREAD_CFLAGS "${DVDREAD_CFLAGS} -I${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/include") |
| 79 | if(CMAKE_CROSSCOMPILING) | ||
| 80 | set(EXTRA_FLAGS "CC=${CMAKE_C_COMPILER}") | ||
| 81 | endif() | ||
| 82 | 79 | ||
| 83 | if(APPLE) | 80 | if(APPLE) |
| 84 | set(CMAKE_LD_FLAGS "-framework IOKit -framework CoreFoundation") | 81 | set(CMAKE_LD_FLAGS "-framework IOKit -framework CoreFoundation") |
| @@ -113,7 +110,7 @@ else() | |||
| 113 | --with-pic | 110 | --with-pic |
| 114 | --prefix=<INSTALL_DIR> | 111 | --prefix=<INSTALL_DIR> |
| 115 | --libdir=<INSTALL_DIR>/lib | 112 | --libdir=<INSTALL_DIR>/lib |
| 116 | "${EXTRA_FLAGS}" | 113 | "CC=${CMAKE_C_COMPILER}" |
| 117 | "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" | 114 | "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" |
| 118 | "LDFLAGS=${CMAKE_LD_FLAGS}" | 115 | "LDFLAGS=${CMAKE_LD_FLAGS}" |
| 119 | BUILD_BYPRODUCTS ${DVDCSS_LIBRARY}) | 116 | BUILD_BYPRODUCTS ${DVDCSS_LIBRARY}) |
| @@ -154,7 +151,7 @@ else() | |||
| 154 | --with-pic | 151 | --with-pic |
| 155 | --prefix=<INSTALL_DIR> | 152 | --prefix=<INSTALL_DIR> |
| 156 | --libdir=<INSTALL_DIR>/lib | 153 | --libdir=<INSTALL_DIR>/lib |
| 157 | "${EXTRA_FLAGS}" | 154 | "CC=${CMAKE_C_COMPILER}" |
| 158 | "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" | 155 | "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" |
| 159 | "LDFLAGS=${CMAKE_LD_FLAGS}" | 156 | "LDFLAGS=${CMAKE_LD_FLAGS}" |
| 160 | BUILD_BYPRODUCTS ${DVDREAD_LIBRARY}) | 157 | BUILD_BYPRODUCTS ${DVDREAD_LIBRARY}) |
| @@ -198,7 +195,7 @@ else() | |||
| 198 | --with-pic | 195 | --with-pic |
| 199 | --prefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd | 196 | --prefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd |
| 200 | --libdir=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib | 197 | --libdir=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib |
| 201 | "${EXTRA_FLAGS}" | 198 | "CC=${CMAKE_C_COMPILER}" |
| 202 | "LDFLAGS=${CMAKE_LD_FLAGS} -L${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib" | 199 | "LDFLAGS=${CMAKE_LD_FLAGS} -L${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib" |
| 203 | "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" | 200 | "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" |
| 204 | "DVDREAD_CFLAGS=${DVDREAD_CFLAGS}" | 201 | "DVDREAD_CFLAGS=${DVDREAD_CFLAGS}" |
| @@ -245,4 +242,4 @@ else() | |||
| 245 | endif() | 242 | endif() |
| 246 | set(LIBDVD_LIBRARIES ${LIBDVD_LIBRARIES} CACHE STRING "libdvd libraries" FORCE) | 243 | set(LIBDVD_LIBRARIES ${LIBDVD_LIBRARIES} CACHE STRING "libdvd libraries" FORCE) |
| 247 | set(LIBDVD_FOUND 1 CACHE BOOL "libdvd found" FORCE) | 244 | set(LIBDVD_FOUND 1 CACHE BOOL "libdvd found" FORCE) |
| 248 | endif() \ No newline at end of file | 245 | endif() |
diff --git a/cmake/modules/FindLibInput.cmake b/cmake/modules/FindLibInput.cmake new file mode 100644 index 0000000..069df5f --- /dev/null +++ b/cmake/modules/FindLibInput.cmake | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindLibinput | ||
| 3 | # -------- | ||
| 4 | # Finds the libinput library | ||
| 5 | # | ||
| 6 | # This will define the following variables:: | ||
| 7 | # | ||
| 8 | # LIBINPUT_FOUND - system has libinput | ||
| 9 | # LIBINPUT_INCLUDE_DIRS - the libinput include directory | ||
| 10 | # LIBINPUT_LIBRARIES - the libinput libraries | ||
| 11 | # LIBINPUT_DEFINITIONS - the libinput compile definitions | ||
| 12 | # | ||
| 13 | |||
| 14 | if(PKG_CONFIG_FOUND) | ||
| 15 | pkg_check_modules(PC_LIBINPUT libinput QUIET) | ||
| 16 | endif() | ||
| 17 | |||
| 18 | find_path(LIBINPUT_INCLUDE_DIR NAMES libinput.h | ||
| 19 | PATHS ${PC_LIBINPUT_INCLUDEDIR}) | ||
| 20 | |||
| 21 | find_library(LIBINPUT_LIBRARY NAMES input | ||
| 22 | PATHS ${PC_LIBINPUT_LIBDIR}) | ||
| 23 | |||
| 24 | set(LIBINPUT_VERSION ${PC_LIBINPUT_VERSION}) | ||
| 25 | |||
| 26 | include(FindPackageHandleStandardArgs) | ||
| 27 | find_package_handle_standard_args(LibInput | ||
| 28 | REQUIRED_VARS LIBINPUT_LIBRARY LIBINPUT_INCLUDE_DIR | ||
| 29 | VERSION_VAR LIBINPUT_VERSION) | ||
| 30 | |||
| 31 | if(LIBINPUT_FOUND) | ||
| 32 | set(LIBINPUT_INCLUDE_DIRS ${LIBINPUT_INCLUDE_DIR}) | ||
| 33 | set(LIBINPUT_LIBRARIES ${LIBINPUT_LIBRARY}) | ||
| 34 | endif() | ||
| 35 | |||
| 36 | mark_as_advanced(LIBINPUT_INCLUDE_DIR LIBINPUT_LIBRARY) | ||
diff --git a/cmake/modules/FindLibUSB.cmake b/cmake/modules/FindLibUSB.cmake index e976bf4..17cf6ec 100644 --- a/cmake/modules/FindLibUSB.cmake +++ b/cmake/modules/FindLibUSB.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ---------- | 3 | # ---------- |
| 4 | # Finds the USB library | 4 | # Finds the USB library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # LIBUSB_FOUND - system has LibUSB | 8 | # LIBUSB_FOUND - system has LibUSB |
| 9 | # LIBUSB_INCLUDE_DIRS - the USB include directory | 9 | # LIBUSB_INCLUDE_DIRS - the USB include directory |
diff --git a/cmake/modules/FindLircClient.cmake b/cmake/modules/FindLircClient.cmake index 528c38e..c469af5 100644 --- a/cmake/modules/FindLircClient.cmake +++ b/cmake/modules/FindLircClient.cmake | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # ----------- | 2 | # ----------- |
| 3 | # Finds the liblirc_client library | 3 | # Finds the liblirc_client library |
| 4 | # | 4 | # |
| 5 | # This will will define the following variables:: | 5 | # This will define the following variables:: |
| 6 | # | 6 | # |
| 7 | # LIRCCLIENT_FOUND - if false, do not try to link to lirc_client | 7 | # LIRCCLIENT_FOUND - if false, do not try to link to lirc_client |
| 8 | # LIRCCLIENT_INCLUDE_DIRS - where to find lirc/lirc_client.h | 8 | # LIRCCLIENT_INCLUDE_DIRS - where to find lirc/lirc_client.h |
diff --git a/cmake/modules/FindLzo2.cmake b/cmake/modules/FindLzo2.cmake index 4f7313f..5e3e686 100644 --- a/cmake/modules/FindLzo2.cmake +++ b/cmake/modules/FindLzo2.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the Lzo2 library | 4 | # Finds the Lzo2 library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # LZO2_FOUND - system has Lzo2 | 8 | # LZO2_FOUND - system has Lzo2 |
| 9 | # LZO2_INCLUDE_DIRS - the Lzo2 include directory | 9 | # LZO2_INCLUDE_DIRS - the Lzo2 include directory |
diff --git a/cmake/modules/FindMDNS.cmake b/cmake/modules/FindMDNS.cmake index 9294708..c2574c8 100644 --- a/cmake/modules/FindMDNS.cmake +++ b/cmake/modules/FindMDNS.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the mDNS library | 4 | # Finds the mDNS library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # MDNS_FOUND - system has mDNS | 8 | # MDNS_FOUND - system has mDNS |
| 9 | # MDNS_INCLUDE_DIRS - the mDNS include directory | 9 | # MDNS_INCLUDE_DIRS - the mDNS include directory |
diff --git a/cmake/modules/FindMariaDBClient.cmake b/cmake/modules/FindMariaDBClient.cmake index 1e5e736..8a28670 100644 --- a/cmake/modules/FindMariaDBClient.cmake +++ b/cmake/modules/FindMariaDBClient.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # --------------- | 3 | # --------------- |
| 4 | # Finds the MariaDBClient library | 4 | # Finds the MariaDBClient library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # MARIADBCLIENT_FOUND - system has MariaDBClient | 8 | # MARIADBCLIENT_FOUND - system has MariaDBClient |
| 9 | # MARIADBCLIENT_INCLUDE_DIRS - the MariaDBClient include directory | 9 | # MARIADBCLIENT_INCLUDE_DIRS - the MariaDBClient include directory |
diff --git a/cmake/modules/FindMicroHttpd.cmake b/cmake/modules/FindMicroHttpd.cmake index d04878c..e6127f3 100644 --- a/cmake/modules/FindMicroHttpd.cmake +++ b/cmake/modules/FindMicroHttpd.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------------- | 3 | # -------------- |
| 4 | # Finds the MicroHttpd library | 4 | # Finds the MicroHttpd library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # MICROHTTPD_FOUND - system has MicroHttpd | 8 | # MICROHTTPD_FOUND - system has MicroHttpd |
| 9 | # MICROHTTPD_INCLUDE_DIRS - the MicroHttpd include directory | 9 | # MICROHTTPD_INCLUDE_DIRS - the MicroHttpd include directory |
diff --git a/cmake/modules/FindMir.cmake b/cmake/modules/FindMir.cmake deleted file mode 100644 index e66ff02..0000000 --- a/cmake/modules/FindMir.cmake +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | # FindMir | ||
| 2 | # ------- | ||
| 3 | # Finds the Mir library | ||
| 4 | # | ||
| 5 | # This will will define the following variables:: | ||
| 6 | # | ||
| 7 | # MIR_FOUND - the system has Mir | ||
| 8 | # MIR_INCLUDE_DIRS - the Mir include directory | ||
| 9 | # MIR_LIBRARIES - the Mir libraries | ||
| 10 | # MIR_DEFINITIONS - the Mir definitions | ||
| 11 | |||
| 12 | |||
| 13 | if(PKG_CONFIG_FOUND) | ||
| 14 | pkg_check_modules (PC_MIR mirclient>=0.26.2 QUIET) | ||
| 15 | endif() | ||
| 16 | |||
| 17 | find_path(MIR_INCLUDE_DIR NAMES mir_toolkit/mir_client_library.h | ||
| 18 | PATHS ${PC_MIR_INCLUDE_DIRS}) | ||
| 19 | |||
| 20 | find_library(MIR_LIBRARY NAMES mirclient | ||
| 21 | PATHS ${PC_MIR_LIBRARIES} ${PC_MIR_LIBRARY_DIRS}) | ||
| 22 | |||
| 23 | include (FindPackageHandleStandardArgs) | ||
| 24 | find_package_handle_standard_args (Mir | ||
| 25 | REQUIRED_VARS MIR_LIBRARY MIR_INCLUDE_DIR) | ||
| 26 | |||
| 27 | if (MIR_FOUND) | ||
| 28 | set(MIR_LIBRARIES ${MIR_LIBRARY}) | ||
| 29 | set(MIR_INCLUDE_DIRS ${PC_MIR_INCLUDE_DIRS}) | ||
| 30 | set(MIR_DEFINITIONS -DHAVE_MIR=1) | ||
| 31 | endif() | ||
| 32 | |||
| 33 | mark_as_advanced (MIR_LIBRARY MIR_INCLUDE_DIR) | ||
diff --git a/cmake/modules/FindMySqlClient.cmake b/cmake/modules/FindMySqlClient.cmake index 50db582..05d3f57 100644 --- a/cmake/modules/FindMySqlClient.cmake +++ b/cmake/modules/FindMySqlClient.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # --------------- | 3 | # --------------- |
| 4 | # Finds the MySqlClient library | 4 | # Finds the MySqlClient library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # MYSQLCLIENT_FOUND - system has MySqlClient | 8 | # MYSQLCLIENT_FOUND - system has MySqlClient |
| 9 | # MYSQLCLIENT_INCLUDE_DIRS - the MySqlClient include directory | 9 | # MYSQLCLIENT_INCLUDE_DIRS - the MySqlClient include directory |
diff --git a/cmake/modules/FindNFS.cmake b/cmake/modules/FindNFS.cmake index b304bf3..36727c0 100644 --- a/cmake/modules/FindNFS.cmake +++ b/cmake/modules/FindNFS.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------- | 3 | # ------- |
| 4 | # Finds the libnfs library | 4 | # Finds the libnfs library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # NFS_FOUND - system has libnfs | 8 | # NFS_FOUND - system has libnfs |
| 9 | # NFS_INCLUDE_DIRS - the libnfs include directory | 9 | # NFS_INCLUDE_DIRS - the libnfs include directory |
diff --git a/cmake/modules/FindOpenGLES.cmake b/cmake/modules/FindOpenGLES.cmake index fac21bc..0191d9e 100644 --- a/cmake/modules/FindOpenGLES.cmake +++ b/cmake/modules/FindOpenGLES.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------------ | 3 | # ------------ |
| 4 | # Finds the OpenGLES2 library | 4 | # Finds the OpenGLES2 library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # OPENGLES_FOUND - system has OpenGLES | 8 | # OPENGLES_FOUND - system has OpenGLES |
| 9 | # OPENGLES_INCLUDE_DIRS - the OpenGLES include directory | 9 | # OPENGLES_INCLUDE_DIRS - the OpenGLES include directory |
diff --git a/cmake/modules/FindOpenGl.cmake b/cmake/modules/FindOpenGl.cmake index af1c433..cb695a6 100644 --- a/cmake/modules/FindOpenGl.cmake +++ b/cmake/modules/FindOpenGl.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ---------- | 3 | # ---------- |
| 4 | # Finds the FindOpenGl library | 4 | # Finds the FindOpenGl library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # OPENGL_FOUND - system has OpenGl | 8 | # OPENGL_FOUND - system has OpenGl |
| 9 | # OPENGL_INCLUDE_DIRS - the OpenGl include directory | 9 | # OPENGL_INCLUDE_DIRS - the OpenGl include directory |
diff --git a/cmake/modules/FindPCRE.cmake b/cmake/modules/FindPCRE.cmake index 8babed3..d549d19 100644 --- a/cmake/modules/FindPCRE.cmake +++ b/cmake/modules/FindPCRE.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the PCRECPP library | 4 | # Finds the PCRECPP library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # PCRE_FOUND - system has libpcrecpp | 8 | # PCRE_FOUND - system has libpcrecpp |
| 9 | # PCRE_INCLUDE_DIRS - the libpcrecpp include directory | 9 | # PCRE_INCLUDE_DIRS - the libpcrecpp include directory |
diff --git a/cmake/modules/FindPlist.cmake b/cmake/modules/FindPlist.cmake index 0664c10..cd143e9 100644 --- a/cmake/modules/FindPlist.cmake +++ b/cmake/modules/FindPlist.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # --------- | 3 | # --------- |
| 4 | # Finds the Plist library | 4 | # Finds the Plist library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # PLIST_FOUND - system has Plist library | 8 | # PLIST_FOUND - system has Plist library |
| 9 | # PLIST_INCLUDE_DIRS - the Plist library include directory | 9 | # PLIST_INCLUDE_DIRS - the Plist library include directory |
diff --git a/cmake/modules/FindSSE.cmake b/cmake/modules/FindSSE.cmake index b860dca..08e3630 100644 --- a/cmake/modules/FindSSE.cmake +++ b/cmake/modules/FindSSE.cmake | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # Check if SSE instructions are available on the machine where | 1 | # Check if SSE instructions are available on the machine where |
| 2 | # the project is compiled. | 2 | # the project is compiled. |
| 3 | include(TestCXXAcceptsFlag) | 3 | include(TestCXXAcceptsFlag) |
| 4 | 4 | ||
| @@ -74,7 +74,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") | |||
| 74 | string(REGEX REPLACE "^.*(AVX2).*$" "\\1" _SSE_THERE ${CPUINFO}) | 74 | string(REGEX REPLACE "^.*(AVX2).*$" "\\1" _SSE_THERE ${CPUINFO}) |
| 75 | string(COMPARE EQUAL "AVX2" "${_SSE_THERE}" _AVX2_TRUE) | 75 | string(COMPARE EQUAL "AVX2" "${_SSE_THERE}" _AVX2_TRUE) |
| 76 | CHECK_CXX_ACCEPTS_FLAG("-mavx2" _AVX2_OK) | 76 | CHECK_CXX_ACCEPTS_FLAG("-mavx2" _AVX2_OK) |
| 77 | endif() | 77 | endif() |
| 78 | elseif(CMAKE_SYSTEM_NAME MATCHES "Android") | 78 | elseif(CMAKE_SYSTEM_NAME MATCHES "Android") |
| 79 | if(CPU MATCHES "x86_64" OR CPU MATCHES "i.86") | 79 | if(CPU MATCHES "x86_64" OR CPU MATCHES "i.86") |
| 80 | set(_SSE_TRUE TRUE) | 80 | set(_SSE_TRUE TRUE) |
diff --git a/cmake/modules/FindSSH.cmake b/cmake/modules/FindSSH.cmake deleted file mode 100644 index bf3837e..0000000 --- a/cmake/modules/FindSSH.cmake +++ /dev/null | |||
| @@ -1,47 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindSSH | ||
| 3 | # ------- | ||
| 4 | # Finds the SSH library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # SSH_FOUND - system has SSH | ||
| 9 | # SSH_INCLUDE_DIRS - the SSH include directory | ||
| 10 | # SSH_LIBRARIES - the SSH libraries | ||
| 11 | # SSH_DEFINITIONS - the SSH definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # SSH::SSH - The SSH library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_SSH libssh>=0.6 QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(SSH_INCLUDE_DIR NAMES libssh/libssh.h | ||
| 22 | PATHS ${PC_SSH_INCLUDEDIR}) | ||
| 23 | find_library(SSH_LIBRARY NAMES ssh | ||
| 24 | PATHS ${PC_SSH_LIBDIR}) | ||
| 25 | |||
| 26 | set(SSH_VERSION ${PC_SSH_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(SSH | ||
| 30 | REQUIRED_VARS SSH_LIBRARY SSH_INCLUDE_DIR | ||
| 31 | VERSION_VAR SSH_VERSION) | ||
| 32 | |||
| 33 | if(SSH_FOUND) | ||
| 34 | set(SSH_LIBRARIES ${SSH_LIBRARY}) | ||
| 35 | set(SSH_INCLUDE_DIRS ${SSH_INCLUDE_DIR}) | ||
| 36 | set(SSH_DEFINITIONS -DHAS_FILESYSTEM_SFTP=1) | ||
| 37 | |||
| 38 | if(NOT TARGET SSH::SSH) | ||
| 39 | add_library(SSH::SSH UNKNOWN IMPORTED) | ||
| 40 | set_target_properties(SSH::SSH PROPERTIES | ||
| 41 | IMPORTED_LOCATION "${SSH_LIBRARY}" | ||
| 42 | INTERFACE_INCLUDE_DIRECTORIES "${SSH_INCLUDE_DIR}" | ||
| 43 | INTERFACE_COMPILE_DEFINITIONS HAS_FILESYSTEM_SFTP=1) | ||
| 44 | endif() | ||
| 45 | endif() | ||
| 46 | |||
| 47 | mark_as_advanced(SSH_INCLUDE_DIR SSH_LIBRARY) | ||
diff --git a/cmake/modules/FindSWIG.cmake b/cmake/modules/FindSWIG.cmake index 523b49b..f9b27c2 100644 --- a/cmake/modules/FindSWIG.cmake +++ b/cmake/modules/FindSWIG.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the SWIG executable | 4 | # Finds the SWIG executable |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # SWIG_FOUND - system has SWIG | 8 | # SWIG_FOUND - system has SWIG |
| 9 | # SWIG_EXECUTABLE - the SWIG executable | 9 | # SWIG_EXECUTABLE - the SWIG executable |
diff --git a/cmake/modules/FindSdl.cmake b/cmake/modules/FindSdl.cmake index 81c1793..60959cb 100644 --- a/cmake/modules/FindSdl.cmake +++ b/cmake/modules/FindSdl.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------- | 3 | # ------- |
| 4 | # Finds the SDL library | 4 | # Finds the SDL library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # SDL_FOUND - system has SDL | 8 | # SDL_FOUND - system has SDL |
| 9 | # SDL_INCLUDE_DIRS - the SDL include directory | 9 | # SDL_INCLUDE_DIRS - the SDL include directory |
diff --git a/cmake/modules/FindShairplay.cmake b/cmake/modules/FindShairplay.cmake index 699fb7a..bbb3372 100644 --- a/cmake/modules/FindShairplay.cmake +++ b/cmake/modules/FindShairplay.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------------- | 3 | # ------------- |
| 4 | # Finds the Shairplay library | 4 | # Finds the Shairplay library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # SHAIRPLAY_FOUND - system has Shairplay | 8 | # SHAIRPLAY_FOUND - system has Shairplay |
| 9 | # SHAIRPLAY_INCLUDE_DIRS - the Shairplay include directory | 9 | # SHAIRPLAY_INCLUDE_DIRS - the Shairplay include directory |
diff --git a/cmake/modules/FindSmbClient.cmake b/cmake/modules/FindSmbClient.cmake index 9a8b197..70492ff 100644 --- a/cmake/modules/FindSmbClient.cmake +++ b/cmake/modules/FindSmbClient.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------------- | 3 | # ------------- |
| 4 | # Finds the SMB Client library | 4 | # Finds the SMB Client library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # SMBCLIENT_FOUND - system has SmbClient | 8 | # SMBCLIENT_FOUND - system has SmbClient |
| 9 | # SMBCLIENT_INCLUDE_DIRS - the SmbClient include directory | 9 | # SMBCLIENT_INCLUDE_DIRS - the SmbClient include directory |
diff --git a/cmake/modules/FindSndio.cmake b/cmake/modules/FindSndio.cmake index 5f08acd..992c0b1 100644 --- a/cmake/modules/FindSndio.cmake +++ b/cmake/modules/FindSndio.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # --------- | 3 | # --------- |
| 4 | # Finds the Sndio Library | 4 | # Finds the Sndio Library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables: | 6 | # This will define the following variables: |
| 7 | # | 7 | # |
| 8 | # SNDIO_FOUND - system has sndio | 8 | # SNDIO_FOUND - system has sndio |
| 9 | # SNDIO_INCLUDE_DIRS - sndio include directory | 9 | # SNDIO_INCLUDE_DIRS - sndio include directory |
diff --git a/cmake/modules/FindSqlite3.cmake b/cmake/modules/FindSqlite3.cmake index abde0cf..8fd9719 100644 --- a/cmake/modules/FindSqlite3.cmake +++ b/cmake/modules/FindSqlite3.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ----------- | 3 | # ----------- |
| 4 | # Finds the SQLite3 library | 4 | # Finds the SQLite3 library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # SQLITE3_FOUND - system has SQLite3 | 8 | # SQLITE3_FOUND - system has SQLite3 |
| 9 | # SQLITE3_INCLUDE_DIRS - the SQLite3 include directory | 9 | # SQLITE3_INCLUDE_DIRS - the SQLite3 include directory |
diff --git a/cmake/modules/FindTagLib.cmake b/cmake/modules/FindTagLib.cmake index 8c8c2f3..ac7b7ec 100644 --- a/cmake/modules/FindTagLib.cmake +++ b/cmake/modules/FindTagLib.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ---------- | 3 | # ---------- |
| 4 | # Finds the TagLib library | 4 | # Finds the TagLib library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # TAGLIB_FOUND - system has TagLib | 8 | # TAGLIB_FOUND - system has TagLib |
| 9 | # TAGLIB_INCLUDE_DIRS - the TagLib include directory | 9 | # TAGLIB_INCLUDE_DIRS - the TagLib include directory |
diff --git a/cmake/modules/FindTinyXML.cmake b/cmake/modules/FindTinyXML.cmake index 1220a94..5e9539e 100644 --- a/cmake/modules/FindTinyXML.cmake +++ b/cmake/modules/FindTinyXML.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ----------- | 3 | # ----------- |
| 4 | # Finds the TinyXML library | 4 | # Finds the TinyXML library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # TINYXML_FOUND - system has TinyXML | 8 | # TINYXML_FOUND - system has TinyXML |
| 9 | # TINYXML_INCLUDE_DIRS - the TinyXML include directory | 9 | # TINYXML_INCLUDE_DIRS - the TinyXML include directory |
diff --git a/cmake/modules/FindUDEV.cmake b/cmake/modules/FindUDEV.cmake index 422c437..a884025 100644 --- a/cmake/modules/FindUDEV.cmake +++ b/cmake/modules/FindUDEV.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ------- | 3 | # ------- |
| 4 | # Finds the UDEV library | 4 | # Finds the UDEV library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # UDEV_FOUND - system has UDEV | 8 | # UDEV_FOUND - system has UDEV |
| 9 | # UDEV_INCLUDE_DIRS - the UDEV include directory | 9 | # UDEV_INCLUDE_DIRS - the UDEV include directory |
diff --git a/cmake/modules/FindUUID.cmake b/cmake/modules/FindUUID.cmake index 173fac2..0c2ff5a 100644 --- a/cmake/modules/FindUUID.cmake +++ b/cmake/modules/FindUUID.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the libuuid library | 4 | # Finds the libuuid library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # UUID_FOUND - system has libuuid | 8 | # UUID_FOUND - system has libuuid |
| 9 | # UUID_INCLUDE_DIRS - the libuuid include directory | 9 | # UUID_INCLUDE_DIRS - the libuuid include directory |
diff --git a/cmake/modules/FindVAAPI.cmake b/cmake/modules/FindVAAPI.cmake index 157cec4..2111e4f 100644 --- a/cmake/modules/FindVAAPI.cmake +++ b/cmake/modules/FindVAAPI.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # --------- | 3 | # --------- |
| 4 | # Finds the VAAPI library | 4 | # Finds the VAAPI library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # VAAPI_FOUND - system has VAAPI | 8 | # VAAPI_FOUND - system has VAAPI |
| 9 | # VAAPI_INCLUDE_DIRS - the VAAPI include directory | 9 | # VAAPI_INCLUDE_DIRS - the VAAPI include directory |
diff --git a/cmake/modules/FindVDPAU.cmake b/cmake/modules/FindVDPAU.cmake index b99e03f..b2c5482 100644 --- a/cmake/modules/FindVDPAU.cmake +++ b/cmake/modules/FindVDPAU.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # --------- | 3 | # --------- |
| 4 | # Finds the VDPAU library | 4 | # Finds the VDPAU library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # VDPAU_FOUND - system has VDPAU | 8 | # VDPAU_FOUND - system has VDPAU |
| 9 | # VDPAU_INCLUDE_DIRS - the VDPAU include directory | 9 | # VDPAU_INCLUDE_DIRS - the VDPAU include directory |
diff --git a/cmake/modules/FindWaylandProtocols.cmake b/cmake/modules/FindWaylandProtocols.cmake index 0b96ff0..e74bb80 100644 --- a/cmake/modules/FindWaylandProtocols.cmake +++ b/cmake/modules/FindWaylandProtocols.cmake | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # -------------------- | 2 | # -------------------- |
| 3 | # Find wayland-protocols | 3 | # Find wayland-protocols |
| 4 | # | 4 | # |
| 5 | # This will will define the following variables:: | 5 | # This will define the following variables:: |
| 6 | # | 6 | # |
| 7 | # WAYLAND_PROTOCOLS_DIR - directory containing the additional Wayland protocols | 7 | # WAYLAND_PROTOCOLS_DIR - directory containing the additional Wayland protocols |
| 8 | # from the wayland-protocols package | 8 | # from the wayland-protocols package |
diff --git a/cmake/modules/FindWaylandpp.cmake b/cmake/modules/FindWaylandpp.cmake index 336e613..3cfc282 100644 --- a/cmake/modules/FindWaylandpp.cmake +++ b/cmake/modules/FindWaylandpp.cmake | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # ------------- | 2 | # ------------- |
| 3 | # Finds the waylandpp library | 3 | # Finds the waylandpp library |
| 4 | # | 4 | # |
| 5 | # This will will define the following variables:: | 5 | # This will define the following variables:: |
| 6 | # | 6 | # |
| 7 | # WAYLANDPP_FOUND - the system has waylandpp | 7 | # WAYLANDPP_FOUND - the system has waylandpp |
| 8 | # WAYLANDPP_INCLUDE_DIRS - the waylandpp include directory | 8 | # WAYLANDPP_INCLUDE_DIRS - the waylandpp include directory |
| @@ -10,15 +10,27 @@ | |||
| 10 | # WAYLANDPP_DEFINITIONS - the waylandpp definitions | 10 | # WAYLANDPP_DEFINITIONS - the waylandpp definitions |
| 11 | # WAYLANDPP_SCANNER - path to wayland-scanner++ | 11 | # WAYLANDPP_SCANNER - path to wayland-scanner++ |
| 12 | 12 | ||
| 13 | pkg_check_modules(WAYLANDPP wayland-client++ wayland-egl++ wayland-cursor++) | 13 | pkg_check_modules(PC_WAYLANDPP wayland-client++ wayland-egl++ wayland-cursor++ QUIET) |
| 14 | pkg_check_modules(PC_WAYLANDPP_SCANNER wayland-scanner++) | 14 | pkg_check_modules(PC_WAYLANDPP_SCANNER wayland-scanner++ QUIET) |
| 15 | if(WAYLANDPP_FOUND) | 15 | if(PC_WAYLANDPP_FOUND) |
| 16 | pkg_get_variable(PC_WAYLANDPP_PKGDATADIR wayland-client++ pkgdatadir) | 16 | pkg_get_variable(PC_WAYLANDPP_PKGDATADIR wayland-client++ pkgdatadir) |
| 17 | endif() | 17 | endif() |
| 18 | if(PC_WAYLANDPP_SCANNER_FOUND) | 18 | if(PC_WAYLANDPP_SCANNER_FOUND) |
| 19 | pkg_get_variable(PC_WAYLANDPP_SCANNER wayland-scanner++ wayland_scannerpp) | 19 | pkg_get_variable(PC_WAYLANDPP_SCANNER wayland-scanner++ wayland_scannerpp) |
| 20 | endif() | 20 | endif() |
| 21 | 21 | ||
| 22 | find_path(WAYLANDPP_INCLUDE_DIR wayland-client.hpp PATHS ${PC_WAYLANDPP_INCLUDEDIR}) | ||
| 23 | |||
| 24 | find_library(WAYLANDPP_CLIENT_LIBRARY NAMES wayland-client++ | ||
| 25 | PATHS ${PC_WAYLANDPP_LIBRARY_DIRS}) | ||
| 26 | |||
| 27 | find_library(WAYLANDPP_CURSOR_LIBRARY NAMES wayland-cursor++ | ||
| 28 | PATHS ${PC_WAYLANDPP_LIBRARY_DIRS}) | ||
| 29 | |||
| 30 | find_library(WAYLANDPP_EGL NAMES wayland-egl++ | ||
| 31 | PATHS ${PC_WAYLANDPP_LIBRARY_DIRS}) | ||
| 32 | |||
| 33 | |||
| 22 | # Promote to cache variables so all code can access it | 34 | # Promote to cache variables so all code can access it |
| 23 | set(WAYLANDPP_PROTOCOLS_DIR "${PC_WAYLANDPP_PKGDATADIR}/protocols" CACHE INTERNAL "") | 35 | set(WAYLANDPP_PROTOCOLS_DIR "${PC_WAYLANDPP_PKGDATADIR}/protocols" CACHE INTERNAL "") |
| 24 | 36 | ||
| @@ -27,13 +39,23 @@ set(WAYLANDPP_PROTOCOLS_DIR "${PC_WAYLANDPP_PKGDATADIR}/protocols" CACHE INTERNA | |||
| 27 | find_program(WAYLANDPP_SCANNER wayland-scanner++ PATHS ${PC_WAYLANDPP_SCANNER}) | 39 | find_program(WAYLANDPP_SCANNER wayland-scanner++ PATHS ${PC_WAYLANDPP_SCANNER}) |
| 28 | 40 | ||
| 29 | include (FindPackageHandleStandardArgs) | 41 | include (FindPackageHandleStandardArgs) |
| 30 | find_package_handle_standard_args (Waylandpp | 42 | find_package_handle_standard_args(Waylandpp |
| 31 | REQUIRED_VARS | 43 | REQUIRED_VARS WAYLANDPP_INCLUDE_DIR |
| 32 | WAYLANDPP_FOUND | 44 | WAYLANDPP_CLIENT_LIBRARY |
| 33 | WAYLANDPP_SCANNER | 45 | WAYLANDPP_CURSOR_LIBRARY |
| 34 | VERSION_VAR | 46 | WAYLANDPP_EGL |
| 35 | WAYLANDPP_wayland-client++_VERSION) | 47 | WAYLANDPP_SCANNER |
| 36 | 48 | VERSION_VAR WAYLANDPP_wayland-client++_VERSION) | |
| 37 | set(WAYLANDPP_DEFINITIONS -DHAVE_WAYLAND=1) | 49 | |
| 38 | # Also pass on library directories | 50 | if(WAYLANDPP_FOUND) |
| 39 | set(WAYLANDPP_LIBRARIES ${WAYLANDPP_LDFLAGS}) | 51 | set(WAYLANDPP_INCLUDE_DIRS ${WAYLANDPP_INCLUDE_DIR}) |
| 52 | set(WAYLANDPP_LIBRARIES ${WAYLANDPP_CLIENT_LIBRARY} | ||
| 53 | ${WAYLANDPP_CURSOR_LIBRARY} | ||
| 54 | ${WAYLANDPP_EGL}) | ||
| 55 | set(WAYLANDPP_DEFINITIONS -DHAVE_WAYLAND=1) | ||
| 56 | endif() | ||
| 57 | |||
| 58 | mark_as_advanced(WAYLANDPP_INCLUDE_DIR | ||
| 59 | WAYLANDPP_CLIENT_LIBRARY | ||
| 60 | WAYLANDPP_CURSOR_LIBRARY | ||
| 61 | WAYLANDPP_EGL WAYLANDPP_SCANNER) | ||
diff --git a/cmake/modules/FindX.cmake b/cmake/modules/FindX.cmake index 19bb770..a52f86f 100644 --- a/cmake/modules/FindX.cmake +++ b/cmake/modules/FindX.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ----- | 3 | # ----- |
| 4 | # Finds the X11 library | 4 | # Finds the X11 library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # X_FOUND - system has X11 | 8 | # X_FOUND - system has X11 |
| 9 | # X_INCLUDE_DIRS - the X11 include directory | 9 | # X_INCLUDE_DIRS - the X11 include directory |
diff --git a/cmake/modules/FindXRandR.cmake b/cmake/modules/FindXRandR.cmake index 9feaedc..12f3478 100644 --- a/cmake/modules/FindXRandR.cmake +++ b/cmake/modules/FindXRandR.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ---------- | 3 | # ---------- |
| 4 | # Finds the XRandR library | 4 | # Finds the XRandR library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # XRANDR_FOUND - system has XRANDR | 8 | # XRANDR_FOUND - system has XRANDR |
| 9 | # XRANDR_INCLUDE_DIRS - the XRANDR include directory | 9 | # XRANDR_INCLUDE_DIRS - the XRANDR include directory |
diff --git a/cmake/modules/FindXSLT.cmake b/cmake/modules/FindXSLT.cmake index f7fea9e..3637214 100644 --- a/cmake/modules/FindXSLT.cmake +++ b/cmake/modules/FindXSLT.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the XSLT library | 4 | # Finds the XSLT library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # XSLT_FOUND - system has XSLT | 8 | # XSLT_FOUND - system has XSLT |
| 9 | # XSLT_INCLUDE_DIRS - the XSLT include directory | 9 | # XSLT_INCLUDE_DIRS - the XSLT include directory |
diff --git a/cmake/modules/FindXkbcommon.cmake b/cmake/modules/FindXkbcommon.cmake index 2a84fe5..40cbb31 100644 --- a/cmake/modules/FindXkbcommon.cmake +++ b/cmake/modules/FindXkbcommon.cmake | |||
| @@ -2,20 +2,39 @@ | |||
| 2 | # ----------- | 2 | # ----------- |
| 3 | # Finds the libxkbcommon library | 3 | # Finds the libxkbcommon library |
| 4 | # | 4 | # |
| 5 | # This will will define the following variables:: | 5 | # This will define the following variables:: |
| 6 | # | 6 | # |
| 7 | # XKBCOMMON_FOUND - the system has libxkbcommon | 7 | # XKBCOMMON_FOUND - the system has libxkbcommon |
| 8 | # XKBCOMMON_INCLUDE_DIRS - the libxkbcommon include directory | 8 | # XKBCOMMON_INCLUDE_DIRS - the libxkbcommon include directory |
| 9 | # XKBCOMMON_LIBRARIES - the libxkbcommon libraries | 9 | # XKBCOMMON_LIBRARIES - the libxkbcommon libraries |
| 10 | # XKBCOMMON_DEFINITIONS - the libxkbcommon definitions | ||
| 11 | 10 | ||
| 12 | pkg_check_modules (XKBCOMMON xkbcommon) | 11 | if(PKG_CONFIG_FOUND) |
| 12 | pkg_check_modules(PC_XKBCOMMON xkbcommon QUIET) | ||
| 13 | endif() | ||
| 13 | 14 | ||
| 14 | include (FindPackageHandleStandardArgs) | ||
| 15 | find_package_handle_standard_args (Xkbcommon | ||
| 16 | REQUIRED_VARS | ||
| 17 | XKBCOMMON_FOUND) | ||
| 18 | 15 | ||
| 19 | set(XKBCOMMON_DEFINITIONS -DHAVE_XKBCOMMON=1) | 16 | find_path(XKBCOMMON_INCLUDE_DIR NAMES xkbcommon/xkbcommon.h |
| 20 | set(XKBCOMMON_LIBRARIES ${XKBCOMMON_LDFLAGS}) | 17 | PATHS ${PC_XKBCOMMON_INCLUDEDIR}) |
| 21 | set(XKBCOMMON_INCLUDE_DIRS ${XKBCOMMON_INCLUDEDIR}) | 18 | find_library(XKBCOMMON_LIBRARY NAMES xkbcommon |
| 19 | PATHS ${PC_XKBCOMMON_LIBDIR}) | ||
| 20 | |||
| 21 | set(XKBCOMMON_VERSION ${PC_XKBCOMMON_VERSION}) | ||
| 22 | |||
| 23 | include(FindPackageHandleStandardArgs) | ||
| 24 | find_package_handle_standard_args(Xkbcommon | ||
| 25 | REQUIRED_VARS XKBCOMMON_LIBRARY XKBCOMMON_INCLUDE_DIR | ||
| 26 | VERSION_VAR XKBCOMMON_VERSION) | ||
| 27 | |||
| 28 | if(XKBCOMMON_FOUND) | ||
| 29 | set(XKBCOMMON_INCLUDE_DIRS ${XKBCOMMON_INCLUDE_DIR}) | ||
| 30 | set(XKBCOMMON_LIBRARIES ${XKBCOMMON_LIBRARY}) | ||
| 31 | |||
| 32 | if(NOT TARGET XKBCOMMON::XKBCOMMON) | ||
| 33 | add_library(XKBCOMMON::XKBCOMMON UNKNOWN IMPORTED) | ||
| 34 | set_target_properties(XKBCOMMON::XKBCOMMON PROPERTIES | ||
| 35 | IMPORTED_LOCATION "${XKBCOMMON_LIBRARY}" | ||
| 36 | INTERFACE_INCLUDE_DIRECTORIES "${XKBCOMMON_INCLUDE_DIR}") | ||
| 37 | endif() | ||
| 38 | endif() | ||
| 39 | |||
| 40 | mark_as_advanced(XKBCOMMON_INCLUDE_DIR XKBCOMMON_LIBRARY) | ||
diff --git a/cmake/modules/FindYajl.cmake b/cmake/modules/FindYajl.cmake index c73a67b..d8793e6 100644 --- a/cmake/modules/FindYajl.cmake +++ b/cmake/modules/FindYajl.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # -------- | 3 | # -------- |
| 4 | # Finds the Yajl library | 4 | # Finds the Yajl library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # YAJL_FOUND - system has Yajl | 8 | # YAJL_FOUND - system has Yajl |
| 9 | # YAJL_INCLUDE_DIRS - Yajl include directory | 9 | # YAJL_INCLUDE_DIRS - Yajl include directory |
diff --git a/cmake/modules/FindZip.cmake b/cmake/modules/FindZip.cmake index ecac262..6ddf478 100644 --- a/cmake/modules/FindZip.cmake +++ b/cmake/modules/FindZip.cmake | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # ----------- | 3 | # ----------- |
| 4 | # Finds the Zip library | 4 | # Finds the Zip library |
| 5 | # | 5 | # |
| 6 | # This will will define the following variables:: | 6 | # This will define the following variables:: |
| 7 | # | 7 | # |
| 8 | # ZIP_FOUND - system has Zip | 8 | # ZIP_FOUND - system has Zip |
| 9 | # ZIP_INCLUDE_DIRS - the Zip include directory | 9 | # ZIP_INCLUDE_DIRS - the Zip include directory |
diff --git a/cmake/modules/Findfstrcmp.cmake b/cmake/modules/Findfstrcmp.cmake new file mode 100644 index 0000000..f0c15d3 --- /dev/null +++ b/cmake/modules/Findfstrcmp.cmake | |||
| @@ -0,0 +1,80 @@ | |||
| 1 | #.rst: | ||
| 2 | # Findfstrcmp | ||
| 3 | # -------- | ||
| 4 | # Finds the fstrcmp library | ||
| 5 | # | ||
| 6 | # This will define the following variables:: | ||
| 7 | # | ||
| 8 | # FSTRCMP_FOUND - system has libfstrcmp | ||
| 9 | # FSTRCMP_INCLUDE_DIRS - the libfstrcmp include directory | ||
| 10 | # FSTRCMP_LIBRARIES - the libfstrcmp libraries | ||
| 11 | # | ||
| 12 | |||
| 13 | if(ENABLE_INTERNAL_FSTRCMP) | ||
| 14 | include(ExternalProject) | ||
| 15 | file(STRINGS ${CMAKE_SOURCE_DIR}/tools/depends/target/libfstrcmp/Makefile VER) | ||
| 16 | string(REGEX MATCH "VERSION=[^ ]*" FSTRCMP_VER "${VER}") | ||
| 17 | list(GET FSTRCMP_VER 0 FSTRCMP_VER) | ||
| 18 | string(SUBSTRING "${FSTRCMP_VER}" 8 -1 FSTRCMP_VER) | ||
| 19 | |||
| 20 | # allow user to override the download URL with a local tarball | ||
| 21 | # needed for offline build envs | ||
| 22 | if(FSTRCMP_URL) | ||
| 23 | get_filename_component(FSTRCMP_URL "${FSTRCMP_URL}" ABSOLUTE) | ||
| 24 | else() | ||
| 25 | set(FSTRCMP_URL http://mirrors.kodi.tv/build-deps/sources/fstrcmp-${FSTRCMP_VER}.tar.gz) | ||
| 26 | endif() | ||
| 27 | if(VERBOSE) | ||
| 28 | message(STATUS "FSTRCMPURL: ${FSTRCMP_URL}") | ||
| 29 | endif() | ||
| 30 | |||
| 31 | set(FSTRCMP_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libfstrcmp.a) | ||
| 32 | set(FSTRCMP_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include) | ||
| 33 | externalproject_add(fstrcmp | ||
| 34 | URL ${FSTRCMP_URL} | ||
| 35 | DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download | ||
| 36 | PREFIX ${CORE_BUILD_DIR}/fstrcmp | ||
| 37 | CONFIGURE_COMMAND autoreconf -vif && ./configure --prefix ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} | ||
| 38 | BUILD_BYPRODUCTS ${FSTRCMP_LIBRARY} | ||
| 39 | BUILD_IN_SOURCE 1) | ||
| 40 | set_target_properties(fstrcmp PROPERTIES FOLDER "External Projects") | ||
| 41 | |||
| 42 | include(FindPackageHandleStandardArgs) | ||
| 43 | find_package_handle_standard_args(fstrcmp | ||
| 44 | REQUIRED_VARS FSTRCMP_LIBRARY FSTRCMP_INCLUDE_DIR | ||
| 45 | VERSION_VAR FSTRCMP_VER) | ||
| 46 | |||
| 47 | set(FSTRCMP_LIBRARIES -Wl,-Bstatic ${FSTRCMP_LIBRARY} -Wl,-Bdynamic) | ||
| 48 | set(FSTRCMP_INCLUDE_DIRS ${FSTRCMP_INCLUDE_DIR}) | ||
| 49 | else() | ||
| 50 | if(PKG_CONFIG_FOUND) | ||
| 51 | pkg_check_modules(PC_FSTRCMP fstrcmp QUIET) | ||
| 52 | endif() | ||
| 53 | |||
| 54 | find_path(FSTRCMP_INCLUDE_DIR NAMES fstrcmp.h | ||
| 55 | PATHS ${PC_FSTRCMP_INCLUDEDIR}) | ||
| 56 | |||
| 57 | find_library(FSTRCMP_LIBRARY NAMES fstrcmp | ||
| 58 | PATHS ${PC_FSTRCMP_LIBDIR}) | ||
| 59 | |||
| 60 | set(FSTRCMP_VERSION ${PC_FSTRCMP_VERSION}) | ||
| 61 | |||
| 62 | include(FindPackageHandleStandardArgs) | ||
| 63 | find_package_handle_standard_args(fstrcmp | ||
| 64 | REQUIRED_VARS FSTRCMP_LIBRARY FSTRCMP_INCLUDE_DIR | ||
| 65 | VERSION_VAR FSTRCMP_VERSION) | ||
| 66 | |||
| 67 | if(FSTRCMP_FOUND) | ||
| 68 | set(FSTRCMP_INCLUDE_DIRS ${FSTRCMP_INCLUDE_DIR}) | ||
| 69 | set(FSTRCMP_LIBRARIES ${FSTRCMP_LIBRARY}) | ||
| 70 | endif() | ||
| 71 | |||
| 72 | if(NOT TARGET fstrcmp) | ||
| 73 | add_library(fstrcmp UNKNOWN IMPORTED) | ||
| 74 | set_target_properties(fstrcmp PROPERTIES | ||
| 75 | IMPORTED_LOCATION "${FSTRCMP_LIBRARY}" | ||
| 76 | INTERFACE_INCLUDE_DIRECTORIES "${FSTRCMP_INCLUDE_DIR}") | ||
| 77 | endif() | ||
| 78 | endif() | ||
| 79 | |||
| 80 | mark_as_advanced(FSTRCMP_INCLUDE_DIR FSTRCMP_LIBRARY) | ||
diff --git a/cmake/platform/freebsd/gbm.cmake b/cmake/platform/freebsd/gbm.cmake new file mode 100644 index 0000000..b273a06 --- /dev/null +++ b/cmake/platform/freebsd/gbm.cmake | |||
| @@ -0,0 +1 @@ | |||
| include(cmake/platform/linux/gbm.cmake) | |||
diff --git a/cmake/platform/freebsd/rbpi.cmake b/cmake/platform/freebsd/rbpi.cmake new file mode 100644 index 0000000..f095693 --- /dev/null +++ b/cmake/platform/freebsd/rbpi.cmake | |||
| @@ -0,0 +1 @@ | |||
| include(cmake/platform/linux/rbpi.cmake) | |||
diff --git a/cmake/platform/linux/aml.cmake b/cmake/platform/linux/aml.cmake index 82e242b..a151226 100644 --- a/cmake/platform/linux/aml.cmake +++ b/cmake/platform/linux/aml.cmake | |||
| @@ -1,3 +1,3 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES AML EGL) | 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES AML EGL LibInput Xkbcommon) |
| 2 | set(APP_RENDER_SYSTEM gles) | 2 | set(APP_RENDER_SYSTEM gles) |
| 3 | list(APPEND PLATFORM_DEFINES -DMESA_EGL_NO_X11_HEADERS) | 3 | list(APPEND PLATFORM_DEFINES -DMESA_EGL_NO_X11_HEADERS) |
diff --git a/cmake/platform/linux/gbm.cmake b/cmake/platform/linux/gbm.cmake index d8e73d0..e5b44ad 100644 --- a/cmake/platform/linux/gbm.cmake +++ b/cmake/platform/linux/gbm.cmake | |||
| @@ -1,4 +1,17 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES EGL GBM LibDRM) | 1 | set(PLATFORM_REQUIRED_DEPS EGL GBM LibDRM LibInput Xkbcommon) |
| 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI) | 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI) |
| 3 | set(APP_RENDER_SYSTEM gles) | 3 | |
| 4 | list(APPEND PLATFORM_DEFINES -DMESA_EGL_NO_X11_HEADERS -DPLATFORM_SETTINGS_FILE=gbm.xml) | 4 | set(GBM_RENDER_SYSTEM "" CACHE STRING "Render system to use with GBM: \"gl\" or \"gles\"") |
| 5 | |||
| 6 | if(GBM_RENDER_SYSTEM STREQUAL "gl") | ||
| 7 | list(APPEND PLATFORM_REQUIRED_DEPS OpenGl) | ||
| 8 | set(APP_RENDER_SYSTEM gl) | ||
| 9 | elseif(GBM_RENDER_SYSTEM STREQUAL "gles") | ||
| 10 | list(APPEND PLATFORM_REQUIRED_DEPS OpenGLES) | ||
| 11 | set(APP_RENDER_SYSTEM gles) | ||
| 12 | else() | ||
| 13 | message(SEND_ERROR "You need to decide whether you want to use GL- or GLES-based rendering in combination with the GBM windowing system. Please set GBM_RENDER_SYSTEM to either \"gl\" or \"gles\". For normal desktop systems, you will usually want to use \"gl\".") | ||
| 14 | endif() | ||
| 15 | |||
| 16 | # __GBM__ is needed by eglplatform.h in case it is included before gbm.h | ||
| 17 | list(APPEND PLATFORM_DEFINES -DMESA_EGL_NO_X11_HEADERS -D__GBM__=1 -DPLATFORM_SETTINGS_FILE=gbm.xml) | ||
diff --git a/cmake/platform/linux/mir.cmake b/cmake/platform/linux/mir.cmake deleted file mode 100644 index 0e672a9..0000000 --- a/cmake/platform/linux/mir.cmake +++ /dev/null | |||
| @@ -1,3 +0,0 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS OpenGl EGL Mir LibDRM) | ||
| 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI OpenGLES) | ||
| 3 | set(APP_RENDER_SYSTEM gl) | ||
diff --git a/cmake/platform/linux/rbpi.cmake b/cmake/platform/linux/rbpi.cmake index fa9a1dc..3dde57d 100644 --- a/cmake/platform/linux/rbpi.cmake +++ b/cmake/platform/linux/rbpi.cmake | |||
| @@ -1,3 +1,3 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES EGL MMAL) | 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES EGL MMAL LibInput Xkbcommon) |
| 2 | set(APP_RENDER_SYSTEM gles) | 2 | set(APP_RENDER_SYSTEM gles) |
| 3 | list(APPEND PLATFORM_DEFINES -D_ARMEL -DTARGET_RASPBERRY_PI) | 3 | list(APPEND PLATFORM_DEFINES -D_ARMEL -DTARGET_RASPBERRY_PI) |
diff --git a/cmake/platform/linux/wayland.cmake b/cmake/platform/linux/wayland.cmake index f42dbf5..97cff67 100644 --- a/cmake/platform/linux/wayland.cmake +++ b/cmake/platform/linux/wayland.cmake | |||
| @@ -15,5 +15,7 @@ endif() | |||
| 15 | 15 | ||
| 16 | set(PLATFORM_GLOBAL_TARGET_DEPS generate-wayland-extra-protocols) | 16 | set(PLATFORM_GLOBAL_TARGET_DEPS generate-wayland-extra-protocols) |
| 17 | set(WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}") | 17 | set(WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}") |
| 18 | # WL_EGL_PLATFORM is needed by eglplatform.h in case it is included before wayland-egl.h | ||
| 19 | list(APPEND PLATFORM_DEFINES -DWL_EGL_PLATFORM=1 -DPLATFORM_SETTINGS_FILE=wayland.xml) | ||
| 18 | # for wayland-extra-protocols.hpp | 20 | # for wayland-extra-protocols.hpp |
| 19 | include_directories("${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}") | 21 | include_directories("${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}") |
diff --git a/cmake/platform/linux/x11.cmake b/cmake/platform/linux/x11.cmake index 09cebde..72d9640 100644 --- a/cmake/platform/linux/x11.cmake +++ b/cmake/platform/linux/x11.cmake | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS OpenGl EGL X XRandR LibDRM) | 1 | set(PLATFORM_REQUIRED_DEPS OpenGl EGL X XRandR LibDRM) |
| 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI VDPAU GLX) | 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI VDPAU GLX) |
| 3 | set(APP_RENDER_SYSTEM gl) | 3 | set(APP_RENDER_SYSTEM gl) |
| 4 | list(APPEND PLATFORM_DEFINES -DPLATFORM_SETTINGS_FILE=x11.xml) \ No newline at end of file | ||
diff --git a/cmake/scripts/android/Install.cmake b/cmake/scripts/android/Install.cmake index cc53607..a0fa155 100644 --- a/cmake/scripts/android/Install.cmake +++ b/cmake/scripts/android/Install.cmake | |||
| @@ -151,6 +151,8 @@ foreach(lib IN LISTS required_dyload dyload_optional ITEMS Shairplay) | |||
| 151 | add_bundle_file(${DEPENDS_PATH}/lib/${lib_so} ${libdir} "") | 151 | add_bundle_file(${DEPENDS_PATH}/lib/${lib_so} ${libdir} "") |
| 152 | endif() | 152 | endif() |
| 153 | endforeach() | 153 | endforeach() |
| 154 | add_bundle_file(${ASS_LIBRARY} ${libdir} "") | ||
| 155 | add_bundle_file(${BLURAY_LIBRARY} ${libdir} "") | ||
| 154 | add_bundle_file(${SMBCLIENT_LIBRARY} ${libdir} "") | 156 | add_bundle_file(${SMBCLIENT_LIBRARY} ${libdir} "") |
| 155 | 157 | ||
| 156 | # Main targets from Makefile.in | 158 | # Main targets from Makefile.in |
diff --git a/cmake/scripts/common/AddonHelpers.cmake b/cmake/scripts/common/AddonHelpers.cmake index 5470940..4bb4c98 100644 --- a/cmake/scripts/common/AddonHelpers.cmake +++ b/cmake/scripts/common/AddonHelpers.cmake | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | # Workaround for the fact that cpack's filenames are not customizable. | 1 | # Workaround for the fact that cpack's filenames are not customizable. |
| 2 | # Each add-on is added as a separate component to facilitate zip/tgz packaging. | 2 | # Each add-on is added as a separate component to facilitate zip/tgz packaging. |
| 3 | # The filenames are always of the form basename-component, which is | 3 | # The filenames are always of the form basename-component, which is |
| 4 | # incompatible with the addonid-version scheme we want. This hack renames | 4 | # incompatible with the addonid-version scheme we want. This hack renames |
| 5 | # the files from the file names generated by the 'package' target. | 5 | # the files from the file names generated by the 'package' target. |
| 6 | # Sadly we cannot extend the 'package' target, as it is a builtin target, see | 6 | # Sadly we cannot extend the 'package' target, as it is a builtin target, see |
| 7 | # http://public.kitware.com/Bug/view.php?id=8438 | 7 | # http://public.kitware.com/Bug/view.php?id=8438 |
| 8 | # Thus, we have to add an 'addon-package' target. | 8 | # Thus, we have to add an 'addon-package' target. |
| 9 | get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) | 9 | get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) |
| @@ -32,7 +32,7 @@ macro (addon_version dir prefix) | |||
| 32 | file(READ ${dir}/addon.xml ADDONXML) | 32 | file(READ ${dir}/addon.xml ADDONXML) |
| 33 | endif() | 33 | endif() |
| 34 | 34 | ||
| 35 | string(REGEX MATCH "<addon[^>]*version.?=.?.[0-9\\.]+" VERSION_STRING ${ADDONXML}) | 35 | string(REGEX MATCH "<addon[^>]*version.?=.?.[0-9\\.]+" VERSION_STRING ${ADDONXML}) |
| 36 | string(REGEX REPLACE ".*version=.([0-9\\.]+).*" "\\1" ${prefix}_VERSION ${VERSION_STRING}) | 36 | string(REGEX REPLACE ".*version=.([0-9\\.]+).*" "\\1" ${prefix}_VERSION ${VERSION_STRING}) |
| 37 | message(STATUS ${prefix}_VERSION=${${prefix}_VERSION}) | 37 | message(STATUS ${prefix}_VERSION=${${prefix}_VERSION}) |
| 38 | endmacro() | 38 | endmacro() |
| @@ -62,7 +62,7 @@ macro (build_addon target prefix libs) | |||
| 62 | # include path name already complete | 62 | # include path name already complete |
| 63 | list(APPEND USED_SOURCES ${${prefix}_HEADERS}) | 63 | list(APPEND USED_SOURCES ${${prefix}_HEADERS}) |
| 64 | else() | 64 | else() |
| 65 | # add the complete include path to begin | 65 | # add the complete include path to begin |
| 66 | foreach(hdr_file ${${prefix}_HEADERS}) | 66 | foreach(hdr_file ${${prefix}_HEADERS}) |
| 67 | list(APPEND USED_SOURCES ${PROJECT_SOURCE_DIR}/${hdr_file}) | 67 | list(APPEND USED_SOURCES ${PROJECT_SOURCE_DIR}/${hdr_file}) |
| 68 | endforeach() | 68 | endforeach() |
| @@ -86,19 +86,19 @@ macro (build_addon target prefix libs) | |||
| 86 | # include path name already complete | 86 | # include path name already complete |
| 87 | list(APPEND USED_SOURCES ${${prefix}_SOURCES}) | 87 | list(APPEND USED_SOURCES ${${prefix}_SOURCES}) |
| 88 | else() | 88 | else() |
| 89 | # add the complete include path to begin | 89 | # add the complete include path to begin |
| 90 | foreach(src_file ${${prefix}_SOURCES}) | 90 | foreach(src_file ${${prefix}_SOURCES}) |
| 91 | list(APPEND USED_SOURCES ${PROJECT_SOURCE_DIR}/${src_file}) | 91 | list(APPEND USED_SOURCES ${PROJECT_SOURCE_DIR}/${src_file}) |
| 92 | endforeach() | 92 | endforeach() |
| 93 | endif() | 93 | endif() |
| 94 | 94 | ||
| 95 | # Set defines used in addon.xml.in and read from versions.h to set add-on | 95 | # Set defines used in addon.xml.in and read from versions.h to set add-on |
| 96 | # version parts automatically | 96 | # version parts automatically |
| 97 | file(STRINGS ${KODI_INCLUDE_DIR}/versions.h BIN_ADDON_PARTS) | 97 | file(STRINGS ${KODI_INCLUDE_DIR}/versions.h BIN_ADDON_PARTS) |
| 98 | foreach(loop_var ${BIN_ADDON_PARTS}) | 98 | foreach(loop_var ${BIN_ADDON_PARTS}) |
| 99 | # Only pass strings with "#define ADDON_" from versions.h | 99 | # Only pass strings with "#define ADDON_" from versions.h |
| 100 | if(loop_var MATCHES "#define ADDON_") | 100 | if(loop_var MATCHES "#define ADDON_") |
| 101 | string(REGEX REPLACE "\\\n" " " loop_var ${loop_var}) # remove header line breaks | 101 | string(REGEX REPLACE "\\\n" " " loop_var ${loop_var}) # remove header line breaks |
| 102 | string(REGEX REPLACE "#define " "" loop_var ${loop_var}) # remove the #define name from string | 102 | string(REGEX REPLACE "#define " "" loop_var ${loop_var}) # remove the #define name from string |
| 103 | string(REGEX MATCHALL "[//a-zA-Z0-9._-]+" loop_var "${loop_var}") # separate the define values to a list | 103 | string(REGEX MATCHALL "[//a-zA-Z0-9._-]+" loop_var "${loop_var}") # separate the define values to a list |
| 104 | 104 | ||
| @@ -157,7 +157,8 @@ macro (build_addon target prefix libs) | |||
| 157 | target_link_libraries(${target} ${${libs}}) | 157 | target_link_libraries(${target} ${${libs}}) |
| 158 | set_target_properties(${target} PROPERTIES VERSION ${${prefix}_VERSION} | 158 | set_target_properties(${target} PROPERTIES VERSION ${${prefix}_VERSION} |
| 159 | SOVERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR} | 159 | SOVERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR} |
| 160 | PREFIX "") | 160 | PREFIX "" |
| 161 | POSITION_INDEPENDENT_CODE 1) | ||
| 161 | if(OS STREQUAL "android") | 162 | if(OS STREQUAL "android") |
| 162 | set_target_properties(${target} PROPERTIES PREFIX "lib") | 163 | set_target_properties(${target} PROPERTIES PREFIX "lib") |
| 163 | endif() | 164 | endif() |
| @@ -384,7 +385,7 @@ if(HAVE_LTO) | |||
| 384 | if(USE_LTO) | 385 | if(USE_LTO) |
| 385 | add_options(ALL_LANGUAGES ALL_BUILDS "-flto") | 386 | add_options(ALL_LANGUAGES ALL_BUILDS "-flto") |
| 386 | endif() | 387 | endif() |
| 387 | endif() | 388 | endif() |
| 388 | 389 | ||
| 389 | # set this to try linking dependencies as static as possible | 390 | # set this to try linking dependencies as static as possible |
| 390 | if(ADDONS_PREFER_STATIC_LIBS) | 391 | if(ADDONS_PREFER_STATIC_LIBS) |
diff --git a/cmake/scripts/common/ArchSetup.cmake b/cmake/scripts/common/ArchSetup.cmake index c97929e..4704193 100644 --- a/cmake/scripts/common/ArchSetup.cmake +++ b/cmake/scripts/common/ArchSetup.cmake | |||
| @@ -55,7 +55,7 @@ macro(check_builtin func var) | |||
| 55 | endmacro() | 55 | endmacro() |
| 56 | 56 | ||
| 57 | 57 | ||
| 58 | # -------- Main script --------- | 58 | # -------- Main script --------- |
| 59 | message(STATUS "System type: ${CMAKE_SYSTEM_NAME}") | 59 | message(STATUS "System type: ${CMAKE_SYSTEM_NAME}") |
| 60 | 60 | ||
| 61 | if(WITH_CPU) | 61 | if(WITH_CPU) |
| @@ -157,7 +157,8 @@ if(PLATFORM_DEFINES) | |||
| 157 | add_options(ALL_LANGUAGES ALL_BUILDS ${PLATFORM_DEFINES}) | 157 | add_options(ALL_LANGUAGES ALL_BUILDS ${PLATFORM_DEFINES}) |
| 158 | endif() | 158 | endif() |
| 159 | 159 | ||
| 160 | if(CMAKE_BUILD_TYPE STREQUAL "Debug") | 160 | if(NOT MSVC) |
| 161 | add_options (ALL_LANGUAGES DEBUG "-g" "-D_DEBUG" "-Wall") | 161 | add_options(ALL_LANGUAGES ALL_BUILDS "-Wall") |
| 162 | add_options(ALL_LANGUAGES DEBUG "-g" "-D_DEBUG") | ||
| 162 | endif() | 163 | endif() |
| 163 | 164 | ||
diff --git a/cmake/scripts/common/CheckTargetPlatform.cmake b/cmake/scripts/common/CheckTargetPlatform.cmake index 82ee668..526e4bd 100644 --- a/cmake/scripts/common/CheckTargetPlatform.cmake +++ b/cmake/scripts/common/CheckTargetPlatform.cmake | |||
| @@ -9,9 +9,9 @@ function(check_target_platform dir target_platform build) | |||
| 9 | if(EXISTS ${dir} AND EXISTS ${dir}/platforms.txt) | 9 | if(EXISTS ${dir} AND EXISTS ${dir}/platforms.txt) |
| 10 | # get all the specified platforms | 10 | # get all the specified platforms |
| 11 | file(STRINGS ${dir}/platforms.txt platforms) | 11 | file(STRINGS ${dir}/platforms.txt platforms) |
| 12 | 12 | ||
| 13 | list( LENGTH platforms listlen ) | 13 | list( LENGTH platforms listlen ) |
| 14 | if(${listlen} EQUAL 1) | 14 | if(${listlen} EQUAL 1) |
| 15 | string(REPLACE " " ";" platforms ${platforms}) | 15 | string(REPLACE " " ";" platforms ${platforms}) |
| 16 | endif() | 16 | endif() |
| 17 | 17 | ||
diff --git a/cmake/scripts/common/HandleDepends.cmake b/cmake/scripts/common/HandleDepends.cmake index fb110d6..47f7d9b 100644 --- a/cmake/scripts/common/HandleDepends.cmake +++ b/cmake/scripts/common/HandleDepends.cmake | |||
| @@ -231,9 +231,23 @@ function(add_addon_depends addon searchpath) | |||
| 231 | -DCMAKE_INCLUDE_PATH=${OUTPUT_DIR}/include) | 231 | -DCMAKE_INCLUDE_PATH=${OUTPUT_DIR}/include) |
| 232 | endif() | 232 | endif() |
| 233 | 233 | ||
| 234 | set(DOWNLOAD_DIR ${BUILD_DIR}/download) | ||
| 235 | if(EXISTS ${dir}/${id}.sha256) | ||
| 236 | file(STRINGS ${dir}/${id}.sha256 sha256sum) | ||
| 237 | list(GET sha256sum 0 sha256sum) | ||
| 238 | set(URL_HASH_COMMAND URL_HASH SHA256=${sha256sum}) | ||
| 239 | if(TARBALL_DIR) | ||
| 240 | set(DOWNLOAD_DIR ${TARBALL_DIR}) | ||
| 241 | endif() | ||
| 242 | else() | ||
| 243 | unset(URL_HASH_COMMAND) | ||
| 244 | message(AUTHOR_WARNING "${dir}/${id}.sha256 is missing") | ||
| 245 | endif() | ||
| 246 | |||
| 234 | externalproject_add(${id} | 247 | externalproject_add(${id} |
| 235 | URL ${url} | 248 | URL ${url} |
| 236 | DOWNLOAD_DIR ${BUILD_DIR}/download | 249 | "${URL_HASH_COMMAND}" |
| 250 | DOWNLOAD_DIR ${DOWNLOAD_DIR} | ||
| 237 | CONFIGURE_COMMAND ${CONFIGURE_COMMAND} | 251 | CONFIGURE_COMMAND ${CONFIGURE_COMMAND} |
| 238 | "${EXTERNALPROJECT_SETUP}") | 252 | "${EXTERNALPROJECT_SETUP}") |
| 239 | endif() | 253 | endif() |
diff --git a/cmake/scripts/common/Macros.cmake b/cmake/scripts/common/Macros.cmake index c21069d..0d89dd3 100644 --- a/cmake/scripts/common/Macros.cmake +++ b/cmake/scripts/common/Macros.cmake | |||
| @@ -468,7 +468,7 @@ function(core_optional_dyload_dep) | |||
| 468 | foreach(depspec ${ARGN}) | 468 | foreach(depspec ${ARGN}) |
| 469 | set(_required False) | 469 | set(_required False) |
| 470 | split_dependency_specification(${depspec} dep version) | 470 | split_dependency_specification(${depspec} dep version) |
| 471 | setup_enable_switch() | 471 | setup_enable_switch() |
| 472 | if(${enable_switch} STREQUAL AUTO) | 472 | if(${enable_switch} STREQUAL AUTO) |
| 473 | find_package_with_ver(${dep} ${version}) | 473 | find_package_with_ver(${dep} ${version}) |
| 474 | elseif(${${enable_switch}}) | 474 | elseif(${${enable_switch}}) |
| @@ -662,7 +662,11 @@ function(core_find_git_rev stamp) | |||
| 662 | string(REPLACE "\"" "" DATE ${DATE}) | 662 | string(REPLACE "\"" "" DATE ${DATE}) |
| 663 | string(REPLACE "-" "" DATE ${DATE}) | 663 | string(REPLACE "-" "" DATE ${DATE}) |
| 664 | else() | 664 | else() |
| 665 | string(TIMESTAMP DATE "%Y%m%d" UTC) | 665 | if(EXISTS ${CMAKE_SOURCE_DIR}/BUILDDATE) |
| 666 | file(STRINGS ${CMAKE_SOURCE_DIR}/BUILDDATE DATE LIMIT_INPUT 8) | ||
| 667 | else() | ||
| 668 | string(TIMESTAMP DATE "%Y%m%d" UTC) | ||
| 669 | endif() | ||
| 666 | if(EXISTS ${CMAKE_SOURCE_DIR}/VERSION) | 670 | if(EXISTS ${CMAKE_SOURCE_DIR}/VERSION) |
| 667 | file(STRINGS ${CMAKE_SOURCE_DIR}/VERSION HASH LIMIT_INPUT 16) | 671 | file(STRINGS ${CMAKE_SOURCE_DIR}/VERSION HASH LIMIT_INPUT 16) |
| 668 | else() | 672 | else() |
| @@ -687,6 +691,7 @@ endfunction() | |||
| 687 | # APP_NAME_UC - uppercased app name | 691 | # APP_NAME_UC - uppercased app name |
| 688 | # APP_PACKAGE - Android full package name | 692 | # APP_PACKAGE - Android full package name |
| 689 | # COMPANY_NAME - company name | 693 | # COMPANY_NAME - company name |
| 694 | # APP_WEBSITE - site url | ||
| 690 | # APP_VERSION_MAJOR - the app version major | 695 | # APP_VERSION_MAJOR - the app version major |
| 691 | # APP_VERSION_MINOR - the app version minor | 696 | # APP_VERSION_MINOR - the app version minor |
| 692 | # APP_VERSION_TAG - the app version tag | 697 | # APP_VERSION_TAG - the app version tag |
| @@ -711,7 +716,7 @@ macro(core_find_versions) | |||
| 711 | core_file_read_filtered(version_list ${CORE_SOURCE_DIR}/version.txt) | 716 | core_file_read_filtered(version_list ${CORE_SOURCE_DIR}/version.txt) |
| 712 | core_file_read_filtered(json_version ${CORE_SOURCE_DIR}/xbmc/interfaces/json-rpc/schema/version.txt) | 717 | core_file_read_filtered(json_version ${CORE_SOURCE_DIR}/xbmc/interfaces/json-rpc/schema/version.txt) |
| 713 | string(REGEX REPLACE "([^ ;]*) ([^;]*)" "\\1;\\2" version_list "${version_list};${json_version}") | 718 | string(REGEX REPLACE "([^ ;]*) ([^;]*)" "\\1;\\2" version_list "${version_list};${json_version}") |
| 714 | set(version_props | 719 | set(version_props |
| 715 | ADDON_API | 720 | ADDON_API |
| 716 | APP_NAME | 721 | APP_NAME |
| 717 | APP_PACKAGE | 722 | APP_PACKAGE |
| @@ -761,6 +766,9 @@ macro(core_find_versions) | |||
| 761 | # unset variables not used anywhere else | 766 | # unset variables not used anywhere else |
| 762 | unset(version_list) | 767 | unset(version_list) |
| 763 | unset(APP_APP_NAME) | 768 | unset(APP_APP_NAME) |
| 769 | unset(APP_COMPANY_NAME) | ||
| 770 | unset(APP_APP_PACKAGE) | ||
| 771 | unset(APP_JSONRPC_VERSION) | ||
| 764 | unset(BIN_ADDON_PARTS) | 772 | unset(BIN_ADDON_PARTS) |
| 765 | 773 | ||
| 766 | # bail if we can't parse version.txt | 774 | # bail if we can't parse version.txt |
diff --git a/cmake/scripts/common/ProjectMacros.cmake b/cmake/scripts/common/ProjectMacros.cmake index 641e047..fba5252 100644 --- a/cmake/scripts/common/ProjectMacros.cmake +++ b/cmake/scripts/common/ProjectMacros.cmake | |||
| @@ -46,7 +46,7 @@ function(copy_skin_to_buildtree skin) | |||
| 46 | endfunction() | 46 | endfunction() |
| 47 | 47 | ||
| 48 | # Get GTest tests as CMake tests. | 48 | # Get GTest tests as CMake tests. |
| 49 | # Copied from FindGTest.cmake | 49 | # Copied from FindGTest.cmake |
| 50 | # Thanks to Daniel Blezek <blezek@gmail.com> for the GTEST_ADD_TESTS code | 50 | # Thanks to Daniel Blezek <blezek@gmail.com> for the GTEST_ADD_TESTS code |
| 51 | function(GTEST_ADD_TESTS executable extra_args) | 51 | function(GTEST_ADD_TESTS executable extra_args) |
| 52 | if(NOT ARGN) | 52 | if(NOT ARGN) |
diff --git a/cmake/scripts/freebsd/ArchSetup.cmake b/cmake/scripts/freebsd/ArchSetup.cmake index db11bf8..3d5599c 100644 --- a/cmake/scripts/freebsd/ArchSetup.cmake +++ b/cmake/scripts/freebsd/ArchSetup.cmake | |||
| @@ -10,6 +10,15 @@ else() | |||
| 10 | set(ARCH x86_64-freebsd) | 10 | set(ARCH x86_64-freebsd) |
| 11 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i.86") | 11 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i.86") |
| 12 | set(ARCH x86-freebsd) | 12 | set(ARCH x86-freebsd) |
| 13 | elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv6) | ||
| 14 | set(ARCH armv6-freebsd) | ||
| 15 | set(NEON True) | ||
| 16 | elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7) | ||
| 17 | set(ARCH armv7-freebsd) | ||
| 18 | set(NEON True) | ||
| 19 | elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) | ||
| 20 | set(ARCH aarch64-freebsd) | ||
| 21 | set(NEON True) | ||
| 13 | else() | 22 | else() |
| 14 | message(WARNING "unknown CPU: ${CPU}") | 23 | message(WARNING "unknown CPU: ${CPU}") |
| 15 | endif() | 24 | endif() |
diff --git a/cmake/scripts/freebsd/ExtraTargets.cmake b/cmake/scripts/freebsd/ExtraTargets.cmake index 66383ab..9d5d214 100644 --- a/cmake/scripts/freebsd/ExtraTargets.cmake +++ b/cmake/scripts/freebsd/ExtraTargets.cmake | |||
| @@ -1,29 +1 @@ | |||
| 1 | # xrandr | include(cmake/scripts/linux/ExtraTargets.cmake) | |
| 2 | if(X_FOUND AND XRANDR_FOUND) | ||
| 3 | find_package(X QUIET) | ||
| 4 | find_package(XRandR QUIET) | ||
| 5 | add_executable(${APP_NAME_LC}-xrandr ${CMAKE_SOURCE_DIR}/xbmc-xrandr.c) | ||
| 6 | target_link_libraries(${APP_NAME_LC}-xrandr ${SYSTEM_LDFLAGS} ${X_LIBRARIES} m ${XRANDR_LIBRARIES}) | ||
| 7 | endif() | ||
| 8 | |||
| 9 | # WiiRemote | ||
| 10 | if(ENABLE_EVENTCLIENTS AND BLUETOOTH_FOUND) | ||
| 11 | find_package(CWiid QUIET) | ||
| 12 | if(CWIID_FOUND) | ||
| 13 | add_subdirectory(${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/WiiRemote build/WiiRemote) | ||
| 14 | endif() | ||
| 15 | endif() | ||
| 16 | |||
| 17 | if(CORE_PLATFORM_NAME_LC STREQUAL "wayland") | ||
| 18 | # This cannot go into wayland.cmake since it requires the Wayland dependencies | ||
| 19 | # to already be resolved | ||
| 20 | set(PROTOCOL_XMLS "${WAYLAND_PROTOCOLS_DIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml" | ||
| 21 | "${WAYLAND_PROTOCOLS_DIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml") | ||
| 22 | add_custom_command(OUTPUT "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.hpp" "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.cpp" | ||
| 23 | COMMAND "${WAYLANDPP_SCANNER}" ${PROTOCOL_XMLS} "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.hpp" "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.cpp" | ||
| 24 | DEPENDS "${WAYLANDPP_SCANNER}" ${PROTOCOL_XMLS} | ||
| 25 | COMMENT "Generating wayland-protocols C++ wrappers") | ||
| 26 | |||
| 27 | # Dummy target for dependencies | ||
| 28 | add_custom_target(generate-wayland-extra-protocols DEPENDS wayland-extra-protocols.hpp) | ||
| 29 | endif() | ||
diff --git a/cmake/scripts/freebsd/Macros.cmake b/cmake/scripts/freebsd/Macros.cmake index 2fdbb25..ef5aed3 120000..100644 --- a/cmake/scripts/freebsd/Macros.cmake +++ b/cmake/scripts/freebsd/Macros.cmake | |||
| @@ -1 +1,95 @@ | |||
| 1 | ../linux/Macros.cmake \ No newline at end of file | 1 | function(core_link_library lib wraplib) |
| 2 | set(export -Wl,--unresolved-symbols=ignore-all | ||
| 3 | `cat ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cores/dll-loader/exports/wrapper.def` | ||
| 4 | ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cores/dll-loader/exports/CMakeFiles/wrapper.dir/wrapper.c.o) | ||
| 5 | set(check_arg "") | ||
| 6 | if(TARGET ${lib}) | ||
| 7 | set(target ${lib}) | ||
| 8 | set(link_lib $<TARGET_FILE:${lib}>) | ||
| 9 | set(check_arg ${ARGV2}) | ||
| 10 | set(data_arg ${ARGV3}) | ||
| 11 | else() | ||
| 12 | set(target ${ARGV2}) | ||
| 13 | set(link_lib ${lib}) | ||
| 14 | set(check_arg ${ARGV3}) | ||
| 15 | set(data_arg ${ARGV4}) | ||
| 16 | endif() | ||
| 17 | |||
| 18 | # wrapper has to be adapted in order to support coverage. | ||
| 19 | if(CMAKE_BUILD_TYPE STREQUAL Coverage) | ||
| 20 | set(export "") | ||
| 21 | endif() | ||
| 22 | |||
| 23 | if(check_arg STREQUAL export) | ||
| 24 | set(export ${export} | ||
| 25 | -Wl,--version-script=${ARGV3}) | ||
| 26 | elseif(check_arg STREQUAL extras) | ||
| 27 | foreach(arg ${data_arg}) | ||
| 28 | list(APPEND export ${arg}) | ||
| 29 | endforeach() | ||
| 30 | elseif(check_arg STREQUAL archives) | ||
| 31 | set(extra_libs ${data_arg}) | ||
| 32 | endif() | ||
| 33 | |||
| 34 | string(REGEX REPLACE "[ ]+" ";" _flags "${CMAKE_SHARED_LINKER_FLAGS}") | ||
| 35 | get_filename_component(dir ${wraplib} DIRECTORY) | ||
| 36 | add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} | ||
| 37 | COMMAND ${CMAKE_COMMAND} -E make_directory ${dir} | ||
| 38 | COMMAND ${CMAKE_C_COMPILER} | ||
| 39 | ARGS ${_flags} -Wl,--whole-archive | ||
| 40 | "${link_lib}" ${extra_libs} | ||
| 41 | -Wl,--no-whole-archive -lm | ||
| 42 | -Wl,-soname,${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} | ||
| 43 | -shared -o ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} | ||
| 44 | ${export} | ||
| 45 | DEPENDS ${target} wrapper.def wrapper) | ||
| 46 | |||
| 47 | get_filename_component(libname ${wraplib} NAME_WE) | ||
| 48 | add_custom_target(wrap_${libname} ALL DEPENDS ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX}) | ||
| 49 | set_target_properties(wrap_${libname} PROPERTIES FOLDER lib/wrapped) | ||
| 50 | add_dependencies(${APP_NAME_LC}-libraries wrap_${libname}) | ||
| 51 | |||
| 52 | set(LIBRARY_FILES ${LIBRARY_FILES} ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} CACHE STRING "" FORCE) | ||
| 53 | endfunction() | ||
| 54 | |||
| 55 | function(find_soname lib) | ||
| 56 | cmake_parse_arguments(arg "REQUIRED" "" "" ${ARGN}) | ||
| 57 | |||
| 58 | string(TOLOWER ${lib} liblow) | ||
| 59 | if(${lib}_LDFLAGS) | ||
| 60 | set(link_lib "${${lib}_LDFLAGS}") | ||
| 61 | else() | ||
| 62 | if(IS_ABSOLUTE "${${lib}_LIBRARIES}") | ||
| 63 | set(link_lib "${${lib}_LIBRARIES}") | ||
| 64 | else() | ||
| 65 | set(link_lib -l${${lib}_LIBRARIES}) | ||
| 66 | endif() | ||
| 67 | endif() | ||
| 68 | execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-M ${link_lib} | ||
| 69 | COMMAND grep LOAD.*${liblow} | ||
| 70 | ERROR_QUIET | ||
| 71 | OUTPUT_VARIABLE ${lib}_FILENAME) | ||
| 72 | string(REPLACE "LOAD " "" ${lib}_FILENAME "${${lib}_FILENAME}") | ||
| 73 | string(STRIP "${${lib}_FILENAME}" ${lib}_FILENAME) | ||
| 74 | if(NOT ${lib}_FILENAME) | ||
| 75 | execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-t ${link_lib} | ||
| 76 | ERROR_QUIET | ||
| 77 | OUTPUT_VARIABLE _TMP_FILENAME) | ||
| 78 | string(REGEX MATCH ".*lib${liblow}.so" ${lib}_FILENAME ${_TMP_FILENAME}) | ||
| 79 | endif() | ||
| 80 | if(${lib}_FILENAME) | ||
| 81 | execute_process(COMMAND ${CMAKE_OBJDUMP} -p ${${lib}_FILENAME} | ||
| 82 | COMMAND grep SONAME.*${liblow} | ||
| 83 | ERROR_QUIET | ||
| 84 | OUTPUT_VARIABLE ${lib}_SONAME) | ||
| 85 | string(REPLACE "SONAME " "" ${lib}_SONAME ${${lib}_SONAME}) | ||
| 86 | string(STRIP ${${lib}_SONAME} ${lib}_SONAME) | ||
| 87 | if(VERBOSE) | ||
| 88 | message(STATUS "${lib} soname: ${${lib}_SONAME}") | ||
| 89 | endif() | ||
| 90 | set(${lib}_SONAME ${${lib}_SONAME} PARENT_SCOPE) | ||
| 91 | endif() | ||
| 92 | if(arg_REQUIRED AND NOT ${lib}_SONAME) | ||
| 93 | message(FATAL_ERROR "Could not find dynamically loadable library ${lib}") | ||
| 94 | endif() | ||
| 95 | endfunction() | ||
diff --git a/cmake/scripts/ios/Install.cmake b/cmake/scripts/ios/Install.cmake index 587b24f..7b6c3de 100644 --- a/cmake/scripts/ios/Install.cmake +++ b/cmake/scripts/ios/Install.cmake | |||
| @@ -66,7 +66,8 @@ add_custom_command(TARGET ${APP_NAME_LC} POST_BUILD | |||
| 66 | "WRAPPER_EXTENSION=app" | 66 | "WRAPPER_EXTENSION=app" |
| 67 | "SRCROOT=${CMAKE_BINARY_DIR}" | 67 | "SRCROOT=${CMAKE_BINARY_DIR}" |
| 68 | ${CMAKE_SOURCE_DIR}/tools/darwin/Support/copyframeworks-ios.command | 68 | ${CMAKE_SOURCE_DIR}/tools/darwin/Support/copyframeworks-ios.command |
| 69 | COMMAND "NATIVEPREFIX=${NATIVEPREFIX}" | 69 | COMMAND "XBMC_DEPENDS=${DEPENDS_PATH}" |
| 70 | "NATIVEPREFIX=${NATIVEPREFIX}" | ||
| 70 | "PLATFORM_NAME=${PLATFORM}" | 71 | "PLATFORM_NAME=${PLATFORM}" |
| 71 | "CODESIGNING_FOLDER_PATH=$<TARGET_FILE_DIR:${APP_NAME_LC}>" | 72 | "CODESIGNING_FOLDER_PATH=$<TARGET_FILE_DIR:${APP_NAME_LC}>" |
| 72 | "BUILT_PRODUCTS_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." | 73 | "BUILT_PRODUCTS_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." |
diff --git a/cmake/scripts/linux/ArchSetup.cmake b/cmake/scripts/linux/ArchSetup.cmake index fcee675..624edf6 100644 --- a/cmake/scripts/linux/ArchSetup.cmake +++ b/cmake/scripts/linux/ArchSetup.cmake | |||
| @@ -108,10 +108,6 @@ if(CMAKE_BUILD_TYPE STREQUAL Coverage) | |||
| 108 | set(COVERAGE_EXCLUDES */test/* lib/* */lib/*) | 108 | set(COVERAGE_EXCLUDES */test/* lib/* */lib/*) |
| 109 | endif() | 109 | endif() |
| 110 | 110 | ||
| 111 | if(ENABLE_MIR) | ||
| 112 | set(ENABLE_VDPAU OFF CACHE BOOL "Disabling VDPAU since no Mir support" FORCE) | ||
| 113 | endif() | ||
| 114 | |||
| 115 | if(ENABLE_GBM) | 111 | if(ENABLE_GBM) |
| 116 | set(ENABLE_VDPAU OFF CACHE BOOL "Disabling VDPAU" FORCE) | 112 | set(ENABLE_VDPAU OFF CACHE BOOL "Disabling VDPAU" FORCE) |
| 117 | endif() | 113 | endif() |
diff --git a/cmake/scripts/linux/Install.cmake b/cmake/scripts/linux/Install.cmake index d6767bf..d64b98a 100644 --- a/cmake/scripts/linux/Install.cmake +++ b/cmake/scripts/linux/Install.cmake | |||
| @@ -127,11 +127,17 @@ install(FILES ${CMAKE_SOURCE_DIR}/tools/Linux/packaging/media/icon256x256.png | |||
| 127 | DESTINATION ${datarootdir}/icons/hicolor/256x256/apps | 127 | DESTINATION ${datarootdir}/icons/hicolor/256x256/apps |
| 128 | COMPONENT kodi) | 128 | COMPONENT kodi) |
| 129 | 129 | ||
| 130 | # Install firewalld service definitions | ||
| 131 | install(FILES ${CMAKE_SOURCE_DIR}/tools/Linux/firewalld-services/kodi-eventserver.xml | ||
| 132 | ${CMAKE_SOURCE_DIR}/tools/Linux/firewalld-services/kodi-http.xml | ||
| 133 | ${CMAKE_SOURCE_DIR}/tools/Linux/firewalld-services/kodi-jsonrpc.xml | ||
| 134 | DESTINATION ${prefix}/lib/firewalld/services | ||
| 135 | COMPONENT kodi) | ||
| 136 | |||
| 130 | # Install docs | 137 | # Install docs |
| 131 | install(FILES ${CMAKE_SOURCE_DIR}/copying.txt | 138 | install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.md |
| 132 | ${CMAKE_SOURCE_DIR}/LICENSE.GPL | ||
| 133 | ${CMAKE_SOURCE_DIR}/version.txt | 139 | ${CMAKE_SOURCE_DIR}/version.txt |
| 134 | ${CMAKE_SOURCE_DIR}/docs/README.linux | 140 | ${CMAKE_SOURCE_DIR}/docs/README.Linux.md |
| 135 | DESTINATION ${docdir} | 141 | DESTINATION ${docdir} |
| 136 | COMPONENT kodi) | 142 | COMPONENT kodi) |
| 137 | 143 | ||
| @@ -197,7 +203,7 @@ if(ENABLE_EVENTCLIENTS) | |||
| 197 | file(WRITE ${CMAKE_BINARY_DIR}/packages/deb/defs.py ICON_PATH="usr/share/pixmaps/${APP_NAME_LC}/") | 203 | file(WRITE ${CMAKE_BINARY_DIR}/packages/deb/defs.py ICON_PATH="usr/share/pixmaps/${APP_NAME_LC}/") |
| 198 | install(PROGRAMS ${CMAKE_BINARY_DIR}/packages/deb/defs.py | 204 | install(PROGRAMS ${CMAKE_BINARY_DIR}/packages/deb/defs.py |
| 199 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/__init__.py | 205 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/__init__.py |
| 200 | "${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py" | 206 | ${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/PS3BDRemote/ps3_remote.py |
| 201 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/xbmcclient.py | 207 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/xbmcclient.py |
| 202 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/zeroconf.py | 208 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/zeroconf.py |
| 203 | DESTINATION ${PYTHON_LIB_PATH}/${APP_NAME_LC} | 209 | DESTINATION ${PYTHON_LIB_PATH}/${APP_NAME_LC} |
| @@ -246,7 +252,7 @@ if(ENABLE_EVENTCLIENTS) | |||
| 246 | COMPONENT kodi-eventclients-dev) | 252 | COMPONENT kodi-eventclients-dev) |
| 247 | 253 | ||
| 248 | # Install kodi-eventclients-ps3 | 254 | # Install kodi-eventclients-ps3 |
| 249 | install(PROGRAMS "${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py" | 255 | install(PROGRAMS ${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/PS3BDRemote/ps3_remote.py |
| 250 | RENAME ${APP_NAME_LC}-ps3remote | 256 | RENAME ${APP_NAME_LC}-ps3remote |
| 251 | DESTINATION ${bindir} | 257 | DESTINATION ${bindir} |
| 252 | COMPONENT kodi-eventclients-ps3) | 258 | COMPONENT kodi-eventclients-ps3) |
| @@ -259,7 +265,7 @@ if(ENABLE_EVENTCLIENTS) | |||
| 259 | endif() | 265 | endif() |
| 260 | 266 | ||
| 261 | # Install kodi-eventclients-xbmc-send | 267 | # Install kodi-eventclients-xbmc-send |
| 262 | install(PROGRAMS "${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/Kodi Send/kodi-send.py" | 268 | install(PROGRAMS ${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/KodiSend/kodi-send.py |
| 263 | RENAME ${APP_NAME_LC}-send | 269 | RENAME ${APP_NAME_LC}-send |
| 264 | DESTINATION ${bindir} | 270 | DESTINATION ${bindir} |
| 265 | COMPONENT kodi-eventclients-xbmc-send) | 271 | COMPONENT kodi-eventclients-xbmc-send) |
diff --git a/cmake/scripts/linux/Macros.cmake b/cmake/scripts/linux/Macros.cmake index 9e8ebe6..37243a7 100644 --- a/cmake/scripts/linux/Macros.cmake +++ b/cmake/scripts/linux/Macros.cmake | |||
| @@ -65,7 +65,7 @@ function(find_soname lib) | |||
| 65 | set(link_lib -l${${lib}_LIBRARIES}) | 65 | set(link_lib -l${${lib}_LIBRARIES}) |
| 66 | endif() | 66 | endif() |
| 67 | endif() | 67 | endif() |
| 68 | execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-M ${link_lib} | 68 | execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-M ${link_lib} |
| 69 | COMMAND grep LOAD.*${liblow} | 69 | COMMAND grep LOAD.*${liblow} |
| 70 | ERROR_QUIET | 70 | ERROR_QUIET |
| 71 | OUTPUT_VARIABLE ${lib}_FILENAME) | 71 | OUTPUT_VARIABLE ${lib}_FILENAME) |
diff --git a/cmake/scripts/osx/ArchSetup.cmake b/cmake/scripts/osx/ArchSetup.cmake index d0c5506..9ba0596 100644 --- a/cmake/scripts/osx/ArchSetup.cmake +++ b/cmake/scripts/osx/ArchSetup.cmake | |||
| @@ -36,5 +36,5 @@ list(APPEND DEPLIBS "-framework DiskArbitration" "-framework IOKit" | |||
| 36 | "-framework CoreGraphics" "-framework CoreMedia" | 36 | "-framework CoreGraphics" "-framework CoreMedia" |
| 37 | "-framework VideoToolbox") | 37 | "-framework VideoToolbox") |
| 38 | 38 | ||
| 39 | set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8) | 39 | set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9) |
| 40 | set(CMAKE_XCODE_ATTRIBUTE_CLANG_LINK_OBJC_RUNTIME OFF) | 40 | set(CMAKE_XCODE_ATTRIBUTE_CLANG_LINK_OBJC_RUNTIME OFF) |
diff --git a/cmake/scripts/windows/ArchSetup.cmake b/cmake/scripts/windows/ArchSetup.cmake index b3963a6..b94842f 100644 --- a/cmake/scripts/windows/ArchSetup.cmake +++ b/cmake/scripts/windows/ArchSetup.cmake | |||
| @@ -87,9 +87,9 @@ foreach(_lib ${_nodefaultlibs_DEBUG}) | |||
| 87 | endforeach() | 87 | endforeach() |
| 88 | 88 | ||
| 89 | # DELAYLOAD option | 89 | # DELAYLOAD option |
| 90 | set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll ssh.dll sqlite3.dll | 90 | set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll sqlite3.dll |
| 91 | avcodec-57.dll avfilter-6.dll avformat-57.dll avutil-55.dll | 91 | avcodec-58.dll avfilter-7.dll avformat-58.dll avutil-56.dll |
| 92 | postproc-54.dll swresample-2.dll swscale-4.dll d3dcompiler_47.dll) | 92 | postproc-55.dll swresample-3.dll swscale-5.dll d3dcompiler_47.dll) |
| 93 | foreach(_lib ${_delayloadlibs}) | 93 | foreach(_lib ${_delayloadlibs}) |
| 94 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") | 94 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") |
| 95 | endforeach() | 95 | endforeach() |
diff --git a/cmake/scripts/windowsstore/ArchSetup.cmake b/cmake/scripts/windowsstore/ArchSetup.cmake index a663bb9..e3e46e7 100644 --- a/cmake/scripts/windowsstore/ArchSetup.cmake +++ b/cmake/scripts/windowsstore/ArchSetup.cmake | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # Minimum SDK version we support | 1 | # Minimum SDK version we support |
| 2 | set(VS_MINIMUM_SDK_VERSION 10.0.14393.0) | 2 | set(VS_MINIMUM_SDK_VERSION 10.0.16299.0) |
| 3 | 3 | ||
| 4 | if(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION VERSION_LESS VS_MINIMUM_SDK_VERSION) | 4 | if(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION VERSION_LESS VS_MINIMUM_SDK_VERSION) |
| 5 | message(FATAL_ERROR "Detected Windows SDK version is ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}.\n" | 5 | message(FATAL_ERROR "Detected Windows SDK version is ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}.\n" |
| @@ -25,7 +25,7 @@ elseif(_ARM_) | |||
| 25 | else() | 25 | else() |
| 26 | message(FATAL_ERROR "Unsupported architecture") | 26 | message(FATAL_ERROR "Unsupported architecture") |
| 27 | endif() | 27 | endif() |
| 28 | 28 | ||
| 29 | unset(_X86_) | 29 | unset(_X86_) |
| 30 | unset(_AMD64_) | 30 | unset(_AMD64_) |
| 31 | unset(_ARM_) | 31 | unset(_ARM_) |
| @@ -51,7 +51,7 @@ set(MINGW_LIBS_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/mingwlibs/win10-$ | |||
| 51 | # mingw libs | 51 | # mingw libs |
| 52 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${MINGW_LIBS_DIR}) | 52 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${MINGW_LIBS_DIR}) |
| 53 | list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) | 53 | list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) |
| 54 | # dependencies | 54 | # dependencies |
| 55 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${DEPENDENCIES_DIR}) | 55 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${DEPENDENCIES_DIR}) |
| 56 | # for python | 56 | # for python |
| 57 | set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) | 57 | set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) |
| @@ -63,6 +63,7 @@ add_options(CXX ALL_BUILDS "/wd\"4996\"") | |||
| 63 | add_options(CXX ALL_BUILDS "/wd\"4146\"") | 63 | add_options(CXX ALL_BUILDS "/wd\"4146\"") |
| 64 | add_options(CXX ALL_BUILDS "/wd\"4251\"") | 64 | add_options(CXX ALL_BUILDS "/wd\"4251\"") |
| 65 | add_options(CXX ALL_BUILDS "/wd\"4668\"") | 65 | add_options(CXX ALL_BUILDS "/wd\"4668\"") |
| 66 | add_options(CXX ALL_BUILDS "/wd\"5033\"") | ||
| 66 | set(ARCH_DEFINES -D_WINDOWS -DTARGET_WINDOWS -DTARGET_WINDOWS_STORE -DXBMC_EXPORT -DMS_UWP) | 67 | set(ARCH_DEFINES -D_WINDOWS -DTARGET_WINDOWS -DTARGET_WINDOWS_STORE -DXBMC_EXPORT -DMS_UWP) |
| 67 | if(NOT SDK_TARGET_ARCH STREQUAL arm) | 68 | if(NOT SDK_TARGET_ARCH STREQUAL arm) |
| 68 | list(APPEND ARCH_DEFINES -D__SSE__ -D__SSE2__) | 69 | list(APPEND ARCH_DEFINES -D__SSE__ -D__SSE2__) |
| @@ -78,7 +79,7 @@ set(SYSTEM_DEFINES -DWIN32_LEAN_AND_MEAN -DNOMINMAX -DHAS_DX -D__STDC_CONSTANT_M | |||
| 78 | list(APPEND SYSTEM_DEFINES -DHAS_WIN10_NETWORK) | 79 | list(APPEND SYSTEM_DEFINES -DHAS_WIN10_NETWORK) |
| 79 | 80 | ||
| 80 | # The /MP option enables /FS by default. | 81 | # The /MP option enables /FS by default. |
| 81 | set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS} /ZW /EHsc /await") | 82 | set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS} /EHsc /await /std:c++latest") |
| 82 | # Google Test needs to use shared version of runtime libraries | 83 | # Google Test needs to use shared version of runtime libraries |
| 83 | set(gtest_force_shared_crt ON CACHE STRING "" FORCE) | 84 | set(gtest_force_shared_crt ON CACHE STRING "" FORCE) |
| 84 | 85 | ||
| @@ -90,20 +91,10 @@ set(gtest_force_shared_crt ON CACHE STRING "" FORCE) | |||
| 90 | link_directories(${MINGW_LIBS_DIR}/lib | 91 | link_directories(${MINGW_LIBS_DIR}/lib |
| 91 | ${DEPENDENCIES_DIR}/lib) | 92 | ${DEPENDENCIES_DIR}/lib) |
| 92 | 93 | ||
| 93 | list(APPEND DEPLIBS d3d11.lib WS2_32.lib dxguid.lib dloadhelper.lib) | 94 | list(APPEND DEPLIBS d3d11.lib WS2_32.lib dxguid.lib dloadhelper.lib WindowsApp.lib) |
| 94 | if(ARCH STREQUAL win32 OR ARCH STREQUAL x64) | ||
| 95 | list(APPEND DEPLIBS DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib PowrProf.lib setupapi.lib dwmapi.lib) | ||
| 96 | endif() | ||
| 97 | # NODEFAULTLIB option | ||
| 98 | 95 | ||
| 99 | set(_nodefaultlibs_RELEASE libcmt) | 96 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WINMD:NO") |
| 100 | set(_nodefaultlibs_DEBUG libcmt msvcrt) | 97 | set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt /DEBUG:FASTLINK /OPT:NOREF /OPT:NOICF") |
| 101 | foreach(_lib ${_nodefaultlibs_RELEASE}) | ||
| 102 | set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:\"${_lib}\"") | ||
| 103 | endforeach() | ||
| 104 | foreach(_lib ${_nodefaultlibs_DEBUG}) | ||
| 105 | set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:\"${_lib}\"") | ||
| 106 | endforeach() | ||
| 107 | 98 | ||
| 108 | # Make the Release version create a PDB | 99 | # Make the Release version create a PDB |
| 109 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") | 100 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") |
| @@ -117,13 +108,6 @@ set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4264") | |||
| 117 | 108 | ||
| 118 | if(CMAKE_GENERATOR MATCHES "Visual Studio") | 109 | if(CMAKE_GENERATOR MATCHES "Visual Studio") |
| 119 | set_property(GLOBAL PROPERTY USE_FOLDERS ON) | 110 | set_property(GLOBAL PROPERTY USE_FOLDERS ON) |
| 120 | |||
| 121 | # Generate a batch file that opens Visual Studio with the necessary env variables set. | ||
| 122 | file(WRITE ${CMAKE_BINARY_DIR}/kodi-sln.bat | ||
| 123 | "@echo off\n" | ||
| 124 | "set KODI_HOME=%~dp0\n" | ||
| 125 | "set PATH=%~dp0\\system\n" | ||
| 126 | "start %~dp0\\${PROJECT_NAME}.sln") | ||
| 127 | endif() | 111 | endif() |
| 128 | 112 | ||
| 129 | # -------- Build options --------- | 113 | # -------- Build options --------- |
diff --git a/cmake/scripts/windowsstore/Macros.cmake b/cmake/scripts/windowsstore/Macros.cmake index 7240138..de89c62 100644 --- a/cmake/scripts/windowsstore/Macros.cmake +++ b/cmake/scripts/windowsstore/Macros.cmake | |||
| @@ -70,11 +70,11 @@ macro(winstore_set_assets target) | |||
| 70 | set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_CONTENT 1) | 70 | set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_CONTENT 1) |
| 71 | set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_LOCATION "media") | 71 | set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_LOCATION "media") |
| 72 | source_group("media" FILES ${ASSET_FILES}) | 72 | source_group("media" FILES ${ASSET_FILES}) |
| 73 | set(RESOURCES ${RESOURCES} ${ASSET_FILES} | 73 | set(RESOURCES ${RESOURCES} ${ASSET_FILES} |
| 74 | "${CMAKE_SOURCE_DIR}/tools/windows/packaging/uwp/kodi_temp_key.pfx") | 74 | "${CMAKE_SOURCE_DIR}/tools/windows/packaging/uwp/kodi_temp_key.pfx") |
| 75 | set(LICENSE_FILES | 75 | |
| 76 | ${CMAKE_SOURCE_DIR}/LICENSE.GPL | 76 | set(LICENSE_FILES |
| 77 | ${CMAKE_SOURCE_DIR}/copying.txt | 77 | ${CMAKE_SOURCE_DIR}/LICENSE.md |
| 78 | ${CMAKE_SOURCE_DIR}/privacy-policy.txt) | 78 | ${CMAKE_SOURCE_DIR}/privacy-policy.txt) |
| 79 | if(EXISTS "${CMAKE_SOURCE_DIR}/known_issues.txt") | 79 | if(EXISTS "${CMAKE_SOURCE_DIR}/known_issues.txt") |
| 80 | list(APPEND LICENSE_FILES ${CMAKE_SOURCE_DIR}/known_issues.txt) | 80 | list(APPEND LICENSE_FILES ${CMAKE_SOURCE_DIR}/known_issues.txt) |
| @@ -108,7 +108,7 @@ macro(add_deployment_content_group path link match exclude) | |||
| 108 | " <Link>${_link}%(RecursiveDir)%(FileName)%(Extension)</Link>\n" | 108 | " <Link>${_link}%(RecursiveDir)%(FileName)%(Extension)</Link>\n" |
| 109 | " <DeploymentContent>true</DeploymentContent>\n" | 109 | " <DeploymentContent>true</DeploymentContent>\n" |
| 110 | " </EmbedResources>\n") | 110 | " </EmbedResources>\n") |
| 111 | endmacro() | 111 | endmacro() |
| 112 | 112 | ||
| 113 | macro(winstore_append_props target) | 113 | macro(winstore_append_props target) |
| 114 | # exclude debug dlls from packaging | 114 | # exclude debug dlls from packaging |
| @@ -126,7 +126,7 @@ macro(winstore_append_props target) | |||
| 126 | " </None>\n" | 126 | " </None>\n" |
| 127 | " </ItemGroup>\n") | 127 | " </ItemGroup>\n") |
| 128 | endforeach(_dll DEBUG_DLLS) | 128 | endforeach(_dll DEBUG_DLLS) |
| 129 | 129 | ||
| 130 | add_deployment_content_group($(BuildRootPath)/dlls "" *.dll "${DEBUG_DLLS_EXCLUDE}") | 130 | add_deployment_content_group($(BuildRootPath)/dlls "" *.dll "${DEBUG_DLLS_EXCLUDE}") |
| 131 | add_deployment_content_group($(BuildRootPath)/system system **/* "$(BuildRootPath)/**/shaders/**") | 131 | add_deployment_content_group($(BuildRootPath)/system system **/* "$(BuildRootPath)/**/shaders/**") |
| 132 | add_deployment_content_group($(BuildRootPath)/system/shaders system/shaders **/*.fx "") | 132 | add_deployment_content_group($(BuildRootPath)/system/shaders system/shaders **/*.fx "") |
| @@ -179,4 +179,4 @@ macro(winstore_add_target_properties target) | |||
| 179 | winstore_set_assets(${target}) | 179 | winstore_set_assets(${target}) |
| 180 | winstore_generate_manifest(${target}) | 180 | winstore_generate_manifest(${target}) |
| 181 | winstore_append_props(${target}) | 181 | winstore_append_props(${target}) |
| 182 | endmacro() \ No newline at end of file | 182 | endmacro() |
diff --git a/cmake/treedata/android/subdirs.txt b/cmake/treedata/android/subdirs.txt index 7f7fef5..036fd24 100644 --- a/cmake/treedata/android/subdirs.txt +++ b/cmake/treedata/android/subdirs.txt | |||
| @@ -6,10 +6,10 @@ xbmc/platform/posix platform/posix | |||
| 6 | xbmc/platform/posix/filesystem platform/posix/filesystem | 6 | xbmc/platform/posix/filesystem platform/posix/filesystem |
| 7 | xbmc/platform/posix/utils platform/posix/utils | 7 | xbmc/platform/posix/utils platform/posix/utils |
| 8 | xbmc/platform/linux platform/linux | 8 | xbmc/platform/linux platform/linux |
| 9 | xbmc/platform/linux/network platform/linux/network | ||
| 10 | xbmc/platform/linux/peripherals platform/linux/peripherals | 9 | xbmc/platform/linux/peripherals platform/linux/peripherals |
| 11 | xbmc/platform/android/activity platform/android/activity | 10 | xbmc/platform/android/activity platform/android/activity |
| 12 | xbmc/platform/android/bionic_supplement platform/android/bionicsupplement | 11 | xbmc/platform/android/bionic_supplement platform/android/bionicsupplement |
| 12 | xbmc/platform/android/drm platform/android/drm | ||
| 13 | xbmc/platform/android/filesystem platform/android/filesystem | 13 | xbmc/platform/android/filesystem platform/android/filesystem |
| 14 | xbmc/platform/android/network platform/android/network | 14 | xbmc/platform/android/network platform/android/network |
| 15 | xbmc/platform/android/peripherals platform/android/peripherals | 15 | xbmc/platform/android/peripherals platform/android/peripherals |
diff --git a/cmake/treedata/common/drm.txt b/cmake/treedata/common/drm.txt new file mode 100644 index 0000000..fbcc906 --- /dev/null +++ b/cmake/treedata/common/drm.txt | |||
| @@ -0,0 +1 @@ | |||
| xbmc/drm drm | |||
diff --git a/cmake/treedata/common/games.txt b/cmake/treedata/common/games.txt index 7b63f6a..7ae2d35 100644 --- a/cmake/treedata/common/games.txt +++ b/cmake/treedata/common/games.txt | |||
| @@ -1,8 +1,7 @@ | |||
| 1 | xbmc/games games | 1 | xbmc/games games |
| 2 | xbmc/games/addons games/addons | 2 | xbmc/games/addons games/addons |
| 3 | xbmc/games/addons/input games/addons/input | 3 | xbmc/games/addons/input games/addons/input |
| 4 | xbmc/games/addons/playback games/addons/playback | 4 | xbmc/games/addons/streams games/addons/streams |
| 5 | xbmc/games/addons/savestates games/addons/savestates | ||
| 6 | xbmc/games/controllers games/controllers | 5 | xbmc/games/controllers games/controllers |
| 7 | xbmc/games/controllers/dialogs games/controllers/dialogs | 6 | xbmc/games/controllers/dialogs games/controllers/dialogs |
| 8 | xbmc/games/controllers/guicontrols games/controllers/guicontrols | 7 | xbmc/games/controllers/guicontrols games/controllers/guicontrols |
diff --git a/cmake/treedata/common/retroplayer.txt b/cmake/treedata/common/retroplayer.txt index 0239801..cf9c9c5 100644 --- a/cmake/treedata/common/retroplayer.txt +++ b/cmake/treedata/common/retroplayer.txt | |||
| @@ -1,8 +1,15 @@ | |||
| 1 | xbmc/cores/RetroPlayer cores/RetroPlayer | 1 | xbmc/cores/RetroPlayer cores/RetroPlayer |
| 2 | xbmc/cores/RetroPlayer/audio cores/RetroPlayer/audio | ||
| 3 | xbmc/cores/RetroPlayer/buffers cores/RetroPlayer/buffers | ||
| 4 | xbmc/cores/RetroPlayer/buffers/video cores/RetroPlayer/buffers/video | ||
| 2 | xbmc/cores/RetroPlayer/guibridge cores/RetroPlayer/guibridge | 5 | xbmc/cores/RetroPlayer/guibridge cores/RetroPlayer/guibridge |
| 3 | xbmc/cores/RetroPlayer/guicontrols cores/RetroPlayer/guicontrols | 6 | xbmc/cores/RetroPlayer/guicontrols cores/RetroPlayer/guicontrols |
| 4 | xbmc/cores/RetroPlayer/guiwindows cores/RetroPlayer/guiwindows | 7 | xbmc/cores/RetroPlayer/guiwindows cores/RetroPlayer/guiwindows |
| 8 | xbmc/cores/RetroPlayer/playback cores/RetroPlayer/playback | ||
| 5 | xbmc/cores/RetroPlayer/process cores/RetroPlayer/process | 9 | xbmc/cores/RetroPlayer/process cores/RetroPlayer/process |
| 6 | xbmc/cores/RetroPlayer/rendering cores/RetroPlayer/rendering | 10 | xbmc/cores/RetroPlayer/rendering cores/RetroPlayer/rendering |
| 7 | xbmc/cores/RetroPlayer/rendering/VideoRenderers cores/RetroPlayer/rendering/VideoRenderers | 11 | xbmc/cores/RetroPlayer/rendering/VideoRenderers cores/RetroPlayer/rendering/VideoRenderers |
| 8 | xbmc/cores/RetroPlayer/rendering/VideoShaders cores/RetroPlayer/rendering/VideoShaders | 12 | xbmc/cores/RetroPlayer/rendering/VideoShaders cores/RetroPlayer/rendering/VideoShaders |
| 13 | xbmc/cores/RetroPlayer/savestates cores/RetroPlayer/savestates | ||
| 14 | xbmc/cores/RetroPlayer/streams cores/RetroPlayer/streams | ||
| 15 | xbmc/cores/RetroPlayer/streams/memory cores/RetroPlayer/streams/memory | ||
diff --git a/cmake/treedata/freebsd/subdirs.txt b/cmake/treedata/freebsd/subdirs.txt index fe0725c..e4edf23 100644 --- a/cmake/treedata/freebsd/subdirs.txt +++ b/cmake/treedata/freebsd/subdirs.txt | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | xbmc/platform/posix platform/posix | 1 | xbmc/platform/posix platform/posix |
| 2 | xbmc/platform/posix/filesystem platform/posix/filesystem | 2 | xbmc/platform/posix/filesystem platform/posix/filesystem |
| 3 | xbmc/platform/posix/utils platform/posix/utils | 3 | xbmc/platform/posix/utils platform/posix/utils |
| 4 | xbmc/platform/freebsd platform/freebsd | ||
| 4 | xbmc/platform/linux platform/linux | 5 | xbmc/platform/linux platform/linux |
| 5 | xbmc/platform/linux/input platform/linux/input | 6 | xbmc/platform/linux/input platform/linux/input |
| 6 | xbmc/platform/linux/network platform/linux/network | 7 | xbmc/platform/linux/network platform/linux/network |
| @@ -9,3 +10,6 @@ xbmc/platform/linux/powermanagement platform/linux/powermanagement | |||
| 9 | xbmc/platform/linux/storage platform/linux/storage | 10 | xbmc/platform/linux/storage platform/linux/storage |
| 10 | xbmc/input/touch input/touch | 11 | xbmc/input/touch input/touch |
| 11 | xbmc/input/touch/generic input/touch/generic | 12 | xbmc/input/touch/generic input/touch/generic |
| 13 | xbmc/cores/RetroPlayer/process/rbpi cores/RetroPlayer/process/rbpi | ||
| 14 | xbmc/cores/VideoPlayer/Process/rbpi cores/VideoPlayer/Process/rbpi | ||
| 15 | xbmc/windowing/linux windowing/linux | ||
diff --git a/cmake/treedata/optional/common/mir.txt b/cmake/treedata/optional/common/mir.txt deleted file mode 100644 index d681e8b..0000000 --- a/cmake/treedata/optional/common/mir.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | xbmc/windowing/mir windowing/mir # MIR | ||
diff --git a/version.txt b/version.txt index a9598ee..e9ee792 100644 --- a/version.txt +++ b/version.txt | |||
| @@ -3,9 +3,9 @@ COMPANY_NAME XBMC Foundation | |||
| 3 | WEBSITE http://kodi.tv | 3 | WEBSITE http://kodi.tv |
| 4 | VERSION_MAJOR 18 | 4 | VERSION_MAJOR 18 |
| 5 | VERSION_MINOR 0 | 5 | VERSION_MINOR 0 |
| 6 | VERSION_TAG ALPHA2 | 6 | VERSION_TAG BETA2 |
| 7 | VERSION_CODE 17.99.702 | 7 | VERSION_CODE 17.99.802 |
| 8 | ADDON_API 17.9.702 | 8 | ADDON_API 17.9.802 |
| 9 | APP_PACKAGE org.xbmc.kodi | 9 | APP_PACKAGE org.xbmc.kodi |
| 10 | PACKAGE_IDENTITY XBMCFoundation.Kodi | 10 | PACKAGE_IDENTITY XBMCFoundation.Kodi |
| 11 | PACKAGE_PUBLISHER C62BD90A-CDD8-477F-96C3-B25992247B97 | 11 | PACKAGE_PUBLISHER C62BD90A-CDD8-477F-96C3-B25992247B97 |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/AddonBase.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/AddonBase.h index 7abd8e1..42ce2e7 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/AddonBase.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/AddonBase.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include <stdarg.h> /* va_list, va_start, va_arg, va_end */ | 11 | #include <stdarg.h> /* va_list, va_start, va_arg, va_end */ |
| 23 | #include <cstdlib> | 12 | #include <cstdlib> |
| 24 | #include <cstring> | 13 | #include <cstring> |
| @@ -263,11 +252,11 @@ public: | |||
| 263 | explicit CSettingValue(const void *settingValue) : m_settingValue(settingValue) {} | 252 | explicit CSettingValue(const void *settingValue) : m_settingValue(settingValue) {} |
| 264 | 253 | ||
| 265 | bool empty() const { return (m_settingValue == nullptr) ? true : false; } | 254 | bool empty() const { return (m_settingValue == nullptr) ? true : false; } |
| 266 | std::string GetString() const { return (char*)m_settingValue; } | 255 | std::string GetString() const { return (const char*)m_settingValue; } |
| 267 | int GetInt() const { return *(int*)m_settingValue; } | 256 | int GetInt() const { return *(const int*)m_settingValue; } |
| 268 | unsigned int GetUInt() const { return *(unsigned int*)m_settingValue; } | 257 | unsigned int GetUInt() const { return *(const unsigned int*)m_settingValue; } |
| 269 | bool GetBoolean() const { return *(bool*)m_settingValue; } | 258 | bool GetBoolean() const { return *(const bool*)m_settingValue; } |
| 270 | float GetFloat() const { return *(float*)m_settingValue; } | 259 | float GetFloat() const { return *(const float*)m_settingValue; } |
| 271 | 260 | ||
| 272 | private: | 261 | private: |
| 273 | const void *m_settingValue; | 262 | const void *m_settingValue; |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/Filesystem.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/Filesystem.h index b089da3..3df6cec 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/Filesystem.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/Filesystem.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "AddonBase.h" | 11 | #include "AddonBase.h" |
| 23 | 12 | ||
| 24 | #include <map> | 13 | #include <map> |
| @@ -40,7 +29,7 @@ | |||
| 40 | #define _SSIZE_T_DEFINED | 29 | #define _SSIZE_T_DEFINED |
| 41 | #endif // !_SSIZE_T_DEFINED | 30 | #endif // !_SSIZE_T_DEFINED |
| 42 | #endif | 31 | #endif |
| 43 | 32 | ||
| 44 | #ifndef S_ISDIR | 33 | #ifndef S_ISDIR |
| 45 | #define S_ISDIR(mode) ((((mode)) & 0170000) == (0040000)) | 34 | #define S_ISDIR(mode) ((((mode)) & 0170000) == (0040000)) |
| 46 | #endif | 35 | #endif |
| @@ -895,7 +884,7 @@ namespace vfs | |||
| 895 | return strReturn; | 884 | return strReturn; |
| 896 | } | 885 | } |
| 897 | //---------------------------------------------------------------------------- | 886 | //---------------------------------------------------------------------------- |
| 898 | 887 | ||
| 899 | //============================================================================ | 888 | //============================================================================ |
| 900 | /// | 889 | /// |
| 901 | /// @ingroup cpp_kodi_vfs | 890 | /// @ingroup cpp_kodi_vfs |
| @@ -1231,7 +1220,7 @@ namespace vfs | |||
| 1231 | /// @ingroup cpp_kodi_vfs_CFile | 1220 | /// @ingroup cpp_kodi_vfs_CFile |
| 1232 | /// @brief Construct a new, unopened file | 1221 | /// @brief Construct a new, unopened file |
| 1233 | /// | 1222 | /// |
| 1234 | CFile() : m_file(nullptr) { } | 1223 | CFile() = default; |
| 1235 | //-------------------------------------------------------------------------- | 1224 | //-------------------------------------------------------------------------- |
| 1236 | 1225 | ||
| 1237 | //========================================================================== | 1226 | //========================================================================== |
| @@ -1637,7 +1626,7 @@ namespace vfs | |||
| 1637 | //-------------------------------------------------------------------------- | 1626 | //-------------------------------------------------------------------------- |
| 1638 | 1627 | ||
| 1639 | private: | 1628 | private: |
| 1640 | void* m_file; | 1629 | void* m_file = nullptr; |
| 1641 | }; | 1630 | }; |
| 1642 | //@} | 1631 | //@} |
| 1643 | //---------------------------------------------------------------------------- | 1632 | //---------------------------------------------------------------------------- |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/General.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/General.h index 22d31f1..999ff6a 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/General.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/General.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "AddonBase.h" | 11 | #include "AddonBase.h" |
| 23 | 12 | ||
| 24 | /* | 13 | /* |
| @@ -188,8 +177,8 @@ namespace kodi { | |||
| 188 | /// @return The localized message, or default if the add-on | 177 | /// @return The localized message, or default if the add-on |
| 189 | /// helper fails to return a message | 178 | /// helper fails to return a message |
| 190 | /// | 179 | /// |
| 191 | /// @note Label id's \b 30000 to \b 30999 and \b 32000 to \b 32999 are related | 180 | /// @note Label id's \b 30000 to \b 30999 and \b 32000 to \b 32999 are related |
| 192 | /// to the add-on's own included strings from | 181 | /// to the add-on's own included strings from |
| 193 | /// <b>./resources/language/resource.language.??_??/strings.po</b> | 182 | /// <b>./resources/language/resource.language.??_??/strings.po</b> |
| 194 | /// All other strings are from Kodi core language files. | 183 | /// All other strings are from Kodi core language files. |
| 195 | /// | 184 | /// |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/Network.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/Network.h index f27b710..73390c4 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/Network.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/Network.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "AddonBase.h" | 11 | #include "AddonBase.h" |
| 23 | 12 | ||
| 24 | /* | 13 | /* |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/StreamCodec.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/StreamCodec.h index 85de3ec..729cdc0 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/StreamCodec.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/StreamCodec.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2017 Team Kodi | 2 | * Copyright (C) 2017-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | enum STREAMCODEC_PROFILE | 11 | enum STREAMCODEC_PROFILE |
| 23 | { | 12 | { |
| 24 | CodecProfileUnknown = 0, | 13 | CodecProfileUnknown = 0, |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/StreamCrypto.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/StreamCrypto.h index f802f3b..dcb7896 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/StreamCrypto.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/StreamCrypto.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2017 Team Kodi | 2 | * Copyright (C) 2017-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | typedef struct CRYPTO_INFO | 11 | typedef struct CRYPTO_INFO |
| 23 | { | 12 | { |
| 24 | enum CRYPTO_KEY_SYSTEM : uint8_t | 13 | enum CRYPTO_KEY_SYSTEM : uint8_t |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioDecoder.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioDecoder.h index ca253ff..7407830 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioDecoder.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioDecoder.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../AddonBase.h" | 11 | #include "../AddonBase.h" |
| 23 | #ifdef BUILD_KODI_ADDON | 12 | #ifdef BUILD_KODI_ADDON |
| 24 | #include "../AEChannelData.h" | 13 | #include "../AEChannelData.h" |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioEncoder.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioEncoder.h index 7d2464d..b98884e 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioEncoder.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioEncoder.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../AddonBase.h" | 11 | #include "../AddonBase.h" |
| 23 | 12 | ||
| 24 | namespace kodi { namespace addon { class CInstanceAudioEncoder; }} | 13 | namespace kodi { namespace addon { class CInstanceAudioEncoder; }} |
| @@ -136,10 +125,10 @@ namespace addon | |||
| 136 | //========================================================================== | 125 | //========================================================================== |
| 137 | /// \brief Write block of data | 126 | /// \brief Write block of data |
| 138 | /// | 127 | /// |
| 139 | /// \param[in] data Pointer to the array of elements to be | 128 | /// \param[in] data Pointer to the array of elements to be |
| 140 | /// written | 129 | /// written |
| 141 | /// \param[in] length Size in bytes to be written. | 130 | /// \param[in] length Size in bytes to be written. |
| 142 | /// \return The total number of bytes | 131 | /// \return The total number of bytes |
| 143 | /// successfully written is returned. | 132 | /// successfully written is returned. |
| 144 | int Write(const uint8_t* data, int length) | 133 | int Write(const uint8_t* data, int length) |
| 145 | { | 134 | { |
| @@ -154,7 +143,7 @@ namespace addon | |||
| 154 | /// | 143 | /// |
| 155 | /// \param[in] position the position that you want to seek to | 144 | /// \param[in] position the position that you want to seek to |
| 156 | /// \param[in] whence [optional] offset relative to | 145 | /// \param[in] whence [optional] offset relative to |
| 157 | /// You can set the value of whence to one | 146 | /// You can set the value of whence to one |
| 158 | /// of three things: | 147 | /// of three things: |
| 159 | /// | Value | int | Description | | 148 | /// | Value | int | Description | |
| 160 | /// |:--------:|:---:|:---------------------------------------------------| | 149 | /// |:--------:|:---:|:---------------------------------------------------| |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/ImageDecoder.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/ImageDecoder.h index 5ccb859..09ac6c9 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/ImageDecoder.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/ImageDecoder.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../AddonBase.h" | 11 | #include "../AddonBase.h" |
| 23 | 12 | ||
| 24 | namespace kodi { namespace addon { class CInstanceImageDecoder; }} | 13 | namespace kodi { namespace addon { class CInstanceImageDecoder; }} |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h index 08d01ad..23a91e7 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | /* | 11 | /* |
| 23 | * Parts with a comment named "internal" are only used inside header and not | 12 | * Parts with a comment named "internal" are only used inside header and not |
| 24 | * used or accessed direct during add-on development! | 13 | * used or accessed direct during add-on development! |
| @@ -142,7 +131,7 @@ extern "C" { | |||
| 142 | const uint8_t *m_ExtraData; | 131 | const uint8_t *m_ExtraData; |
| 143 | unsigned int m_ExtraSize; | 132 | unsigned int m_ExtraSize; |
| 144 | 133 | ||
| 145 | char m_language[4]; /*!< @brief ISO 639 3-letter language code (empty string if undefined) */ | 134 | char m_language[64]; /*!< @brief RFC 5646 language code (empty string if undefined) */ |
| 146 | 135 | ||
| 147 | unsigned int m_FpsScale; /*!< @brief Scale of 1000 and a rate of 29970 will result in 29.97 fps */ | 136 | unsigned int m_FpsScale; /*!< @brief Scale of 1000 and a rate of 29970 will result in 29.97 fps */ |
| 148 | unsigned int m_FpsRate; | 137 | unsigned int m_FpsRate; |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Peripheral.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Peripheral.h index 75be27e..78e572b 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Peripheral.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Peripheral.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2014-2017 Team Kodi | 2 | * Copyright (C) 2014-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with this Program; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../AddonBase.h" | 11 | #include "../AddonBase.h" |
| 23 | 12 | ||
| 24 | namespace kodi { namespace addon { class CInstancePeripheral; }} | 13 | namespace kodi { namespace addon { class CInstancePeripheral; }} |
| @@ -780,7 +769,7 @@ namespace addon | |||
| 780 | return addonInstance->toAddon.addonInstance->SendEvent(event); | 769 | return addonInstance->toAddon.addonInstance->SendEvent(event); |
| 781 | } | 770 | } |
| 782 | 771 | ||
| 783 | 772 | ||
| 784 | inline static PERIPHERAL_ERROR ADDON_GetJoystickInfo(const AddonInstance_Peripheral* addonInstance, unsigned int index, JOYSTICK_INFO* info) | 773 | inline static PERIPHERAL_ERROR ADDON_GetJoystickInfo(const AddonInstance_Peripheral* addonInstance, unsigned int index, JOYSTICK_INFO* info) |
| 785 | { | 774 | { |
| 786 | return addonInstance->toAddon.addonInstance->GetJoystickInfo(index, info); | 775 | return addonInstance->toAddon.addonInstance->GetJoystickInfo(index, info); |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PeripheralUtils.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PeripheralUtils.h index c2efc05..9b2a43f 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PeripheralUtils.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PeripheralUtils.h | |||
| @@ -1,22 +1,11 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2014-2017 Team Kodi | 2 | * Copyright (C) 2014-2018 Team Kodi |
| 3 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 4 | * | ||
| 5 | * This Program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 8 | * any later version. | ||
| 9 | * | ||
| 10 | * This Program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with this Program; see the file COPYING. If not, see | ||
| 17 | * <http://www.gnu.org/licenses/>. | ||
| 18 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 19 | */ | 7 | */ |
| 8 | |||
| 20 | #pragma once | 9 | #pragma once |
| 21 | 10 | ||
| 22 | #include "Peripheral.h" | 11 | #include "Peripheral.h" |
| @@ -97,10 +86,7 @@ namespace addon | |||
| 97 | public: | 86 | public: |
| 98 | Peripheral(PERIPHERAL_TYPE type = PERIPHERAL_TYPE_UNKNOWN, const std::string& strName = "") : | 87 | Peripheral(PERIPHERAL_TYPE type = PERIPHERAL_TYPE_UNKNOWN, const std::string& strName = "") : |
| 99 | m_type(type), | 88 | m_type(type), |
| 100 | m_strName(strName), | 89 | m_strName(strName) |
| 101 | m_vendorId(0), | ||
| 102 | m_productId(0), | ||
| 103 | m_index(0) | ||
| 104 | { | 90 | { |
| 105 | } | 91 | } |
| 106 | 92 | ||
| @@ -149,9 +135,9 @@ namespace addon | |||
| 149 | private: | 135 | private: |
| 150 | PERIPHERAL_TYPE m_type; | 136 | PERIPHERAL_TYPE m_type; |
| 151 | std::string m_strName; | 137 | std::string m_strName; |
| 152 | uint16_t m_vendorId; | 138 | uint16_t m_vendorId = 0; |
| 153 | uint16_t m_productId; | 139 | uint16_t m_productId = 0; |
| 154 | unsigned int m_index; | 140 | unsigned int m_index = 0; |
| 155 | }; | 141 | }; |
| 156 | 142 | ||
| 157 | typedef PeripheralVector<Peripheral, PERIPHERAL_INFO> Peripherals; | 143 | typedef PeripheralVector<Peripheral, PERIPHERAL_INFO> Peripherals; |
| @@ -259,12 +245,7 @@ namespace addon | |||
| 259 | Joystick(const std::string& provider = "", const std::string& strName = "") : | 245 | Joystick(const std::string& provider = "", const std::string& strName = "") : |
| 260 | Peripheral(PERIPHERAL_TYPE_JOYSTICK, strName), | 246 | Peripheral(PERIPHERAL_TYPE_JOYSTICK, strName), |
| 261 | m_provider(provider), | 247 | m_provider(provider), |
| 262 | m_requestedPort(NO_PORT_REQUESTED), | 248 | m_requestedPort(NO_PORT_REQUESTED) |
| 263 | m_buttonCount(0), | ||
| 264 | m_hatCount(0), | ||
| 265 | m_axisCount(0), | ||
| 266 | m_motorCount(0), | ||
| 267 | m_supportsPowerOff(false) | ||
| 268 | { | 249 | { |
| 269 | } | 250 | } |
| 270 | 251 | ||
| @@ -345,11 +326,11 @@ namespace addon | |||
| 345 | private: | 326 | private: |
| 346 | std::string m_provider; | 327 | std::string m_provider; |
| 347 | int m_requestedPort; | 328 | int m_requestedPort; |
| 348 | unsigned int m_buttonCount; | 329 | unsigned int m_buttonCount = 0; |
| 349 | unsigned int m_hatCount; | 330 | unsigned int m_hatCount = 0; |
| 350 | unsigned int m_axisCount; | 331 | unsigned int m_axisCount = 0; |
| 351 | unsigned int m_motorCount; | 332 | unsigned int m_motorCount = 0; |
| 352 | bool m_supportsPowerOff; | 333 | bool m_supportsPowerOff = false; |
| 353 | }; | 334 | }; |
| 354 | 335 | ||
| 355 | typedef PeripheralVector<Joystick, JOYSTICK_INFO> Joysticks; | 336 | typedef PeripheralVector<Joystick, JOYSTICK_INFO> Joysticks; |
| @@ -402,12 +383,7 @@ namespace addon | |||
| 402 | */ | 383 | */ |
| 403 | DriverPrimitive(JOYSTICK_DRIVER_PRIMITIVE_TYPE type, unsigned int driverIndex) : | 384 | DriverPrimitive(JOYSTICK_DRIVER_PRIMITIVE_TYPE type, unsigned int driverIndex) : |
| 404 | m_type(type), | 385 | m_type(type), |
| 405 | m_driverIndex(driverIndex), | 386 | m_driverIndex(driverIndex) |
| 406 | m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), | ||
| 407 | m_center(0), | ||
| 408 | m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN), | ||
| 409 | m_range(1), | ||
| 410 | m_relPointerDirection(JOYSTICK_DRIVER_RELPOINTER_UNKNOWN) | ||
| 411 | { | 387 | { |
| 412 | } | 388 | } |
| 413 | 389 | ||
| @@ -415,16 +391,7 @@ namespace addon | |||
| 415 | /*! | 391 | /*! |
| 416 | * \brief Construct an invalid driver primitive | 392 | * \brief Construct an invalid driver primitive |
| 417 | */ | 393 | */ |
| 418 | DriverPrimitive(void) : | 394 | DriverPrimitive(void) = default; |
| 419 | m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_UNKNOWN), | ||
| 420 | m_driverIndex(0), | ||
| 421 | m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), | ||
| 422 | m_center(0), | ||
| 423 | m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN), | ||
| 424 | m_range(1), | ||
| 425 | m_relPointerDirection(JOYSTICK_DRIVER_RELPOINTER_UNKNOWN) | ||
| 426 | { | ||
| 427 | } | ||
| 428 | 395 | ||
| 429 | /*! | 396 | /*! |
| 430 | * \brief Construct a driver primitive representing a joystick button | 397 | * \brief Construct a driver primitive representing a joystick button |
| @@ -441,11 +408,7 @@ namespace addon | |||
| 441 | DriverPrimitive(unsigned int hatIndex, JOYSTICK_DRIVER_HAT_DIRECTION direction) : | 408 | DriverPrimitive(unsigned int hatIndex, JOYSTICK_DRIVER_HAT_DIRECTION direction) : |
| 442 | m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_HAT_DIRECTION), | 409 | m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_HAT_DIRECTION), |
| 443 | m_driverIndex(hatIndex), | 410 | m_driverIndex(hatIndex), |
| 444 | m_hatDirection(direction), | 411 | m_hatDirection(direction) |
| 445 | m_center(0), | ||
| 446 | m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN), | ||
| 447 | m_range(1), | ||
| 448 | m_relPointerDirection(JOYSTICK_DRIVER_RELPOINTER_UNKNOWN) | ||
| 449 | { | 412 | { |
| 450 | } | 413 | } |
| 451 | 414 | ||
| @@ -456,11 +419,9 @@ namespace addon | |||
| 456 | DriverPrimitive(unsigned int axisIndex, int center, JOYSTICK_DRIVER_SEMIAXIS_DIRECTION direction, unsigned int range) : | 419 | DriverPrimitive(unsigned int axisIndex, int center, JOYSTICK_DRIVER_SEMIAXIS_DIRECTION direction, unsigned int range) : |
| 457 | m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_SEMIAXIS), | 420 | m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_SEMIAXIS), |
| 458 | m_driverIndex(axisIndex), | 421 | m_driverIndex(axisIndex), |
| 459 | m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), | ||
| 460 | m_center(center), | 422 | m_center(center), |
| 461 | m_semiAxisDirection(direction), | 423 | m_semiAxisDirection(direction), |
| 462 | m_range(range), | 424 | m_range(range) |
| 463 | m_relPointerDirection(JOYSTICK_DRIVER_RELPOINTER_UNKNOWN) | ||
| 464 | { | 425 | { |
| 465 | } | 426 | } |
| 466 | 427 | ||
| @@ -477,13 +438,7 @@ namespace addon | |||
| 477 | */ | 438 | */ |
| 478 | DriverPrimitive(std::string keycode) : | 439 | DriverPrimitive(std::string keycode) : |
| 479 | m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_KEY), | 440 | m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_KEY), |
| 480 | m_driverIndex(0), | 441 | m_keycode(std::move(keycode)) |
| 481 | m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), | ||
| 482 | m_center(0), | ||
| 483 | m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN), | ||
| 484 | m_range(1), | ||
| 485 | m_keycode(std::move(keycode)), | ||
| 486 | m_relPointerDirection(JOYSTICK_DRIVER_RELPOINTER_UNKNOWN) | ||
| 487 | { | 442 | { |
| 488 | } | 443 | } |
| 489 | 444 | ||
| @@ -501,23 +456,12 @@ namespace addon | |||
| 501 | */ | 456 | */ |
| 502 | DriverPrimitive(JOYSTICK_DRIVER_RELPOINTER_DIRECTION direction) : | 457 | DriverPrimitive(JOYSTICK_DRIVER_RELPOINTER_DIRECTION direction) : |
| 503 | m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_RELPOINTER_DIRECTION), | 458 | m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_RELPOINTER_DIRECTION), |
| 504 | m_driverIndex(0), | ||
| 505 | m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), | ||
| 506 | m_center(0), | ||
| 507 | m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN), | ||
| 508 | m_range(1), | ||
| 509 | m_relPointerDirection(direction) | 459 | m_relPointerDirection(direction) |
| 510 | { | 460 | { |
| 511 | } | 461 | } |
| 512 | 462 | ||
| 513 | explicit DriverPrimitive(const JOYSTICK_DRIVER_PRIMITIVE& primitive) : | 463 | explicit DriverPrimitive(const JOYSTICK_DRIVER_PRIMITIVE& primitive) : |
| 514 | m_type(primitive.type), | 464 | m_type(primitive.type) |
| 515 | m_driverIndex(0), | ||
| 516 | m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), | ||
| 517 | m_center(0), | ||
| 518 | m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN), | ||
| 519 | m_range(1), | ||
| 520 | m_relPointerDirection(JOYSTICK_DRIVER_RELPOINTER_UNKNOWN) | ||
| 521 | { | 465 | { |
| 522 | switch (m_type) | 466 | switch (m_type) |
| 523 | { | 467 | { |
| @@ -677,14 +621,14 @@ namespace addon | |||
| 677 | } | 621 | } |
| 678 | 622 | ||
| 679 | private: | 623 | private: |
| 680 | JOYSTICK_DRIVER_PRIMITIVE_TYPE m_type; | 624 | JOYSTICK_DRIVER_PRIMITIVE_TYPE m_type = JOYSTICK_DRIVER_PRIMITIVE_TYPE_UNKNOWN; |
| 681 | unsigned int m_driverIndex; | 625 | unsigned int m_driverIndex = 0; |
| 682 | JOYSTICK_DRIVER_HAT_DIRECTION m_hatDirection; | 626 | JOYSTICK_DRIVER_HAT_DIRECTION m_hatDirection = JOYSTICK_DRIVER_HAT_UNKNOWN; |
| 683 | int m_center; | 627 | int m_center = 0; |
| 684 | JOYSTICK_DRIVER_SEMIAXIS_DIRECTION m_semiAxisDirection; | 628 | JOYSTICK_DRIVER_SEMIAXIS_DIRECTION m_semiAxisDirection = JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN; |
| 685 | unsigned int m_range; | 629 | unsigned int m_range = 1; |
| 686 | std::string m_keycode; | 630 | std::string m_keycode; |
| 687 | JOYSTICK_DRIVER_RELPOINTER_DIRECTION m_relPointerDirection; | 631 | JOYSTICK_DRIVER_RELPOINTER_DIRECTION m_relPointerDirection = JOYSTICK_DRIVER_RELPOINTER_UNKNOWN; |
| 688 | }; | 632 | }; |
| 689 | 633 | ||
| 690 | typedef PeripheralVector<DriverPrimitive, JOYSTICK_DRIVER_PRIMITIVE> DriverPrimitives; | 634 | typedef PeripheralVector<DriverPrimitive, JOYSTICK_DRIVER_PRIMITIVE> DriverPrimitives; |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Screensaver.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Screensaver.h index 04821b2..c4f8005 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Screensaver.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Screensaver.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../AddonBase.h" | 11 | #include "../AddonBase.h" |
| 23 | 12 | ||
| 24 | namespace kodi { namespace addon { class CInstanceScreensaver; }} | 13 | namespace kodi { namespace addon { class CInstanceScreensaver; }} |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h index 637a991..3bdc059 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h | |||
| @@ -1,23 +1,12 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2015 Team Kodi | 2 | * Copyright (C) 2015-2018 Team Kodi |
| 4 | * | ||
| 5 | * This Program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 8 | * any later version. | ||
| 9 | * | ||
| 10 | * This Program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with Kodi; see the file COPYING. If not, see | ||
| 17 | * <http://www.gnu.org/licenses/>. | ||
| 18 | * | 3 | * |
| 4 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 5 | * See LICENSES/README.md for more information. | ||
| 19 | */ | 6 | */ |
| 20 | 7 | ||
| 8 | #pragma once | ||
| 9 | |||
| 21 | #include "../AddonBase.h" | 10 | #include "../AddonBase.h" |
| 22 | #include "../Filesystem.h" | 11 | #include "../Filesystem.h" |
| 23 | 12 | ||
| @@ -578,7 +567,7 @@ namespace addon | |||
| 578 | int* num_entries, | 567 | int* num_entries, |
| 579 | char* rootpath) | 568 | char* rootpath) |
| 580 | { | 569 | { |
| 581 | std::string cppRootPath; | 570 | std::string cppRootPath; |
| 582 | std::vector<kodi::vfs::CDirEntry> addonEntries; | 571 | std::vector<kodi::vfs::CDirEntry> addonEntries; |
| 583 | bool ret = instance->toAddon.addonInstance->ContainsFiles(*url, addonEntries, cppRootPath); | 572 | bool ret = instance->toAddon.addonInstance->ContainsFiles(*url, addonEntries, cppRootPath); |
| 584 | if (ret) | 573 | if (ret) |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VideoCodec.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VideoCodec.h index 8a8779a..9c33fbf 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VideoCodec.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VideoCodec.h | |||
| @@ -1,21 +1,9 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2017 Team XBMC | 2 | * Copyright (C) 2017-2018 Team Kodi |
| 3 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 4 | * | ||
| 5 | * This Program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 8 | * any later version. | ||
| 9 | * | ||
| 10 | * This Program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with XBMC; see the file COPYING. If not, see | ||
| 17 | * <http://www.gnu.org/licenses/>. | ||
| 18 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 19 | */ | 7 | */ |
| 20 | 8 | ||
| 21 | #pragma once | 9 | #pragma once |
| @@ -53,12 +41,12 @@ extern "C" | |||
| 53 | } codec; | 41 | } codec; |
| 54 | 42 | ||
| 55 | STREAMCODEC_PROFILE codecProfile; | 43 | STREAMCODEC_PROFILE codecProfile; |
| 56 | 44 | ||
| 57 | //UnknownVideoFormat is terminator | 45 | //UnknownVideoFormat is terminator |
| 58 | VIDEOCODEC_FORMAT *videoFormats; | 46 | VIDEOCODEC_FORMAT *videoFormats; |
| 59 | 47 | ||
| 60 | uint32_t width, height; | 48 | uint32_t width, height; |
| 61 | 49 | ||
| 62 | const uint8_t *extraData; | 50 | const uint8_t *extraData; |
| 63 | unsigned int extraDataSize; | 51 | unsigned int extraDataSize; |
| 64 | 52 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Visualization.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Visualization.h index a2bef15..6c29693 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Visualization.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Visualization.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | /* | 11 | /* |
| 23 | * Parts with a comment named "internal" are only used inside header and not | 12 | * Parts with a comment named "internal" are only used inside header and not |
| 24 | * used or accessed direct during add-on development! | 13 | * used or accessed direct during add-on development! |
| @@ -34,7 +23,7 @@ extern "C" | |||
| 34 | struct AddonInstance_Visualization; | 23 | struct AddonInstance_Visualization; |
| 35 | 24 | ||
| 36 | typedef enum VIS_ACTION : unsigned int /* internal */ | 25 | typedef enum VIS_ACTION : unsigned int /* internal */ |
| 37 | { | 26 | { |
| 38 | VIS_ACTION_NONE = 0, | 27 | VIS_ACTION_NONE = 0, |
| 39 | VIS_ACTION_NEXT_PRESET, | 28 | VIS_ACTION_NEXT_PRESET, |
| 40 | VIS_ACTION_PREV_PRESET, | 29 | VIS_ACTION_PREV_PRESET, |
| @@ -318,8 +307,7 @@ namespace addon | |||
| 318 | /// Used by an add-on that only supports visualizations. | 307 | /// Used by an add-on that only supports visualizations. |
| 319 | /// | 308 | /// |
| 320 | CInstanceVisualization() | 309 | CInstanceVisualization() |
| 321 | : IAddonInstance(ADDON_INSTANCE_VISUALIZATION), | 310 | : IAddonInstance(ADDON_INSTANCE_VISUALIZATION) |
| 322 | m_presetLockedByUser(false) | ||
| 323 | { | 311 | { |
| 324 | if (CAddonBase::m_interface->globalSingleInstance != nullptr) | 312 | if (CAddonBase::m_interface->globalSingleInstance != nullptr) |
| 325 | throw std::logic_error("kodi::addon::CInstanceVisualization: Cannot create multiple instances of add-on."); | 313 | throw std::logic_error("kodi::addon::CInstanceVisualization: Cannot create multiple instances of add-on."); |
| @@ -341,8 +329,7 @@ namespace addon | |||
| 341 | /// @warning Only use `instance` from the CreateInstance call | 329 | /// @warning Only use `instance` from the CreateInstance call |
| 342 | /// | 330 | /// |
| 343 | explicit CInstanceVisualization(KODI_HANDLE instance) | 331 | explicit CInstanceVisualization(KODI_HANDLE instance) |
| 344 | : IAddonInstance(ADDON_INSTANCE_VISUALIZATION), | 332 | : IAddonInstance(ADDON_INSTANCE_VISUALIZATION) |
| 345 | m_presetLockedByUser(false) | ||
| 346 | { | 333 | { |
| 347 | if (CAddonBase::m_interface->globalSingleInstance != nullptr) | 334 | if (CAddonBase::m_interface->globalSingleInstance != nullptr) |
| 348 | throw std::logic_error("kodi::addon::CInstanceVisualization: Creation of multiple together with single instance way is not allowed!"); | 335 | throw std::logic_error("kodi::addon::CInstanceVisualization: Creation of multiple together with single instance way is not allowed!"); |
| @@ -690,7 +677,7 @@ namespace addon | |||
| 690 | { | 677 | { |
| 691 | addon->toAddon.addonInstance->AudioData(audioData, audioDataLength, freqData, freqDataLength); | 678 | addon->toAddon.addonInstance->AudioData(audioData, audioDataLength, freqData, freqDataLength); |
| 692 | } | 679 | } |
| 693 | 680 | ||
| 694 | inline static bool ADDON_IsDirty(const AddonInstance_Visualization* addon) | 681 | inline static bool ADDON_IsDirty(const AddonInstance_Visualization* addon) |
| 695 | { | 682 | { |
| 696 | return addon->toAddon.addonInstance->IsDirty(); | 683 | return addon->toAddon.addonInstance->IsDirty(); |
| @@ -758,7 +745,7 @@ namespace addon | |||
| 758 | return addon->toAddon.addonInstance->IsLocked(); | 745 | return addon->toAddon.addonInstance->IsLocked(); |
| 759 | } | 746 | } |
| 760 | 747 | ||
| 761 | bool m_presetLockedByUser; | 748 | bool m_presetLockedByUser = false; |
| 762 | AddonInstance_Visualization* m_instanceData; | 749 | AddonInstance_Visualization* m_instanceData; |
| 763 | }; | 750 | }; |
| 764 | 751 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/General.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/General.h index f1df60d..30b6d89 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/General.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/General.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../AddonBase.h" | 11 | #include "../AddonBase.h" |
| 23 | #include "definitions.h" | 12 | #include "definitions.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/ListItem.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/ListItem.h index 13cf2d1..f13b96e 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/ListItem.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/ListItem.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../AddonBase.h" | 11 | #include "../AddonBase.h" |
| 23 | #include "definitions.h" | 12 | #include "definitions.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/Window.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/Window.h index c369c62..f188f34 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/Window.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/Window.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../AddonBase.h" | 11 | #include "../AddonBase.h" |
| 23 | #include "ListItem.h" | 12 | #include "ListItem.h" |
| 24 | 13 | ||
| @@ -98,7 +87,7 @@ namespace gui | |||
| 98 | if (!m_controlHandle) | 87 | if (!m_controlHandle) |
| 99 | kodi::Log(ADDON_LOG_FATAL, "kodi::gui::CWindow can't create window class from Kodi !!!"); | 88 | kodi::Log(ADDON_LOG_FATAL, "kodi::gui::CWindow can't create window class from Kodi !!!"); |
| 100 | m_interface->kodi_gui->window->set_callbacks(m_interface->kodiBase, m_controlHandle, this, | 89 | m_interface->kodi_gui->window->set_callbacks(m_interface->kodiBase, m_controlHandle, this, |
| 101 | CBOnInit, CBOnFocus, CBOnClick, CBOnAction, | 90 | CBOnInit, CBOnFocus, CBOnClick, CBOnAction, |
| 102 | CBGetContextButtons, CBOnContextButton); | 91 | CBGetContextButtons, CBOnContextButton); |
| 103 | } | 92 | } |
| 104 | //-------------------------------------------------------------------------- | 93 | //-------------------------------------------------------------------------- |
| @@ -867,7 +856,7 @@ namespace gui | |||
| 867 | static_cast<CWindow*>(cbhdl)->GetContextButtons(itemNumber, buttonList); | 856 | static_cast<CWindow*>(cbhdl)->GetContextButtons(itemNumber, buttonList); |
| 868 | if (!buttonList.empty()) | 857 | if (!buttonList.empty()) |
| 869 | { | 858 | { |
| 870 | unsigned int presentSize = buttonList.size(); | 859 | unsigned int presentSize = static_cast<unsigned int>(buttonList.size()); |
| 871 | if (presentSize > *size) | 860 | if (presentSize > *size) |
| 872 | kodi::Log(ADDON_LOG_WARNING, "GetContextButtons: More as allowed '%i' entries present!", *size); | 861 | kodi::Log(ADDON_LOG_WARNING, "GetContextButtons: More as allowed '%i' entries present!", *size); |
| 873 | else | 862 | else |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Button.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Button.h index 5892d24..a38de1a 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Button.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Button.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Edit.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Edit.h index 83eeede..5d30160 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Edit.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Edit.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/FadeLabel.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/FadeLabel.h index 82d17ff..aab8929 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/FadeLabel.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/FadeLabel.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Image.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Image.h index 1179fab..a872ab0 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Image.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Image.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Label.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Label.h index f74ac03..eecfd8b 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Label.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Label.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Progress.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Progress.h index 44310ed..78880c4 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Progress.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Progress.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/RadioButton.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/RadioButton.h index b87920d..1721759 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/RadioButton.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/RadioButton.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Rendering.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Rendering.h index f80fcfa..b3dadcd 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Rendering.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Rendering.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/SettingsSlider.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/SettingsSlider.h index e51433a..4f97ba5 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/SettingsSlider.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/SettingsSlider.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Slider.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Slider.h index cbb9b8f..6eae70a 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Slider.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Slider.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Spin.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Spin.h index b39cd06..f3017b5 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Spin.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/Spin.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/TextBox.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/TextBox.h index 9d8976e..13ce1da 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/TextBox.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/controls/TextBox.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../Window.h" | 12 | #include "../Window.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/definitions.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/definitions.h index 1dd03cc..770a416 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/definitions.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/definitions.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include <string> | 11 | #include <string> |
| 23 | #include <time.h> | 12 | #include <time.h> |
| 24 | 13 | ||
| @@ -223,7 +212,7 @@ typedef struct AddonToKodiFuncTable_kodi_gui_dialogKeyboard | |||
| 223 | bool (*send_text_to_active_keyboard)(void* kodiBase, const char* text, bool close_keyboard); | 212 | bool (*send_text_to_active_keyboard)(void* kodiBase, const char* text, bool close_keyboard); |
| 224 | bool (*is_keyboard_activated)(void* kodiBase); | 213 | bool (*is_keyboard_activated)(void* kodiBase); |
| 225 | } AddonToKodiFuncTable_kodi_gui_dialogKeyboard; | 214 | } AddonToKodiFuncTable_kodi_gui_dialogKeyboard; |
| 226 | 215 | ||
| 227 | typedef struct AddonToKodiFuncTable_kodi_gui_dialogNumeric | 216 | typedef struct AddonToKodiFuncTable_kodi_gui_dialogNumeric |
| 228 | { | 217 | { |
| 229 | bool (*show_and_verify_new_password)(void* kodiBase, char** password); | 218 | bool (*show_and_verify_new_password)(void* kodiBase, char** password); |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ContextMenu.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ContextMenu.h index 39b21b4..26d6386 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ContextMenu.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ContextMenu.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../definitions.h" | 11 | #include "../definitions.h" |
| 23 | #include "../../AddonBase.h" | 12 | #include "../../AddonBase.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ExtendedProgress.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ExtendedProgress.h index 5878958..417d5db 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ExtendedProgress.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ExtendedProgress.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../definitions.h" | 11 | #include "../definitions.h" |
| 23 | #include "../../AddonBase.h" | 12 | #include "../../AddonBase.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/FileBrowser.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/FileBrowser.h index 401a78d..bb1065d 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/FileBrowser.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/FileBrowser.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../definitions.h" | 11 | #include "../definitions.h" |
| 23 | #include "../../AddonBase.h" | 12 | #include "../../AddonBase.h" |
| 24 | 13 | ||
| @@ -159,7 +148,7 @@ namespace dialogs | |||
| 159 | char* retString = nullptr; | 148 | char* retString = nullptr; |
| 160 | bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->show_and_get_file_from_dir(CAddonBase::m_interface->toKodi->kodiBase, | 149 | bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->show_and_get_file_from_dir(CAddonBase::m_interface->toKodi->kodiBase, |
| 161 | directory.c_str(), mask.c_str(), heading.c_str(), | 150 | directory.c_str(), mask.c_str(), heading.c_str(), |
| 162 | path.c_str(), &retString, useThumbs, | 151 | path.c_str(), &retString, useThumbs, |
| 163 | useFileDirectories, singleList); | 152 | useFileDirectories, singleList); |
| 164 | if (retString != nullptr) | 153 | if (retString != nullptr) |
| 165 | { | 154 | { |
| @@ -223,7 +212,7 @@ namespace dialogs | |||
| 223 | { | 212 | { |
| 224 | using namespace ::kodi::addon; | 213 | using namespace ::kodi::addon; |
| 225 | char* retString = nullptr; | 214 | char* retString = nullptr; |
| 226 | bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->show_and_get_source(CAddonBase::m_interface->toKodi->kodiBase, path.c_str(), &retString, | 215 | bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->show_and_get_source(CAddonBase::m_interface->toKodi->kodiBase, path.c_str(), &retString, |
| 227 | allowNetworkShares, additionalShare.c_str(), type.c_str()); | 216 | allowNetworkShares, additionalShare.c_str(), type.c_str()); |
| 228 | if (retString != nullptr) | 217 | if (retString != nullptr) |
| 229 | { | 218 | { |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Keyboard.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Keyboard.h index 6d2b32b..76284d8 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Keyboard.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Keyboard.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../definitions.h" | 11 | #include "../definitions.h" |
| 23 | #include "../../AddonBase.h" | 12 | #include "../../AddonBase.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Numeric.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Numeric.h index 70e9e7b..4a8eccb 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Numeric.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Numeric.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../definitions.h" | 11 | #include "../definitions.h" |
| 23 | #include "../../AddonBase.h" | 12 | #include "../../AddonBase.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/OK.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/OK.h index 12799b7..a47880f 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/OK.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/OK.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | #include "../definitions.h" | 12 | #include "../definitions.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Progress.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Progress.h index 3f18499..bbaa98d 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Progress.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Progress.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../definitions.h" | 11 | #include "../definitions.h" |
| 23 | #include "../../AddonBase.h" | 12 | #include "../../AddonBase.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Select.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Select.h index 8276832..ba0db1d 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Select.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Select.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../definitions.h" | 11 | #include "../definitions.h" |
| 23 | #include "../../AddonBase.h" | 12 | #include "../../AddonBase.h" |
| 24 | 13 | ||
| @@ -39,7 +28,7 @@ typedef struct SSelectionEntry | |||
| 39 | /// | 28 | /// |
| 40 | /// There becomes selected always set to false. | 29 | /// There becomes selected always set to false. |
| 41 | /// | 30 | /// |
| 42 | SSelectionEntry() : selected(false) { } | 31 | SSelectionEntry() = default; |
| 43 | //---------------------------------------------------------------------------- | 32 | //---------------------------------------------------------------------------- |
| 44 | 33 | ||
| 45 | /// Entry identfication string | 34 | /// Entry identfication string |
| @@ -50,7 +39,7 @@ typedef struct SSelectionEntry | |||
| 50 | 39 | ||
| 51 | /// Place where entry can be preselected and after return the from user | 40 | /// Place where entry can be preselected and after return the from user |
| 52 | /// selected is set. | 41 | /// selected is set. |
| 53 | bool selected; | 42 | bool selected = false; |
| 54 | } SSelectionEntry; | 43 | } SSelectionEntry; |
| 55 | //------------------------------------------------------------------------------ | 44 | //------------------------------------------------------------------------------ |
| 56 | 45 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/TextViewer.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/TextViewer.h index c64bc1e..da38f7c 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/TextViewer.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/TextViewer.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2015-2016 Team KODI | 2 | * Copyright (C) 2015-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../definitions.h" | 11 | #include "../definitions.h" |
| 23 | #include "../../AddonBase.h" | 12 | #include "../../AddonBase.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/YesNo.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/YesNo.h index d9c34ff..c694bf5 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/YesNo.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/YesNo.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team KODI | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../definitions.h" | 11 | #include "../definitions.h" |
| 23 | #include "../../AddonBase.h" | 12 | #include "../../AddonBase.h" |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h index 79ca778..40979e5 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h | |||
| @@ -1,24 +1,12 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2014-2017 Team Kodi | 2 | * Copyright (C) 2014-2018 Team Kodi |
| 3 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 4 | * | ||
| 5 | * This Program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 8 | * any later version. | ||
| 9 | * | ||
| 10 | * This Program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with this Program; see the file COPYING. If not, see | ||
| 17 | * <http://www.gnu.org/licenses/>. | ||
| 18 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 19 | */ | 7 | */ |
| 20 | #ifndef KODI_GAME_DLL_H_ | 8 | |
| 21 | #define KODI_GAME_DLL_H_ | 9 | #pragma once |
| 22 | 10 | ||
| 23 | #include "kodi_game_types.h" | 11 | #include "kodi_game_types.h" |
| 24 | 12 | ||
| @@ -40,7 +28,7 @@ GAME_ERROR LoadGame(const char* url); | |||
| 40 | /*! | 28 | /*! |
| 41 | * \brief Load a game that requires multiple files | 29 | * \brief Load a game that requires multiple files |
| 42 | * | 30 | * |
| 43 | * \param type The game stype | 31 | * \param type The game type |
| 44 | * \param urls An array of urls | 32 | * \param urls An array of urls |
| 45 | * \param urlCount The number of urls in the array | 33 | * \param urlCount The number of urls in the array |
| 46 | * | 34 | * |
| @@ -69,13 +57,13 @@ GAME_ERROR LoadStandalone(void); | |||
| 69 | GAME_ERROR UnloadGame(void); | 57 | GAME_ERROR UnloadGame(void); |
| 70 | 58 | ||
| 71 | /*! | 59 | /*! |
| 72 | * \brief Get information about the loaded game | 60 | * \brief Get timing information about the loaded game |
| 73 | * | 61 | * |
| 74 | * \param info The info structure to fill | 62 | * \param info The info structure to fill |
| 75 | * | 63 | * |
| 76 | * \return the error, or GAME_ERROR_NO_ERROR if info was filled | 64 | * \return the error, or GAME_ERROR_NO_ERROR if info was filled |
| 77 | */ | 65 | */ |
| 78 | GAME_ERROR GetGameInfo(game_system_av_info* info); | 66 | GAME_ERROR GetGameTiming(game_system_timing* timing_info); |
| 79 | 67 | ||
| 80 | /*! | 68 | /*! |
| 81 | * \brief Get region of the loaded game | 69 | * \brief Get region of the loaded game |
| @@ -145,7 +133,7 @@ GAME_ERROR HwContextDestroy(void); | |||
| 145 | bool HasFeature(const char* controller_id, const char* feature_name); | 133 | bool HasFeature(const char* controller_id, const char* feature_name); |
| 146 | 134 | ||
| 147 | /*! | 135 | /*! |
| 148 | * \brief Get the input topolgy that specifies which controllers can be connected | 136 | * \brief Get the input topology that specifies which controllers can be connected |
| 149 | * | 137 | * |
| 150 | * \return The input topology, or null to use the default | 138 | * \return The input topology, or null to use the default |
| 151 | * | 139 | * |
| @@ -311,7 +299,7 @@ void __declspec(dllexport) get_addon(void* ptr) | |||
| 311 | pClient->toAddon.LoadGameSpecial = LoadGameSpecial; | 299 | pClient->toAddon.LoadGameSpecial = LoadGameSpecial; |
| 312 | pClient->toAddon.LoadStandalone = LoadStandalone; | 300 | pClient->toAddon.LoadStandalone = LoadStandalone; |
| 313 | pClient->toAddon.UnloadGame = UnloadGame; | 301 | pClient->toAddon.UnloadGame = UnloadGame; |
| 314 | pClient->toAddon.GetGameInfo = GetGameInfo; | 302 | pClient->toAddon.GetGameTiming = GetGameTiming; |
| 315 | pClient->toAddon.GetRegion = GetRegion; | 303 | pClient->toAddon.GetRegion = GetRegion; |
| 316 | pClient->toAddon.RequiresGameLoop = RequiresGameLoop; | 304 | pClient->toAddon.RequiresGameLoop = RequiresGameLoop; |
| 317 | pClient->toAddon.RunFrame = RunFrame; | 305 | pClient->toAddon.RunFrame = RunFrame; |
| @@ -337,4 +325,3 @@ void __declspec(dllexport) get_addon(void* ptr) | |||
| 337 | } | 325 | } |
| 338 | #endif | 326 | #endif |
| 339 | 327 | ||
| 340 | #endif // KODI_GAME_DLL_H_ | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_types.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_types.h index 758b0fa..e3187d2 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_types.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_types.h | |||
| @@ -1,24 +1,12 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2014-2017 Team Kodi | 2 | * Copyright (C) 2014-2018 Team Kodi |
| 3 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 4 | * | ||
| 5 | * This Program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 8 | * any later version. | ||
| 9 | * | ||
| 10 | * This Program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with this Program; see the file COPYING. If not, see | ||
| 17 | * <http://www.gnu.org/licenses/>. | ||
| 18 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 19 | */ | 7 | */ |
| 20 | #ifndef KODI_GAME_TYPES_H_ | 8 | |
| 21 | #define KODI_GAME_TYPES_H_ | 9 | #pragma once |
| 22 | 10 | ||
| 23 | #include "versions.h" | 11 | #include "versions.h" |
| 24 | #include "xbmc_addon_types.h" | 12 | #include "xbmc_addon_types.h" |
| @@ -62,6 +50,8 @@ | |||
| 62 | extern "C" { | 50 | extern "C" { |
| 63 | #endif | 51 | #endif |
| 64 | 52 | ||
| 53 | /// @name Add-on types | ||
| 54 | ///{ | ||
| 65 | /*! Game add-on error codes */ | 55 | /*! Game add-on error codes */ |
| 66 | typedef enum GAME_ERROR | 56 | typedef enum GAME_ERROR |
| 67 | { | 57 | { |
| @@ -74,50 +64,16 @@ typedef enum GAME_ERROR | |||
| 74 | GAME_ERROR_NOT_LOADED, // no game is loaded | 64 | GAME_ERROR_NOT_LOADED, // no game is loaded |
| 75 | GAME_ERROR_RESTRICTED, // game requires restricted resources | 65 | GAME_ERROR_RESTRICTED, // game requires restricted resources |
| 76 | } GAME_ERROR; | 66 | } GAME_ERROR; |
| 67 | ///} | ||
| 77 | 68 | ||
| 78 | typedef enum GAME_STREAM_TYPE | 69 | /// @name Audio stream |
| 79 | { | 70 | ///{ |
| 80 | GAME_STREAM_UNKNOWN, | ||
| 81 | GAME_STREAM_AUDIO, | ||
| 82 | GAME_STREAM_VIDEO, | ||
| 83 | } GAME_STREAM_TYPE; | ||
| 84 | |||
| 85 | typedef enum GAME_PIXEL_FORMAT | ||
| 86 | { | ||
| 87 | GAME_PIXEL_FORMAT_UNKNOWN, | ||
| 88 | GAME_PIXEL_FORMAT_YUV420P, | ||
| 89 | GAME_PIXEL_FORMAT_0RGB8888, | ||
| 90 | GAME_PIXEL_FORMAT_RGB565, | ||
| 91 | GAME_PIXEL_FORMAT_0RGB1555, | ||
| 92 | } GAME_PIXEL_FORMAT; | ||
| 93 | |||
| 94 | typedef enum GAME_VIDEO_CODEC | ||
| 95 | { | ||
| 96 | GAME_VIDEO_CODEC_UNKNOWN, | ||
| 97 | GAME_VIDEO_CODEC_H264, | ||
| 98 | GAME_VIDEO_CODEC_THEORA, | ||
| 99 | } GAME_VIDEO_CODEC; | ||
| 100 | |||
| 101 | typedef enum GAME_VIDEO_ROTATION // Counter-clockwise | ||
| 102 | { | ||
| 103 | GAME_VIDEO_ROTATION_0, | ||
| 104 | GAME_VIDEO_ROTATION_90, | ||
| 105 | GAME_VIDEO_ROTATION_180, | ||
| 106 | GAME_VIDEO_ROTATION_270, | ||
| 107 | } GAME_VIDEO_ROTATION; | ||
| 108 | |||
| 109 | typedef enum GAME_PCM_FORMAT | 71 | typedef enum GAME_PCM_FORMAT |
| 110 | { | 72 | { |
| 111 | GAME_PCM_FORMAT_UNKNOWN, | 73 | GAME_PCM_FORMAT_UNKNOWN, |
| 112 | GAME_PCM_FORMAT_S16NE, | 74 | GAME_PCM_FORMAT_S16NE, |
| 113 | } GAME_PCM_FORMAT; | 75 | } GAME_PCM_FORMAT; |
| 114 | 76 | ||
| 115 | typedef enum GAME_AUDIO_CODEC | ||
| 116 | { | ||
| 117 | GAME_AUDIO_CODEC_UNKNOWN, | ||
| 118 | GAME_AUDIO_CODEC_OPUS, | ||
| 119 | } GAME_AUDIO_CODEC; | ||
| 120 | |||
| 121 | typedef enum GAME_AUDIO_CHANNEL | 77 | typedef enum GAME_AUDIO_CHANNEL |
| 122 | { | 78 | { |
| 123 | GAME_CH_NULL, // Channel list terminator | 79 | GAME_CH_NULL, // Channel list terminator |
| @@ -143,50 +99,234 @@ typedef enum GAME_AUDIO_CHANNEL | |||
| 143 | GAME_CH_BROC, | 99 | GAME_CH_BROC, |
| 144 | } GAME_AUDIO_CHANNEL; | 100 | } GAME_AUDIO_CHANNEL; |
| 145 | 101 | ||
| 146 | // TODO | 102 | typedef struct game_stream_audio_properties |
| 147 | typedef enum GAME_HW_FRAME_BUFFER | 103 | { |
| 104 | GAME_PCM_FORMAT format; | ||
| 105 | const GAME_AUDIO_CHANNEL* channel_map; | ||
| 106 | } ATTRIBUTE_PACKED game_stream_audio_properties; | ||
| 107 | |||
| 108 | typedef struct game_stream_audio_packet | ||
| 109 | { | ||
| 110 | const uint8_t *data; | ||
| 111 | size_t size; | ||
| 112 | } ATTRIBUTE_PACKED game_stream_audio_packet; | ||
| 113 | ///} | ||
| 114 | |||
| 115 | /// @name Video stream | ||
| 116 | ///{ | ||
| 117 | typedef enum GAME_PIXEL_FORMAT | ||
| 118 | { | ||
| 119 | GAME_PIXEL_FORMAT_UNKNOWN, | ||
| 120 | GAME_PIXEL_FORMAT_0RGB8888, | ||
| 121 | GAME_PIXEL_FORMAT_RGB565, | ||
| 122 | GAME_PIXEL_FORMAT_0RGB1555, | ||
| 123 | } GAME_PIXEL_FORMAT; | ||
| 124 | |||
| 125 | typedef enum GAME_VIDEO_ROTATION | ||
| 126 | { | ||
| 127 | GAME_VIDEO_ROTATION_0, | ||
| 128 | GAME_VIDEO_ROTATION_90_CCW, | ||
| 129 | GAME_VIDEO_ROTATION_180_CCW, | ||
| 130 | GAME_VIDEO_ROTATION_270_CCW, | ||
| 131 | } GAME_VIDEO_ROTATION; | ||
| 132 | |||
| 133 | typedef struct game_stream_video_properties | ||
| 148 | { | 134 | { |
| 149 | GAME_HW_FRAME_BUFFER_VALID, // Pass this to game_video_refresh if rendering to hardware | 135 | GAME_PIXEL_FORMAT format; |
| 150 | GAME_HW_FRAME_BUFFER_DUPLICATE, // Passing NULL to game_video_refresh is still a frame dupe as normal | 136 | unsigned int nominal_width; |
| 151 | GAME_HW_FRAME_BUFFER_RENDER, | 137 | unsigned int nominal_height; |
| 152 | } GAME_HW_FRAME_BUFFER; | 138 | unsigned int max_width; |
| 139 | unsigned int max_height; | ||
| 140 | float aspect_ratio; // If aspect_ratio is <= 0.0, an aspect ratio of nominal_width / nominal_height is assumed | ||
| 141 | } ATTRIBUTE_PACKED game_stream_video_properties; | ||
| 153 | 142 | ||
| 143 | typedef struct game_stream_video_packet | ||
| 144 | { | ||
| 145 | unsigned int width; | ||
| 146 | unsigned int height; | ||
| 147 | GAME_VIDEO_ROTATION rotation; | ||
| 148 | const uint8_t *data; | ||
| 149 | size_t size; | ||
| 150 | } ATTRIBUTE_PACKED game_stream_video_packet; | ||
| 151 | ///} | ||
| 152 | |||
| 153 | /// @name Hardware framebuffer stream | ||
| 154 | ///{ | ||
| 154 | typedef enum GAME_HW_CONTEXT_TYPE | 155 | typedef enum GAME_HW_CONTEXT_TYPE |
| 155 | { | 156 | { |
| 156 | GAME_HW_CONTEXT_NONE, | 157 | GAME_HW_CONTEXT_NONE, |
| 157 | GAME_HW_CONTEXT_OPENGL, // OpenGL 2.x. Latest version available before 3.x+. Driver can choose to use latest compatibility context | 158 | |
| 158 | GAME_HW_CONTEXT_OPENGLES2, // GLES 2.0 | 159 | // OpenGL 2.x. Driver can choose to use latest compatibility context |
| 159 | GAME_HW_CONTEXT_OPENGL_CORE, // Modern desktop core GL context. Use major/minor fields to set GL version | 160 | GAME_HW_CONTEXT_OPENGL, |
| 160 | GAME_HW_CONTEXT_OPENGLES3, // GLES 3.0 | 161 | |
| 162 | // OpenGL ES 2.0 | ||
| 163 | GAME_HW_CONTEXT_OPENGLES2, | ||
| 164 | |||
| 165 | // Modern desktop core GL context. Use major/minor fields to set GL version | ||
| 166 | GAME_HW_CONTEXT_OPENGL_CORE, | ||
| 167 | |||
| 168 | // OpenGL ES 3.0 | ||
| 169 | GAME_HW_CONTEXT_OPENGLES3, | ||
| 170 | |||
| 171 | // OpenGL ES 3.1+. Set major/minor fields. | ||
| 172 | GAME_HW_CONTEXT_OPENGLES_VERSION, | ||
| 173 | |||
| 174 | // Vulkan | ||
| 175 | GAME_HW_CONTEXT_VULKAN | ||
| 161 | } GAME_HW_CONTEXT_TYPE; | 176 | } GAME_HW_CONTEXT_TYPE; |
| 162 | 177 | ||
| 163 | typedef enum GAME_INPUT_EVENT_SOURCE | 178 | typedef struct game_stream_hw_framebuffer_properties |
| 164 | { | 179 | { |
| 165 | GAME_INPUT_EVENT_DIGITAL_BUTTON, | 180 | /*! |
| 166 | GAME_INPUT_EVENT_ANALOG_BUTTON, | 181 | * The API to use. |
| 167 | GAME_INPUT_EVENT_AXIS, | 182 | */ |
| 168 | GAME_INPUT_EVENT_ANALOG_STICK, | 183 | GAME_HW_CONTEXT_TYPE context_type; |
| 169 | GAME_INPUT_EVENT_ACCELEROMETER, | ||
| 170 | GAME_INPUT_EVENT_KEY, | ||
| 171 | GAME_INPUT_EVENT_RELATIVE_POINTER, | ||
| 172 | GAME_INPUT_EVENT_ABSOLUTE_POINTER, | ||
| 173 | GAME_INPUT_EVENT_MOTOR, | ||
| 174 | } GAME_INPUT_EVENT_SOURCE; | ||
| 175 | 184 | ||
| 176 | typedef enum GAME_KEY_MOD | 185 | /*! |
| 186 | * Set if render buffers should have depth component attached. | ||
| 187 | * | ||
| 188 | * TODO: Obsolete | ||
| 189 | */ | ||
| 190 | bool depth; | ||
| 191 | |||
| 192 | /*! | ||
| 193 | * Set if stencil buffers should be attached. If depth and stencil are true, | ||
| 194 | * a packed 24/8 buffer will be added. Only attaching stencil is invalid and | ||
| 195 | * will be ignored. | ||
| 196 | * | ||
| 197 | * TODO: Obsolete. | ||
| 198 | */ | ||
| 199 | bool stencil; | ||
| 200 | |||
| 201 | /*! | ||
| 202 | * Use conventional bottom-left origin convention. If false, standard top-left | ||
| 203 | * origin semantics are used. | ||
| 204 | * | ||
| 205 | * TODO: Move to GL specific interface | ||
| 206 | */ | ||
| 207 | bool bottom_left_origin; | ||
| 208 | |||
| 209 | /*! | ||
| 210 | * Major version number for core GL context or GLES 3.1+. | ||
| 211 | */ | ||
| 212 | unsigned int version_major; | ||
| 213 | |||
| 214 | /*! | ||
| 215 | * Minor version number for core GL context or GLES 3.1+. | ||
| 216 | */ | ||
| 217 | unsigned int version_minor; | ||
| 218 | |||
| 219 | /*! | ||
| 220 | * If this is true, the frontend will go very far to avoid resetting context | ||
| 221 | * in scenarios like toggling fullscreen, etc. | ||
| 222 | * | ||
| 223 | * TODO: Obsolete? Maybe frontend should just always assume this... | ||
| 224 | * | ||
| 225 | * The reset callback might still be called in extreme situations such as if | ||
| 226 | * the context is lost beyond recovery. | ||
| 227 | * | ||
| 228 | * For optimal stability, set this to false, and allow context to be reset at | ||
| 229 | * any time. | ||
| 230 | */ | ||
| 231 | bool cache_context; | ||
| 232 | |||
| 233 | /*! | ||
| 234 | * Creates a debug context. | ||
| 235 | */ | ||
| 236 | bool debug_context; | ||
| 237 | } ATTRIBUTE_PACKED game_stream_hw_framebuffer_properties; | ||
| 238 | |||
| 239 | typedef struct game_stream_hw_framebuffer_buffer | ||
| 177 | { | 240 | { |
| 178 | GAME_KEY_MOD_NONE = 0x0000, | 241 | uintptr_t framebuffer; |
| 242 | } ATTRIBUTE_PACKED game_stream_hw_framebuffer_buffer; | ||
| 179 | 243 | ||
| 180 | GAME_KEY_MOD_SHIFT = 0x0001, | 244 | typedef struct game_stream_hw_framebuffer_packet |
| 181 | GAME_KEY_MOD_CTRL = 0x0002, | 245 | { |
| 182 | GAME_KEY_MOD_ALT = 0x0004, | 246 | uintptr_t framebuffer; |
| 183 | GAME_KEY_MOD_META = 0x0008, | 247 | } ATTRIBUTE_PACKED game_stream_hw_framebuffer_packet; |
| 184 | GAME_KEY_MOD_SUPER = 0x0010, | ||
| 185 | 248 | ||
| 186 | GAME_KEY_MOD_NUMLOCK = 0x0100, | 249 | typedef void (*game_proc_address_t)(void); |
| 187 | GAME_KEY_MOD_CAPSLOCK = 0x0200, | 250 | ///} |
| 188 | GAME_KEY_MOD_SCROLLOCK = 0x0400, | 251 | |
| 189 | } GAME_KEY_MOD; | 252 | /// @name Software framebuffer stream |
| 253 | ///{ | ||
| 254 | typedef game_stream_video_properties game_stream_sw_framebuffer_properties; | ||
| 255 | |||
| 256 | typedef struct game_stream_sw_framebuffer_buffer | ||
| 257 | { | ||
| 258 | GAME_PIXEL_FORMAT format; | ||
| 259 | uint8_t *data; | ||
| 260 | size_t size; | ||
| 261 | } ATTRIBUTE_PACKED game_stream_sw_framebuffer_buffer; | ||
| 262 | |||
| 263 | typedef game_stream_video_packet game_stream_sw_framebuffer_packet; | ||
| 264 | ///} | ||
| 265 | |||
| 266 | /// @name Stream types | ||
| 267 | ///{ | ||
| 268 | typedef enum GAME_STREAM_TYPE | ||
| 269 | { | ||
| 270 | GAME_STREAM_UNKNOWN, | ||
| 271 | GAME_STREAM_AUDIO, | ||
| 272 | GAME_STREAM_VIDEO, | ||
| 273 | GAME_STREAM_HW_FRAMEBUFFER, | ||
| 274 | GAME_STREAM_SW_FRAMEBUFFER, | ||
| 275 | } GAME_STREAM_TYPE; | ||
| 276 | |||
| 277 | /*! | ||
| 278 | * \brief Immutable stream metadata | ||
| 279 | * | ||
| 280 | * This metadata is provided when the stream is opened. If any stream | ||
| 281 | * properties change, a new stream must be opened. | ||
| 282 | */ | ||
| 283 | typedef struct game_stream_properties | ||
| 284 | { | ||
| 285 | GAME_STREAM_TYPE type; | ||
| 286 | union | ||
| 287 | { | ||
| 288 | game_stream_audio_properties audio; | ||
| 289 | game_stream_video_properties video; | ||
| 290 | game_stream_hw_framebuffer_properties hw_framebuffer; | ||
| 291 | game_stream_sw_framebuffer_properties sw_framebuffer; | ||
| 292 | }; | ||
| 293 | } ATTRIBUTE_PACKED game_stream_properties; | ||
| 294 | |||
| 295 | /*! | ||
| 296 | * \brief Stream buffers for hardware rendering and zero-copy support | ||
| 297 | */ | ||
| 298 | typedef struct game_stream_buffer | ||
| 299 | { | ||
| 300 | GAME_STREAM_TYPE type; | ||
| 301 | union | ||
| 302 | { | ||
| 303 | game_stream_hw_framebuffer_buffer hw_framebuffer; | ||
| 304 | game_stream_sw_framebuffer_buffer sw_framebuffer; | ||
| 305 | }; | ||
| 306 | } ATTRIBUTE_PACKED game_stream_buffer; | ||
| 307 | |||
| 308 | /*! | ||
| 309 | * \brief Stream packet and ephemeral metadata | ||
| 310 | * | ||
| 311 | * This packet contains stream data and accompanying metadata. The metadata | ||
| 312 | * is ephemeral, meaning it only applies to the current packet and can change | ||
| 313 | * from packet to packet in the same stream. | ||
| 314 | */ | ||
| 315 | typedef struct game_stream_packet | ||
| 316 | { | ||
| 317 | GAME_STREAM_TYPE type; | ||
| 318 | union | ||
| 319 | { | ||
| 320 | game_stream_audio_packet audio; | ||
| 321 | game_stream_video_packet video; | ||
| 322 | game_stream_hw_framebuffer_packet hw_framebuffer; | ||
| 323 | game_stream_sw_framebuffer_packet sw_framebuffer; | ||
| 324 | }; | ||
| 325 | } ATTRIBUTE_PACKED game_stream_packet; | ||
| 326 | ///} | ||
| 327 | |||
| 328 | /// @name Game types | ||
| 329 | ///{ | ||
| 190 | 330 | ||
| 191 | /*! Returned from game_get_region() */ | 331 | /*! Returned from game_get_region() */ |
| 192 | typedef enum GAME_REGION | 332 | typedef enum GAME_REGION |
| @@ -262,14 +402,38 @@ typedef enum GAME_SIMD | |||
| 262 | GAME_SIMD_AVX2 = (1 << 12), | 402 | GAME_SIMD_AVX2 = (1 << 12), |
| 263 | GAME_SIMD_VFPU = (1 << 13), | 403 | GAME_SIMD_VFPU = (1 << 13), |
| 264 | } GAME_SIMD; | 404 | } GAME_SIMD; |
| 405 | ///} | ||
| 406 | |||
| 407 | /// @name Input types | ||
| 408 | ///{ | ||
| 265 | 409 | ||
| 266 | typedef enum GAME_ROTATION | 410 | typedef enum GAME_INPUT_EVENT_SOURCE |
| 267 | { | 411 | { |
| 268 | GAME_ROTATION_0_CW, | 412 | GAME_INPUT_EVENT_DIGITAL_BUTTON, |
| 269 | GAME_ROTATION_90_CW, | 413 | GAME_INPUT_EVENT_ANALOG_BUTTON, |
| 270 | GAME_ROTATION_180_CW, | 414 | GAME_INPUT_EVENT_AXIS, |
| 271 | GAME_ROTATION_270_CW, | 415 | GAME_INPUT_EVENT_ANALOG_STICK, |
| 272 | } GAME_ROTATION; | 416 | GAME_INPUT_EVENT_ACCELEROMETER, |
| 417 | GAME_INPUT_EVENT_KEY, | ||
| 418 | GAME_INPUT_EVENT_RELATIVE_POINTER, | ||
| 419 | GAME_INPUT_EVENT_ABSOLUTE_POINTER, | ||
| 420 | GAME_INPUT_EVENT_MOTOR, | ||
| 421 | } GAME_INPUT_EVENT_SOURCE; | ||
| 422 | |||
| 423 | typedef enum GAME_KEY_MOD | ||
| 424 | { | ||
| 425 | GAME_KEY_MOD_NONE = 0x0000, | ||
| 426 | |||
| 427 | GAME_KEY_MOD_SHIFT = 0x0001, | ||
| 428 | GAME_KEY_MOD_CTRL = 0x0002, | ||
| 429 | GAME_KEY_MOD_ALT = 0x0004, | ||
| 430 | GAME_KEY_MOD_META = 0x0008, | ||
| 431 | GAME_KEY_MOD_SUPER = 0x0010, | ||
| 432 | |||
| 433 | GAME_KEY_MOD_NUMLOCK = 0x0100, | ||
| 434 | GAME_KEY_MOD_CAPSLOCK = 0x0200, | ||
| 435 | GAME_KEY_MOD_SCROLLOCK = 0x0400, | ||
| 436 | } GAME_KEY_MOD; | ||
| 273 | 437 | ||
| 274 | /*! | 438 | /*! |
| 275 | * \brief Type of port on the virtual game console | 439 | * \brief Type of port on the virtual game console |
| @@ -418,46 +582,16 @@ typedef struct game_input_event | |||
| 418 | struct game_motor_event motor; | 582 | struct game_motor_event motor; |
| 419 | }; | 583 | }; |
| 420 | } ATTRIBUTE_PACKED game_input_event; | 584 | } ATTRIBUTE_PACKED game_input_event; |
| 585 | ///} | ||
| 421 | 586 | ||
| 422 | struct game_geometry | 587 | /// @name Environment types |
| 423 | { | 588 | ///{ |
| 424 | unsigned base_width; // Nominal video width of game | ||
| 425 | unsigned base_height; // Nominal video height of game | ||
| 426 | unsigned max_width; // Maximum possible width of game | ||
| 427 | unsigned max_height; // Maximum possible height of game | ||
| 428 | float aspect_ratio; // Nominal aspect ratio of game. If aspect_ratio is <= 0.0, | ||
| 429 | // an aspect ratio of base_width / base_height is assumed. | ||
| 430 | // A frontend could override this setting if desired. | ||
| 431 | }; | ||
| 432 | |||
| 433 | struct game_system_timing | 589 | struct game_system_timing |
| 434 | { | 590 | { |
| 435 | double fps; // FPS of video content. | 591 | double fps; // FPS of video content. |
| 436 | double sample_rate; // Sampling rate of audio. | 592 | double sample_rate; // Sampling rate of audio. |
| 437 | }; | 593 | }; |
| 438 | 594 | ///} | |
| 439 | struct game_system_av_info | ||
| 440 | { | ||
| 441 | struct game_geometry geometry; | ||
| 442 | struct game_system_timing timing; | ||
| 443 | }; | ||
| 444 | |||
| 445 | typedef void (*game_proc_address_t)(void); | ||
| 446 | |||
| 447 | struct game_hw_info | ||
| 448 | { | ||
| 449 | GAME_HW_CONTEXT_TYPE context_type; // Which API to use. Set by game client | ||
| 450 | bool depth; // Set if render buffers should have depth component attached | ||
| 451 | bool stencil; // Set if stencil buffers should be attached | ||
| 452 | // If depth and stencil are true, a packed 24/8 buffer will be added. Only attaching stencil is invalid and will be ignored | ||
| 453 | bool bottom_left_origin; // Use conventional bottom-left origin convention. Is false, standard top-left origin semantics are used | ||
| 454 | unsigned version_major; // Major version number for core GL context | ||
| 455 | unsigned version_minor; // Minor version number for core GL context | ||
| 456 | bool cache_context; // If this is true, the frontend will go very far to avoid resetting context in scenarios like toggling fullscreen, etc. | ||
| 457 | // The reset callback might still be called in extreme situations such as if the context is lost beyond recovery | ||
| 458 | // For optimal stability, set this to false, and allow context to be reset at any time | ||
| 459 | bool debug_context; // Creates a debug context | ||
| 460 | }; | ||
| 461 | 595 | ||
| 462 | /*! Properties passed to the ADDON_Create() method of a game client */ | 596 | /*! Properties passed to the ADDON_Create() method of a game client */ |
| 463 | typedef struct AddonProps_Game | 597 | typedef struct AddonProps_Game |
| @@ -512,7 +646,7 @@ typedef struct AddonProps_Game | |||
| 512 | } AddonProps_Game; | 646 | } AddonProps_Game; |
| 513 | 647 | ||
| 514 | typedef AddonProps_Game game_client_properties; | 648 | typedef AddonProps_Game game_client_properties; |
| 515 | 649 | ||
| 516 | /*! Structure to transfer the methods from kodi_game_dll.h to Kodi */ | 650 | /*! Structure to transfer the methods from kodi_game_dll.h to Kodi */ |
| 517 | 651 | ||
| 518 | typedef struct AddonToKodiFuncTable_Game | 652 | typedef struct AddonToKodiFuncTable_Game |
| @@ -520,16 +654,12 @@ typedef struct AddonToKodiFuncTable_Game | |||
| 520 | KODI_HANDLE kodiInstance; | 654 | KODI_HANDLE kodiInstance; |
| 521 | 655 | ||
| 522 | void (*CloseGame)(void* kodiInstance); | 656 | void (*CloseGame)(void* kodiInstance); |
| 523 | int (*OpenPixelStream)(void* kodiInstance, GAME_PIXEL_FORMAT format, unsigned int width, unsigned int height, GAME_VIDEO_ROTATION rotation); | 657 | void* (*OpenStream)(void*, const game_stream_properties*); |
| 524 | int (*OpenVideoStream)(void* kodiInstance, GAME_VIDEO_CODEC codec); | 658 | bool (*GetStreamBuffer)(void*, void*, unsigned int, unsigned int, game_stream_buffer*); |
| 525 | int (*OpenPCMStream)(void* kodiInstance, GAME_PCM_FORMAT format, const GAME_AUDIO_CHANNEL* channel_map); | 659 | void (*AddStreamData)(void*, void*, const game_stream_packet*); |
| 526 | int(*OpenAudioStream)(void* kodiInstance, GAME_AUDIO_CODEC codec, const GAME_AUDIO_CHANNEL* channel_map); | 660 | void (*ReleaseStreamBuffer)(void*, void*, game_stream_buffer*); |
| 527 | void (*AddStreamData)(void* kodiInstance, GAME_STREAM_TYPE stream, const uint8_t* data, unsigned int size); | 661 | void (*CloseStream)(void*, void*); |
| 528 | void (*CloseStream)(void* kodiInstance, GAME_STREAM_TYPE stream); | ||
| 529 | void (*EnableHardwareRendering)(void* kodiInstance, const game_hw_info* hw_info); | ||
| 530 | uintptr_t (*HwGetCurrentFramebuffer)(void* kodiInstance); | ||
| 531 | game_proc_address_t (*HwGetProcAddress)(void* kodiInstance, const char* symbol); | 662 | game_proc_address_t (*HwGetProcAddress)(void* kodiInstance, const char* symbol); |
| 532 | void (*RenderFrame)(void* kodiInstance); | ||
| 533 | bool (*InputEvent)(void* kodiInstance, const game_input_event* event); | 663 | bool (*InputEvent)(void* kodiInstance, const game_input_event* event); |
| 534 | 664 | ||
| 535 | } AddonToKodiFuncTable_Game; | 665 | } AddonToKodiFuncTable_Game; |
| @@ -540,7 +670,7 @@ typedef struct KodiToAddonFuncTable_Game | |||
| 540 | GAME_ERROR (__cdecl* LoadGameSpecial)(SPECIAL_GAME_TYPE, const char**, size_t); | 670 | GAME_ERROR (__cdecl* LoadGameSpecial)(SPECIAL_GAME_TYPE, const char**, size_t); |
| 541 | GAME_ERROR (__cdecl* LoadStandalone)(void); | 671 | GAME_ERROR (__cdecl* LoadStandalone)(void); |
| 542 | GAME_ERROR (__cdecl* UnloadGame)(void); | 672 | GAME_ERROR (__cdecl* UnloadGame)(void); |
| 543 | GAME_ERROR (__cdecl* GetGameInfo)(game_system_av_info*); | 673 | GAME_ERROR (__cdecl* GetGameTiming)(game_system_timing*); |
| 544 | GAME_REGION (__cdecl* GetRegion)(void); | 674 | GAME_REGION (__cdecl* GetRegion)(void); |
| 545 | bool (__cdecl* RequiresGameLoop)(void); | 675 | bool (__cdecl* RequiresGameLoop)(void); |
| 546 | GAME_ERROR (__cdecl* RunFrame)(void); | 676 | GAME_ERROR (__cdecl* RunFrame)(void); |
| @@ -573,4 +703,3 @@ typedef struct AddonInstance_Game | |||
| 573 | } | 703 | } |
| 574 | #endif | 704 | #endif |
| 575 | 705 | ||
| 576 | #endif // KODI_GAME_TYPES_H_ | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_types.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_types.h index 8c02b99..233f682 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_types.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_types.h | |||
| @@ -1,21 +1,10 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2015 Team Kodi | 2 | * Copyright (C) 2015-2018 Team Kodi |
| 3 | * | ||
| 4 | * This Program is free software; you can redistribute it and/or modify | ||
| 5 | * it under the terms of the GNU General Public License as published by | ||
| 6 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 7 | * any later version. | ||
| 8 | * | ||
| 9 | * This Program is distributed in the hope that it will be useful, | ||
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | * GNU General Public License for more details. | ||
| 13 | * | ||
| 14 | * You should have received a copy of the GNU General Public License | ||
| 15 | * along with Kodi; see the file COPYING. If not, see | ||
| 16 | * <http://www.gnu.org/licenses/>. | ||
| 17 | * | 3 | * |
| 4 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 5 | * See LICENSES/README.md for more information. | ||
| 18 | */ | 6 | */ |
| 7 | |||
| 19 | #pragma once | 8 | #pragma once |
| 20 | 9 | ||
| 21 | #ifndef TARGET_WINDOWS | 10 | #ifndef TARGET_WINDOWS |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_game.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_game.h index 2774afd..ca8cba9 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_game.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_game.h | |||
| @@ -1,22 +1,11 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2014-2017 Team Kodi | 2 | * Copyright (C) 2014-2018 Team Kodi |
| 3 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 4 | * | ||
| 5 | * This Program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 8 | * any later version. | ||
| 9 | * | ||
| 10 | * This Program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with this Program; see the file COPYING. If not, see | ||
| 17 | * <http://www.gnu.org/licenses/>. | ||
| 18 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 19 | */ | 7 | */ |
| 8 | |||
| 20 | #pragma once | 9 | #pragma once |
| 21 | 10 | ||
| 22 | #include "libXBMC_addon.h" | 11 | #include "libXBMC_addon.h" |
| @@ -65,72 +54,58 @@ public: | |||
| 65 | */ | 54 | */ |
| 66 | void CloseGame(void) | 55 | void CloseGame(void) |
| 67 | { | 56 | { |
| 68 | return m_callbacks->toKodi.CloseGame(m_callbacks->toKodi.kodiInstance); | 57 | m_callbacks->toKodi.CloseGame(m_callbacks->toKodi.kodiInstance); |
| 69 | } | 58 | } |
| 70 | 59 | ||
| 71 | /*! | 60 | /*! |
| 72 | * \brief Create a video stream for pixel data | 61 | * \brief Create a stream for gameplay data |
| 73 | * | 62 | * |
| 74 | * \param format The type of pixel data accepted by this stream | 63 | * \param properties The stream properties |
| 75 | * \param width The frame width | ||
| 76 | * \param height The frame height | ||
| 77 | * \param rotation The rotation (counter-clockwise) of the video frames | ||
| 78 | * | 64 | * |
| 79 | * \return 0 on success or -1 if a video stream is already created | 65 | * \return A stream handle, or NULL on failure |
| 80 | */ | 66 | */ |
| 81 | bool OpenPixelStream(GAME_PIXEL_FORMAT format, unsigned int width, unsigned int height, GAME_VIDEO_ROTATION rotation) | 67 | void* OpenStream(const game_stream_properties &properties) |
| 82 | { | 68 | { |
| 83 | return m_callbacks->toKodi.OpenPixelStream(m_callbacks->toKodi.kodiInstance, format, width, height, rotation) == 0; | 69 | return m_callbacks->toKodi.OpenStream(m_callbacks->toKodi.kodiInstance, &properties); |
| 84 | } | 70 | } |
| 85 | 71 | ||
| 86 | /*! | 72 | /*! |
| 87 | * \brief Create a video stream for encoded video data | 73 | * \brief Get a buffer for zero-copy stream data |
| 88 | * | 74 | * |
| 89 | * \param codec The video format accepted by this stream | 75 | * \param stream The stream handle |
| 76 | * \param width The framebuffer width, or 0 for no width specified | ||
| 77 | * \param height The framebuffer height, or 0 for no height specified | ||
| 78 | * \param[out] buffer The buffer, or unmodified if false is returned | ||
| 90 | * | 79 | * |
| 91 | * \return 0 on success or -1 if a video stream is already created | 80 | * If this returns true, buffer must be freed using ReleaseStreamBuffer(). |
| 81 | * | ||
| 82 | * \return True if buffer was set, false otherwise | ||
| 92 | */ | 83 | */ |
| 93 | bool OpenVideoStream(GAME_VIDEO_CODEC codec) | 84 | bool GetStreamBuffer(void *stream, unsigned int width, unsigned int height, game_stream_buffer &buffer) |
| 94 | { | 85 | { |
| 95 | return m_callbacks->toKodi.OpenVideoStream(m_callbacks->toKodi.kodiInstance, codec) == 0; | 86 | return m_callbacks->toKodi.GetStreamBuffer(m_callbacks->toKodi.kodiInstance, stream, width, height, &buffer); |
| 96 | } | 87 | } |
| 97 | 88 | ||
| 98 | /*! | 89 | /*! |
| 99 | * \brief Create an audio stream for PCM audio data | 90 | * \brief Add a data packet to a stream |
| 100 | * | ||
| 101 | * \param format The type of audio data accepted by this stream | ||
| 102 | * \param channel_map The channel layout terminated by GAME_CH_NULL | ||
| 103 | * | 91 | * |
| 104 | * \return 0 on success or -1 if an audio stream is already created | 92 | * \param stream The target stream |
| 93 | * \param packet The data packet | ||
| 105 | */ | 94 | */ |
| 106 | bool OpenPCMStream(GAME_PCM_FORMAT format, const GAME_AUDIO_CHANNEL* channel_map) | 95 | void AddStreamData(void *stream, const game_stream_packet &packet) |
| 107 | { | ||
| 108 | return m_callbacks->toKodi.OpenPCMStream(m_callbacks->toKodi.kodiInstance, format, channel_map) == 0; | ||
| 109 | } | ||
| 110 | |||
| 111 | /*! | ||
| 112 | * \brief Create an audio stream for encoded audio data | ||
| 113 | * | ||
| 114 | * \param codec The audio format accepted by this stream | ||
| 115 | * \param channel_map The channel layout terminated by GAME_CH_NULL | ||
| 116 | * | ||
| 117 | * \return 0 on success or -1 if an audio stream is already created | ||
| 118 | */ | ||
| 119 | bool OpenAudioStream(GAME_AUDIO_CODEC codec, const GAME_AUDIO_CHANNEL* channel_map) | ||
| 120 | { | 96 | { |
| 121 | return m_callbacks->toKodi.OpenAudioStream(m_callbacks->toKodi.kodiInstance, codec, channel_map) == 0; | 97 | m_callbacks->toKodi.AddStreamData(m_callbacks->toKodi.kodiInstance, stream, &packet); |
| 122 | } | 98 | } |
| 123 | 99 | ||
| 124 | /*! | 100 | /*! |
| 125 | * \brief Add a data packet to an audio or video stream | 101 | * \brief Free an allocated buffer |
| 126 | * | 102 | * |
| 127 | * \param stream The target stream | 103 | * \param stream The stream handle |
| 128 | * \param data The data packet | 104 | * \param buffer The buffer returned from GetStreamBuffer() |
| 129 | * \param size The size of the data | ||
| 130 | */ | 105 | */ |
| 131 | void AddStreamData(GAME_STREAM_TYPE stream, const uint8_t* data, unsigned int size) | 106 | void ReleaseStreamBuffer(void *stream, game_stream_buffer &buffer) |
| 132 | { | 107 | { |
| 133 | m_callbacks->toKodi.AddStreamData(m_callbacks->toKodi.kodiInstance, stream, data, size); | 108 | m_callbacks->toKodi.ReleaseStreamBuffer(m_callbacks->toKodi.kodiInstance, stream, &buffer); |
| 134 | } | 109 | } |
| 135 | 110 | ||
| 136 | /*! | 111 | /*! |
| @@ -138,7 +113,7 @@ public: | |||
| 138 | * | 113 | * |
| 139 | * \param stream The stream to close | 114 | * \param stream The stream to close |
| 140 | */ | 115 | */ |
| 141 | void CloseStream(GAME_STREAM_TYPE stream) | 116 | void CloseStream(void *stream) |
| 142 | { | 117 | { |
| 143 | m_callbacks->toKodi.CloseStream(m_callbacks->toKodi.kodiInstance, stream); | 118 | m_callbacks->toKodi.CloseStream(m_callbacks->toKodi.kodiInstance, stream); |
| 144 | } | 119 | } |
| @@ -146,26 +121,6 @@ public: | |||
| 146 | // -- Hardware rendering callbacks ------------------------------------------- | 121 | // -- Hardware rendering callbacks ------------------------------------------- |
| 147 | 122 | ||
| 148 | /*! | 123 | /*! |
| 149 | * \brief Enable hardware rendering | ||
| 150 | * | ||
| 151 | * \param hw_info A struct of properties for the hardware rendering system | ||
| 152 | */ | ||
| 153 | void EnableHardwareRendering(const struct game_hw_info* hw_info) | ||
| 154 | { | ||
| 155 | return m_callbacks->toKodi.EnableHardwareRendering(m_callbacks->toKodi.kodiInstance, hw_info); | ||
| 156 | } | ||
| 157 | |||
| 158 | /*! | ||
| 159 | * \brief Get the framebuffer for rendering | ||
| 160 | * | ||
| 161 | * \return The framebuffer | ||
| 162 | */ | ||
| 163 | uintptr_t HwGetCurrentFramebuffer(void) | ||
| 164 | { | ||
| 165 | return m_callbacks->toKodi.HwGetCurrentFramebuffer(m_callbacks->toKodi.kodiInstance); | ||
| 166 | } | ||
| 167 | |||
| 168 | /*! | ||
| 169 | * \brief Get a symbol from the hardware context | 124 | * \brief Get a symbol from the hardware context |
| 170 | * | 125 | * |
| 171 | * \param symbol The symbol's name | 126 | * \param symbol The symbol's name |
| @@ -177,14 +132,6 @@ public: | |||
| 177 | return m_callbacks->toKodi.HwGetProcAddress(m_callbacks->toKodi.kodiInstance, sym); | 132 | return m_callbacks->toKodi.HwGetProcAddress(m_callbacks->toKodi.kodiInstance, sym); |
| 178 | } | 133 | } |
| 179 | 134 | ||
| 180 | /*! | ||
| 181 | * \brief Called when a frame is being rendered | ||
| 182 | */ | ||
| 183 | void RenderFrame() | ||
| 184 | { | ||
| 185 | return m_callbacks->toKodi.RenderFrame(m_callbacks->toKodi.kodiInstance); | ||
| 186 | } | ||
| 187 | |||
| 188 | // --- Input callbacks ------------------------------------------------------- | 135 | // --- Input callbacks ------------------------------------------------------- |
| 189 | 136 | ||
| 190 | /*! | 137 | /*! |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_guilib.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_guilib.h index 045d5fe..ff51c98 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_guilib.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_guilib.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2013 Team XBMC | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with XBMC; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include <string> | 11 | #include <string> |
| 23 | #include <vector> | 12 | #include <vector> |
| 24 | #include <string.h> | 13 | #include <string.h> |
| @@ -539,7 +528,7 @@ public: | |||
| 539 | 528 | ||
| 540 | return m_cb->Control_Spin_GetValue(m_Handle->addonData, m_controlHandle); | 529 | return m_cb->Control_Spin_GetValue(m_Handle->addonData, m_controlHandle); |
| 541 | } | 530 | } |
| 542 | 531 | ||
| 543 | void SetValue(int iValue) | 532 | void SetValue(int iValue) |
| 544 | { | 533 | { |
| 545 | if (m_controlHandle) | 534 | if (m_controlHandle) |
| @@ -730,7 +719,7 @@ public: | |||
| 730 | { | 719 | { |
| 731 | m_controlHandle = m_cb->Window_GetControl_SettingsSlider(m_Handle->addonData, m_Window->GetControlHandle(), controlId); | 720 | m_controlHandle = m_cb->Window_GetControl_SettingsSlider(m_Handle->addonData, m_Window->GetControlHandle(), controlId); |
| 732 | } | 721 | } |
| 733 | 722 | ||
| 734 | ~CAddonGUISettingsSliderControl(void) override = default; | 723 | ~CAddonGUISettingsSliderControl(void) override = default; |
| 735 | 724 | ||
| 736 | void SetVisible(bool yesNo) | 725 | void SetVisible(bool yesNo) |
| @@ -906,7 +895,7 @@ inline bool CAddonGUIRenderingControl::OnDirtyCB(GUIHANDLE cbhdl) | |||
| 906 | { | 895 | { |
| 907 | return static_cast<CAddonGUIRenderingControl*>(cbhdl)->Dirty(); | 896 | return static_cast<CAddonGUIRenderingControl*>(cbhdl)->Dirty(); |
| 908 | } | 897 | } |
| 909 | 898 | ||
| 910 | class CHelper_libKODI_guilib | 899 | class CHelper_libKODI_guilib |
| 911 | { | 900 | { |
| 912 | public: | 901 | public: |
| @@ -931,7 +920,7 @@ public: | |||
| 931 | m_Callbacks = (KodiAPI::GUI::CB_GUILib*)m_Handle->GUILib_RegisterMe(m_Handle->addonData); | 920 | m_Callbacks = (KodiAPI::GUI::CB_GUILib*)m_Handle->GUILib_RegisterMe(m_Handle->addonData); |
| 932 | if (!m_Callbacks) | 921 | if (!m_Callbacks) |
| 933 | fprintf(stderr, "libKODI_guilib-ERROR: GUILib_RegisterMe can't get callback table from Kodi !!!\n"); | 922 | fprintf(stderr, "libKODI_guilib-ERROR: GUILib_RegisterMe can't get callback table from Kodi !!!\n"); |
| 934 | 923 | ||
| 935 | return m_Callbacks != nullptr; | 924 | return m_Callbacks != nullptr; |
| 936 | } | 925 | } |
| 937 | 926 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_addon.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_addon.h index 271df98..43e3022 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_addon.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_addon.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2013 Team XBMC | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with XBMC; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include <string> | 11 | #include <string> |
| 23 | #include <vector> | 12 | #include <vector> |
| 24 | #include <string.h> | 13 | #include <string.h> |
| @@ -195,7 +184,7 @@ namespace ADDON | |||
| 195 | m_Callbacks = (KodiAPI::AddOn::CB_AddOnLib*)m_Handle->AddOnLib_RegisterMe(m_Handle->addonData); | 184 | m_Callbacks = (KodiAPI::AddOn::CB_AddOnLib*)m_Handle->AddOnLib_RegisterMe(m_Handle->addonData); |
| 196 | if (!m_Callbacks) | 185 | if (!m_Callbacks) |
| 197 | fprintf(stderr, "libXBMC_addon-ERROR: AddOnLib_RegisterMe can't get callback table from Kodi !!!\n"); | 186 | fprintf(stderr, "libXBMC_addon-ERROR: AddOnLib_RegisterMe can't get callback table from Kodi !!!\n"); |
| 198 | 187 | ||
| 199 | return m_Callbacks != nullptr; | 188 | return m_Callbacks != nullptr; |
| 200 | } | 189 | } |
| 201 | 190 | ||
| @@ -203,14 +192,18 @@ namespace ADDON | |||
| 203 | * @brief Add a message to XBMC's log. | 192 | * @brief Add a message to XBMC's log. |
| 204 | * @param loglevel The log level of the message. | 193 | * @param loglevel The log level of the message. |
| 205 | * @param format The format of the message to pass to XBMC. | 194 | * @param format The format of the message to pass to XBMC. |
| 195 | * @note This method uses limited buffer (16k) for the formatted output. | ||
| 196 | * So data, which will not fit into it, will be silently discarded. | ||
| 206 | */ | 197 | */ |
| 207 | void Log(const addon_log_t loglevel, const char *format, ... ) | 198 | void Log(const addon_log_t loglevel, const char *format, ... ) |
| 208 | { | 199 | { |
| 209 | char buffer[16384]; | 200 | char buffer[16384]; |
| 201 | static constexpr size_t len = sizeof (buffer) - 1; | ||
| 210 | va_list args; | 202 | va_list args; |
| 211 | va_start (args, format); | 203 | va_start (args, format); |
| 212 | vsprintf (buffer, format, args); | 204 | vsnprintf (buffer, len, format, args); |
| 213 | va_end (args); | 205 | va_end (args); |
| 206 | buffer[len] = '\0'; // to be sure it's null-terminated | ||
| 214 | m_Callbacks->Log(m_Handle->addonData, loglevel, buffer); | 207 | m_Callbacks->Log(m_Handle->addonData, loglevel, buffer); |
| 215 | } | 208 | } |
| 216 | 209 | ||
| @@ -297,7 +290,7 @@ namespace ADDON | |||
| 297 | { | 290 | { |
| 298 | m_Callbacks->FreeString(m_Handle->addonData, str); | 291 | m_Callbacks->FreeString(m_Handle->addonData, str); |
| 299 | } | 292 | } |
| 300 | 293 | ||
| 301 | /*! | 294 | /*! |
| 302 | * @brief Free the memory used by arr including its elements | 295 | * @brief Free the memory used by arr including its elements |
| 303 | * @param arr The string array to free | 296 | * @param arr The string array to free |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h index 11ea50c..2a94f75 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2013 Team XBMC | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with XBMC; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include <string> | 11 | #include <string> |
| 23 | #include <vector> | 12 | #include <vector> |
| 24 | #include <string.h> | 13 | #include <string.h> |
| @@ -61,7 +50,7 @@ public: | |||
| 61 | m_Callbacks = (AddonInstance_PVR*)m_Handle->PVRLib_RegisterMe(m_Handle->addonData); | 50 | m_Callbacks = (AddonInstance_PVR*)m_Handle->PVRLib_RegisterMe(m_Handle->addonData); |
| 62 | if (!m_Callbacks) | 51 | if (!m_Callbacks) |
| 63 | fprintf(stderr, "libXBMC_pvr-ERROR: PVRLib_register_me can't get callback table from Kodi !!!\n"); | 52 | fprintf(stderr, "libXBMC_pvr-ERROR: PVRLib_register_me can't get callback table from Kodi !!!\n"); |
| 64 | 53 | ||
| 65 | return m_Callbacks != NULL; | 54 | return m_Callbacks != NULL; |
| 66 | } | 55 | } |
| 67 | 56 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/platform/android/System.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/platform/android/System.h index bee00ef..aad3a28 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/platform/android/System.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/platform/android/System.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2018 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include "../../AddonBase.h" | 11 | #include "../../AddonBase.h" |
| 23 | 12 | ||
| 24 | /* | 13 | /* |
| @@ -34,13 +23,14 @@ | |||
| 34 | */ | 23 | */ |
| 35 | 24 | ||
| 36 | static const char* INTERFACE_ANDROID_SYSTEM_NAME = "ANDROID_SYSTEM"; | 25 | static const char* INTERFACE_ANDROID_SYSTEM_NAME = "ANDROID_SYSTEM"; |
| 37 | static const char* INTERFACE_ANDROID_SYSTEM_VERSION = "1.0.0"; | 26 | static const char* INTERFACE_ANDROID_SYSTEM_VERSION = "1.0.1"; |
| 38 | static const char* INTERFACE_ANDROID_SYSTEM_VERSION_MIN = "1.0.0"; | 27 | static const char* INTERFACE_ANDROID_SYSTEM_VERSION_MIN = "1.0.1"; |
| 39 | 28 | ||
| 40 | struct AddonToKodiFuncTable_android_system | 29 | struct AddonToKodiFuncTable_android_system |
| 41 | { | 30 | { |
| 42 | void* (*get_jni_env)(); | 31 | void* (*get_jni_env)(); |
| 43 | int (*get_sdk_version)(); | 32 | int (*get_sdk_version)(); |
| 33 | const char *(*get_class_name)(); | ||
| 44 | }; | 34 | }; |
| 45 | 35 | ||
| 46 | //============================================================================== | 36 | //============================================================================== |
| @@ -99,6 +89,22 @@ namespace platform | |||
| 99 | return 0; | 89 | return 0; |
| 100 | } | 90 | } |
| 101 | 91 | ||
| 92 | //============================================================================ | ||
| 93 | /// | ||
| 94 | /// \ingroup cpp_kodi_platform | ||
| 95 | /// @brief request the android main class name e.g. org.xbmc.kodi. | ||
| 96 | /// | ||
| 97 | /// @param[in]: | ||
| 98 | /// @return package class name | ||
| 99 | /// | ||
| 100 | inline std::string GetClassName() | ||
| 101 | { | ||
| 102 | if (m_interface) | ||
| 103 | return m_interface->get_class_name(); | ||
| 104 | |||
| 105 | return std::string(); | ||
| 106 | } | ||
| 107 | |||
| 102 | private: | 108 | private: |
| 103 | AddonToKodiFuncTable_android_system *m_interface; | 109 | AddonToKodiFuncTable_android_system *m_interface; |
| 104 | }; | 110 | }; |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/tools/DllHelper.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/tools/DllHelper.h index 232f67d..1ae1a0e 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/tools/DllHelper.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/tools/DllHelper.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with Kodi; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include <string> | 11 | #include <string> |
| 23 | #include <kodi/AddonBase.h> | 12 | #include <kodi/AddonBase.h> |
| 24 | 13 | ||
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h index b61cb35..227717c 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2016-2017 Team KODI | 2 | * Copyright (C) 2016-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with KODI; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include <string.h> | 11 | #include <string.h> |
| 23 | 12 | ||
| 24 | #define STR_HELPER(x) #x | 13 | #define STR_HELPER(x) #x |
| @@ -86,8 +75,8 @@ | |||
| 86 | #define ADDON_INSTANCE_VERSION_AUDIOENCODER_XML_ID "kodi.binary.instance.audioencoder" | 75 | #define ADDON_INSTANCE_VERSION_AUDIOENCODER_XML_ID "kodi.binary.instance.audioencoder" |
| 87 | #define ADDON_INSTANCE_VERSION_AUDIOENCODER_DEPENDS "addon-instance/AudioEncoder.h" | 76 | #define ADDON_INSTANCE_VERSION_AUDIOENCODER_DEPENDS "addon-instance/AudioEncoder.h" |
| 88 | 77 | ||
| 89 | #define ADDON_INSTANCE_VERSION_GAME "1.0.36" | 78 | #define ADDON_INSTANCE_VERSION_GAME "1.0.38" |
| 90 | #define ADDON_INSTANCE_VERSION_GAME_MIN "1.0.36" | 79 | #define ADDON_INSTANCE_VERSION_GAME_MIN "1.0.38" |
| 91 | #define ADDON_INSTANCE_VERSION_GAME_XML_ID "kodi.binary.instance.game" | 80 | #define ADDON_INSTANCE_VERSION_GAME_XML_ID "kodi.binary.instance.game" |
| 92 | #define ADDON_INSTANCE_VERSION_GAME_DEPENDS "kodi_game_dll.h" \ | 81 | #define ADDON_INSTANCE_VERSION_GAME_DEPENDS "kodi_game_dll.h" \ |
| 93 | "kodi_game_types.h" \ | 82 | "kodi_game_types.h" \ |
| @@ -98,8 +87,8 @@ | |||
| 98 | #define ADDON_INSTANCE_VERSION_IMAGEDECODER_XML_ID "kodi.binary.instance.imagedecoder" | 87 | #define ADDON_INSTANCE_VERSION_IMAGEDECODER_XML_ID "kodi.binary.instance.imagedecoder" |
| 99 | #define ADDON_INSTANCE_VERSION_IMAGEDECODER_DEPENDS "addon-instance/ImageDecoder.h" | 88 | #define ADDON_INSTANCE_VERSION_IMAGEDECODER_DEPENDS "addon-instance/ImageDecoder.h" |
| 100 | 89 | ||
| 101 | #define ADDON_INSTANCE_VERSION_INPUTSTREAM "2.0.6" | 90 | #define ADDON_INSTANCE_VERSION_INPUTSTREAM "2.0.7" |
| 102 | #define ADDON_INSTANCE_VERSION_INPUTSTREAM_MIN "2.0.6" | 91 | #define ADDON_INSTANCE_VERSION_INPUTSTREAM_MIN "2.0.7" |
| 103 | #define ADDON_INSTANCE_VERSION_INPUTSTREAM_XML_ID "kodi.binary.instance.inputstream" | 92 | #define ADDON_INSTANCE_VERSION_INPUTSTREAM_XML_ID "kodi.binary.instance.inputstream" |
| 104 | #define ADDON_INSTANCE_VERSION_INPUTSTREAM_DEPENDS "addon-instance/Inputstream.h" | 93 | #define ADDON_INSTANCE_VERSION_INPUTSTREAM_DEPENDS "addon-instance/Inputstream.h" |
| 105 | 94 | ||
| @@ -109,8 +98,8 @@ | |||
| 109 | #define ADDON_INSTANCE_VERSION_PERIPHERAL_DEPENDS "addon-instance/Peripheral.h" \ | 98 | #define ADDON_INSTANCE_VERSION_PERIPHERAL_DEPENDS "addon-instance/Peripheral.h" \ |
| 110 | "addon-instance/PeripheralUtils.h" | 99 | "addon-instance/PeripheralUtils.h" |
| 111 | 100 | ||
| 112 | #define ADDON_INSTANCE_VERSION_PVR "5.9.0" | 101 | #define ADDON_INSTANCE_VERSION_PVR "5.10.1" |
| 113 | #define ADDON_INSTANCE_VERSION_PVR_MIN "5.9.0" | 102 | #define ADDON_INSTANCE_VERSION_PVR_MIN "5.10.0" |
| 114 | #define ADDON_INSTANCE_VERSION_PVR_XML_ID "kodi.binary.instance.pvr" | 103 | #define ADDON_INSTANCE_VERSION_PVR_XML_ID "kodi.binary.instance.pvr" |
| 115 | #define ADDON_INSTANCE_VERSION_PVR_DEPENDS "xbmc_pvr_dll.h" \ | 104 | #define ADDON_INSTANCE_VERSION_PVR_DEPENDS "xbmc_pvr_dll.h" \ |
| 116 | "xbmc_pvr_types.h" \ | 105 | "xbmc_pvr_types.h" \ |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_dll.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_dll.h index f8247d9..e9e7d9a 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_dll.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_dll.h | |||
| @@ -1,25 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* | 1 | /* |
| 4 | * Copyright (C) 2005-2015 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 5 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 6 | * | ||
| 7 | * This Program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License as published by | ||
| 9 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 10 | * any later version. | ||
| 11 | * | ||
| 12 | * This Program is distributed in the hope that it will be useful, | ||
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with Kodi; see the file COPYING. If not, see | ||
| 19 | * <http://www.gnu.org/licenses/>. | ||
| 20 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 21 | */ | 7 | */ |
| 22 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 23 | #include "AddonBase.h" | 11 | #include "AddonBase.h" |
| 24 | 12 | ||
| 25 | #ifdef __cplusplus | 13 | #ifdef __cplusplus |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_types.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_types.h index d1e7a50..bfd85c2 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_types.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_types.h | |||
| @@ -1,23 +1,11 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* | 1 | /* |
| 4 | * Copyright (C) 2005-2015 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 5 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 6 | * | ||
| 7 | * This Program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License as published by | ||
| 9 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 10 | * any later version. | ||
| 11 | * | ||
| 12 | * This Program is distributed in the hope that it will be useful, | ||
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with Kodi; see the file COPYING. If not, see | ||
| 19 | * <http://www.gnu.org/licenses/>. | ||
| 20 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 21 | */ | 7 | */ |
| 22 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 23 | #include "AddonBase.h" // compatibility fallback | 11 | #include "AddonBase.h" // compatibility fallback |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_epg_types.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_epg_types.h index c0a900b..7b11ed8 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_epg_types.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_epg_types.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2005-2013 Team XBMC | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with XBMC; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | #include <string.h> | 11 | #include <string.h> |
| 23 | #include <time.h> | 12 | #include <time.h> |
| 24 | 13 | ||
| @@ -56,7 +45,7 @@ | |||
| 56 | #define EPG_EVENT_CONTENTMASK_USERDEFINED 0xF0 | 45 | #define EPG_EVENT_CONTENTMASK_USERDEFINED 0xF0 |
| 57 | //@} | 46 | //@} |
| 58 | 47 | ||
| 59 | /* Set EPGTAG.iGenreType to EPG_GENRE_USE_STRING to transfer genre strings to XBMC */ | 48 | /* Set EPGTAG.iGenreType to EPG_GENRE_USE_STRING to transfer genre strings to Kodi */ |
| 60 | #define EPG_GENRE_USE_STRING 0x100 | 49 | #define EPG_GENRE_USE_STRING 0x100 |
| 61 | 50 | ||
| 62 | /* Separator to use in strings containing different tokens, for example writers, directors, actors of an event. */ | 51 | /* Separator to use in strings containing different tokens, for example writers, directors, actors of an event. */ |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_dll.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_dll.h index d36effa..8c509ac 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_dll.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_dll.h | |||
| @@ -1,25 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* | 1 | /* |
| 4 | * Copyright (C) 2005-2015 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 5 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 6 | * | ||
| 7 | * This Program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License as published by | ||
| 9 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 10 | * any later version. | ||
| 11 | * | ||
| 12 | * This Program is distributed in the hope that it will be useful, | ||
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with Kodi; see the file COPYING. If not, see | ||
| 19 | * <http://www.gnu.org/licenses/>. | ||
| 20 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 21 | */ | 7 | */ |
| 22 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 23 | #include "xbmc_addon_dll.h" | 11 | #include "xbmc_addon_dll.h" |
| 24 | #include "xbmc_pvr_types.h" | 12 | #include "xbmc_pvr_types.h" |
| 25 | 13 | ||
| @@ -35,7 +23,7 @@ extern "C" | |||
| 35 | //@{ | 23 | //@{ |
| 36 | /*! | 24 | /*! |
| 37 | * Get the list of features that this add-on provides. | 25 | * Get the list of features that this add-on provides. |
| 38 | * Called by XBMC to query the add-on's capabilities. | 26 | * Called by Kodi to query the add-on's capabilities. |
| 39 | * Used to check which options should be presented in the UI, which methods to call, etc. | 27 | * Used to check which options should be presented in the UI, which methods to call, etc. |
| 40 | * All capabilities that the add-on supports should be set to true. | 28 | * All capabilities that the add-on supports should be set to true. |
| 41 | * @param pCapabilities The add-on's capabilities. | 29 | * @param pCapabilities The add-on's capabilities. |
| @@ -83,18 +71,19 @@ extern "C" | |||
| 83 | //@} | 71 | //@} |
| 84 | 72 | ||
| 85 | /*! @name PVR EPG methods | 73 | /*! @name PVR EPG methods |
| 86 | * @remarks Only used by XBMC if bSupportsEPG is set to true. | 74 | * @remarks Only used by Kodi if bSupportsEPG is set to true. |
| 87 | */ | 75 | */ |
| 88 | //@{ | 76 | //@{ |
| 89 | /*! | 77 | /*! |
| 90 | * Request the EPG for a channel from the backend. | 78 | * Request the EPG for a channel from the backend. |
| 91 | * EPG entries are added to XBMC by calling TransferEpgEntry() on the callback. | 79 | * EPG entries are added to Kodi by calling TransferEpgEntry() on the callback. |
| 92 | * @param handle Handle to pass to the callback method. | 80 | * @param handle Handle to pass to the callback method. |
| 93 | * @param channel The channel to get the EPG table for. | 81 | * @param channel The channel to get the EPG table for. |
| 94 | * @param iStart Get events after this time (UTC). | 82 | * @param iStart Get events after this time (UTC). |
| 95 | * @param iEnd Get events before this time (UTC). | 83 | * @param iEnd Get events before this time (UTC). |
| 96 | * @return PVR_ERROR_NO_ERROR if the table has been fetched successfully. | 84 | * @return PVR_ERROR_NO_ERROR if the table has been fetched successfully. |
| 97 | * @remarks Required if bSupportsEPG is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 85 | * @remarks Required if bSupportsEPG is set to true. |
| 86 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 98 | */ | 87 | */ |
| 99 | PVR_ERROR GetEPGForChannel(ADDON_HANDLE handle, const PVR_CHANNEL& channel, time_t iStart, time_t iEnd); | 88 | PVR_ERROR GetEPGForChannel(ADDON_HANDLE handle, const PVR_CHANNEL& channel, time_t iStart, time_t iEnd); |
| 100 | 89 | ||
| @@ -112,18 +101,20 @@ extern "C" | |||
| 112 | * @param tag the epg tag to check. | 101 | * @param tag the epg tag to check. |
| 113 | * @param [out] bIsPlayable Set to true if the tag can be played. | 102 | * @param [out] bIsPlayable Set to true if the tag can be played. |
| 114 | * @return PVR_ERROR_NO_ERROR if bIsPlayable has been set successfully. | 103 | * @return PVR_ERROR_NO_ERROR if bIsPlayable has been set successfully. |
| 115 | * @remarks Required if add-on supports playing epg tags. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 104 | * @remarks Required if add-on supports playing epg tags. |
| 105 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 116 | */ | 106 | */ |
| 117 | PVR_ERROR IsEPGTagPlayable(const EPG_TAG* tag, bool* bIsPlayable); | 107 | PVR_ERROR IsEPGTagPlayable(const EPG_TAG* tag, bool* bIsPlayable); |
| 118 | 108 | ||
| 119 | /*! | 109 | /*! |
| 120 | * Retrieve the edit decision list (EDL) of an EPG tag on the backend. | 110 | * Retrieve the edit decision list (EDL) of an EPG tag on the backend. |
| 121 | * @param epgTag The EPG tag. | 111 | * @param epgTag The EPG tag. |
| 122 | * @param edl out: The function has to write the EDL list into this array. | 112 | * @param edl out: The function has to write the EDL into this array. |
| 123 | * @param size in: The maximum size of the EDL, out: the actual size of the EDL. | 113 | * @param size in: The maximum size of the EDL, out: the actual size of the EDL. |
| 124 | * @return PVR_ERROR_NO_ERROR if the EDL was successfully read. | 114 | * @return PVR_ERROR_NO_ERROR if the EDL was successfully read or no EDL exists. |
| 125 | * @remarks Required if bSupportsEpgEdl is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 115 | * @remarks Required if bSupportsEpgEdl is set to true. |
| 126 | */ | 116 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. |
| 117 | */ | ||
| 127 | PVR_ERROR GetEPGTagEdl(const EPG_TAG* epgTag, PVR_EDL_ENTRY edl[], int *size); | 118 | PVR_ERROR GetEPGTagEdl(const EPG_TAG* epgTag, PVR_EDL_ENTRY edl[], int *size); |
| 128 | 119 | ||
| 129 | /*! | 120 | /*! |
| @@ -132,14 +123,16 @@ extern "C" | |||
| 132 | * @param[inout] properties in: an array for the properties to return, out: the properties required to play the stream. | 123 | * @param[inout] properties in: an array for the properties to return, out: the properties required to play the stream. |
| 133 | * @param[inout] iPropertiesCount in: the size of the properties array, out: the number of properties returned. | 124 | * @param[inout] iPropertiesCount in: the size of the properties array, out: the number of properties returned. |
| 134 | * @return PVR_ERROR_NO_ERROR if the stream is available. | 125 | * @return PVR_ERROR_NO_ERROR if the stream is available. |
| 135 | * @remarks Required if add-on supports playing epg tags. In this case your implementation must fill the property PVR_STREAM_PROPERTY_STREAMURL with the URL Kodi should resolve to playback the epg tag. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 126 | * @remarks Required if add-on supports playing epg tags. |
| 127 | * In this case your implementation must fill the property PVR_STREAM_PROPERTY_STREAMURL with the URL Kodi should resolve to playback the epg tag. | ||
| 128 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 136 | */ | 129 | */ |
| 137 | PVR_ERROR GetEPGTagStreamProperties(const EPG_TAG* tag, PVR_NAMED_VALUE* properties, unsigned int* iPropertiesCount); | 130 | PVR_ERROR GetEPGTagStreamProperties(const EPG_TAG* tag, PVR_NAMED_VALUE* properties, unsigned int* iPropertiesCount); |
| 138 | 131 | ||
| 139 | //@} | 132 | //@} |
| 140 | 133 | ||
| 141 | /*! @name PVR channel group methods | 134 | /*! @name PVR channel group methods |
| 142 | * @remarks Only used by XBMC is bSupportsChannelGroups is set to true. | 135 | * @remarks Only used by Kodi if bSupportsChannelGroups is set to true. |
| 143 | * If a group or one of the group members changes after the initial import, or if a new one was added, then the add-on | 136 | * If a group or one of the group members changes after the initial import, or if a new one was added, then the add-on |
| 144 | * should call TriggerChannelGroupsUpdate() | 137 | * should call TriggerChannelGroupsUpdate() |
| 145 | */ | 138 | */ |
| @@ -147,27 +140,30 @@ extern "C" | |||
| 147 | /*! | 140 | /*! |
| 148 | * Get the total amount of channel groups on the backend if it supports channel groups. | 141 | * Get the total amount of channel groups on the backend if it supports channel groups. |
| 149 | * @return The amount of channels, or -1 on error. | 142 | * @return The amount of channels, or -1 on error. |
| 150 | * @remarks Required if bSupportsChannelGroups is set to true. Return -1 if this add-on won't provide this function. | 143 | * @remarks Required if bSupportsChannelGroups is set to true. |
| 144 | * Return -1 if this add-on won't provide this function. | ||
| 151 | */ | 145 | */ |
| 152 | int GetChannelGroupsAmount(void); | 146 | int GetChannelGroupsAmount(void); |
| 153 | 147 | ||
| 154 | /*! | 148 | /*! |
| 155 | * Request the list of all channel groups from the backend if it supports channel groups. | 149 | * Request the list of all channel groups from the backend if it supports channel groups. |
| 156 | * Channel group entries are added to XBMC by calling TransferChannelGroup() on the callback. | 150 | * Channel group entries are added to Kodi by calling TransferChannelGroup() on the callback. |
| 157 | * @param handle Handle to pass to the callback method. | 151 | * @param handle Handle to pass to the callback method. |
| 158 | * @param bRadio True to get the radio channel groups, false to get the TV channel groups. | 152 | * @param bRadio True to get the radio channel groups, false to get the TV channel groups. |
| 159 | * @return PVR_ERROR_NO_ERROR if the list has been fetched successfully. | 153 | * @return PVR_ERROR_NO_ERROR if the list has been fetched successfully. |
| 160 | * @remarks Required if bSupportsChannelGroups is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 154 | * @remarks Required if bSupportsChannelGroups is set to true. |
| 155 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 161 | */ | 156 | */ |
| 162 | PVR_ERROR GetChannelGroups(ADDON_HANDLE handle, bool bRadio); | 157 | PVR_ERROR GetChannelGroups(ADDON_HANDLE handle, bool bRadio); |
| 163 | 158 | ||
| 164 | /*! | 159 | /*! |
| 165 | * Request the list of all group members of a group from the backend if it supports channel groups. | 160 | * Request the list of all group members of a group from the backend if it supports channel groups. |
| 166 | * Member entries are added to XBMC by calling TransferChannelGroupMember() on the callback. | 161 | * Member entries are added to Kodi by calling TransferChannelGroupMember() on the callback. |
| 167 | * @param handle Handle to pass to the callback method. | 162 | * @param handle Handle to pass to the callback method. |
| 168 | * @param group The group to get the members for. | 163 | * @param group The group to get the members for. |
| 169 | * @return PVR_ERROR_NO_ERROR if the list has been fetched successfully. | 164 | * @return PVR_ERROR_NO_ERROR if the list has been fetched successfully. |
| 170 | * @remarks Required if bSupportsChannelGroups is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 165 | * @remarks Required if bSupportsChannelGroups is set to true. |
| 166 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 171 | */ | 167 | */ |
| 172 | PVR_ERROR GetChannelGroupMembers(ADDON_HANDLE handle, const PVR_CHANNEL_GROUP& group); | 168 | PVR_ERROR GetChannelGroupMembers(ADDON_HANDLE handle, const PVR_CHANNEL_GROUP& group); |
| 173 | //@} | 169 | //@} |
| @@ -181,20 +177,21 @@ extern "C" | |||
| 181 | /*! | 177 | /*! |
| 182 | * Show the channel scan dialog if this backend supports it. | 178 | * Show the channel scan dialog if this backend supports it. |
| 183 | * @return PVR_ERROR_NO_ERROR if the dialog was displayed successfully. | 179 | * @return PVR_ERROR_NO_ERROR if the dialog was displayed successfully. |
| 184 | * @remarks Required if bSupportsChannelScan is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 180 | * @remarks Required if bSupportsChannelScan is set to true. |
| 181 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 185 | * @note see libKODI_guilib.h about related parts | 182 | * @note see libKODI_guilib.h about related parts |
| 186 | */ | 183 | */ |
| 187 | PVR_ERROR OpenDialogChannelScan(void); | 184 | PVR_ERROR OpenDialogChannelScan(void); |
| 188 | 185 | ||
| 189 | /*! | 186 | /*! |
| 190 | * @return The total amount of channels on the backend, or -1 on error. | 187 | * @return The total amount of channels on the backend, or -1 on error. |
| 191 | * @remarks Valid implementation required. | 188 | * @remarks Valid implementation required. |
| 192 | */ | 189 | */ |
| 193 | int GetChannelsAmount(void); | 190 | int GetChannelsAmount(void); |
| 194 | 191 | ||
| 195 | /*! | 192 | /*! |
| 196 | * Request the list of all channels from the backend. | 193 | * Request the list of all channels from the backend. |
| 197 | * Channel entries are added to XBMC by calling TransferChannelEntry() on the callback. | 194 | * Channel entries are added to Kodi by calling TransferChannelEntry() on the callback. |
| 198 | * @param handle Handle to pass to the callback method. | 195 | * @param handle Handle to pass to the callback method. |
| 199 | * @param bRadio True to get the radio channels, false to get the TV channels. | 196 | * @param bRadio True to get the radio channels, false to get the TV channels. |
| 200 | * @return PVR_ERROR_NO_ERROR if the list has been fetched successfully. | 197 | * @return PVR_ERROR_NO_ERROR if the list has been fetched successfully. |
| @@ -216,7 +213,8 @@ extern "C" | |||
| 216 | * Rename a channel on the backend. | 213 | * Rename a channel on the backend. |
| 217 | * @param channel The channel to rename, containing the new channel name. | 214 | * @param channel The channel to rename, containing the new channel name. |
| 218 | * @return PVR_ERROR_NO_ERROR if the channel has been renamed successfully. | 215 | * @return PVR_ERROR_NO_ERROR if the channel has been renamed successfully. |
| 219 | * @remarks Optional, and only used if bSupportsChannelSettings is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 216 | * @remarks Optional, and only used if bSupportsChannelSettings is set to true. |
| 217 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 220 | */ | 218 | */ |
| 221 | PVR_ERROR RenameChannel(const PVR_CHANNEL& channel); | 219 | PVR_ERROR RenameChannel(const PVR_CHANNEL& channel); |
| 222 | 220 | ||
| @@ -240,7 +238,7 @@ extern "C" | |||
| 240 | //@} | 238 | //@} |
| 241 | 239 | ||
| 242 | /** @name PVR recording methods | 240 | /** @name PVR recording methods |
| 243 | * @remarks Only used by XBMC is bSupportsRecordings is set to true. | 241 | * @remarks Only used by Kodi if bSupportsRecordings is set to true. |
| 244 | * If a recording changes after the initial import, or if a new one was added, | 242 | * If a recording changes after the initial import, or if a new one was added, |
| 245 | * then the add-on should call TriggerRecordingUpdate() | 243 | * then the add-on should call TriggerRecordingUpdate() |
| 246 | */ | 244 | */ |
| @@ -254,11 +252,12 @@ extern "C" | |||
| 254 | 252 | ||
| 255 | /*! | 253 | /*! |
| 256 | * Request the list of all recordings from the backend, if supported. | 254 | * Request the list of all recordings from the backend, if supported. |
| 257 | * Recording entries are added to XBMC by calling TransferRecordingEntry() on the callback. | 255 | * Recording entries are added to Kodi by calling TransferRecordingEntry() on the callback. |
| 258 | * @param handle Handle to pass to the callback method. | 256 | * @param handle Handle to pass to the callback method. |
| 259 | * @param deleted if set return deleted recording (called if bSupportsRecordingsUndelete set to true) | 257 | * @param deleted if set return deleted recording (called if bSupportsRecordingsUndelete set to true) |
| 260 | * @return PVR_ERROR_NO_ERROR if the recordings have been fetched successfully. | 258 | * @return PVR_ERROR_NO_ERROR if the recordings have been fetched successfully. |
| 261 | * @remarks Required if bSupportsRecordings is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 259 | * @remarks Required if bSupportsRecordings is set to true. |
| 260 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 262 | */ | 261 | */ |
| 263 | PVR_ERROR GetRecordings(ADDON_HANDLE handle, bool deleted); | 262 | PVR_ERROR GetRecordings(ADDON_HANDLE handle, bool deleted); |
| 264 | 263 | ||
| @@ -266,7 +265,8 @@ extern "C" | |||
| 266 | * Delete a recording on the backend. | 265 | * Delete a recording on the backend. |
| 267 | * @param recording The recording to delete. | 266 | * @param recording The recording to delete. |
| 268 | * @return PVR_ERROR_NO_ERROR if the recording has been deleted successfully. | 267 | * @return PVR_ERROR_NO_ERROR if the recording has been deleted successfully. |
| 269 | * @remarks Optional, and only used if bSupportsRecordings is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 268 | * @remarks Optional, and only used if bSupportsRecordings is set to true. |
| 269 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 270 | */ | 270 | */ |
| 271 | PVR_ERROR DeleteRecording(const PVR_RECORDING& recording); | 271 | PVR_ERROR DeleteRecording(const PVR_RECORDING& recording); |
| 272 | 272 | ||
| @@ -274,7 +274,8 @@ extern "C" | |||
| 274 | * Undelete a recording on the backend. | 274 | * Undelete a recording on the backend. |
| 275 | * @param recording The recording to undelete. | 275 | * @param recording The recording to undelete. |
| 276 | * @return PVR_ERROR_NO_ERROR if the recording has been undeleted successfully. | 276 | * @return PVR_ERROR_NO_ERROR if the recording has been undeleted successfully. |
| 277 | * @remarks Optional, and only used if bSupportsRecordingsUndelete is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 277 | * @remarks Optional, and only used if bSupportsRecordingsUndelete is set to true. |
| 278 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 278 | */ | 279 | */ |
| 279 | PVR_ERROR UndeleteRecording(const PVR_RECORDING& recording); | 280 | PVR_ERROR UndeleteRecording(const PVR_RECORDING& recording); |
| 280 | 281 | ||
| @@ -288,7 +289,8 @@ extern "C" | |||
| 288 | * Rename a recording on the backend. | 289 | * Rename a recording on the backend. |
| 289 | * @param recording The recording to rename, containing the new name. | 290 | * @param recording The recording to rename, containing the new name. |
| 290 | * @return PVR_ERROR_NO_ERROR if the recording has been renamed successfully. | 291 | * @return PVR_ERROR_NO_ERROR if the recording has been renamed successfully. |
| 291 | * @remarks Optional, and only used if bSupportsRecordings is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 292 | * @remarks Optional, and only used if bSupportsRecordings is set to true. |
| 293 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 292 | */ | 294 | */ |
| 293 | PVR_ERROR RenameRecording(const PVR_RECORDING& recording); | 295 | PVR_ERROR RenameRecording(const PVR_RECORDING& recording); |
| 294 | 296 | ||
| @@ -296,7 +298,8 @@ extern "C" | |||
| 296 | * Set the lifetime of a recording on the backend. | 298 | * Set the lifetime of a recording on the backend. |
| 297 | * @param recording The recording to change the lifetime for. recording.iLifetime contains the new lieftime value. | 299 | * @param recording The recording to change the lifetime for. recording.iLifetime contains the new lieftime value. |
| 298 | * @return PVR_ERROR_NO_ERROR if the recording's lifetime has been set successfully. | 300 | * @return PVR_ERROR_NO_ERROR if the recording's lifetime has been set successfully. |
| 299 | * @remarks Required if bSupportsRecordingsLifetimeChange is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 301 | * @remarks Required if bSupportsRecordingsLifetimeChange is set to true. |
| 302 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 300 | */ | 303 | */ |
| 301 | PVR_ERROR SetRecordingLifetime(const PVR_RECORDING* recording); | 304 | PVR_ERROR SetRecordingLifetime(const PVR_RECORDING* recording); |
| 302 | 305 | ||
| @@ -305,49 +308,54 @@ extern "C" | |||
| 305 | * @param recording The recording to change the play count. | 308 | * @param recording The recording to change the play count. |
| 306 | * @param count Play count. | 309 | * @param count Play count. |
| 307 | * @return PVR_ERROR_NO_ERROR if the recording's play count has been set successfully. | 310 | * @return PVR_ERROR_NO_ERROR if the recording's play count has been set successfully. |
| 308 | * @remarks Required if bSupportsRecordingPlayCount is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 311 | * @remarks Required if bSupportsRecordingPlayCount is set to true. |
| 312 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 309 | */ | 313 | */ |
| 310 | PVR_ERROR SetRecordingPlayCount(const PVR_RECORDING& recording, int count); | 314 | PVR_ERROR SetRecordingPlayCount(const PVR_RECORDING& recording, int count); |
| 311 | 315 | ||
| 312 | /*! | 316 | /*! |
| 313 | * Set the last watched position of a recording on the backend. | 317 | * Set the last watched position of a recording on the backend. |
| 314 | * @param recording The recording. | 318 | * @param recording The recording. |
| 315 | * @param position The last watched position in seconds | 319 | * @param position The last watched position in seconds |
| 316 | * @return PVR_ERROR_NO_ERROR if the position has been stored successfully. | 320 | * @return PVR_ERROR_NO_ERROR if the position has been stored successfully. |
| 317 | * @remarks Required if bSupportsLastPlayedPosition is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 321 | * @remarks Required if bSupportsLastPlayedPosition is set to true. |
| 318 | */ | 322 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. |
| 323 | */ | ||
| 319 | PVR_ERROR SetRecordingLastPlayedPosition(const PVR_RECORDING& recording, int lastplayedposition); | 324 | PVR_ERROR SetRecordingLastPlayedPosition(const PVR_RECORDING& recording, int lastplayedposition); |
| 320 | 325 | ||
| 321 | /*! | 326 | /*! |
| 322 | * Retrieve the last watched position of a recording on the backend. | 327 | * Retrieve the last watched position of a recording on the backend. |
| 323 | * @param recording The recording. | 328 | * @param recording The recording. |
| 324 | * @return The last watched position in seconds or -1 on error | 329 | * @return The last watched position in seconds or -1 on error |
| 325 | * @remarks Required if bSupportsRecordingPlayCount is set to true. Return -1 if this add-on won't provide this function. | 330 | * @remarks Required if bSupportsRecordingPlayCount is set to true. |
| 326 | */ | 331 | * Return -1 if this add-on won't provide this function. |
| 332 | */ | ||
| 327 | int GetRecordingLastPlayedPosition(const PVR_RECORDING& recording); | 333 | int GetRecordingLastPlayedPosition(const PVR_RECORDING& recording); |
| 328 | 334 | ||
| 329 | /*! | 335 | /*! |
| 330 | * Retrieve the edit decision list (EDL) of a recording on the backend. | 336 | * Retrieve the edit decision list (EDL) of a recording on the backend. |
| 331 | * @param recording The recording. | 337 | * @param recording The recording. |
| 332 | * @param edl out: The function has to write the EDL list into this array. | 338 | * @param edl out: The function has to write the EDL into this array. |
| 333 | * @param size in: The maximum size of the EDL, out: the actual size of the EDL. | 339 | * @param size in: The maximum size of the EDL, out: the actual size of the EDL. |
| 334 | * @return PVR_ERROR_NO_ERROR if the EDL was successfully read. | 340 | * @return PVR_ERROR_NO_ERROR if the EDL was successfully read or no EDL exists. |
| 335 | * @remarks Required if bSupportsRecordingEdl is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 341 | * @remarks Required if bSupportsRecordingEdl is set to true. |
| 336 | */ | 342 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. |
| 343 | */ | ||
| 337 | PVR_ERROR GetRecordingEdl(const PVR_RECORDING& recording, PVR_EDL_ENTRY edl[], int *size); | 344 | PVR_ERROR GetRecordingEdl(const PVR_RECORDING& recording, PVR_EDL_ENTRY edl[], int *size); |
| 338 | 345 | ||
| 339 | /*! | 346 | /*! |
| 340 | * Retrieve the timer types supported by the backend. | 347 | * Retrieve the timer types supported by the backend. |
| 341 | * @param types out: The function has to write the definition of the supported timer types into this array. | 348 | * @param types out: The function has to write the definition of the supported timer types into this array. |
| 342 | * @param typesCount in: The maximum size of the list, out: the actual size of the list. default: PVR_ADDON_TIMERTYPE_ARRAY_SIZE | 349 | * @param typesCount in: The maximum size of the list, out: the actual size of the list. default: PVR_ADDON_TIMERTYPE_ARRAY_SIZE |
| 343 | * @return PVR_ERROR_NO_ERROR if the types were successfully written to the array. | 350 | * @return PVR_ERROR_NO_ERROR if the types were successfully written to the array. |
| 344 | * @remarks Required if bSupportsTimers is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 351 | * @remarks Required if bSupportsTimers is set to true. |
| 345 | */ | 352 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. |
| 353 | */ | ||
| 346 | PVR_ERROR GetTimerTypes(PVR_TIMER_TYPE types[], int *typesCount); | 354 | PVR_ERROR GetTimerTypes(PVR_TIMER_TYPE types[], int *typesCount); |
| 347 | 355 | ||
| 348 | //@} | 356 | //@} |
| 349 | /** @name PVR timer methods | 357 | /** @name PVR timer methods |
| 350 | * @remarks Only used by XBMC is bSupportsTimers is set to true. | 358 | * @remarks Only used by Kodi if bSupportsTimers is set to true. |
| 351 | * If a timer changes after the initial import, or if a new one was added, | 359 | * If a timer changes after the initial import, or if a new one was added, |
| 352 | * then the add-on should call TriggerTimerUpdate() | 360 | * then the add-on should call TriggerTimerUpdate() |
| 353 | */ | 361 | */ |
| @@ -360,10 +368,11 @@ extern "C" | |||
| 360 | 368 | ||
| 361 | /*! | 369 | /*! |
| 362 | * Request the list of all timers from the backend if supported. | 370 | * Request the list of all timers from the backend if supported. |
| 363 | * Timer entries are added to XBMC by calling TransferTimerEntry() on the callback. | 371 | * Timer entries are added to Kodi by calling TransferTimerEntry() on the callback. |
| 364 | * @param handle Handle to pass to the callback method. | 372 | * @param handle Handle to pass to the callback method. |
| 365 | * @return PVR_ERROR_NO_ERROR if the list has been fetched successfully. | 373 | * @return PVR_ERROR_NO_ERROR if the list has been fetched successfully. |
| 366 | * @remarks Required if bSupportsTimers is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 374 | * @remarks Required if bSupportsTimers is set to true. |
| 375 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 367 | */ | 376 | */ |
| 368 | PVR_ERROR GetTimers(ADDON_HANDLE handle); | 377 | PVR_ERROR GetTimers(ADDON_HANDLE handle); |
| 369 | 378 | ||
| @@ -371,7 +380,8 @@ extern "C" | |||
| 371 | * Add a timer on the backend. | 380 | * Add a timer on the backend. |
| 372 | * @param timer The timer to add. | 381 | * @param timer The timer to add. |
| 373 | * @return PVR_ERROR_NO_ERROR if the timer has been added successfully. | 382 | * @return PVR_ERROR_NO_ERROR if the timer has been added successfully. |
| 374 | * @remarks Required if bSupportsTimers is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 383 | * @remarks Required if bSupportsTimers is set to true. |
| 384 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 375 | */ | 385 | */ |
| 376 | PVR_ERROR AddTimer(const PVR_TIMER& timer); | 386 | PVR_ERROR AddTimer(const PVR_TIMER& timer); |
| 377 | 387 | ||
| @@ -380,7 +390,8 @@ extern "C" | |||
| 380 | * @param timer The timer to delete. | 390 | * @param timer The timer to delete. |
| 381 | * @param bForceDelete Set to true to delete a timer that is currently recording a program. | 391 | * @param bForceDelete Set to true to delete a timer that is currently recording a program. |
| 382 | * @return PVR_ERROR_NO_ERROR if the timer has been deleted successfully. | 392 | * @return PVR_ERROR_NO_ERROR if the timer has been deleted successfully. |
| 383 | * @remarks Required if bSupportsTimers is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 393 | * @remarks Required if bSupportsTimers is set to true. |
| 394 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 384 | */ | 395 | */ |
| 385 | PVR_ERROR DeleteTimer(const PVR_TIMER& timer, bool bForceDelete); | 396 | PVR_ERROR DeleteTimer(const PVR_TIMER& timer, bool bForceDelete); |
| 386 | 397 | ||
| @@ -388,7 +399,8 @@ extern "C" | |||
| 388 | * Update the timer information on the backend. | 399 | * Update the timer information on the backend. |
| 389 | * @param timer The timer to update. | 400 | * @param timer The timer to update. |
| 390 | * @return PVR_ERROR_NO_ERROR if the timer has been updated successfully. | 401 | * @return PVR_ERROR_NO_ERROR if the timer has been updated successfully. |
| 391 | * @remarks Required if bSupportsTimers is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 402 | * @remarks Required if bSupportsTimers is set to true. |
| 403 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 392 | */ | 404 | */ |
| 393 | PVR_ERROR UpdateTimer(const PVR_TIMER& timer); | 405 | PVR_ERROR UpdateTimer(const PVR_TIMER& timer); |
| 394 | 406 | ||
| @@ -400,7 +412,8 @@ extern "C" | |||
| 400 | * Open a live stream on the backend. | 412 | * Open a live stream on the backend. |
| 401 | * @param channel The channel to stream. | 413 | * @param channel The channel to stream. |
| 402 | * @return True if the stream has been opened successfully, false otherwise. | 414 | * @return True if the stream has been opened successfully, false otherwise. |
| 403 | * @remarks Required if bHandlesInputStream or bHandlesDemuxing is set to true. Return false if this add-on won't provide this function. | 415 | * @remarks Required if bHandlesInputStream or bHandlesDemuxing is set to true. |
| 416 | * Return false if this add-on won't provide this function. | ||
| 404 | */ | 417 | */ |
| 405 | bool OpenLiveStream(const PVR_CHANNEL& channel); | 418 | bool OpenLiveStream(const PVR_CHANNEL& channel); |
| 406 | 419 | ||
| @@ -415,7 +428,8 @@ extern "C" | |||
| 415 | * @param pBuffer The buffer to store the data in. | 428 | * @param pBuffer The buffer to store the data in. |
| 416 | * @param iBufferSize The amount of bytes to read. | 429 | * @param iBufferSize The amount of bytes to read. |
| 417 | * @return The amount of bytes that were actually read from the stream. | 430 | * @return The amount of bytes that were actually read from the stream. |
| 418 | * @remarks Required if bHandlesInputStream is set to true. Return -1 if this add-on won't provide this function. | 431 | * @remarks Required if bHandlesInputStream is set to true. |
| 432 | * Return -1 if this add-on won't provide this function. | ||
| 419 | */ | 433 | */ |
| 420 | int ReadLiveStream(unsigned char* pBuffer, unsigned int iBufferSize); | 434 | int ReadLiveStream(unsigned char* pBuffer, unsigned int iBufferSize); |
| 421 | 435 | ||
| @@ -424,29 +438,34 @@ extern "C" | |||
| 424 | * @param iPosition The position to seek to. | 438 | * @param iPosition The position to seek to. |
| 425 | * @param iWhence ? | 439 | * @param iWhence ? |
| 426 | * @return The new position. | 440 | * @return The new position. |
| 427 | * @remarks Optional, and only used if bHandlesInputStream is set to true. Return -1 if this add-on won't provide this function. | 441 | * @remarks Optional, and only used if bHandlesInputStream is set to true. |
| 442 | * Return -1 if this add-on won't provide this function. | ||
| 428 | */ | 443 | */ |
| 429 | long long SeekLiveStream(long long iPosition, int iWhence = SEEK_SET); | 444 | long long SeekLiveStream(long long iPosition, int iWhence = SEEK_SET); |
| 430 | 445 | ||
| 431 | /*! | 446 | /*! |
| 447 | * Obtain the length of a live stream. | ||
| 432 | * @return The total length of the stream that's currently being read. | 448 | * @return The total length of the stream that's currently being read. |
| 433 | * @remarks Optional, and only used if bHandlesInputStream is set to true. Return -1 if this add-on won't provide this function. | 449 | * @remarks Optional, and only used if bHandlesInputStream is set to true. |
| 450 | * Return -1 if this add-on won't provide this function. | ||
| 434 | */ | 451 | */ |
| 435 | long long LengthLiveStream(void); | 452 | long long LengthLiveStream(void); |
| 436 | 453 | ||
| 437 | /*! | 454 | /*! |
| 438 | * Get the signal status of the stream that's currently open. | 455 | * Get the signal status of the stream that's currently open. |
| 439 | * @param signalStatus The signal status. | 456 | * @param signalStatus The signal status. |
| 440 | * @return True if the signal status has been read successfully, false otherwise. | 457 | * @return PVR_ERROR_NO_ERROR if the signal status has been read successfully, false otherwise. |
| 441 | * @remarks Optional, and only used if PVR_ADDON_CAPABILITIES::bHandlesInputStream or PVR_ADDON_CAPABILITIES::bHandlesDemuxing is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 458 | * @remarks Optional, and only used if PVR_ADDON_CAPABILITIES::bHandlesInputStream or PVR_ADDON_CAPABILITIES::bHandlesDemuxing is set to true. |
| 459 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 442 | */ | 460 | */ |
| 443 | PVR_ERROR SignalStatus(PVR_SIGNAL_STATUS& signalStatus); | 461 | PVR_ERROR SignalStatus(PVR_SIGNAL_STATUS& signalStatus); |
| 444 | 462 | ||
| 445 | /*! | 463 | /*! |
| 446 | * Get the descramble information of the stream that's currently open. | 464 | * Get the descramble information of the stream that's currently open. |
| 447 | * @param[out] descrambleInfo The descramble information. | 465 | * @param [out] descrambleInfo The descramble information. |
| 448 | * @return True if the decramble information has been read successfully, false otherwise. | 466 | * @return PVR_ERROR_NO_ERROR if the descramble information has been read successfully, false otherwise. |
| 449 | * @remarks Optional, and only used if PVR_ADDON_CAPABILITIES::bSupportsDescrambleInfo is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 467 | * @remarks Optional, and only used if PVR_ADDON_CAPABILITIES::bSupportsDescrambleInfo is set to true. |
| 468 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 450 | */ | 469 | */ |
| 451 | PVR_ERROR GetDescrambleInfo(PVR_DESCRAMBLE_INFO* descrambleInfo); | 470 | PVR_ERROR GetDescrambleInfo(PVR_DESCRAMBLE_INFO* descrambleInfo); |
| 452 | 471 | ||
| @@ -456,7 +475,9 @@ extern "C" | |||
| 456 | * @param[inout] properties in: an array for the properties to return, out: the properties required to play the stream. | 475 | * @param[inout] properties in: an array for the properties to return, out: the properties required to play the stream. |
| 457 | * @param[inout] iPropertiesCount in: the size of the properties array, out: the number of properties returned. | 476 | * @param[inout] iPropertiesCount in: the size of the properties array, out: the number of properties returned. |
| 458 | * @return PVR_ERROR_NO_ERROR if the stream is available. | 477 | * @return PVR_ERROR_NO_ERROR if the stream is available. |
| 459 | * @remarks Required if PVR_ADDON_CAPABILITIES::bSupportsTV or PVR_ADDON_CAPABILITIES::bSupportsRadio are set to true and PVR_ADDON_CAPABILITIES::bHandlesInputStream is set to false. In this case the implementation must fill the property PVR_STREAM_PROPERTY_STREAMURL with the URL Kodi should resolve to playback the channel. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 478 | * @remarks Required if PVR_ADDON_CAPABILITIES::bSupportsTV or PVR_ADDON_CAPABILITIES::bSupportsRadio are set to true and PVR_ADDON_CAPABILITIES::bHandlesInputStream is set to false. |
| 479 | * In this case the implementation must fill the property PVR_STREAM_PROPERTY_STREAMURL with the URL Kodi should resolve to playback the channel. | ||
| 480 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 460 | */ | 481 | */ |
| 461 | PVR_ERROR GetChannelStreamProperties(const PVR_CHANNEL* channel, PVR_NAMED_VALUE* properties, unsigned int* iPropertiesCount); | 482 | PVR_ERROR GetChannelStreamProperties(const PVR_CHANNEL* channel, PVR_NAMED_VALUE* properties, unsigned int* iPropertiesCount); |
| 462 | 483 | ||
| @@ -466,7 +487,9 @@ extern "C" | |||
| 466 | * @param[inout] properties in: an array for the properties to return, out: the properties required to play the stream. | 487 | * @param[inout] properties in: an array for the properties to return, out: the properties required to play the stream. |
| 467 | * @param[inout] iPropertiesCount in: the size of the properties array, out: the number of properties returned. | 488 | * @param[inout] iPropertiesCount in: the size of the properties array, out: the number of properties returned. |
| 468 | * @return PVR_ERROR_NO_ERROR if the stream is available. | 489 | * @return PVR_ERROR_NO_ERROR if the stream is available. |
| 469 | * @remarks Required if PVR_ADDON_CAPABILITIES::bSupportsRecordings is set to true and the add-on does not implement recording stream functions (OpenRecordedStream, ...). In this case your implementation must fill the property PVR_STREAM_PROPERTY_STREAMURL with the URL Kodi should resolve to playback the recording. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 490 | * @remarks Required if PVR_ADDON_CAPABILITIES::bSupportsRecordings is set to true and the add-on does not implement recording stream functions (OpenRecordedStream, ...). |
| 491 | * In this case your implementation must fill the property PVR_STREAM_PROPERTY_STREAMURL with the URL Kodi should resolve to playback the recording. | ||
| 492 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 470 | */ | 493 | */ |
| 471 | PVR_ERROR GetRecordingStreamProperties(const PVR_RECORDING* recording, PVR_NAMED_VALUE* properties, unsigned int* iPropertiesCount); | 494 | PVR_ERROR GetRecordingStreamProperties(const PVR_RECORDING* recording, PVR_NAMED_VALUE* properties, unsigned int* iPropertiesCount); |
| 472 | 495 | ||
| @@ -474,7 +497,8 @@ extern "C" | |||
| 474 | * Get the stream properties of the stream that's currently being read. | 497 | * Get the stream properties of the stream that's currently being read. |
| 475 | * @param pProperties The properties of the currently playing stream. | 498 | * @param pProperties The properties of the currently playing stream. |
| 476 | * @return PVR_ERROR_NO_ERROR if the properties have been fetched successfully. | 499 | * @return PVR_ERROR_NO_ERROR if the properties have been fetched successfully. |
| 477 | * @remarks Required if bHandlesInputStream or bHandlesDemuxing is set to true. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | 500 | * @remarks Required if bHandlesInputStream or bHandlesDemuxing is set to true. |
| 501 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. | ||
| 478 | */ | 502 | */ |
| 479 | PVR_ERROR GetStreamProperties(PVR_STREAM_PROPERTIES* pProperties); | 503 | PVR_ERROR GetStreamProperties(PVR_STREAM_PROPERTIES* pProperties); |
| 480 | //@} | 504 | //@} |
| @@ -484,10 +508,22 @@ extern "C" | |||
| 484 | */ | 508 | */ |
| 485 | //@{ | 509 | //@{ |
| 486 | /*! | 510 | /*! |
| 511 | * Obtain the chunk size to use when reading streams. | ||
| 512 | * @param chunksize must be filled with the chunk size in bytes. | ||
| 513 | * @return PVR_ERROR_NO_ERROR if the chunk size has been fetched successfully. | ||
| 514 | * @remarks Optional, and only used if not reading from demuxer (=> DemuxRead) and | ||
| 515 | * PVR_ADDON_CAPABILITIES::bSupportsRecordings is true (=> ReadRecordedStream) or | ||
| 516 | * PVR_ADDON_CAPABILITIES::bHandlesInputStream is true (=> ReadLiveStream). | ||
| 517 | * Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function. In this case Kodi will decide on the chunk size to use. | ||
| 518 | */ | ||
| 519 | PVR_ERROR GetStreamReadChunkSize(int* chunksize); | ||
| 520 | |||
| 521 | /*! | ||
| 487 | * Open a stream to a recording on the backend. | 522 | * Open a stream to a recording on the backend. |
| 488 | * @param recording The recording to open. | 523 | * @param recording The recording to open. |
| 489 | * @return True if the stream has been opened successfully, false otherwise. | 524 | * @return True if the stream has been opened successfully, false otherwise. |
| 490 | * @remarks Optional, and only used if bSupportsRecordings is set to true. Return false if this add-on won't provide this function. | 525 | * @remarks Optional, and only used if bSupportsRecordings is set to true. |
| 526 | * Return false if this add-on won't provide this function. | ||
| 491 | */ | 527 | */ |
| 492 | bool OpenRecordedStream(const PVR_RECORDING& recording); | 528 | bool OpenRecordedStream(const PVR_RECORDING& recording); |
| 493 | 529 | ||
| @@ -502,7 +538,8 @@ extern "C" | |||
| 502 | * @param pBuffer The buffer to store the data in. | 538 | * @param pBuffer The buffer to store the data in. |
| 503 | * @param iBufferSize The amount of bytes to read. | 539 | * @param iBufferSize The amount of bytes to read. |
| 504 | * @return The amount of bytes that were actually read from the stream. | 540 | * @return The amount of bytes that were actually read from the stream. |
| 505 | * @remarks Optional, and only used if bSupportsRecordings is set to true, but required if OpenRecordedStream() is implemented. Return -1 if this add-on won't provide this function. | 541 | * @remarks Optional, and only used if bSupportsRecordings is set to true, but required if OpenRecordedStream() is implemented. |
| 542 | * Return -1 if this add-on won't provide this function. | ||
| 506 | */ | 543 | */ |
| 507 | int ReadRecordedStream(unsigned char* pBuffer, unsigned int iBufferSize); | 544 | int ReadRecordedStream(unsigned char* pBuffer, unsigned int iBufferSize); |
| 508 | 545 | ||
| @@ -511,19 +548,23 @@ extern "C" | |||
| 511 | * @param iPosition The position to seek to. | 548 | * @param iPosition The position to seek to. |
| 512 | * @param iWhence ? | 549 | * @param iWhence ? |
| 513 | * @return The new position. | 550 | * @return The new position. |
| 514 | * @remarks Optional, and only used if bSupportsRecordings is set to true. Return -1 if this add-on won't provide this function. | 551 | * @remarks Optional, and only used if bSupportsRecordings is set to true. |
| 552 | * Return -1 if this add-on won't provide this function. | ||
| 515 | */ | 553 | */ |
| 516 | long long SeekRecordedStream(long long iPosition, int iWhence = SEEK_SET); | 554 | long long SeekRecordedStream(long long iPosition, int iWhence = SEEK_SET); |
| 517 | 555 | ||
| 518 | /*! | 556 | /*! |
| 557 | * Obtain the length of a recorded stream. | ||
| 519 | * @return The total length of the stream that's currently being read. | 558 | * @return The total length of the stream that's currently being read. |
| 520 | * @remarks Optional, and only used if bSupportsRecordings is set to true. Return -1 if this add-on won't provide this function. | 559 | * @remarks Optional, and only used if bSupportsRecordings is set to true. |
| 560 | * Return -1 if this add-on won't provide this function. | ||
| 521 | */ | 561 | */ |
| 522 | long long LengthRecordedStream(void); | 562 | long long LengthRecordedStream(void); |
| 563 | |||
| 523 | //@} | 564 | //@} |
| 524 | 565 | ||
| 525 | /** @name PVR demultiplexer methods | 566 | /** @name PVR demultiplexer methods |
| 526 | * @remarks Only used by XBMC is bHandlesDemuxing is set to true. | 567 | * @remarks Only used by Kodi if bHandlesDemuxing is set to true. |
| 527 | */ | 568 | */ |
| 528 | //@{ | 569 | //@{ |
| 529 | /*! | 570 | /*! |
| @@ -549,47 +590,49 @@ extern "C" | |||
| 549 | * @return The next packet. | 590 | * @return The next packet. |
| 550 | * If there is no next packet, then the add-on should return the | 591 | * If there is no next packet, then the add-on should return the |
| 551 | * packet created by calling AllocateDemuxPacket(0) on the callback. | 592 | * packet created by calling AllocateDemuxPacket(0) on the callback. |
| 552 | * If the stream changed and XBMC's player needs to be reinitialised, | 593 | * If the stream changed and Kodi's player needs to be reinitialised, |
| 553 | * then, the add-on should call AllocateDemuxPacket(0) on the | 594 | * then, the add-on should call AllocateDemuxPacket(0) on the |
| 554 | * callback, and set the streamid to DMX_SPECIALID_STREAMCHANGE and | 595 | * callback, and set the streamid to DMX_SPECIALID_STREAMCHANGE and |
| 555 | * return the value. | 596 | * return the value. |
| 556 | * The add-on should return NULL if an error occured. | 597 | * The add-on should return NULL if an error occured. |
| 557 | * @remarks Required if bHandlesDemuxing is set to true. Return NULL if this add-on won't provide this function. | 598 | * @remarks Required if bHandlesDemuxing is set to true. |
| 599 | * Return NULL if this add-on won't provide this function. | ||
| 558 | */ | 600 | */ |
| 559 | DemuxPacket* DemuxRead(void); | 601 | DemuxPacket* DemuxRead(void); |
| 560 | //@} | 602 | //@} |
| 561 | 603 | ||
| 562 | /*! | 604 | /*! |
| 563 | * Check if the backend support pausing the currently playing stream | 605 | * Check if the backend support pausing the currently playing stream |
| 564 | * This will enable/disable the pause button in XBMC based on the return value | 606 | * This will enable/disable the pause button in Kodi based on the return value |
| 565 | * @return false if the PVR addon/backend does not support pausing, true if possible | 607 | * @return false if the PVR addon/backend does not support pausing, true if possible |
| 566 | */ | 608 | */ |
| 567 | bool CanPauseStream(); | 609 | bool CanPauseStream(); |
| 568 | 610 | ||
| 569 | /*! | 611 | /*! |
| 570 | * Check if the backend supports seeking for the currently playing stream | 612 | * Check if the backend supports seeking for the currently playing stream |
| 571 | * This will enable/disable the rewind/forward buttons in XBMC based on the return value | 613 | * This will enable/disable the rewind/forward buttons in Kodi based on the return value |
| 572 | * @return false if the PVR addon/backend does not support seeking, true if possible | 614 | * @return false if the PVR addon/backend does not support seeking, true if possible |
| 573 | */ | 615 | */ |
| 574 | bool CanSeekStream(); | 616 | bool CanSeekStream(); |
| 575 | 617 | ||
| 576 | /*! | 618 | /*! |
| 577 | * @brief Notify the pvr addon that XBMC (un)paused the currently playing stream | 619 | * @brief Notify the pvr addon that Kodi (un)paused the currently playing stream |
| 578 | */ | 620 | */ |
| 579 | void PauseStream(bool bPaused); | 621 | void PauseStream(bool bPaused); |
| 580 | 622 | ||
| 581 | /*! | 623 | /*! |
| 582 | * Notify the pvr addon/demuxer that XBMC wishes to seek the stream by time | 624 | * Notify the pvr addon/demuxer that Kodi wishes to seek the stream by time |
| 583 | * @param time The absolute time since stream start | 625 | * @param time The absolute time since stream start |
| 584 | * @param backwards True to seek to keyframe BEFORE time, else AFTER | 626 | * @param backwards True to seek to keyframe BEFORE time, else AFTER |
| 585 | * @param startpts can be updated to point to where display should start | 627 | * @param startpts can be updated to point to where display should start |
| 586 | * @return True if the seek operation was possible | 628 | * @return True if the seek operation was possible |
| 587 | * @remarks Optional, and only used if addon has its own demuxer. Return False if this add-on won't provide this function. | 629 | * @remarks Optional, and only used if addon has its own demuxer. |
| 630 | * Return False if this add-on won't provide this function. | ||
| 588 | */ | 631 | */ |
| 589 | bool SeekTime(double time, bool backwards, double *startpts); | 632 | bool SeekTime(double time, bool backwards, double *startpts); |
| 590 | 633 | ||
| 591 | /*! | 634 | /*! |
| 592 | * Notify the pvr addon/demuxer that XBMC wishes to change playback speed | 635 | * Notify the pvr addon/demuxer that Kodi wishes to change playback speed |
| 593 | * @param speed The requested playback speed | 636 | * @param speed The requested playback speed |
| 594 | * @remarks Optional, and only used if addon has its own demuxer. | 637 | * @remarks Optional, and only used if addon has its own demuxer. |
| 595 | */ | 638 | */ |
| @@ -597,8 +640,7 @@ extern "C" | |||
| 597 | 640 | ||
| 598 | /*! | 641 | /*! |
| 599 | * Get the hostname of the pvr backend server | 642 | * Get the hostname of the pvr backend server |
| 600 | * @return hostname as ip address or alias. If backend does not | 643 | * @return hostname as ip address or alias. If backend does not utilize a server, return empty string. |
| 601 | * utilize a server, return empty string. | ||
| 602 | */ | 644 | */ |
| 603 | const char* GetBackendHostname(); | 645 | const char* GetBackendHostname(); |
| 604 | 646 | ||
| @@ -639,7 +681,7 @@ extern "C" | |||
| 639 | PVR_ERROR GetStreamTimes(PVR_STREAM_TIMES *times); | 681 | PVR_ERROR GetStreamTimes(PVR_STREAM_TIMES *times); |
| 640 | 682 | ||
| 641 | /*! | 683 | /*! |
| 642 | * Called by XBMC to assign the function pointers of this add-on to pClient. | 684 | * Called by Kodi to assign the function pointers of this add-on to pClient. |
| 643 | * @param ptr The struct to assign the function pointers to. | 685 | * @param ptr The struct to assign the function pointers to. |
| 644 | */ | 686 | */ |
| 645 | void __declspec(dllexport) get_addon(void* ptr) | 687 | void __declspec(dllexport) get_addon(void* ptr) |
| @@ -731,5 +773,7 @@ extern "C" | |||
| 731 | pClient->toAddon.OnPowerSavingActivated = OnPowerSavingActivated; | 773 | pClient->toAddon.OnPowerSavingActivated = OnPowerSavingActivated; |
| 732 | pClient->toAddon.OnPowerSavingDeactivated = OnPowerSavingDeactivated; | 774 | pClient->toAddon.OnPowerSavingDeactivated = OnPowerSavingDeactivated; |
| 733 | pClient->toAddon.GetStreamTimes = GetStreamTimes; | 775 | pClient->toAddon.GetStreamTimes = GetStreamTimes; |
| 776 | |||
| 777 | pClient->toAddon.GetStreamReadChunkSize = GetStreamReadChunkSize; | ||
| 734 | }; | 778 | }; |
| 735 | }; | 779 | }; |
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h index 32303d4..2a89fef 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h | |||
| @@ -1,25 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* | 1 | /* |
| 4 | * Copyright (C) 2005-2015 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 5 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 6 | * | ||
| 7 | * This Program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License as published by | ||
| 9 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 10 | * any later version. | ||
| 11 | * | ||
| 12 | * This Program is distributed in the hope that it will be useful, | ||
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with Kodi; see the file COPYING. If not, see | ||
| 19 | * <http://www.gnu.org/licenses/>. | ||
| 20 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 21 | */ | 7 | */ |
| 22 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 23 | #ifndef TARGET_WINDOWS | 11 | #ifndef TARGET_WINDOWS |
| 24 | #ifndef __cdecl | 12 | #ifndef __cdecl |
| 25 | #define __cdecl | 13 | #define __cdecl |
| @@ -36,7 +24,7 @@ | |||
| 36 | #include "xbmc_epg_types.h" | 24 | #include "xbmc_epg_types.h" |
| 37 | 25 | ||
| 38 | /*! @note Define "USE_DEMUX" at compile time if demuxing in the PVR add-on is used. | 26 | /*! @note Define "USE_DEMUX" at compile time if demuxing in the PVR add-on is used. |
| 39 | * Also XBMC's "DVDDemuxPacket.h" file must be in the include path of the add-on, | 27 | * Also, "DVDDemuxPacket.h" file must be in the include path of the add-on, |
| 40 | * and the add-on should set bHandlesDemuxing to true. | 28 | * and the add-on should set bHandlesDemuxing to true. |
| 41 | */ | 29 | */ |
| 42 | #ifdef USE_DEMUX | 30 | #ifdef USE_DEMUX |
| @@ -79,7 +67,8 @@ struct DemuxPacket; | |||
| 79 | #define PVR_STREAM_MAX_PROPERTIES 20 | 67 | #define PVR_STREAM_MAX_PROPERTIES 20 |
| 80 | #define PVR_STREAM_PROPERTY_STREAMURL "streamurl" /*!< @brief the URL of the stream that should be played. */ | 68 | #define PVR_STREAM_PROPERTY_STREAMURL "streamurl" /*!< @brief the URL of the stream that should be played. */ |
| 81 | #define PVR_STREAM_PROPERTY_INPUTSTREAMADDON "inputstreamaddon" /*!< @brief the name of the inputstream add-on that should be used by Kodi to play the stream denoted by PVR_STREAM_PROPERTY_STREAMURL. Leave blank to use Kodi's built-in playing capabilities. */ | 69 | #define PVR_STREAM_PROPERTY_INPUTSTREAMADDON "inputstreamaddon" /*!< @brief the name of the inputstream add-on that should be used by Kodi to play the stream denoted by PVR_STREAM_PROPERTY_STREAMURL. Leave blank to use Kodi's built-in playing capabilities. */ |
| 82 | #define PVR_STREAM_PROPERTY_MIMETYPE "mimetype" /*!< @brief the Mime-Type of the stream that should be played. */ | 70 | #define PVR_STREAM_PROPERTY_MIMETYPE "mimetype" /*!< @brief the MIME type of the stream that should be played. */ |
| 71 | #define PVR_STREAM_PROPERTY_ISREALTIMESTREAM "isrealtimestream" /*!< @brief "true" to denote that the stream that should be played is a realtime stream. Any other value indicates that this is no realtime stream.*/ | ||
| 83 | 72 | ||
| 84 | /* using the default avformat's MAX_STREAMS value to be safe */ | 73 | /* using the default avformat's MAX_STREAMS value to be safe */ |
| 85 | #define PVR_STREAM_MAX_STREAMS 20 | 74 | #define PVR_STREAM_MAX_STREAMS 20 |
| @@ -202,7 +191,7 @@ extern "C" { | |||
| 202 | { | 191 | { |
| 203 | PVR_ERROR_NO_ERROR = 0, /*!< @brief no error occurred */ | 192 | PVR_ERROR_NO_ERROR = 0, /*!< @brief no error occurred */ |
| 204 | PVR_ERROR_UNKNOWN = -1, /*!< @brief an unknown error occurred */ | 193 | PVR_ERROR_UNKNOWN = -1, /*!< @brief an unknown error occurred */ |
| 205 | PVR_ERROR_NOT_IMPLEMENTED = -2, /*!< @brief the method that XBMC called is not implemented by the add-on */ | 194 | PVR_ERROR_NOT_IMPLEMENTED = -2, /*!< @brief the method that Kodi called is not implemented by the add-on */ |
| 206 | PVR_ERROR_SERVER_ERROR = -3, /*!< @brief the backend reported an error, or the add-on isn't connected */ | 195 | PVR_ERROR_SERVER_ERROR = -3, /*!< @brief the backend reported an error, or the add-on isn't connected */ |
| 207 | PVR_ERROR_SERVER_TIMEOUT = -4, /*!< @brief the command was sent to the backend, but the response timed out */ | 196 | PVR_ERROR_SERVER_TIMEOUT = -4, /*!< @brief the command was sent to the backend, but the response timed out */ |
| 208 | PVR_ERROR_REJECTED = -5, /*!< @brief the command was rejected by the backend */ | 197 | PVR_ERROR_REJECTED = -5, /*!< @brief the command was rejected by the backend */ |
| @@ -312,7 +301,7 @@ extern "C" { | |||
| 312 | bool bSupportsChannelGroups; /*!< @brief true if this add-on supports channel groups */ | 301 | bool bSupportsChannelGroups; /*!< @brief true if this add-on supports channel groups */ |
| 313 | bool bSupportsChannelScan; /*!< @brief true if this add-on support scanning for new channels on the backend */ | 302 | bool bSupportsChannelScan; /*!< @brief true if this add-on support scanning for new channels on the backend */ |
| 314 | bool bSupportsChannelSettings; /*!< @brief true if this add-on supports the following functions: DeleteChannel, RenameChannel, DialogChannelSettings and DialogAddChannel */ | 303 | bool bSupportsChannelSettings; /*!< @brief true if this add-on supports the following functions: DeleteChannel, RenameChannel, DialogChannelSettings and DialogAddChannel */ |
| 315 | bool bHandlesInputStream; /*!< @brief true if this add-on provides an input stream. false if XBMC handles the stream. */ | 304 | bool bHandlesInputStream; /*!< @brief true if this add-on provides an input stream. false if Kodi handles the stream. */ |
| 316 | bool bHandlesDemuxing; /*!< @brief true if this add-on demultiplexes packets. */ | 305 | bool bHandlesDemuxing; /*!< @brief true if this add-on demultiplexes packets. */ |
| 317 | bool bSupportsRecordingPlayCount; /*!< @brief true if the backend supports play count for recordings. */ | 306 | bool bSupportsRecordingPlayCount; /*!< @brief true if the backend supports play count for recordings. */ |
| 318 | bool bSupportsLastPlayedPosition; /*!< @brief true if the backend supports store/retrieve of last played position for recordings. */ | 307 | bool bSupportsLastPlayedPosition; /*!< @brief true if the backend supports store/retrieve of last played position for recordings. */ |
| @@ -628,7 +617,7 @@ extern "C" { | |||
| 628 | } AddonToKodiFuncTable_PVR; | 617 | } AddonToKodiFuncTable_PVR; |
| 629 | 618 | ||
| 630 | /*! | 619 | /*! |
| 631 | * @brief Structure to transfer the methods from xbmc_pvr_dll.h to XBMC | 620 | * @brief Structure to transfer the methods from xbmc_pvr_dll.h to Kodi |
| 632 | */ | 621 | */ |
| 633 | typedef struct KodiToAddonFuncTable_PVR | 622 | typedef struct KodiToAddonFuncTable_PVR |
| 634 | { | 623 | { |
| @@ -706,6 +695,7 @@ extern "C" { | |||
| 706 | void (__cdecl* OnPowerSavingActivated)(void); | 695 | void (__cdecl* OnPowerSavingActivated)(void); |
| 707 | void (__cdecl* OnPowerSavingDeactivated)(void); | 696 | void (__cdecl* OnPowerSavingDeactivated)(void); |
| 708 | PVR_ERROR (__cdecl* GetStreamTimes)(PVR_STREAM_TIMES*); | 697 | PVR_ERROR (__cdecl* GetStreamTimes)(PVR_STREAM_TIMES*); |
| 698 | PVR_ERROR (__cdecl* GetStreamReadChunkSize)(int*); | ||
| 709 | } KodiToAddonFuncTable_PVR; | 699 | } KodiToAddonFuncTable_PVR; |
| 710 | 700 | ||
| 711 | typedef struct AddonInstance_PVR | 701 | typedef struct AddonInstance_PVR |
diff --git a/xbmc/cores/AudioEngine/Utils/AEChannelData.h b/xbmc/cores/AudioEngine/Utils/AEChannelData.h index 6b64f0d..71010bb 100644 --- a/xbmc/cores/AudioEngine/Utils/AEChannelData.h +++ b/xbmc/cores/AudioEngine/Utils/AEChannelData.h | |||
| @@ -1,24 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | 1 | /* |
| 3 | * Copyright (C) 2010-2013 Team XBMC | 2 | * Copyright (C) 2010-2018 Team Kodi |
| 4 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with XBMC; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 20 | */ | 7 | */ |
| 21 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 22 | /** | 11 | /** |
| 23 | * The possible channels | 12 | * The possible channels |
| 24 | */ | 13 | */ |
diff --git a/xbmc/cores/VideoPlayer/Interface/Addon/DemuxCrypto.h b/xbmc/cores/VideoPlayer/Interface/Addon/DemuxCrypto.h index e38e247..b48ef34 100644 --- a/xbmc/cores/VideoPlayer/Interface/Addon/DemuxCrypto.h +++ b/xbmc/cores/VideoPlayer/Interface/Addon/DemuxCrypto.h | |||
| @@ -1,22 +1,10 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2005-2016 Team XBMC | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 3 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 4 | * | 4 | * |
| 5 | * This Program is free software; you can redistribute it and/or modify | 5 | * SPDX-License-Identifier: GPL-2.0-or-later |
| 6 | * it under the terms of the GNU General Public License as published by | 6 | * See LICENSES/README.md for more information. |
| 7 | * the Free Software Foundation; either version 2, or (at your option) | 7 | */ |
| 8 | * any later version. | ||
| 9 | * | ||
| 10 | * This Program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with XBMC; see the file COPYING. If not, see | ||
| 17 | * <http://www.gnu.org/licenses/>. | ||
| 18 | * | ||
| 19 | */ | ||
| 20 | 8 | ||
| 21 | #pragma once | 9 | #pragma once |
| 22 | 10 | ||
| @@ -48,6 +36,13 @@ struct DemuxCryptoSession | |||
| 48 | delete[] sessionId; | 36 | delete[] sessionId; |
| 49 | } | 37 | } |
| 50 | 38 | ||
| 39 | bool operator == (const DemuxCryptoSession &other) const | ||
| 40 | { | ||
| 41 | return sessionIdSize == other.sessionIdSize && | ||
| 42 | keySystem == other.keySystem && | ||
| 43 | memcmp(sessionId, other.sessionId, sessionIdSize) == 0; | ||
| 44 | }; | ||
| 45 | |||
| 51 | // encryped stream infos | 46 | // encryped stream infos |
| 52 | char * sessionId; | 47 | char * sessionId; |
| 53 | uint16_t sessionIdSize; | 48 | uint16_t sessionIdSize; |
diff --git a/xbmc/cores/VideoPlayer/Interface/Addon/DemuxPacket.h b/xbmc/cores/VideoPlayer/Interface/Addon/DemuxPacket.h index b7404a3..5aed400 100644 --- a/xbmc/cores/VideoPlayer/Interface/Addon/DemuxPacket.h +++ b/xbmc/cores/VideoPlayer/Interface/Addon/DemuxPacket.h | |||
| @@ -1,25 +1,13 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* | 1 | /* |
| 4 | * Copyright (C) 2012-2013 Team XBMC | 2 | * Copyright (C) 2012-2018 Team Kodi |
| 5 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 6 | * | ||
| 7 | * This Program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License as published by | ||
| 9 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 10 | * any later version. | ||
| 11 | * | ||
| 12 | * This Program is distributed in the hope that it will be useful, | ||
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with XBMC; see the file COPYING. If not, see | ||
| 19 | * <http://www.gnu.org/licenses/>. | ||
| 20 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 21 | */ | 7 | */ |
| 22 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 23 | #include "TimingConstants.h" | 11 | #include "TimingConstants.h" |
| 24 | #include <cstdint> | 12 | #include <cstdint> |
| 25 | #include <memory> | 13 | #include <memory> |
diff --git a/xbmc/cores/VideoPlayer/Interface/Addon/TimingConstants.h b/xbmc/cores/VideoPlayer/Interface/Addon/TimingConstants.h index 209897e..0672002 100644 --- a/xbmc/cores/VideoPlayer/Interface/Addon/TimingConstants.h +++ b/xbmc/cores/VideoPlayer/Interface/Addon/TimingConstants.h | |||
| @@ -1,31 +1,19 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* | 1 | /* |
| 4 | * Copyright (C) 2017 Team XBMC | 2 | * Copyright (C) 2017-2018 Team Kodi |
| 5 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 6 | * | 4 | * |
| 7 | * This Program is free software; you can redistribute it and/or modify | 5 | * SPDX-License-Identifier: GPL-2.0-or-later |
| 8 | * it under the terms of the GNU General Public License as published by | 6 | * See LICENSES/README.md for more information. |
| 9 | * the Free Software Foundation; either version 2, or (at your option) | 7 | */ |
| 10 | * any later version. | 8 | |
| 11 | * | 9 | #pragma once |
| 12 | * This Program is distributed in the hope that it will be useful, | ||
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with XBMC; see the file COPYING. If not, see | ||
| 19 | * <http://www.gnu.org/licenses/>. | ||
| 20 | * | ||
| 21 | */ | ||
| 22 | 10 | ||
| 23 | #define DVD_TIME_BASE 1000000 | 11 | #define DVD_TIME_BASE 1000000 |
| 24 | #define DVD_NOPTS_VALUE 0xFFF0000000000000 | 12 | #define DVD_NOPTS_VALUE 0xFFF0000000000000 |
| 25 | 13 | ||
| 26 | #define DVD_TIME_TO_MSEC(x) ((int)((double)(x) * 1000 / DVD_TIME_BASE)) | 14 | constexpr int DVD_TIME_TO_MSEC(double x) { return static_cast<int>(x * 1000 / DVD_TIME_BASE); } |
| 27 | #define DVD_SEC_TO_TIME(x) ((double)(x) * DVD_TIME_BASE) | 15 | constexpr double DVD_SEC_TO_TIME(double x) { return x * DVD_TIME_BASE; } |
| 28 | #define DVD_MSEC_TO_TIME(x) ((double)(x) * DVD_TIME_BASE / 1000) | 16 | constexpr double DVD_MSEC_TO_TIME(double x) { return x * DVD_TIME_BASE / 1000; } |
| 29 | 17 | ||
| 30 | #define DVD_PLAYSPEED_PAUSE 0 // frame stepping | 18 | #define DVD_PLAYSPEED_PAUSE 0 // frame stepping |
| 31 | #define DVD_PLAYSPEED_NORMAL 1000 | 19 | #define DVD_PLAYSPEED_NORMAL 1000 |
diff --git a/xbmc/filesystem/IFileTypes.h b/xbmc/filesystem/IFileTypes.h index 3962c0c..7470b15 100644 --- a/xbmc/filesystem/IFileTypes.h +++ b/xbmc/filesystem/IFileTypes.h | |||
| @@ -1,21 +1,9 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2005-2013 Team XBMC | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 3 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 4 | * | ||
| 5 | * This Program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 8 | * any later version. | ||
| 9 | * | ||
| 10 | * This Program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with XBMC; see the file COPYING. If not, see | ||
| 17 | * <http://www.gnu.org/licenses/>. | ||
| 18 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 19 | */ | 7 | */ |
| 20 | 8 | ||
| 21 | #pragma once | 9 | #pragma once |
diff --git a/xbmc/input/ActionIDs.h b/xbmc/input/ActionIDs.h index 5db1ffc..12a5334 100644 --- a/xbmc/input/ActionIDs.h +++ b/xbmc/input/ActionIDs.h | |||
| @@ -1,22 +1,11 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2005-2017 Team Kodi | 2 | * Copyright (C) 2005-2018 Team Kodi |
| 3 | * http://kodi.tv | 3 | * This file is part of Kodi - https://kodi.tv |
| 4 | * | ||
| 5 | * This Program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 8 | * any later version. | ||
| 9 | * | ||
| 10 | * This Program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with this Program; see the file COPYING. If not, see | ||
| 17 | * <http://www.gnu.org/licenses/>. | ||
| 18 | * | 4 | * |
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 19 | */ | 7 | */ |
| 8 | |||
| 20 | #pragma once | 9 | #pragma once |
| 21 | 10 | ||
| 22 | /** | 11 | /** |
| @@ -104,6 +93,7 @@ | |||
| 104 | 93 | ||
| 105 | #define ACTION_PLAYER_PROCESS_INFO 69 //!< show player process info (video decoder, pixel format, pvr signal strength and the like | 94 | #define ACTION_PLAYER_PROCESS_INFO 69 //!< show player process info (video decoder, pixel format, pvr signal strength and the like |
| 106 | #define ACTION_PLAYER_PROGRAM_SELECT 70 | 95 | #define ACTION_PLAYER_PROGRAM_SELECT 70 |
| 96 | #define ACTION_PLAYER_RESOLUTION_SELECT 71 | ||
| 107 | #define ACTION_SMALL_STEP_BACK 76 //!< jumps a few seconds back during playback of movie. Can b used in videoFullScreen.xml window id=2005 | 97 | #define ACTION_SMALL_STEP_BACK 76 //!< jumps a few seconds back during playback of movie. Can b used in videoFullScreen.xml window id=2005 |
| 108 | 98 | ||
| 109 | #define ACTION_PLAYER_FORWARD 77 //!< FF in current file played. global action, can be used anywhere | 99 | #define ACTION_PLAYER_FORWARD 77 //!< FF in current file played. global action, can be used anywhere |
| @@ -277,6 +267,8 @@ | |||
| 277 | 267 | ||
| 278 | #define ACTION_TOGGLE_FONT 249 //!< Toggle font. Used in TextViewer dialog | 268 | #define ACTION_TOGGLE_FONT 249 //!< Toggle font. Used in TextViewer dialog |
| 279 | 269 | ||
| 270 | #define ACTION_VIDEO_NEXT_STREAM 250 //!< Cycle video streams. Used in videofullscreen. | ||
| 271 | |||
| 280 | // Voice actions | 272 | // Voice actions |
| 281 | #define ACTION_VOICE_RECOGNIZE 300 | 273 | #define ACTION_VOICE_RECOGNIZE 300 |
| 282 | 274 | ||
diff --git a/xbmc/input/XBMC_vkeys.h b/xbmc/input/XBMC_vkeys.h index 4e3787c..496f336 100644 --- a/xbmc/input/XBMC_vkeys.h +++ b/xbmc/input/XBMC_vkeys.h | |||
| @@ -1,27 +1,15 @@ | |||
| 1 | /* | 1 | /* |
| 2 | SDL - Simple DirectMedia Layer | 2 | * SDL - Simple DirectMedia Layer |
| 3 | Copyright (C) 1997-2009 Sam Lantinga | 3 | * Copyright (C) 1997-2009 Sam Lantinga |
| 4 | * | ||
| 5 | * SPDX-License-Identifier: LGPL-2.1-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 7 | * | ||
| 8 | * Sam Lantinga | ||
| 9 | * slouken@libsdl.org | ||
| 10 | */ | ||
| 4 | 11 | ||
| 5 | This library is free software; you can redistribute it and/or | 12 | #pragma once |
| 6 | modify it under the terms of the GNU Lesser General Public | ||
| 7 | License as published by the Free Software Foundation; either | ||
| 8 | version 2.1 of the License, or (at your option) any later version. | ||
| 9 | |||
| 10 | This library is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 13 | Lesser General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU General Public License | ||
| 16 | along with XBMC; see the file COPYING. If not, see | ||
| 17 | <http://www.gnu.org/licenses/>. | ||
| 18 | |||
| 19 | Sam Lantinga | ||
| 20 | slouken@libsdl.org | ||
| 21 | */ | ||
| 22 | |||
| 23 | #ifndef XBMC_vkeys_h | ||
| 24 | #define XBMC_vkeys_h | ||
| 25 | 13 | ||
| 26 | // The XBMC_vkey identifies a key that is mapped to an action or function. | 14 | // The XBMC_vkey identifies a key that is mapped to an action or function. |
| 27 | // The keysym.sym generated by SDL_KEYDOWN is mapped to a vkey and the vkey | 15 | // The keysym.sym generated by SDL_KEYDOWN is mapped to a vkey and the vkey |
| @@ -283,4 +271,3 @@ typedef enum { | |||
| 283 | #define VK_OEM_102 0xE2 | 271 | #define VK_OEM_102 0xE2 |
| 284 | #endif | 272 | #endif |
| 285 | 273 | ||
| 286 | #endif // XBMC_vkeys_h | ||
diff --git a/xbmc/interfaces/json-rpc/schema/version.txt b/xbmc/interfaces/json-rpc/schema/version.txt index 35bc503..94db005 100644 --- a/xbmc/interfaces/json-rpc/schema/version.txt +++ b/xbmc/interfaces/json-rpc/schema/version.txt | |||
| @@ -1 +1 @@ | |||
| JSONRPC_VERSION 9.2.0 | JSONRPC_VERSION 9.6.0 | ||
