musescore / musescore/MuseScore

[Plugin API] Add Action for adding simple lines/textlines

Open
#33,056 6 comments 0 reactions 1 assignee View on GitHub

@igorkorsukov is already working on this.

Since Apr 21, 2026.

needs review plugins
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Your idea

With the latest MuseScore build, spanners are now exposed through the plugin API, which is a great improvement and enables more advanced plugin workflows.

However, not all spanner types are currently accessible via actions, meaning they cannot be created programmatically using cmd() from a plugin. In particular, there is no action available to add a simple line (referred to as “Text line” in the Properties panel).

Problem to be solved

For my instrument, standard notation is not sufficient. Instead, we use a system called Griffschrift, which indicates:

  • which button to press
  • whether to push or pull the instrument

The push/pull direction is represented by a line underneath the staff.

These lines need to:

  • start at a specific note
  • extend precisely to the end of another note’s duration

Current Limitation:
Using currently available spanner actions (e.g. Ottava lines like add-8vb) does not work correctly for this purpose, since they cannot span across the full duration of the note in the required way

Request
Please expose an action (e.g. add-textline) that allows plugins to create text line spanners programmatically, since they span across the full duration between notes.

Prior art

No response

Additional context

No response

Checklist
  • This request follows the guidelines for reporting issues
  • I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.