Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
This to make it more clean on following changes.
|
|
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.
|
|
[addons] Thick cleaning up of the C++ API
|
|
[clang-tidy] fix performance-* warnings
|
|
[Xbox] Enable audio passthrough
|
|
|
|
|
|
[pvr] fix logic that deletes pvr-providers
|
|
[cmake] work around target gen expression issues for xcode projects
|
|
Related to changes before.
WARNING: All addons need a update about!
|
|
The background is to be more in the "C" format style.
|
|
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.
|
|
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.
|
|
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.
|
|
The string value kodi_base_api_version stored in the "C" structure is never used and is hereby removed as an adjustment.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
With the addition of "using namespace" in function, the code becomes cleaner because the line breaks are no longer necessary.
|
|
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.
|
|
This has not been used for some time and since the following changes result in a MIN version increase, it can be removed.
|
|
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.
|
|
[profiles] honor lock state of media sources
|
|
[depends] Updates MSYS2 to 20210725
|
|
|
|
[Docs] Remove codedocs.xyz integration
|
|
Used to build ffmpeg libs on Windows.
|
|
|
|
|
|
[Docs] Fix the table of infobools & infolabels
|
|
|
|
[doxygen] auto doxygen test
|
|
|
|
c++17 round two
|
|
buildsteps: fix build failures by using jenkins env variables
|
|
[tools/depends][target] bump openssl 1.1.1m
|
|
|
|
|