Condensed score plugin

• Mar 12, 2021 - 20:31

Hello everyone,

I search for advices...

What I want to do is for instance : combine flute 1 + flute 2 in the same staff.
The problem is that the implode function only keep the dynamic of one of the two parts and this is an issue when they're different.
Same issue when I try to change voice 1 to voice 2 within any staff : the notes are converted but not the linked dynamics.

I want to write a plugin to fix this issue and make condensed score an easier process.
However, could you confirm me that is (theoretically) possible to write such a plugin for MuseScore 3 ?
Would this plugin be compatible with MuseScore 4 ?

If not possible, do you think that an external Python script or tiny C program written for this purpose (generate combined parts from source code) could be a good alternative ?

The goal is to be able to give the conductor the condensed score if needed and not to find yourself stupid with a score to export in MusicXML to a paid software which does this in one click.

Thank you in advance !

All the Best,


In reply to by CB.

If I want to write a plugin to condense an orchestral score, could I access the objects and their parameters in order to get what I describe above?
If so, will my plugin be compatible with MuseScore 4?

If the source code of a MuseScore score changes drastically within a few versions, is it worth my time to invest energy to develop a plugin (or the other solutions mentioned above) knowing that the team MuseScore will (probably?) Implement this feature / fixes in the (near?) Future. What do you think ? Thank you. Sorry for the translation by the way !

In reply to by Shoichi

Thank you for taking the time to run this example, however it does not seem to resolve the fact that the dynamics of your hidden flute and those of the displayed flute condense on a single staff while remaining attached to the part in question: what I would like to get with a single click (via plugin or other) visually (I don't care about the playback) is:

Write Fl. 1 staff: notes, dynamics, slurs ... in voice 1
Write Fl. 2 staff: idem, in voice 1

Combine function that create a new staff which includes:
Voice 1: Fl 1 with linked dynamics (on top), slurs, articulations, and so on.
Voice 2: Fl. 2 with linked dynamics (even if different) at the bottom, slurs, articulations also changed to voice 2.

  1. If the MuseScore team is thinking of looking into the issue (in the short / medium term), I would love to know so as not to waste a monstrous amount of time programming alone.

  2. Are there other solutions before opting for:

  3. a. Programming a plugin: is this theoretically possible (access to voices, being able to change the voice associated with dynamics, slurs, articulations ...)
    b. If this is not possible by creating a plugin, is it possible by modifying the source code of a MuseScore file?
    If so, do you think my approach (Python script / tiny C program) is relevant or not?

Looking forward to reading you !

In reply to by CB.

  1. If it is being looked at, it'll only be by MS4.

  2. A plugin can do nothing more than what the built-in program can do and what a user can do. While you as a user can enter a dynamic in a certain voice, you can't change it; so neither will your plugin (but perhaps it can remove/re-add it)

  3. Yes, it might be possible by modifying the file with an external tool. Start by saving a simple example measure to compare the start/end/desired-end result with a text comparison tool.

Be aware that there is no guarantee that a plugin written against MS3 will work in MS4. There are currently no plans to drastically change the plugin API as far as I'm aware; but it is also quite early down the line to say anything with any kind of authority on the subject matter.
Similarly, the internal file format will change for MS4. Again, this likely won't be a drastic change, but just the required changes to accommodate the new features. Depending on what your external tool will do, it might need tweaking afterwards as well.

In reply to by jeetee

Thanks jeetee for your reply.

On reflection, all this seems very complicated for an imperfect and ephemeral result.

I really wonder how the composers-orchestrators who write for large ensembles using MuseScore go about it (especially with different dynamics / phrasing between two or more players we want to condense into one staff as I suggested in a previous post).

Indeed, this type of condensed score makes the work more readable, saves paper / turns pages an so on.

To my great regret the process of writing in MuseScore then exporting to D. to generate the condensed score is a big waste of time.


P. S. : Sorry for the translation.

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