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