Amarok scripting port to QJSEngine concluded

Pedro de Carvalho Gomes pedrogomes81 at gmail.com
Tue Jul 21 10:27:43 BST 2020


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


More information about the Amarok-devel mailing list