Improvement Needed: Filter Function

• Nov 8, 2019 - 21:23

Good afternoon, MuseScorers!

As I've been digging into a large-scale project for the Main Office, I've come to find I could use a much stronger filtering tool - so I'm hoping you all might be able to come to the rescue!

The "tl;dr" version of this post:
Any object that has a unique property that can be altered should be easily isolated in with the filter.

Here's an example:
If I've imported an XML file, there will be things to edit: for example, hairpins (that is, crescendos/diminuendos) don't format correctly. So I have to delete all the existing data and re-enter new hairpins.
My process means selecting every hairpin, one at a time (Ctrl-Clicking up and down the score) to highlight all of the hairpins, then deleting them.
I would love if I could highlight a measure from top to bottom, then turn to the filter to quickly isolated the hairpins.

In the existing Selection Filter, if I isolate ONLY dynamics & hairpins - it doesn't select anything at all!

Another example: let's say I copy material from one instrument with one transposition to another instrument with another transposition. The copy/paste function copies the beam direction of all the 8th/16th/etc. notes. I want to do a Select All, filter to select ONLY the beams of the whole score, then reset the beam properties to place them at automatic positions.

Other engraving programs have filters that allow the user to isolate notes by pitch, by rhythmic value, by defined articulation. They also allow the user to isolate slurs (the lines themselves), ties, trills, and so on.

Eliminating the palette function and turning it into a very very powerful right-click menu (doubled in the Edit drop down) would be the best way - rather than trying to cram this powerful of a tool into the limited scope of the side palettes.

The next step, once the filter is fixed, is to allow the user to define keyboard shortcuts that can execute any of the filter functions with a keystroke.
An example - in one of the competing applications, I often find a need to filter dynamics en masse. I have it set up such that Shift+Opt+D will select all Dynamics in the selected range.

Have at it, friends! Let me know your questions!

-- Ryan


This begs the question of a "search" function (let alone QML API). "Find the lyric 'foo'". "Find an A4 quarter note with a staccato dot." "Find the mezzopiano dynamic mark". And my favorite, "Find the word 'quasimodal' in text blocks.".

In reply to by BSG

These are some very specific - but not outlandish - "what if" suggestions.
Were I a vocal composer, working on a large-scale work (for example, I have an opera in the works): if I wanted to change a word that occurred in multiple places throughout the work, a powerful search would get me there. Especially with something so easily defined as an ASCII text string, a search/filter should be able to find that.
For your other suggestions: "A4 Quarter notes with staccatos" - the filters in Sibelius and Dorico are able to handle this. In Sibelius, it's a one-step filter. In Dorico, it would be a couple steps, but achievable.

Good conversation! Keep putting ideas on the board!

In reply to by Ryan

These aren't pipe-dreams from the fervid forge of my imagination. I have written fairly lengthy texts in MuseScore (see my "Tutorials" set), and the inability to find strings, esp. when typos are found by others, is a major pain in the appoggiatura, if you know what I mean (and forget ASCII; we're in the Unicode world now).

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