Amarok scripting port to QJSEngine concluded
Pedro de Carvalho Gomes
pedrogomes81 at gmail.com
Wed Jun 24 10:34:25 BST 2020
Hi all,
I have concluded the port from QTScript, which is deprecated, to
QJSEngine. I tried to mimic the old script behavior as close as
possible, and I think I mostly succeeded.
Few things couldn't be ported yet. Here are the most important ones:
- QJSEngine doesn't have a script debugger widget. Such was used by
the script console. Probably it can be reimplemented by reusing the
QML debugger from KDevelop.
- QJSEngine doesn't have an equivalent to QTScript's extensions,
which are loaded with Importer.loadQtBinding (qt.core, qt.network,
qt.gui, etc). I believe it's possible to simulate those by exporting
classes from those packages (If I find a list of which class is at
which package, things would be easier).
- Amarok.Lyrics had been removed from the scripting API when the new
C++ lyrics engine was added. I think it should be restored it and
combined it with the current lyrics engine
I believe the code is in good shape, and may be incorporated to
master. And thus shipped with the next alpha release for testing. Here
is the link to merge request:
https://invent.kde.org/multimedia/amarok/-/merge_requests/9
If you want to try it, I have created packages for Ubuntu 18.04, 19,10
and 20.04:
https://launchpad.net/~pgomes/+archive/ubuntu/amarok/+packages
I also provided few Dockerfiles for trying in other distros:
https://github.com/pcgomes/amarok/tree/master/distribution/docker
As usual, all feedback and support is welcome.
Cheer,
Pedro
More information about the Amarok-devel
mailing list