2024-03-28, 04:45
Kodi 20 ships with a private copy of python. This python uses a non-standard name of python3.8.dll instead of python38.dll. This means that any third-party python package (such as comtypes) which provides .dll or .pyd modules that references python38.dll will fail. This may be intentional, since addons are not supposed to ship with .dlls, which is understandable. However, it breaks an old, unsupported text-to-speech addon which uses Windows native speech system via SAPI through comtypes (and possibly other libraries). Support for native TTS could be removed and instead use other supported TTS engines, such as espeak, but it is a step down.
For quite some time I have been reworking the old TTS addon and learned about this .dll problem from some users trying to get the old addon to work on 20. I was able to get my new version to work only after building Kodi 20, python 3.8 (with python38.dll) and the third-party libs (now using comtypes, pywin32 and pipywin3).
Is it possible to for these third-party packages be allowed to be installed, or shipped with Kodi? If not, the alternatives that I see are:
Thanks for any suggestions or guidance.
For quite some time I have been reworking the old TTS addon and learned about this .dll problem from some users trying to get the old addon to work on 20. I was able to get my new version to work only after building Kodi 20, python 3.8 (with python38.dll) and the third-party libs (now using comtypes, pywin32 and pipywin3).
Is it possible to for these third-party packages be allowed to be installed, or shipped with Kodi? If not, the alternatives that I see are:
- TTS not to support native SAPI or JAWS, but use other engines
- Use a proxy with rpc and a second python instance to run the .dll code
Thanks for any suggestions or guidance.