More methods for QProcess class
Reported version
3.0
Priority
P2 - Medium
Type
Plugins
Severity
S5 - Suggestion
Status
active
Regression
No
Workaround
No
Project
The QProcess
class is a Qt C++ library that has been exposed to QML through the MuseScore framework. It is indeed really useful, but just three methods have been exposed. I suggest that the following should be added:
exitStatus()
workingDirectory()
state()
setReadChannel()
readChannel()
In general, if the process approach is strengthened, then any available language could theoretically be used for plugin development, making easier building plugins than using QML. One could create a plugin in Java or Python using files exported by MuseScore: this paves the way for many new plugins, without losing in portability and gaining in popularity of the languages.
Comments
I second that request. Plugins created this way will often (always?) not be cross-platform though.
For example using Musescore2 I have used QProcess to call some homebrew Python scripts for my own use, on my Linux system, quite useful for me but probably usesless on someone else's computer.
In the Musescore3 appimage nightly versions that I have tried QProcess doesn't seem to work anymore. The run.qml example also isn't working anymore. Has QProcess been removed/disabled in Musescore3 development version? Please bring it back!
Musescore 3.0.0 unstable Nightly Build, revision 9dac228
I'm using Linux Fedora 28
See #175726: Plugins no longer work in master as of 90b1991 for why plugins don't work in current master builds
As of 3.6.2 still very useful.
What I'm missing:
- error() (the one in MuseScore is expecting some parameter, while the Qt specs it has no parameter
- readAllStandardError()
- state()
- exitCode()
- exitStatus()