29 June 2014

This week I have finished spanner filters, and added other filters for glissando and arpeggio.

Progress on filters

  • Clefs
  • Key Signatures
  • Time Signatures
  • Barlines
  • Dynamics
  • Lyrics
  • Chord Symbols
  • Figured Bass
  • Fret Diagrams
  • Text
  • Slurs
  • Hairpins - filtered with Dynamics
  • Ottava
  • Trills - filtered with Articulations
  • Pedal Lines
  • Other Lines
  • Articulations
  • Arpeggios
  • Glissandi
  • Breaths
  • Fingering
  • Tremolo
  • Breaks
  • Bagpipe Embellishments - Grace Notes?

I don’t think that creating a filter for breaks is necessary. They are not selected by default, and copying a measure with a break does not include it.

There is rarely a reason to filter bagpipe embellishments, so instead of a filter for them, I will create a filter for grace notes.


I have changed the spanner highlight, delete and copy paste behavior. I am not fully convinced that it is correct. The current behavior checks if the start and end ticks of the spanner are contained in the selection and applies the action if the condiction is fullfilled. From the pictures below, it looks like the note at spanner end tick is not affected by the spanner. This is best seen in the ottava example below.

Pedal Lines







Would it be better to apply the actions when all the affected chord rests are selected? This would mean that a spanner’s second to last chordrest is contained in the selection. This approach would have to fix the way spanners are copied, since we copy the spanners without the end element.

I have added filters for slurs, ottava and pedal lines. Hairpins are filtered with dynamics while trills are part of articulations filter.

Other filter progress

Apart from the spanner filters, have added filtering for glissando and arpeggio. All commits regarding filtering can be found in the selection-window branch.

Google document for selection

I have started writing a guide/overview of how selections work in MuseScore. The document can be found here. It started from the need to state the new behavior for spanners, but it is a good opportunity to write something bigger that will talk about selections as a whole.

Tasks in the upcoming week

I plan to add the catch all/rest filters for lines and text. Next on the list are a tremolo, breath and grace note filter. This will cover the element part of the filters. Later during the week I plan to look at how voices are copied in order to find a way to allow other voices to be pasted.