Create new custom music notation

• Feb 17, 2022 - 11:23

Hi everyone, I would like to create a plugin that converts the standard music notation into a new custom notation. However, after taking a look at existing plugins and the API itself, it looks like it is impossible. Here is more or less what I am trying to implement:

  • Convert staff into a 4 asymmetric lines staff (not equidistant)
  • Naturalize the music (remove all redundant accidentals) and change the note head depending on the accidental.
  • Place each note in a different position depending on the pitch (f# would be higher than f, not at the same level)

Find attached a pdf showing how the C major scale should look like.

Is this too complex and thus impossible to implement as a plugin?

Attachment Size
C Maj to Merrilyn .pdf 154.92 KB


The plugin API allows you to automate user actions, it can't achieve things you can't also do manually.
So in that respect, the only thing not possible in your proposal is to make the middle staff line disappear, as MuseScore itself simply doesn't support that.

There are a couple of possible workarounds to try, (multiple staves overlayed on each other/drawing white lines over the staff line to hide it) but none of them are likely easy.

Making notes ignore their accidentals is easy by using "fix to line" on them.
Assigning noteheads is easy as well, as long as the notehead is an existing one from the SMuFL fonts. Otherwise you'll have to make the existing noteheads invisible and position yours as symbols/staff texts on top of them.
Adjusting note positions in itself is easy as well.

you can achieve this by hand (and i'm working t oachieve this by plugin) like this:
1. change the "fix to line" property of each note (can do this already by plugin, will upload if you are interested)
2. not displaying the staff lines.
3. adding "TextLine"s manually and moving them to the correct vertical location (0.5sp steps possible) and using the correct stacking order.

The example shows what i have achieved so far for Klavarskribo-style notes.

In reply to by illionas

I'm interested in this as well. I'm trying to change the positions of some of the lines to make them correspond to the open strings of a guitar. I wrote another form post here: Is it possible to move the lines on a staff with a plugin?.

I'll copy some of my questions here:

(1) How do I make all the lines except for the middle line and the line below that disappear? On a treble clef I would like to keep both the G and B lines as they are if possible.

(2) Do the 'TextLine's need to be added manually... like by hand to visually match the correct vertical location, or can a plugin tell it where to go based on steps, such as steps above/below that middle staff line?

(3) Would custom ledger-line positions also need to be 'TextLine's, and would those need to be added manually as well?

(4) For possible automation of this in a plugin, would it need to be aware of system breaks, and need to re-traverse the score every time the system breaks change? How should that work, or is it possible to avoid that?

Do you still have an unanswered question? Please log in first to post your question.