Hi all,,

Here follows a brief update about my work at Amarok scripting engine. I have ported back Amarok.Lyrics interface, and have been writing my own QTScript extensions. With that I plan to have previous scripts, such as Ultimate Lyrics, running over QJSEngine without any modification.

The port of QTScript extensions is not easy; I have to do it class-by-class upon usage at the scripts. Therefore I will select few of the most popular scripts and only port the classes/methods needed by those. Other scripts and their requirements will be ported upon requests.

Finally, I ask the other member about the revision process. I know we have shortage of people. Still many merge requests are simply not moving forward. Thus I ask if there's something I can do to speed it up, such as publish at Phabricator. Or even if I anyone oppose to the policy of merging without peer approval if no response for more than X weeks.

Regards,

Pedro

Den 2020-06-24 kl. 11:34, skrev Pedro de Carvalho Gomes:
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

Reply via email to