musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.11k stars 2.62k forks source link

Intelligent Merge Staffs (Dynamic Implode) #16897

Open Lenbus opened 1 year ago

Lenbus commented 1 year ago

Your idea

A special type of Merged Staff, that is dynamically imploded by two or more single voice staffs (even one could come in really handy). This utilizes a dynamic link to the parent staffs, so if there is something changed either in one of the single-staff parents or in the merged one, the other one get updateted accordingly and vice versa. This concept is similar to part scores but on staff level.

Also the option to "freeze" (prevent updating by other) or "rasterize" (unlink) the merged track could come in handy.

Problem to be solved

For ease of viewing often it is desireble to merge mutliple staffs into one (using implode). On the other hand for learning, editing, and part scores, divisi voices are much better to handle. Why not have both options intertwined working together as part scores and the main score?

Prior art

Additional context

No response

oktophonie commented 1 year ago

Don't worry, it's being worked on 😇 (but will take quite some time)

Lenbus commented 1 year ago

Maybe the "Linked Staff" could be a starting point to integrate that feature, where two source staffs would be linked to one target staff? 🙂

Dima-S-Jr commented 5 months ago

@Lenbus, does your request concern the automatic transformation of a single-staff part (violins, for example) into a two-staff part in those systems where divisi begins (provided that the user, by clicking on divisi, chooses the variant of writing divisi on two staffs), and the reverse transformation into a single-staff part after the system where divisi ended? Or is this a separate topic for discussion?

Lenbus commented 5 months ago

Thanks for your pint @Dima12357. I'm not entirely sure, if I got correct, what you mean, but I think this is quite the same/similar thing. What you describe are necessary parts for what I imagine.

There should be 3 Options available:

  1. merged → single staff, multiple voices
  2. occasional divise → single or multiple staffs depending on number of voices
  3. full divisi → multiple staffs (one for each voice) ↳ Fill With: ... when less voices than staffs are there (temporarily): Default → duplicate the next voice above/below, Option: just add pauses

It should also be possible to "render" a divisi view, breaking that dynamic link and make separate regular staffs out of that.

This should all work by just switching between "View Modes", but always point to the same note objects (such as a part score also dynamically references the original score). I also see some potential for this to build upon Linked Staffs or at least put this where LS can be set up.