Add a way to control plugin via OSC

• May 15, 2020 - 22:17
Reported version
3.4
Type
Plugins
Frequency
Few
Severity
S5 - Suggestion
Status
PR created
Regression
No
Workaround
No
Project

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