Add a way to control plugin via OSC
The problem
MuseScore plugins at the moment can't communicate networkly with an exterior app.
So i imagined a way to control a plugin networkly via the osc server of MuseScore.
Plugin control implementation
In order to control a plugin, you can via OSC messages invoke functions of the QML Plugin.
These function names must be prefixed by "osc" to be accessible.
The property "objectName" in the different QML objects is used to create a sort of path to the function.
OSC Message Specification
A typical plugin control OSC message looks like this :
/plugin/<pluginName>/<objectName1>/<objectName2>/../<functionNameWithoutOSCPrefix> <argument>
Use example
If i want to invoke the method oscTest in the Hand object :
/plugin/test/right/test <argument>
Hand.qml
If i want to invoke the method oscTest in the main object :
/plugin/test/test <argument>
test.qml
Comments
Example
See https://github.com/musescore/MuseScore/pull/6095