@heikobecker The bindings are extracted from the source of QCad; they are statically placed in their code base, with one folder for each Qt version; if there are more Qt versions sharing the same bindings then the bindings are present only for one version and for the other versions there are symlinks (actually the most recent ones when I extracted them were for Qt 5.5 and were used up to Qt 5.13). I don't know how they produced the bindings, probably hacking one of the half-baked ports to Qt5 of qtscriptgenerator that are found on github.
Feb 21 2020
Feb 14 2020
Jan 21 2020
I just uploaded a new revision with installation rules for the bindings shared libraries. I also checked the QCAD license: they release the code under GPLv3 with no exceptions (as far as I understood) for the bindings code, so I guess there's no licensing issue in using the bindings in Amarok.
I tested the code with a simple script (BurnPlaylist) which works with minor tweaks to the script itself. However, some scripts are missing some Amarok components that have been removed, e.g. UltimateLyrics gives a warning([WARNING] [ScriptItem] Script has no script engine attached: "UltimateLyrics") and does not work, I think because LyricsManager has been removed.
I'd say then that the work on restoring the Qt bindings is done, and now it has to be decided whether to go on (which means restoring the removed scripting functionalities, something I cannot do) or stop here and drop these modifications.
- scripting: add installation rule for qt script bindings plugin libraries.
- scripting: add readme file with credits to QCAD project.
Oct 24 2019
Oct 21 2019
Hi Heiko, I know that QtScript is EOL but I don't have the knowledge nor spare time to do more than this ATM. I never contributed to Amarok nor any other KDE project, and also my experience with Qt is limited to some simple GUI. Nevertheless, I hope that this work migth be useful for more experienced programmers who wishes to introduce QJSEngine in Amarok, or for me to really start contributing. For the time being, I'd like to receive comments about how to proceed and what's to be changed/fixed.