MuseScore
MuseScore copied to clipboard
MS4 Plugin API onScoreStateChanged is never called
Issue type
Other type of issue
Bug description
The event onScoreStateChanged
in plugins is not called anymore in MS4. It used to work in MS3.6.
Maybe the reason is that scoreStateChanged
is not called anymore from MuseScore?
My plugin relies on this because it needs to be informed when the note selection changes (state.selectionChanged
).
Steps to reproduce
Try this plugin: test.qml
import QtQuick 2.15
import MuseScore 3.0
import QtQuick.Dialogs 1.3
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
MuseScore {
id: plugin
title: "test"
version: "1.0"
description: "description"
requiresScore: true
pluginType: "dialog"
onRun:
onScoreStateChanged: {
console.warn('onScoreStateChanged. state: ' + state)
if (state.selectionChanged) {
console.warn('selection changed')
}
}
Pane {
anchors.fill: parent
Text {
text: "Test"
horizontalAlignment: Text.AlignHCenter
Layout.fillWidth: true
}
}
}
- Start MS from terminal to see stdout/stderr messages
- Enable the plugin in the plugin manager
- Open a score
- Start the plugin
It now should print warnings to stdout when you change note selection.
But it doesn't.
Screenshots/Screen recordings
No response
MuseScore Version
4.1.0 - 4.1.2
Regression
Yes, this used to work in MuseScore 3.x and now is broken
Operating system
Linux/NixOS
Additional context
Revision: OS: NixOS 23.05 (Stoat), Arch.: x86_64, MuseScore version (64-bit): 4.0.2-, revision: github-musescore-musescore-