# Editing Features

While editing, &frescobaldi; provides many ways to change and manipulate already entered music.

## Rhythm

In the &lilypond;Rhythm menu there are many options to manipulate the durations of a selected music fragment. You can double or halve the durations, add or remove dots, remove scaling (the `*n/m` suffix) or remove all durations. Make implicit removes durations that are equal to the previous note, Make implicit (per line) does the same, except that it always adds a duration to the first note or chord on a line, and Make explicit adds the duration to every note or chord, even if it has the same duration as the previous one.

You can also copy a rhythm from a selected piece of music. The rhythm is then copied to the clipboard. To "paste" the rhythm to other music you must then select the target music. Paste Rhythm will then apply the copied rhythm to the newly selected music. This is nice when you enter e.g. hymns that have multiple voices that share the same rhythm. You can also use Apply Rhythm... to manually enter some durations and apply them to a selected fragment of music. If there are more notes than durations, the durations will be repeated.

## Pitch

The &lilypond;Pitch menu has several commands to manipulate pitches of already entered music:

Pitch Name Language

  This command is very powerful: it translates pitch names in your document to a different &lilypond; language. This is useful when you want to edit a work started by someone else, but are not accustomed to entering notes with e.g. Dutch or Italian names.

  The pitch translation function is quite accurate: it almost 100% correctly parses &lilypond; input and finds all pitches, without altering e.g. markup, lyrics, strings or comments that might contain words (like "do") that are also pitch names. It even warns you when quarter tones are used and the target languages does not have definitions for them. But just to be sure: run &lilypond; after translating the pitches and carefully examine the document. If anything went wrong, press Ctrl+Z and try again.

Convert Relative to Absolute

  This command converts all notes in the document or selected fragment that are inside a `\relative { ... }` section to absolute pitches. It honors octave checks (see the &lilypond; manual) but does not print warnings.

Convert Absolute to Relative

  This command converts all notes in the selected music expression(s) to relative pitches, inserting a `\relative` command at the beginning of each selected music expression. A music expression is a piece of music enclosed in `<< ... >>` or `{ ... }`. If no music is selected, all toplevel expressions that contain notes are made relative. Chordmode sections (music inside `\chordmode` or `\chords`) are not made relative.

Transpose...

  This command transposes all music in the document or selected fragment. A dialog is displayed where you can enter two pitches, the "from" and the "to" pitch. &frescobaldi; then computes the distance between the two pitches and transposes the music over the same distance. Both absolute and relative music can be transposed. Chordmode sections are transposed without changing the octave.

## Lyrics

&frescobaldi; can automatically place hyphens `' -- '` inside texts to make those texts usable as lyrics. It can use hyphenation dictionaries of OpenOffice.org, Scribus, KOffice, etc.

To use this feature you must first select the text you want to hyphenate. Then choose &menu.lilypond.hyphenation;. In the dialog that appears, select the language. Click OK or press Enter to have the hyphenation take place.

A small limitation is that word processor hyphenation dictionaries often don't want to break a word right after the first letter (e.g. `a -- men`), because that does not look nice in word processor texts. So it might be possible that you have to add some hyphens after the first letter of such lyrics.

There is also a command to remove hyphenation. This can be useful if you have a stanza of lyrics that you just want to display as a markup below the music. Under &menu.settings.paths; you can enter a list of directories to search for hyphenation pattern files.

## Cut and Assign

If you find that you want to use the same &lilypond; commands or music fragment more than once in multiple places in your document, but have already entered them in some structure, there is a quick command to cut the fragment out and put it as a toplevel variable assignment in your &lilypond; document.

First select the exact text you want to store in a variable. Then choose Ctrl+Shift+C Edit Cut and Assign and enter a &lilypond; variable name. This identifier name may only contain letters. Then click Ok. The selected fragment will be cut from its original place and assigned to the specified variable. The assignment is placed just before the current section in your document. The fragment will be replaced with a reference to the variable.

## Keyboard Shortcuts

&frescobaldi; uses the KatePart text editing component of KDE. So, in addition to the shortcuts outlined below, you can also use the many keyboard shortcuts available in e.g. Kate and KWrite.

Alt+Up/Down | Move the cursor to the end of the next or previous blank line
Alt+Shift+Up/Down | Select text till the next or previous blank line
Alt+Ctrl+Shift+Up/Down | Move the selected block to the next or previous blank line
Ctrl+D | Comment out the current line or selected text
Ctrl+Shift+D | Uncomment the current line or selected text
Ctrl+; | Repeat the last entered note or chord with all added articulations, etc
Ctrl+{ | Insert a pair of braces `{ }` with an empty, indented line in between and places the cursor there. If text is selected, it is placed between the braces.
Ctrl+. | Replace the entered mnemonic with the corresponding snippet from the Expand Manager, or, if no existing mnemonic was typed, show the Expand Manager dialog
Ctrl+Space | Show the available completions
Ctrl+' | Insert a single typographical quote. Left or right is automatically determined. If text is selected, that text is put between left and right single quotes.
Ctrl+" | Insert a double typographical quote. Left or right is automatically determined. If text is selected, that text is put between left and right double quotes.
Ctrl+Shift+C | Cut and assign
Ctrl+Shift+V | Insert a `\version` command with the default &lilypond; version number. Which version number is used can be configured in the Settings dialog.
Ctrl+Shift+R | Wrap the selected music in a `\repeat volta 2 { ... }` construct.
Ctrl+Shift+N | Show the Score Wizard
Ctrl+M | Run &lilypond; on the current document in preview mode
Alt+Ctrl+P | Run &lilypond; on the current document in publish mode
Ctrl+Shift+M | Open a dialog to run &lilypond; on the current document in custom mode
Ctrl+L | Hyphenate the currently selected lyric text
Ctrl+E | Email the generated output documents (PDF, MIDI, etc.) after a &lilypond; run
Ctrl+Shift+P | Print the generated PDF output document(s) after a &lilypond; run
Ctrl+Shift+F | Toggle Full-screen mode

You can change the keyboard shortcuts and also add shortcuts for actions that don't have one by default, by choosing Settings Configure Shortcuts... or by right-clicking the respective menu entries.