aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-12-29[addons][imagedecoder] rename image_decoder.h to imagedecoder.hAlwin Esch
With the newly planned sandbox / API level system it becomes necessary to have the "C" files matching its namespace. As an example, a "C" function in imagedecoder must use "kodi_addons_imagedecoder_some_function ()" as the name, with which the "_" acts as a namespace divider to begin with, if now, as before, it would see "image" and "decoder" as separate areas. Advantageous for the automatic creation script, otherwise problems can arise for him.
2021-12-29[addons][imagedecoder] Add Picture InfoTag supportAlwin Esch
This changes the image encoder addon interface with the addition of a new function to retrieve image information. The cool effect is that the performance is significantly improved, since Kodi now creates the cached and shortcut icons of the images when loading "tag". As a result, the open window is much faster than before. In addition, there is a GUI process in the loading time of infos, which makes it better for the user. The info day in Kodi is not yet fully used by add-ons and is inserted as a comment in "CImageDecoder", but first has to look through where, how and when it is used. With recent changes, a large part is created in connection with imagedecoder.raw addon. This may be expanded in the future.
2021-12-29[addons][imagedecoder] change addon.xml extension/mimetype define wayAlwin Esch
This revises the way an image decoder communicates its supported formats. Previously this was in a single line with "|" as a separator. If the list were to become very large, as is currently the case with the new support for text and image paths, it will no longer be transparent. Therefore it is now stored in its own XML group. Also includes this the SupportsFile function with where addon can ask about support of wanted file.
2021-12-29[addons][imagedecoder] add new system header (stdexcept) to API headerAlwin Esch
As far as possible, it must be possible to set up the header purely on "C" -based parent headers. In addition, that it will be removed in the upcoming request to AddonBase.h (where currently provided), the background is because no throws are used there and can therefore be gotten cleaner.
2021-12-29[addons][imagedecoder] use typedef's for "C" API function pointersAlwin Esch
The background to this is that this value is required in several places in the Sandbox API and is easier to manage using typedef. It also makes the structure clearer to identify available functions. I left the _V1 in there for the time being, because it would comb anyway and to leave out subsequent changes. These commits and requests are mainly about having the finale cleaner and only recognizing the changes that are directly related to it.
2021-12-29[addons][imagedecoder] rename ImageFormat to ADDON_IMG_FMTAlwin Esch
This done to match his name as a correct "C" style enum. Also added ADDON_ to have more safe in case something else have same name. Also does his enum name match then the begin of value names.
2021-12-29[addons][imagedecoder] use size_t for reading data on array.Alwin Esch
This is a mandatory guideline on the revised API! It must never be used as such `uint8_t* buffer, int size` or like here as `unsigned char*` alone, the autogeneration can then not identify it as array and thing only about single value where can be write. it must always be set with a size_t after its value.
2021-12-29[addons][imagedecoder] remove "struct AddonProps_ImageDecoder" useAlwin Esch
This structure was previously used to get used mime type. It comes into conflict with planned future ones, where it becomes more difficult to use it in all circumstances. In addition, the creation of the new instance is a bit trickier because of the executed EXE type and where there would then be a problem with the structure so that the structure is to be transferred before the recipient is even there and ensures that it runs. Therefore, such types are only transferred there when the said instance is running. With here a new callback function added to get used mime type from Kodi if needed. Instead, requested values or the structure should be called up using direct functions.
2021-12-29[addons][imagedecoder] clang cleanup about ImageDecoder.[cpp|h]Alwin Esch
This to make it more clean on following changes.
2021-12-29[addons][imagedecoder] pass "void*" value as addon target handleAlwin Esch
The background is that in a sandbox system it is no longer possible to simply exchange a structure defined as a pointer between Kodi and addon, since Kodi never edits and uses this, it should always be passed as "void*" for something like that. In addition, it becomes smaller because the target handle / class pointer add-on is then transferred directly and no longer the current API base structure.
2021-12-29Merge pull request #20710 from AlwinEsch/change-APIAlwin Esch
[addons] Thick cleaning up of the C++ API
2021-12-29Merge pull request #20741 from Rechi/clang_tidy/performanceRechi
[clang-tidy] fix performance-* warnings
2021-12-29Merge pull request #20723 from thexai/xbox-audio-passthroughthexai
[Xbox] Enable audio passthrough
2021-12-29[clang-tidy] performance-inefficient-vector-operationRechi
2021-12-29[clang-tidy] performance-faster-string-findRechi
2021-12-29Merge pull request #20677 from howie-f/v20-fix-delete-providersthexai
[pvr] fix logic that deletes pvr-providers
2021-12-29Merge pull request #20655 from fuzzard/cmake_macos_targetgenfuzzard
[cmake] work around target gen expression issues for xcode projects
2021-12-28[addons] increase ADDON_GLOBAL_VERSION_MAIN[_MIN] to 2.0.0Alwin Esch
Related to changes before. WARNING: All addons need a update about!
2021-12-28[addons] rename enum AddonLog to ADDON_LOGAlwin Esch
The background is to be more in the "C" format style.
2021-12-28[addons] Use KODI_ADDON_BACKEND_HDL in AddonBase.hAlwin Esch
Previously the values were set as `void*`, since this is a bit ugly, it is replaced here with `const KODI_ADDON_BACKEND_HDL`. In principle, this could be done at any point, but it would extremely blown the request. Since this can also be done separately (without addon updates), it is only related to AddonBase.h here.
2021-12-28[addons] Allow instance class to retrieve a user pathAlwin Esch
At the moment this call still returns the conventional add-on user class, in future changes the instance will be assigned its own user path, e.g. in the case of planned PVR add-ons which can connect different backends using different settings. As a note on this and previous commits, the add-on documentation will be introduced and revised in a separate request. To do it in these commits would take a long time to get correct.
2021-12-28[addons] Add setting functions in instance classAlwin Esch
With this, own functions are inserted independently of "kodi::addon" in order to call up settings in Kodi using the IAddonInstanceHandler class. At the moment they still use the same functions as the functions in "kodi::addon::" using the "settings.xml" of the addon. In the near future these new functions will be revised (only in Kodi's side) to allow addon instances to have their own settings (e.g. in PVR to use several backends in one addon). The background is when this new support is introduced into Kodi, to avoid that all addons need an update again.
2021-12-28[addons] remove unused string "kodi_base_api_version" in APIAlwin Esch
The string value kodi_base_api_version stored in the "C" structure is never used and is hereby removed as an adjustment.
2021-12-28[addons] revised C++ kodi::[addon] API function placesAlwin Esch
This revises the places where functions are located, so some of the things are moved from General.h to AddonBase.h and these then use the namespace "kodi :: addon", in the background it is more suitable to the Python addon system, where the here in the C++ moved, already in Python at self.Addon. In addition, the new structure AddonToKodiFuncTable_kodi_addon has been added to make changes easier and not have to tackle the MIN version in the future. Unfortunately, the parts in headers had to be moved a bit, which also made it a bit bigger in commit.
2021-12-28[addons] remove some structure definitionsAlwin Esch
In the correct "C" ABI these are not necessary, since a `struct` must already be at begin at the positions used. Hence, it can be removed and make the code cleaner.
2021-12-28[addons][pvr] change and move ADDON_HANDLE to PVR_HANDLEAlwin Esch
The ADDON_HANDLE is only used in PVR, since it should not be used any longer, it has now been moved to "kodi/c-api/addon-instance/pvr/pvr_defines.h" and renamed to PVR_HANDLE.
2021-12-28[addons] Revise addon "C" structuresAlwin Esch
This makes a big change, with which the instance function structures are stored in Kodi's `IAddonInstanceHandler` class and a structure with union's instead of "void*" is transferred in" C ". The background is easier to expand and can also be used on the add-on side when creating an instance. The added class `IInstanceInfo` can then be used to query the values. This makes it easier for extensions because the values in the CreateInstance function do not always have to be changed and updates with changes are required for all add-ons.
2021-12-28[addons] Use the handover setting for each type of different functionAlwin Esch
Previously, it was transferred to all types in one function using a `void*`, but since such use can be very dangerous and it does not work in the sandbox, it is divided into separate functions here. On the C++ side it remains as before, since it is easier to handle in a class.
2021-12-28[addons] use typedef's about function pointersAlwin Esch
With this, the addon function pointers are set in the structure using typedefs, this makes it cleaner and easier to use in other places in the planned sandbox. These typedef's are only used for calls from Kodi to addon, in the other way addon to Kodi they stay in the old way.
2021-12-28[addons] Pass handling pointers in function valuesAlwin Esch
The important reason for this is to have "C" ABI more correctly, where its handling pointer is passed in every function call. Previously this was stored in a structure on the add-on side, which is not really clean. It is thought to have cleaner add-ons that are purely based on "C". There will also be some commits to make it even more correct.
2021-12-28[addons] cleanup ADDONCREATOR macroAlwin Esch
With the addition of "using namespace" in function, the code becomes cleaner because the line breaks are no longer necessary.
2021-12-28[addons] remove not used function values on "ADDON_Create"Alwin Esch
In ADDON_Create there were previously two values which are not used, they are removed because a MIN version increase is required. Part of the previous cleanup of the API.
2021-12-28[addons] remove "ADDON_STATUS (*get_status)();"Alwin Esch
This has not been used for some time and since the following changes result in a MIN version increase, it can be removed.
2021-12-28[addons] Remove fallbacks to oldAlwin Esch
In the following changes, a min version increase is necessary, so it makes sense to remove this now because all add-ons need an update anyway.
2021-12-28Merge pull request #20708 from howie-f/v20-favlockFrank H
[profiles] honor lock state of media sources
2021-12-28Merge pull request #20726 from thexai/update-MSYS2thexai
[depends] Updates MSYS2 to 20210725
2021-12-28[profiles] honor lock state of mediasources / hide locked favouriteshowie-f
2021-12-27Merge pull request #20720 from enen92/dropcodedocsAlwin Esch
[Docs] Remove codedocs.xyz integration
2021-12-27[depends] Updates MSYS2 to 20210725thexai
Used to build ffmpeg libs on Windows.
2021-12-26[Xbox] Enable audio passthroughthexai
2021-12-24[Docs] Remove codedocs.xyz integrationenen92
2021-12-23Merge pull request #20715 from enen92/fixdoxygentableenen92
[Docs] Fix the table of infobools & infolabels
2021-12-23[Docs] Fix the table of infobools & infolabelsenen92
2021-12-22Merge pull request #20511 from AlwinEsch/doc-uploadAlwin Esch
[doxygen] auto doxygen test
2021-12-22[doxygen] automatic doxygen generationAlwin Esch
2021-12-21Merge pull request #20699 from lrusak/cpp17Lukas Rusak
c++17 round two
2021-12-21Merge pull request #20704 from lrusak/buildsteps-fixLukas Rusak
buildsteps: fix build failures by using jenkins env variables
2021-12-22Merge pull request #20691 from fuzzard/depends_opensslfuzzard
[tools/depends][target] bump openssl 1.1.1m
2021-12-21buildsteps: fix build failures by using jenkins env variablesLukas Rusak
2021-12-21[tools/depends][target] openssl cleanupfuzzard