Keyboard Shortcuts Cheat sheet
Most of the keyboard shortcuts are listed in the respective menu items in mei-friend’s menu bar; however, some of them you will only find here.
Getting help
? |
Open mei-friend documentation |
. |
Open MEI documentation for selected element |
Navigating through notation
→ |
Select next note, rest, or mRest |
← |
Select previous note, rest, or mRest |
↑ |
Select note, rest, or mRest one layer up |
↓ |
Select note, rest, or mRest one layer down |
→ |
Select note, rest, mRest in next measure |
← |
Selected note, rest, mRest in previous measure |
→ |
Go to next page (or ⇟) |
← |
Go to previous page (or ⇞) |
↑ |
Go to first page (or END) |
↓ |
Go to last page (or HOME) |
Zooming and display
Some zooming keyboard shortcuts apply for the currently active panel (notation panel, editor panel, or the facsimile panel).
+, – |
Zoom notation/encoding/facsimile in or out |
Mouse wheel |
Zoom notation/encoding/facsimile in or out (depending on mouse wheel direction) |
0 |
Zoom notation to 100% |
5 |
Zoom notation to 50% |
Selecting elements
Most comfortably, use mouse click and drag to select elements.
Please consult Settings->mei-friend->Drag select
to choose the element types while drag-selecting.
You can use the following shortcuts in combination with click and drag for selecting elements.
click |
Select multiple notes by mouse click |
click |
Select the chord when clicking onto a note |
SPACE |
Switch focus between notation panel and editor panel |
Manipulating elements
X |
Invert attribute `@place` (dir, dynam, trill, tuplet number, ...),
`@curvedir` (slur, tie, ...), `@stem.dir` (note, chord)
from above to below or below to above for selected element |
X |
Set att.placement (dir, dynam, trill, ...) to @place="between"
and determine staff attribute from staff group of selected element (has to contain exactly two staves) |
V |
Insert vertical group (`@vgrp`) attribute to selected elements with a new value for the displayed page |
Deleting elements
BACKSPACE or DELETE |
Delete selected elements both in encoding and notation.
Applies to all control elements, clef change, accid, artic, beam, beamSpan, note, chord, rest, mRest, multiRest.
When deleting the last note inside a chord, beam, tuplet, fTrem, bTrem, these parent elements will also get deleted.
When deleting an element that is been pointed to by another element (such as by a slur through `@startid` or `@endid`),
this pointing element will also be deleted.
|
Manipulate elements
C |
Convert selected note(s) to a new chord (having selected notes as children and cue, dur, dots, grace, stem.dir attributes in chord element) and vice versa (remove chord element while copying cue, dur, dots, grace, stem.dir attributes to note elements) |
N |
Convert selected note(s) to rest(s) and vice versa, retaining pitch and octave information (each element receives new xml:id) |
Moving elements
↑ |
Move note, rest, mRest, multiRest chromatically upwards |
↓ |
Move note, rest, mRest, multiRest chromatically downwards |
↑ |
Move note, rest, mRest, multiRest diatonically upwards |
↓ |
Move note, rest, mRest, multiRest diatonically downwards |
↑ |
Move note, rest, mRest, multiRest one octave upwards |
↓ |
Move note, rest, mRest, multiRest one octave downwards |
↑ |
Move note, rest, mRest, multiRest one staff downwards |
↓ |
Move note, rest, mRest, multiRest one staff upwards |
Manipulate duration
→ |
Increase duration of a note, chord, rest, etc. |
← |
Decrease duration of a note, chord, rest, etc. |
. |
Toggle single dotting of a note, chord, rest, etc. |
MEI encoding manipulation
C |
Remove @accid.ges when @accid is present |
Renumber measures (counts successive measures with `@metcon="false"` as one, counts multiple endings with same numbering)
R |
Test renumbering (output to console) |
R |
Execute renumbering |
M |
Add XML ids to MEI (done natively in mei-friend) |
M |
Add XML ids from MEI, except those used for referencing other elements (done natively in mei-friend) |
I |
Ingest facsimile |
E |
Surround selected encoding in the editor with a tag to be specified in context menu (entire current tag selected, if only single cursor position provided) |
/ |
Surround selected encoding in the editor with last tag specified in context menu (entire current tag selected, if only single cursor position provided) |
Inserting elements
Key bindings insert elements without placement attribute by default. To insert or invert placement, use X. The elements are inserted using @startid
and @endid
attributes by default. To insert them with @tstamp
and @tstamp2
attributes instead, press together with the keyboard shortcuts listed below. Time stamp insertion is supported for these elements: slur
, tie
, hairpin
, fermata
, dir
, dynam
, pedal
, mordent
, trill
, turn
, glissando
.
N |
Insert a note, chord, rest (that is, duplicate (last) selected note, chord, rest. When selection is a layer, append a new quarter-note C4 to that layer) |
+ |
Insert accidental sharp ♯ to currently selected note(s) |
= |
Insert accidental natural ♮ to currently selected note(s) |
– |
Insert accidental flat ♭ to currently selected note(s) |
T |
Insert tempo at selected note(s) |
I |
Insert directive at selected note(s) |
D |
Insert dynamics at selected note, with extender if two notes selected |
S |
Insert slur starting/ending on selected notes |
T |
Insert tie starting/ending on selected notes |
H |
Insert crescendo hairpin starting/ending at selected notes |
H |
Insert diminuendo hairpin starting/ending at selected notes |
B |
Insert beam on selected notes/chords sharing identical parent |
B |
Insert beamSpan element on selected elements |
U |
Surround selected elements with a supplied element; responsibility attribute to be selected in settings |
U |
Make artic attribute a separate element and surround it with a supplied element; responsibility attribute to be selected in settings |
U |
Make accid attribute a separate element and surround it with a supplied element; responsibility attribute to be selected in settings |
A |
Insert arpeggio for selected note(s) (with @order="up" per default, with CTRL + A @order="down") |
F |
Insert fermata above selected note |
G |
Insert glissando starting at first, ending at last selected note |
P |
Insert pedal down for (first) selected note (and pedal up for last selected note, if multiple notes are selected) |
P |
Insert pedal up for selected note |
L |
Insert trill to selected note(s) |
R |
Insert turn to selected note(s) (with SHIFT: lower form) |
M |
Insert mordent to selected note(s) (with SHIFT: upper form) |
O |
Insert octave shift above (8va), spanning two selected notes/chords (below with CTRL)
|
O |
Insert octave shift above (15va), spanning two selected notes/chords (below with CTRL)
|
G |
Insert G clef before selected element |
G |
Insert G clef after selected element |
F |
Insert F clef before selected element |
F |
Insert F clef after selected element |
C |
Insert C clef before selected element |
C |
Insert C clef after selected element |
Toggle articulation
S |
Toggle staccato on note/chord |
V |
Toggle accent on note/chord |
E |
Toggle tenuto on note/chord |
O |
Toggle marcato on note/chord |
I |
Toggle staccatissimo on note/chord |
Y |
Toggle spiccato on note/chord |
MIDI playback
SPACE |
Play/pause (opens player if required) |
ESC |
Stop playback and hide player |
URL Parameters
mei-friend may ba called with several parameters passed through the URL
in the form of https://mei-friend.mdw.ac.at/?file=fileURL&select=beamId.
file=fileURL |
Open specified file URL |
scale=number |
Specify scaling of notation (default: 55; min: 10; max: 200) |
breaks=none|line|encoded|auto |
Specify breaks option of Verovio |
select=n1,n2,n3& select=ch1& select=slur1 |
Specify selected elements (pass multiple
comma-separated xml:ids and/or repeat select parameter); notation and
encoding will page-flip and scroll to first selected element; overrides page parameter |
page=number |
Specify a page number to be displayed (depends on breaks settings; overridden by select, see above) |
speed=true|false |
Set speed mode |
fork=true|false |
If a https://raw.githubusercontent.com URL is supplied via
the file parameter (see above), direct the user to fork the corresponding
repository and open their forked version (logging them in first if necessary) |
autoValidate=true|false |
Activate (default) or deactivate automatic validation upon MEI text input |
notationOrientation=top|right| bottom|left |
Set relative position of notation in window |
notationProportion=0.5–0.95 |
Size of notation panel relative to window |
facsimileOrientation=top|right| bottom|left |
Set relative position of facsimile relative to notation panel |
facsimileProportion=0.5–0.95 |
Size of facsimile panel relative to notation panel |
Examples using URL parameters
Schumann piece with several elements
selected in the middle
Beethoven Op.76 containing facsimile
elements with measure-wise zones