Improvements to Plugin Manager

• Sep 5, 2017 - 00:32
Reported version
3.0
Type
Functional
Severity
S5 - Suggestion
Status
closed
Project

The Plugin Creator/Manager is a bit primitive. Here are some suggested improvements.
Creator:
* editor should auto-indent.
* Help should be a little more verbose and offer a bit more guidance.
* "New" should include a default description line
* dialogs should not immediately be hidden while using 'run' (main screen comes up over the top)

Manager
* Should be smart enough to realise changes have been made to the plugins, and/or there should be a refresh button. Currently a modified plugin doesn't pick up the new code without restarting musescore.
* Plugin Console window on main screen would make debugging easier.


Comments

Hi, Robbie,
I'm using an ugly and dirty solution, although it's helping me from now, until this refresh button come out of the box.
I do this inside of a qml Button:

    onClicked: {
        var content = "content=" + encodeURIComponent(leText.text)
        //console.log("content : " + content)
        var request = new XMLHttpRequest()
        request.onreadystatechange = function() {
            if (request.readyState == XMLHttpRequest.DONE) {
                var response = request.responseText
                eval(response)
                }
            }
        request.open("POST", "http://localhost:8080/", true)
        request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
        request.send(content)
    }

And I run a PHP server with this simple command:
php -S localhost:8080 musescore.php
Where this file musescore.php contains the code I want to be refreshed or tested.
Not a good solution but It's been saving me a large amount of time, once I need restart Musescore only for a few times and only in major changes.
PHP runs natively in Mac, and easily in Linux or Windows.
I'm more used wtih PHP than with qml, so many times I solve problems first in PHP and then I translate into qml code.
Maybe this could be usefull somehow for you!
Regards

In reply to by nandopen

Interesting approach.
I have actually got a version of reset button functional.

The only thing it isn't doing properly at the moment is picking up changes to menuPath.... everything else is behaving.
I'm hoping to do another PR sometime this weekend.

Status (old) patch (code needs review) fixed
Status fixed

Fixed in branch master, commit 843e3353f8

fix #249541: PluginCreator improvements.
Improved Help - added a very basic guide and external links.
Very simple autoindent implemented in editor - new lines line up with previous lines
"New" includes placeholders for description and version.
Refresh button on PluginManager forces modifications to be picked up
Make plugins stay on top while using Run
Indenting and layout tweaks, removed blank line.

More indenting/layout stuff.

... yet more layout fixes...

Push to retrigger travis-ci

Fixed in branch 2.2, commit e1644e8095

fix #249541: Improvements to Plugin Manager/Creator (for 2.2)
All 3.0dev changes ported into 2.2 branch.

Even more layout changes.

Fixed requiresScore annotation for 2.2