"Plugin console" doesn't load in MuseScore 2.x (trunk)

• Mar 19, 2012 - 09:23
Type
Functional
Severity
S4 - Minor
Status
won't fix
Regression
No
Workaround
No
Project

Plugin console doesn't load in MuseScore 2.x (trunk)
Tried with r5478


Comments

EBKAC?

The requirement to enable the plugins was done in the trunk quite some time ago and I suspect this is one of the underlying changes in 2.0 that will frustrate people. I wonder why it is necessary?

Status (old) closed active

Using the latest trunk version on OS X, I couldn't find out how to install the plugin. I tried copying console.js to various folders, as suggested in the handbook . The plugin didn't appear to the list in Preferences, and nothing changed in the Plugins menu. Perhaps I'm doing something wrong? I'd appreciate step-by-step instructions.

Status (old) closed needs info

I have started an attempt to update this plugin to work with 2.x, but I'm lacking basic information about the QML format which is blocking progress. For example the original code defines a ScriptConsoleMainWindow prototype, but I have no idea how to do this in QML. Advice appreciated.

Status needs info won't fix
Regression No
Workaround No

This plugin was basically the predecessor of the 2.x (and 3.x) Plugin Creator.
Many of the things it refers to are simply not existent in a QML environment or no longer required.

OK thanks, so which are the features of this plugin which got lost in the switch to the Plugin Creator? I was hoping for a REPL loop at least.

None afaik.
It basically used the input given and eval'd it as the body of an onRun loop in the current Plugin Creator. What it left out was the wrapping plugin instantiation and windowing code and it offered the inclusion of the MuseScore namespace (just as a default plugin does now).

So feature-wise it would currently be identical to open the Plugin Creator, start a new plugin and put whatever you'd want eval'd into the onRun function. The press the run button.
The only additional thing for your REPL is the 'P' part, which isn't handled by default, so you must include console.log() statements at the return value point of onRun to mimic the old plugin behavior.