2016-01-18, 22:15
Still working on my add-on library rework. Is now the biggest project on Kodi for me.
Whats done:
- It have now a complete reworked Binary add-on library system for C++.
- It have a improved exception handling for the Binary add-ons and if everything is finished can it not come to a crash of Kodi anymore, only to a dialog message that a Add-on is crashed.
- The libraries are now complete in C++, no C parts on add-on side needed anymore (no malloc, or free needed).
- All headers are cleaned up and shows only the for add-on development needed parts.
- The libs support everything, now with the same functions as add-ons with Python
- Created a complete new Documentation for it and also included all the Python API docs to them. Also few parts from Wiki added and related text is inside code, this allow Doc. updates direct with code changes.
- The binary add-on parts are now all together in a nearly independent place to allow "Development Kits" in the future.
- The new library system is also thought to extend for other languages, like Java or JavaScripts (maybe planned after this changes are in)
- The libraries are Version independent and after a API Level change the old is still usable, this bring more time for add-on updates.
What is to do:
- Add a way to run Binary add-ons for everything, like them on Python.
- Cleanup the changes (over 80000 lines now)
- Maybe add more documentation on them.
- Rework maybe all CGUIInfoMessanger strings, like the on "const infomap system_labels[]..." to static places, to allow documentation with Doxygen style there.
What comes after it is in:
- Then comes a rework of the Add-on system functions itself (Add-on -> Kodi) e.g. the PVR, to allow also Version independent Versions (Not possible to do together, then gets conflicts)
- Continue the Webbrowser system, thats why this comes before, there is a bit more needed as on all other add-ons before.
Here are the Links to them:
- New documents - http://alwinesch.github.io/
- Reworked add-on system headers for C++ - https://github.com/AlwinEsch/kodi/tree/b...on-dev-kit
So now my question to the Developers and Users:
- Is the new Document style OK?
- Is the way to accept, as it is introduced in the Code? See e.g. https://github.com/AlwinEsch/kodi/blob/b...#L487-L565
> This way, allow for me to do changes on code direct with related docs and prevent wiki from missing updates.
- Can someone also introduce document parts, maybe taken from Wiki?
- From my side I want everything for development together there on the new documents and nearly independent from Wiki (Wiki for user and Doxygen parts for developer), also for others OK?
The old thread:
http://forum.kodi.tv/showthread.php?tid=246108
Points to fix or improve on rework
- If a CPlayerLib::UnregisterMe is not called and the CAddonLib::UnRegisterMe(); becomes called, comes on class destruction a crash with missing parts for the UnregisterMe
Whats done:
- It have now a complete reworked Binary add-on library system for C++.
- It have a improved exception handling for the Binary add-ons and if everything is finished can it not come to a crash of Kodi anymore, only to a dialog message that a Add-on is crashed.
- The libraries are now complete in C++, no C parts on add-on side needed anymore (no malloc, or free needed).
- All headers are cleaned up and shows only the for add-on development needed parts.
- The libs support everything, now with the same functions as add-ons with Python
- Created a complete new Documentation for it and also included all the Python API docs to them. Also few parts from Wiki added and related text is inside code, this allow Doc. updates direct with code changes.
- The binary add-on parts are now all together in a nearly independent place to allow "Development Kits" in the future.
- The new library system is also thought to extend for other languages, like Java or JavaScripts (maybe planned after this changes are in)
- The libraries are Version independent and after a API Level change the old is still usable, this bring more time for add-on updates.
What is to do:
- Add a way to run Binary add-ons for everything, like them on Python.
- Cleanup the changes (over 80000 lines now)
- Maybe add more documentation on them.
- Rework maybe all CGUIInfoMessanger strings, like the on "const infomap system_labels[]..." to static places, to allow documentation with Doxygen style there.
What comes after it is in:
- Then comes a rework of the Add-on system functions itself (Add-on -> Kodi) e.g. the PVR, to allow also Version independent Versions (Not possible to do together, then gets conflicts)
- Continue the Webbrowser system, thats why this comes before, there is a bit more needed as on all other add-ons before.
Here are the Links to them:
- New documents - http://alwinesch.github.io/
- Reworked add-on system headers for C++ - https://github.com/AlwinEsch/kodi/tree/b...on-dev-kit
So now my question to the Developers and Users:
- Is the new Document style OK?
- Is the way to accept, as it is introduced in the Code? See e.g. https://github.com/AlwinEsch/kodi/blob/b...#L487-L565
> This way, allow for me to do changes on code direct with related docs and prevent wiki from missing updates.
- Can someone also introduce document parts, maybe taken from Wiki?
- From my side I want everything for development together there on the new documents and nearly independent from Wiki (Wiki for user and Doxygen parts for developer), also for others OK?
The old thread:
http://forum.kodi.tv/showthread.php?tid=246108
Points to fix or improve on rework
- If a CPlayerLib::UnregisterMe is not called and the CAddonLib::UnRegisterMe(); becomes called, comes on class destruction a crash with missing parts for the UnregisterMe