#LyX 2.3 created this file. For more info see http://www.lyx.org/
\lyxformat 544
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass article
\begin_preamble
\date{}
\pagenumbering{roman}
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures false
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry true
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\use_minted 0
\index Index
\shortcut idx
\color #008000
\end_index
\leftmargin 12mm
\topmargin 5mm
\rightmargin 12mm
\bottommargin 5mm
\headheight 5mm
\headsep 5mm
\footskip 5mm
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\is_math_indent 0
\math_numbering_side default
\quotes_style english
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Title
Denemo User Manual
\end_layout

\begin_layout Author
Richard Shann
\end_layout

\begin_layout Standard
\align center
\begin_inset CommandInset href
LatexCommand href
name "Requests for help to: denemo-devel@gnu.org"
target "denemo-devel@gnu.org"
type "mailto:"
literal "false"

\end_inset


\end_layout

\begin_layout Standard
\align center
This Manual is released under the 
\begin_inset CommandInset href
LatexCommand href
name "Creative Commons Attribution-Share Alike 3.0 Unported"
target "http://creativecommons.org/licenses/by-sa/3.0"
literal "false"

\end_inset

 license.
\end_layout

\begin_layout Standard
\align center
Copyright © 2009 - 2021 Denemo Project
\end_layout

\begin_layout Standard
\align center
Updates for version 2.6
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Standard
\begin_inset CommandInset toc
LatexCommand tableofcontents

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Part
Getting Started
\end_layout

\begin_layout Section*
Introduction  
\begin_inset Index idx
status open

\begin_layout Plain Layout
Conditional Directive
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Denemo lets you create musical scores.
 You can type music in using the keyboard or play it in using a MIDI contoller
 or the microphone input.
 You can edit your music – the input display window shows you what you are
 working on in music notation – and you can playback to check how it sounds.
 The Print View window shows the final printed score, typeset to the highest
 standards used in the music publishing industry – thanks to the Lilypond
 music typesetting program.
\end_layout

\begin_layout Standard
This separation of the final typesetting window from the input display avoids
 the constant dragging about of overlapping notation which is typical of
 music notation programs.
 It also means you are less likely to input a slur when you mean a tie,
 or a whole note rest when you mean a whole measure rest, for example –
 these often look similar in the typeset and are easily confused, but Denemo's
 input display makes clear the distinction.
 Nevertheless, if you do wish to tweak the appearance dragging and re-positionin
g of some notation is possible on the final typeset display.
\end_layout

\begin_layout Subsubsection*
Some Terminology
\end_layout

\begin_layout Standard
Besides the terms well-known to musicians, music notation has some specialized
 names and Denemo uses some terms with specific meanings which you should
 know:
\end_layout

\begin_layout Itemize
A
\emph on
 movement
\begin_inset Index idx
status open

\begin_layout Plain Layout
Movement
\end_layout

\end_inset


\emph default
 is a continous stretch of music (all the measures following on from each
 other) such as a song in a songbook, or a movement in a symphony.
\end_layout

\begin_layout Itemize
A 
\emph on
score
\begin_inset Index idx
status open

\begin_layout Plain Layout
Score
\end_layout

\end_inset


\emph default
 is one or more movements usually interspersed with titles.
\end_layout

\begin_layout Itemize
A 
\emph on
staff
\begin_inset Index idx
status open

\begin_layout Plain Layout
Staff
\end_layout

\end_inset


\emph default
 has the usual meaning, but note that it may contain several lines of music
 (voices).
 A Denemo staff may also be typeset as a line of Chord Symbols
\begin_inset Index idx
status open

\begin_layout Plain Layout
Chord Symbols
\end_layout

\end_inset

, Fret Diagrams
\begin_inset Index idx
status open

\begin_layout Plain Layout
Fret Diagrams
\end_layout

\end_inset

, or a line of dynamics markings above or below some other staff.
\end_layout

\begin_layout Itemize
The term 
\emph on
voice
\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice
\end_layout

\end_inset


\emph default
 is used in two senses: as a line of music moving independently on a staff,
 
\noun on
and
\noun default
 (as in 
\emph on
Voice 1
\emph default
, 
\emph on
Voice 2
\emph default
), a voice that has its stems in one direction, with corresponding changes
 to the placing of ties, slurs, ornaments etc).
 Voices are normally displayed on separate staffs in the Denemo Display
 to make them easy to edit; the LilyPond typesetter has the task of placing
 them on the same staff.
\end_layout

\begin_layout Itemize
A 
\emph on
chord
\emph default

\begin_inset Index idx
status open

\begin_layout Plain Layout
Chord
\end_layout

\end_inset

 is one or more notes of the same duration making a single musical object.
 If the notes are of different durations then they have to be placed in
 separate voices, they can't be a chord, though they may appear so (by sharing
 stems) in the typeset.
\end_layout

\begin_layout Itemize
A 
\emph on
system
\begin_inset Index idx
status open

\begin_layout Plain Layout
System
\end_layout

\end_inset

 
\emph default
is what might be called a 
\begin_inset Quotes eld
\end_inset

line
\begin_inset Quotes erd
\end_inset

 of the music on the page, that is all the music (over several staffs) that
 sounds together starting at the left-hand margin and ending at the right
 margin.
\end_layout

\begin_layout Itemize

\emph on
\begin_inset Index idx
status open

\begin_layout Plain Layout
Markup
\end_layout

\end_inset

Markup
\emph default
 is text – e.
\begin_inset space \thinspace{}
\end_inset

g.
 titles – that can have additional characters to indicate bold or italic,
 repositioning etc.
 In Denemo this may even include syntax for snippets of music, note-names
 fret diagrams etc., so that these can appear in the text.
\end_layout

\begin_layout Itemize

\emph on
Staff Spaces
\emph default
 a unit of measurement: the distance between adjacent lines in a staff.
 Generally when you need to specify a distance in Denemo this is the unit
 used.
 So the Markup to System spacing is the spacing between the last title and
 the first staff.
\end_layout

\begin_layout Itemize

\emph on
Part 
\emph default
is used with a special sense in Denemo: each staff has a part name associated
 with it (printed at top left of the staff, with a green background for
 editing it).
 All staffs with the same part name (or with none) are typeset together
 by the Print Part
\begin_inset Index idx
status open

\begin_layout Plain Layout
Print Part
\end_layout

\end_inset

 command.
\end_layout

\begin_layout Itemize
\begin_inset CommandInset href
LatexCommand href
target "http://lilypond.org/doc/v2.18/Documentation/music-glossary/index.html"
literal "false"

\end_inset

is a good guide especially for non-native speakers of English.
\end_layout

\begin_layout Section
Input Methods
\end_layout

\begin_layout Standard
Most people will start with playing around with Denemo using the mouse,
 but by the time you are reading this you will want something more efficient.
 Try using the pc keyboard.
 By default, keys 
\family typewriter
a
\family default
 to 
\family typewriter
g
\family default
 represent the note names and 
\family typewriter
0
\family default
 to
\family typewriter
 6
\family default
 the different durations (whole note, half note etc).
 When the cursor is appending (blue) pressing key 
\family typewriter
0
\family default
 will insert a whole note at the cursor.
 Pressing the 
\family typewriter
a
\family default
 key will append the nearest A.
 If the duration of the next note is the same you can simply type the note
 name, it will use the last entered duration.
 There are keypresses (+/-, and plus/minus on the numeric keypad) to set
 sharp/flat/double-sharp/double-flat for the next entered note and to sharpen
 or flatten.
 Use +/- with the shift key to sharpen or flatten an existing note.
 Likewise, Shift with a number key edits the duration of a note.
 
\end_layout

\begin_layout Standard
When the cursor is moved on to a note (with the arrow key or mouse) the
 cursor turns green and then 
\family typewriter
a
\family default
 to
\family typewriter
 g
\family default
 edits the note name.
 To insert a note before a note at the cursor use a double strike 
\family typewriter
A
\family default
,
\family typewriter
A
\family default
 to
\family typewriter
 G
\family default
,
\family typewriter
G
\family default
.
 When the cursor is green tothe keys
\family typewriter
 Shift
\family default
-
\family typewriter
0
\family default
 to
\family typewriter
 Shift-6
\family default
 change the duration of the note, while 
\family typewriter
0
\family default
 to
\family typewriter
 6
\family default
 insert a note before the cursor.
 (If you use the numeric keypad you can use 
\family typewriter
Shift-KP0
\family default
 to
\family typewriter
 Shift-KP6
\family default
 for this).
 The arrow keys move the cursor around, the period key adds a dot while
 
\family typewriter
Alt-a
\family default
 to
\family typewriter
 Alt-g
\family default
 add notes to the chord at the cursor.
 
\family typewriter
Ins
\family default
 inserts a note in a chord whether the cursor is on (green) or after (blue)
 a note, a double 
\family typewriter
Del
\family default
, 
\family typewriter
Del
\family default
 removes it.
 
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
When in the appending position the cursor shows as a large blue or red rectangle
 on a note-position.
 Blue indicates a note can be appended at that point without overflowing
 the measure.
 Red indicates that the measure is already full.
 When the cursor is a smaller green rectangle it indicates that you are
 not in the appending position: you can edit the note/object at the cursor
 or insert before it.
 The vertical blue line indicates the insertion point.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
For a more detailed description of Denemo's various input methods, see 
\begin_inset CommandInset ref
LatexCommand nameref
reference "sec:A-Survey-of-Input-Methods"

\end_inset

.
 You can find more shortcuts by exploring the menu system – e.
\begin_inset space \thinspace{}
\end_inset

g.
 under the Notes/Rests menu the Select Duration submenu gives Remove Dot
 with the shortcut Control-period shown in blue next to the command.
 
\end_layout

\begin_layout Standard
Alternatively, a list is available in the Help menu.
 There are thousands of commands in Denemo, so get to know the Command Center
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:The-Command-Center"

\end_inset

 where you can search for commands by key words such as slur, ossia, beam,
 Da Capo, cresc.
 etc.
\end_layout

\begin_layout Standard
Initially, Denemo starts with tooltips popping up almost everywhere.
 When they become too annoying you can tame them with Help->Turn Excessive
 Tooltips (Off/On), and you can further delay the remaining tooltips appearing
 via Edit->Change Preferences.
\end_layout

\begin_layout Standard
And once you have stopped playing around with the mouse for entering notes
 you can hide the palettes at the side to give more room for the music display
 (right click and Edit Palette).
\end_layout

\begin_layout Subsection
Some Common Keyboard Shortcuts
\end_layout

\begin_layout Standard
Here are a few of the keyboard shortcuts that are commonly used in Denemo.
\end_layout

\begin_layout Itemize
Letters 
\family typewriter
a
\family default
 to
\family typewriter
 g
\family default
 edit the note at the cursor to be A-G, if the cursor is in the appending
 position then notes are added.
 Letters 
\family typewriter
A-G
\family default
 (either 
\family typewriter
CapsLock
\family default
 or 
\family typewriter
Shift
\family default
) tapped twice insert a note at the cursor.
 
\end_layout

\begin_layout Itemize
Numbers 
\family typewriter
0 to 6
\family default
 are used to refer to the note durations Whole Note \SpecialChar ldots
 64th Note.
 They insert a duration at the cursor, which you then give a pitch to with
 a note name.
 With the shift key held (or the CapsLock on) 
\family typewriter
0 to 6
\family default
 edits the duration of the note at the cursor.
 The corresponding Numeric Keypad keys can be used instead.
\end_layout

\begin_layout Itemize
The period (
\family typewriter
.
\family default
) dots a note, 
\family typewriter
Ctrl-.

\family default
 removes a dot, on the numeric keypad Decimal (.) cycles through dotted,
 double-dotted, no-dot.
\end_layout

\begin_layout Itemize

\family typewriter
Alt-0 to Alt-6
\family default
 inserts a rest.
\end_layout

\begin_layout Itemize

\family typewriter
Alt-a to Alt-g
\family default
 Add notes to a chord.
 Or position the cursor and use 
\family typewriter
Insert
\family default
 to add a note, 
\family typewriter
Ctrl-Insert
\family default
 to remove it.
 
\end_layout

\begin_layout Itemize

\family typewriter
7
\family default
 starts a slur, 
\family typewriter
8
\family default
 extends it, while 
\family typewriter
9
\family default
 reduces it.
\end_layout

\begin_layout Itemize

\family typewriter
Shift-/
\family default
 inserts a cautionary accidental.
\end_layout

\begin_layout Itemize

\family typewriter
Esc
\family default
 switches between various views of the music which can allow more music
 on the screen at once.
\end_layout

\begin_layout Itemize

\family typewriter
TAB
\family default
 alternately inserts a start or stop triplet marker.
\end_layout

\begin_layout Itemize
Multiply (
\family typewriter
*
\family default
 on the numeric keypad) ties/unties the note at the cursor.
\end_layout

\begin_layout Itemize
Divide (
\family typewriter
/
\family default
 on the numeric keypad) sets/usets the note at the cursor as a grace note.
\end_layout

\begin_layout Itemize
Add/Subtract (
\family typewriter
+/-
\family default
 on the numeric keypad) sharpens/flattens the note at the cursor.
 On the main keyboard 
\family typewriter
+/-
\family default
 make the next inserted note sharper/flatter.
\end_layout

\begin_layout Standard
Two-key shortcuts are also available such as "
\family typewriter
B
\family default
,
\family typewriter
s
\family default
" for start repeat barline
\begin_inset Index idx
status open

\begin_layout Plain Layout
Barline
\end_layout

\end_inset

 and "
\family typewriter
B
\family default
,
\family typewriter
e
\family default
" for end repeat barline.
 An alternative set of shortcuts for 
\family typewriter
a 
\family default
to
\family typewriter
 g 
\family default
and
\family typewriter
 0 to 6 
\family default
is available via the Input menu.
\end_layout

\begin_layout Subsection
Some Common Mouse Shortcuts
\end_layout

\begin_layout Standard
Here are a few of the mouse shortcuts that are commonly used in Denemo (keyboard
s may vary, for control, shift, alt etc modifiers).
 Note that under the Input menu is an option to turn on more mouse-friendly
 buttons, this is the default for Windows users.
\end_layout

\begin_layout Itemize
Left-button click moves the cursor to the object indicated by the blue circle.
\end_layout

\begin_layout Itemize
Scroll Wheel pans up/down to bring staffs out of view into the window.
\end_layout

\begin_layout Itemize

\family typewriter
Shift
\family default
 Key and Scroll Wheel pans the score left/right.
\end_layout

\begin_layout Itemize

\family typewriter
Control
\family default
 Key and Scroll Wheel zooms.
\end_layout

\begin_layout Itemize
Right-button click edits at the cursor.
\end_layout

\begin_layout Itemize
Double-click brings up the Object Inspector on the current object, from
 there you can launch the Object Editor.
\end_layout

\begin_layout Itemize

\family typewriter
Shift
\family default
-right-button click edits things attached to the object at the cursor.
\end_layout

\begin_layout Itemize
Double click left-button describes the object clicked on.
\end_layout

\begin_layout Itemize

\family typewriter
Ctrl-Shift
\family default
 left-button drag allow you to move stuff in the display if it is cluttered.
 Typesettting is not affected.
\end_layout

\begin_layout Itemize

\family typewriter
Ctrl-Shift
\family default
 Key and Right mouse button gives the menu of directives to insert at the
 cursor.
\end_layout

\begin_layout Itemize
Ctrl-left-button drag lets you cramp the measures and/or staffs to a narrower
 spacing in the Display.
\end_layout

\begin_layout Subsection
Some Common Uses of MIDI in
\end_layout

\begin_layout Standard
The MIDI keyboard too can be customized to perform different actions.
 Usually, playing notes adds or edits the score (like hitting note names
 at the pc-keyboard).
 With the sustain pedal pressed chords are generated (the Alt key can be
 used for this too).
 If the interval between the notes played is augmented or diminished it
 is played on a different channel, so that you are alerted to possible pitch
 spelling errors (e.
\begin_inset space \thinspace{}
\end_inset

g.
 inputting A-sharp for B-flat).
 By holding down the 
\family typewriter
Ctrl
\family default
 key a score can be checked by playing the notes – the cursor only advances
 if the correct note is played, and the 
\family typewriter
Shift
\family default
 key can be held down to route the MIDI keyboard straight to the output
 (e.
\begin_inset space \thinspace{}
\end_inset

g.
 to check a phrase before playing it in).
 There is a button in the MIDI-in Controls to do this too, as well as a
 control to set the range of sharps and flats to be used.
 With the 
\begin_inset Quotes eld
\end_inset

Use Rhythm Entry for MIDI in
\begin_inset Quotes erd
\end_inset

 checked, the duration keys create pure durations (notes colored yellow/brown)
 – you can enter as much of the rhythm as you wish, and then play the notes
 on top.
\end_layout

\begin_layout Subsection
Note and Rest Entry Palettes
\end_layout

\begin_layout Standard
On starting Denemo for the very first time a series of palettes are placed
 near the main window with buttons to insert and change notes.
 For more serious use these just waste space, so by right clicking on them
 and choosing Edit this Palette they can be hidden.
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Part
Using Denemo
\end_layout

\begin_layout Section
General Concepts
\end_layout

\begin_layout Standard
The unit of work in Denemo is a musical score, which can be saved in a single
 file (with .denemo suffix).
 This is represented on the screen by a "tab".
 If you have several tabs open at once they appear just above the music
 in the main window, and you can switch between them by clicking on the
 tab.
\end_layout

\begin_layout Standard
One score may contain several movements, which you can move between (
\family typewriter
PgUp
\family default
, 
\family typewriter
PgDown
\family default
), insert duplicate, merge and delete with the Movements menu.
 A movement is a 
\emph on
continuous
\emph default
 piece of music with titles etc.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
When you have more than one movement numbered buttons appear in the score
 titles bar for you to navigate by.
 The first thing on the status bar after any pending accidental
\begin_inset Index idx
status open

\begin_layout Plain Layout
Pending accidental
\end_layout

\end_inset

 is the movement number.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
In the top corner of the Display is a flag icon which sets values that apply
 to the whole movement.
 Here you can control which staffs are visible in the display, which are
 muted on playback, and edit any other properties of the movment.
 
\end_layout

\begin_layout Standard
Within a movement there are staffs (arranged vertically).
 Each Denemo Staff has in turn a Denemo Voice
\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice
\end_layout

\end_inset

 and within the voice are the Denemo Objects.
 These can be notes, chords, key changes, time signature changes, voice
 change objects and Denemo Directive objects (see 
\begin_inset CommandInset ref
LatexCommand nameref
reference "sec:Denemo-Directives"

\end_inset

).
 The staff properties include things like the number of lines (usually 5)
 the MIDI instrument sound for playback and the amount of space allotted
 in the display for the staff.
 Before each staff are buttons to control properties of the staff – flags
 to set for visibility, mute, non-printing and the staff number which can
 be clicked to edit other staff properties.
\end_layout

\begin_layout Standard
The notes and chords are displayed in conventional format (though not fully
 typeset).
 The position of Denemo Directive objects in the music is marked with a
 
\begin_inset Quotes eld
\end_inset

stick and blob
\begin_inset Quotes erd
\end_inset

 and it is accompanied either by a drawing (e.
\begin_inset space \thinspace{}
\end_inset

g.
 of a double barline) and/or some text to describe it.
 These are used for most things that are not chords or notes etc: Metronome
 marks, repeat barlines etc are good examples.
 In this example the caesura is a Denemo Directive object marked by the
 stick and blob before the last note and drawn on the staff in an approximate
 representation of its typeset appearance.
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/DenemoDirectives.png
	scale 60

\end_inset


\end_layout

\begin_layout Standard
Denemo Directives can also be attached to chords, individual notes in a
 chord, to a staff, to a movement or to the score; in these cases the directive
 can be thought of as an attribute of the object it is attached to.
 In the above example the trill sign is attached to the second note and
 this directive can be inspected and edited using the Object Inspector
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Object-Inspector"

\end_inset

 and Object Editor 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Object-Editor"

\end_inset

.
 Denemo Directives attached to the staff, movement or score can be inspected/edi
ted too, using the relevant editors 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Score-and"

\end_inset

, 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Staff-and"

\end_inset

.
\end_layout

\begin_layout Standard
If there is more than one voice on a staff it is best displayed on a separate
 staff in the Denemo Display, for ease of editing – the clef is drawn pale
 and there is no time signature for such extra voices so it is easy to understan
d what is going on.
 The Print Preview window as usual shows the final typeset appearance.
 The clef in this case only affects the display, and any time signature
 or key signature set on it would also only affect the display.
\end_layout

\begin_layout Standard
In the Denemo display a cursor shows where the next note will be entered/edited.
 It is red for an over-full bar, blue for appending into an under-full one
 and green when editing (i.
\begin_inset space \thinspace{}
\end_inset

e.
 on an already entered object).
\end_layout

\begin_layout Standard
The menus in Denemo are unusual: they not only let you do some particular
 action, but also each menu item lets you add the command to a palette,
 enquire what the action does in more detail and set keyboard/mouse shortcuts
 for the action.
 A single keystroke can be set as a shortcut simply by pressing the key
 while the menu item is selected.
 All the extra functionality of menu items can be accessed by right-clicking
 the menu item, while the usual left click is for executing the action itself.
 The menus can always be torn off for working with particular items (e.
\begin_inset space \thinspace{}
\end_inset

g.
 working with different movements or with measures, dynamics etc.).
 When you place a command in a palette you can add to an existing palette
 or create a new one – you can choose or create any number of these, free-floati
ng or docked in the main display.
 Also available by right-clicking is creating new actions – often by modifying
 ones that are already there – using the Scheme scripting window.
\end_layout

\begin_layout Standard

\end_layout

\begin_layout Standard
When a file is loaded it opens at the point where you left off editing it.
 The position and size of the window is restored as well as the position
 and size of the source pdf you are transcribing from.
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Section
Denemo Main Window
\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\begin_inset Caption Standard

\begin_layout Plain Layout
Denemo Main Window
\end_layout

\end_inset


\begin_inset Graphics
	filename images/denemomain.png
	lyxscale 80
	width 100text%

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
The main window has menus and toolbars at the top, and palettes at top and/or
 right hand side.
 Which menus and palettes are shown are selected via the View menu.
 At the bottom left is a status button showing which movement you are in
 and what sort of object the Denemo Cursor is on - clicking on this button
 lets you inspect/edit that object.
 Bottom right is a command button - it shows the last used command and any
 messages the commands may have given.
 Clicking on this button opens the Command Center
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:The-Command-Center"

\end_inset

 on the last used command, giving full information about what the command
 did.
 The function key Fn12 re-executes the command.
 When a MIDI filter is active it is displayed at bottom right.
\end_layout

\begin_layout Standard
In between is where the music input is displayed, the Denemo Display area.
 When zoomed out you see just the few measures you are working on.
 By dragging the red bar at the bottom of the score upwards you get space
 for more of the music.
 If you have many staffs they may not all fit: you can still scroll the
 display to see several lines of just one or two staffs for instance.
 
\end_layout

\begin_layout Standard
You can hide staffs in the display if needed using the Staffs->Display Effects
 menu.
 If you need more room you can hide the menus (using the View Menu, shortcut
 Esc key), and arrange a 
\begin_inset Quotes eld
\end_inset

page view
\begin_inset Quotes erd
\end_inset

 of the input music – useful when using playback.
\end_layout

\begin_layout Standard
At the start of each staff are the staff tools: the flag icon lets you set
 whether the staff will be muted or non-printing and various other properties
 set on the staff; below that the staff number can be clicked to edit the
 Denemo Directives which you have installed on the staff.
 All these are available from the Staff/Voices menu.
\end_layout

\begin_layout Subsection
The Denemo Display
\begin_inset Index idx
status open

\begin_layout Plain Layout
Denemo Display
\end_layout

\end_inset

 
\end_layout

\begin_layout Standard
The area showing the input music is called the Denemo display.
 It shows staffs and voices and the music interspersed with any Directives.
 The background is grayed out when the focus is elsewhere – click on the
 display to start typing in notes.
 The background is also colored when input from any attached MIDI keyboard
 is not being used for appending/editing the score (as it is by default).
\end_layout

\begin_layout Standard
The default view has a single system stretching off the sides of the window
 – the actual division into lines and pages for the typeset score is done
 in the Print View
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Print-View"

\end_inset

.
 In order to see more of the music on the screen at one time you can either
 cram the staffs and measures closer together (using Ctrl-Left-Drag) or
 choose from two alternative views you can make where the menus are hidden
 and/or the display is split into sections.
 To select these alternate views pressing Esc key twice 
\begin_inset Foot
status open

\begin_layout Plain Layout
the command being View->Hide/Show Menus
\end_layout

\end_inset

will switch between three views, two of which have no menus taking up space.
 At the bottom of any of these is a red line which can be dragged up to
 split the display into separate lines.
 Using this you can display more bars of music at the expense of seeing
 more staffs for each system (the scrolling allows you to choose which staffs
 to concentrate on).
 As usual, this division into lines has nothing to do with the typeset view
 – widening the window will change the positions of the 
\begin_inset Quotes eld
\end_inset

line breaks
\begin_inset Quotes erd
\end_inset

 but have no effect on the final typeset score.
 Actual line breaks in the typeset are managed by the LilyPond typesetter
 and can be overruled by commands in the Directives menu.
\end_layout

\begin_layout Standard
The second way of getting to see more of the music is simply to zoom the
 Denemo Display (Ctrl-mouse wheel is best).
 Again this is purely for the input display – you use commands in the Score
 and Directives menu to control the size of staffs, titles etc.
 in the final typeset score.
\end_layout

\begin_layout Standard
Lastly with large (deep) scores – orchestral scores for instance – you may
 want to hide staffs in the display while you work on others.
 For example, you may want to hide all but the woodwind section.
 The commands for this are in the Staffs menu – you may want to change the
 keyboard shortcuts for navigating staffs (Ctrl-up arrow etc) to invoke
 the staff moves that skip over hidden staffs in this case.
\end_layout

\begin_layout Subsubsection
The Page View
\begin_inset CommandInset label
LatexCommand label
name "subsec:The-Page-View"

\end_inset


\end_layout

\begin_layout Standard
The third of the three Denemo display modes that you get with the Esc key
 is called the Page View – it is set up initially with a small zoom factor
 and several systems showing.
 In this view the cursor highlighting has a large green circle around the
 cursor position and the display will animate during playback.
 As the music starts playing the second system down the page the top of
 the page is 
\begin_inset Quotes eld
\end_inset

turned over
\begin_inset Quotes erd
\end_inset

 so that, as you reach the bottom of the page your eye can move up to the
 top of the page and follow the music on.
 Once the music starts again at the top of the new page the rest of the
 page is filled in replacing the old page.
\end_layout

\begin_layout Subsubsection
Transition Animation
\end_layout

\begin_layout Standard
One of the problems with moving about a score looking at the input music
 is that it can be difficult to see quickly where the cursor has moved to.
 An even more tricky situation arises when deleting empty measures – often
 the next measure is empty too, so it can appear that nothing has happened,
 it seems the command to delete a measure isn't working.
 What has happened is that another empty measure has moved in from the right
 and the display looks unchanged.
\end_layout

\begin_layout Standard
To avoid these problems these transitions are animated – the measure coming
 in from the right can be visually seen to shunt in from the side; similarly
 staffs move up from below and the cursor arrives at its new position by
 shrinking onto it.
 All these animation effects (and the page animation of the previous section)
 can be turned off via View->Highlight Cursor.
\end_layout

\begin_layout Subsection
The Main Menubar
\end_layout

\begin_layout Standard
The Main Menubar has menus for overall control of the program.
 The menus on it can be activated from the keyboard by holding down the
 Alt key, whereon one letter in each menu name is underlined - press that
 letter to popup the menu, then use the arrow keys to navigate.
 These are the menu names you see on the menubar:
\end_layout

\begin_layout Itemize
File
\end_layout

\begin_layout Itemize
Navigation
\end_layout

\begin_layout Itemize
Edit
\end_layout

\begin_layout Itemize
View
\end_layout

\begin_layout Itemize
Input
\end_layout

\begin_layout Itemize
Playback
\end_layout

\begin_layout Itemize
More
\end_layout

\begin_layout Itemize
Educational
\end_layout

\begin_layout Itemize
Help
\end_layout

\begin_layout Subsubsection
File
\end_layout

\begin_layout Standard
Use the 
\series bold
File
\series default
 menu to perform global operations related to storing and retrieving from
 file systems, importing from MusicXML
\begin_inset Index idx
status open

\begin_layout Plain Layout
MusicXML
\end_layout

\end_inset

, MIDI, and LilyPond
\begin_inset Index idx
status open

\begin_layout Plain Layout
LilyPond
\end_layout

\end_inset

 formats, printing full score or parts, exporting to MIDI, Ogg, Wav, LilyPond
\begin_inset Index idx
status open

\begin_layout Plain Layout
LilyPond
\end_layout

\end_inset

 (parts or score), PDF and Png formats.
 This is also where you open PDF files containing source material – e.
\begin_inset space \thinspace{}
\end_inset

g.
 manuscripts – that you wish to transcribe or proof-reading comments you
 wish to incorporate in your score.
 Another sort of source material can be loaded from here – audio files can
 be loaded for transcribing as well as MIDI files.
\end_layout

\begin_layout Standard
The New command starts a new score, while New Tab creates an empty score
 while leaving the current score open – a line of tabs appears at the top
 of the display for switching between these.
 Note that you do not have to have multiple scores open to copy and paste
\begin_inset Index idx
status open

\begin_layout Plain Layout
Copy/Cut and Paste
\end_layout

\end_inset

 between scores – opening a new score does not alter the clipboard.
\end_layout

\begin_layout Subsubsection*
Open Submenu
\end_layout

\begin_layout Standard
The Open command (Ctrl-o) opens a Denemo file for editing.
 Open Template opens one of the templates provided with Denemo – this is
 like open except the file once opened becomes untitled, forcing you to
 give it a name on saving.
 Open Example is similar, but here the scores are intended as examples of
 how to do particular things – they can also serve as a place to copy and
 paste from.
 Open Custom Template opens the directory where templates you have created
 with Save Template are stored.
 If you create a template called Default.denemo then the command Open Default
 Template will load it (Ctrl-n).
 Add Staffs and Add Movements take staffs or movements from the Denemo file
 chosen and add them to the current score.
 Open inNew does a combination of New Tab and Open.
\end_layout

\begin_layout Standard
Open Proof Read PDF
\begin_inset Index idx
status open

\begin_layout Plain Layout
PDF
\end_layout

\end_inset

 is for adding proof reading annotations into your score, see section 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Using-a-Proof-Read"

\end_inset

.
\end_layout

\begin_layout Standard
Open Source for Transcribing allows you to open the source material you
 are transcribing from so that links can be placed in your score to the
 relevant place in that document.
 For more details see the section 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Transcribing-from-Facsimile"

\end_inset


\end_layout

\begin_layout Standard
Open recent gives access to a list of recently open scores (you can control
 how many via the preferences).
\end_layout

\begin_layout Standard
Open Source Audio loads an audio file creating empty measures with the audio
 displayed as a series of note-onsets in a line at the top of the display.
 The note-onsets can be dragged to achieve synchronization and tempo-matching
 between the notated bars and the audio.
 You can then add the notes (by ear) and play the two in sync to listen
 for discrepancies.
 This is best explained by the video demos (see 
\begin_inset CommandInset href
LatexCommand href
target "www.denemo.org"
literal "false"

\end_inset

).
\end_layout

\begin_layout Standard
Open Source MIDI opens a MIDI file it comes with comprehensive instructions.
 Note that many MIDI files are not suitable for transcription – MIDI describes
 sounds, not notation.
\end_layout

\begin_layout Subsubsection
Navigation
\end_layout

\begin_layout Standard
This has the commands for moving the cursor around the score, bookmarks,
 and seeking places in the score by content (
\begin_inset Quotes eld
\end_inset

search
\begin_inset Quotes erd
\end_inset

).
\end_layout

\begin_layout Subsubsection*
Bookmarks
\end_layout

\begin_layout Standard
The commands cover finding the next/previous bookmark
\begin_inset Index idx
status open

\begin_layout Plain Layout
Bookmark
\end_layout

\end_inset

 and moving to a bookmark by name.
\end_layout

\begin_layout Subsubsection*
Cursor
\end_layout

\begin_layout Standard
This includes moving the cursor by measure, staff, and within a chord.
 There are moves that skip staffs that are hidden in the display and ones
 that skip over staffs that are voice
\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice
\end_layout

\end_inset

s to move to the next primary staff.
\end_layout

\begin_layout Subsubsection*
Seek
\end_layout

\begin_layout Standard
This has a commands to search for rhythmic patterns, note sequences, empty
 measures, next higher/lower note, empty measures \SpecialChar ldots
 The search facility includes
 the equivalent of 
\begin_inset Quotes eld
\end_inset

search and replace
\begin_inset Quotes erd
\end_inset

: by recording a sequence of edits in the Scheme Window, the searched for
 items can be edited by choosing the Execute Scheme option when found.
\end_layout

\begin_layout Subsubsection*
MIDI
\end_layout

\begin_layout Standard
These are commands to move along the note onsets in an imported MIDI file
 (guided MIDI import).
\end_layout

\begin_layout Subsubsection
Edit
\end_layout

\begin_layout Standard
The 
\series bold
Edit
\series default
 menu collects command for editing: mostly editing objects in the display,
 the 
\begin_inset CommandInset ref
LatexCommand nameref
reference "sec:Denemo-Objects"

\end_inset

but also editing global properties of the score and your preferences.
 
\end_layout

\begin_layout Paragraph
Edit->Delete Submenu
\end_layout

\begin_layout Standard
There are commands for deleting the object before the cursor, the object
 at the cursor and for partially deleting from the object at the cursor
 (e.
\begin_inset space \thinspace{}
\end_inset

g.
 deleting notes from chords).
 Other delete commands are in the Object Menubar menus (deleting movements,
 staffs, measures etc).
\end_layout

\begin_layout Paragraph
Edit->Select Submenu
\end_layout

\begin_layout Standard
This menu has commands for creating and editing a selection of the music:
 a selection can begin and end at any object in a single staff or can be
 a range of measures in adjacent staffs.
\end_layout

\begin_layout Paragraph
Edit->Object at Cursor Submenu
\end_layout

\begin_layout Standard
Invoking an Editor for the object at the cursor is done from this menu,
 as well as editing the LilyPond syntax to be generated for the current
 object.
 For example when creating a piano edition for players with smaller hands
 it is possible to modify the notes of a chord, making the changed syntax
 conditional on which edition you wish to typeset.
 Or where the left hand part of a piano piece is to be typeset for cello
 it is possible to insert tenor clefs where needed with a 
\begin_inset Quotes eld
\end_inset

Hide
\begin_inset Quotes erd
\end_inset

 directive guarded by an inclusion criterion which might be named 
\begin_inset Quotes eld
\end_inset

pianoforte
\begin_inset Quotes erd
\end_inset

 in this case.
 Setting any Denemo Directive attached to an object at the cursor to be
 conditional can be done from this menu - for example if fingerings attached
 to notes are not to be printed then they can be made conditional on a layout
 or specific to some Inclusion Criterion
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Inclusion-Criteria"

\end_inset

 set on the fingering.
\end_layout

\begin_layout Standard
There are commands for editing all the Denemo Objects of a chosen type across
 the whole of a score.
 Commands for managing the
\emph on
 selection
\begin_inset Index idx
status open

\begin_layout Plain Layout
Selection
\end_layout

\end_inset

 
\emph default
are also here.
 Editing using the keyboard to invoke a palette button is here too (usual
 shortcut is 
\family typewriter
p
\family default
).
\end_layout

\begin_layout Standard
Here, too, you invoke editing the Preferences
\begin_inset Index idx
status open

\begin_layout Plain Layout
Preferences
\end_layout

\end_inset

.
\end_layout

\begin_layout Standard
The NotationMagick submenu is for generating random notes, reflecting, reversing
, shuffling notes, swapping passages
\begin_inset Index idx
status open

\begin_layout Plain Layout
Passages
\end_layout

\end_inset

 etc – the sort of things computers can do with music easily but humans
 find more difficult.
\end_layout

\begin_layout Subsubsection*
Copy/Cut and Paste
\begin_inset Index idx
status open

\begin_layout Plain Layout
Copy/Cut and Paste
\end_layout

\end_inset


\end_layout

\begin_layout Standard
The usual shortcuts (
\family typewriter
Ctrl-c Ctrl-x Ctrl-v
\family default
) are set by default operating on the 
\emph on
selection
\emph default
 
\begin_inset Index idx
status open

\begin_layout Plain Layout
Selection
\end_layout

\end_inset

.
 With no selection the Copy command copies an attribute attached to the
 note/chord at the cursor, such as an ornament or fingering.
 If there is more than one attribute set you are asked to choose which to
 copy.
 If there are none, the object at the cursor is copied.
 In all cases 
\emph on
the copied item is highlighted in green 
\emph default
so you can be sure that your keypress has been 
\begin_inset Quotes eld
\end_inset

heard
\begin_inset Quotes erd
\end_inset

.
\end_layout

\begin_layout Subsubsection*
Select submenu
\end_layout

\begin_layout Standard
Here are commands for selection parts of the music (e.g.
 for cut and paste, or to apply a command to the selection).
 Here selected music can be 
\emph on
spanned
\emph default
 by being bracketed with a pair of Denemo Directives.
 A special case of this is creating a passage
\begin_inset Index idx
status open

\begin_layout Plain Layout
Passages
\end_layout

\end_inset

 which can then be swapped with the corresponding music in the staff below
 using a command in the NotationMagick menu.
\end_layout

\begin_layout Subsubsection
View
\end_layout

\begin_layout Standard
Use the 
\series bold
View
\series default
 menu to toggle visibility of various windows, panes and palettes.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note: The checkboxes cannot be given a keyboard shortcut, so use the Toggles
 submenu to Hide/Show various windows/panes.
\end_layout

\end_inset


\end_layout

\begin_layout Subsubsection*
Hide/Show Menus 
\end_layout

\begin_layout Standard
Three ways of showing the Denemo display
\begin_inset Index idx
status open

\begin_layout Plain Layout
Denemo Display
\end_layout

\end_inset

 area are supported.
 With/without the menus and as a multiline page (actually, any page can
 be a multi-line page, but usually the third one is chosen for this).
 This command cycles through the three displays – usually the Escape key
 is the shortcut.
\end_layout

\begin_layout Subsubsection*
Typeset Music
\end_layout

\begin_layout Standard
Shows the score as engraved by the LilyPond typesetter in the Print View
 window.
 Some things such as the shape of slurs and position of marks can be edited
 here graphically.
\end_layout

\begin_layout Subsubsection*
Playback
\end_layout

\begin_layout Standard
Shows the score engraved on one (long!) page for playing back.
 You can click on a note to start playing back at that point, or drag over
 a range to play that range, or shift-drag to loop over the range.
 All the standard playback controls (see below) also work on this view.
\end_layout

\begin_layout Subsubsection*
Command Center
\end_layout

\begin_layout Standard
Search for commands by entering likely words, set up one key or two key
 shortcuts, load customized shortcuts or commands \SpecialChar ldots

\end_layout

\begin_layout Subsubsection*
Score Layout
\end_layout

\begin_layout Standard
Show the score layouts associated with this score.
 The score layout is the final section of the LilyPond syntax that describes
 how to layout the staffs, voices, lyrics, titles etc.
\end_layout

\begin_layout Subsubsection*
Snippets
\end_layout

\begin_layout Standard
Shows a menu bar with snippets – a selection of Denemo Objects used either
 for pasting or to define a rhythmic pattern to be followed when entering
 pitches.
 (see section 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Music-Snippets"

\end_inset

)
\end_layout

\begin_layout Subsubsection*
Tools
\end_layout

\begin_layout Standard
The conventional icons for Open, Print etc
\end_layout

\begin_layout Subsubsection*
Playback Controls
\end_layout

\begin_layout Standard
When checked a set of playback/record controls are placed above the display
 (see section 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Playback-Controls"

\end_inset

)
\end_layout

\begin_layout Subsubsection*
Midi In Controls
\end_layout

\begin_layout Standard
When checked a set of controls for a connected MIDI keyboard are placed
 above the display (see section 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Midi-In-Controls"

\end_inset

)
\end_layout

\begin_layout Subsubsection*
Score Titles, Controls etc
\end_layout

\begin_layout Standard
If this is checked any Titles, indent settings etc applying to the score
 and movement can be shown as buttons above the display.
 (They must be created with their graphic field set for this, not all commands
 use that, so nothing may show).
\end_layout

\begin_layout Subsubsection*
Object Menu
\end_layout

\begin_layout Standard
Menus of all the Denemo commands listed under type of object from Score
 down to the types of Denemo Objects (e.
\begin_inset space \thinspace{}
\end_inset

g.
 clef change objects, notes \SpecialChar ldots
).
\end_layout

\begin_layout Subsubsection*
LilyPond
\begin_inset Index idx
status open

\begin_layout Plain Layout
LilyPond
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Pops up a window for customizing the syntax that Denemo generates for the
 LilyPond engraver to typeset and viewing any errors LilyPond reports.
\end_layout

\begin_layout Subsubsection*
Scheme Script
\end_layout

\begin_layout Standard
Pops up a window for showing scripts written in Scheme
\begin_inset Index idx
status open

\begin_layout Plain Layout
Scheme
\end_layout

\end_inset

.
 These can be executed or saved as new commands.
 Sequences of commands can be recorded here.
 You can switch back to the Denemo Display by pressing Esc or Ctrl-w.
\end_layout

\begin_layout Subsubsection*
Score
\end_layout

\begin_layout Standard
This hides/shows the main Denemo display
\begin_inset Index idx
status open

\begin_layout Plain Layout
Denemo Display
\end_layout

\end_inset

 .
 This is probably useless for most people, but might help a very old slow
 machine playback smoothly.
\end_layout

\begin_layout Subsubsection*
Cursor Highlighting
\begin_inset Index idx
status open

\begin_layout Plain Layout
Cursor Highlighting
\end_layout

\end_inset

 (Off/On)
\end_layout

\begin_layout Standard
The cursor flashes, and in the page view
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:The-Page-View"

\end_inset

 it is circled.
 The rate of flash is set in the Preferences.
 The cursor animation is turned on/off with this too.
\end_layout

\begin_layout Subsubsection*
Palettes
\end_layout

\begin_layout Standard
Gives access to palettes of buttons that can be arranged to make commands
 available via mouse or keyboard (via the Activate Palette Button command).(see
 section 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Palettes"

\end_inset

)
\end_layout

\begin_layout Subsubsection*
Toggles Submenu
\end_layout

\begin_layout Standard
Here are commands to hide/show various windows - the standard shortcuts
 start with Escape, eg Esc,p for the Print View.
 The windows themselves respond to Escape (or Ctrl-w) to switch back to
 the Main Window.
\end_layout

\begin_layout Subsubsection*
Display Zoom
\begin_inset Index idx
status open

\begin_layout Plain Layout
Denemo Display
\end_layout

\end_inset

 
\end_layout

\begin_layout Standard
Zoom the main Denemo display (usually done with ctrl-mouse wheel).
\end_layout

\begin_layout Subsubsection*
Object Inspector
\end_layout

\begin_layout Standard
Opens the Object Inspector
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Object-Inspector"

\end_inset

 on the current object.
\end_layout

\begin_layout Subsubsection
Input
\end_layout

\begin_layout Standard
Use the 
\series bold
Input
\series default
 menu to select external sources (Audio from the Mic input or MIDI) for
 inputting notes to Denemo.
 To use these you should review the settings in Edit->Change Preferences
 MIDI and audio tabs first – you may need to change the setting for the
 backend from 
\begin_inset Quotes eld
\end_inset

default
\begin_inset Quotes erd
\end_inset

 to the specific controller you have.
 Note that on some systems changing to a specific audio output will mean
 that Denemo hogs that output - generally you should choose 
\begin_inset Quotes eld
\end_inset

default
\begin_inset Quotes erd
\end_inset

 and use your operating system controls to determine what the default is.
\end_layout

\begin_layout Standard
Here too there are commands to change the way the inputs (keyboard, mouse
 and MIDI) behave.
\end_layout

\begin_layout Subsubsection
More
\end_layout

\begin_layout Standard
Use the 
\series bold
More
\series default
 menu add commands to Denemo.
 Extra commands are available (those which not everyone will want) via this
 menu.
 More Commands gives commands shipped with Denemo, while My Commands gives
 ones that you have created locally.
 Note that the extra commands can also be loaded at the menu where you are
 looking for them (you right-click on a menu item, and if there are more
 commands for that menu the More Commands for this Menu item will show),
 
\end_layout

\begin_layout Subsubsection
Playback/Record
\end_layout

\begin_layout Standard
Use the 
\series bold
Playback/Record
\series default
 menu to listen to the current movement.
 Denemo lets you hear your score, using an internal synthesizer.
 There are commands to play through the all the notes or to observe repeats
 or to play just the chord or notes at the cursor and to play at a shifted
 pitch.
 The default playback is quick and simple rendering of the music – good
 for checking pitch and rhythm.
 For more sophisticated playback open the Playback View
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Playback-View"

\end_inset

 where the playback happens on a fully typeset score.
\end_layout

\begin_layout Standard
Playback uses a pair of marks to decide where to start and stop playing.
 These appear in the display as vertical green and red lines down through
 the notes concerned 
\emph on
when the playback control panel is visible
\emph default
.
 These markers can be moved about by the arrow buttons on either side of
 the play button in the Playback Controls 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Playback-Controls"

\end_inset

 and they are set for you by the Play from Cursor to End, Play Music at
 Cursor, Performance and other commands in this menu.
\end_layout

\begin_layout Standard
The Recording submenu allows you to record what is being played back and
 either save it to disk or attach it at the timing of the note at the cursor.
\end_layout

\begin_layout Subsubsection
Educational
\begin_inset Index idx
status open

\begin_layout Plain Layout
Educational
\end_layout

\end_inset


\end_layout

\begin_layout Standard
There are games and exercises to help learn notation and to improve your
 recognition of intervals.
 Mostly quite simple, but a more sophisticated example is a command that
 loads Handel's figured bass exercises and allows you to try them out, recording
 your playing and then reporting on any parallel intervals.
 Teachers with an interest in programming can create further games using
 the Scheme window and save them for use by their pupils.
\end_layout

\begin_layout Subsubsection
Help
\begin_inset Index idx
status open

\begin_layout Plain Layout
Help
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Use the 
\series bold
Help
\series default
 menu to get help using Denemo.
 A list of the shortcuts is available (including any you have set yourself),
 a feature-packed score can be loaded, the excessive help can be tamed,
 and your browser can be launched on the Denemo chat room for asking questions
 directly from other users.
\end_layout

\begin_layout Subsection
Toolbar
\end_layout

\begin_layout Standard
Use the Toolbar to access common Denemo commands via a mouse click.
 The Toolbar contains the following icons:
\end_layout

\begin_layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="7" columns="2">
<features islongtable="true" longtabularalignment="center">
<column alignment="center" valignment="top">
<column alignment="left" valignment="top" width="80text%">
<row endhead="true" endfirsthead="true">
<cell alignment="center" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout

\series bold
Icon
\end_layout

\end_inset
</cell>
<cell alignment="left" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout

\series bold
Description
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename images/new.png

\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="left" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
Creates a new document.
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename images/open.png

\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="left" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
Opens the Open File dialog box.
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename images/save.png

\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="left" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
Saves the current file
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename images/print.png

\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="left" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
Runs LilyPond to convert the current file to PDF and sends it to the printer
 for printing
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename images/gotobegin.png

\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="left" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
Jumps to the first measure of the movement.
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename images/gotoend.png

\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="left" valignment="top" bottomline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
Jumps to the last measure of the movement.
\end_layout

\end_inset
</cell>
</row>
</lyxtabular>

\end_inset


\end_layout

\begin_layout Subsection
Playback Controls
\begin_inset Index idx
status open

\begin_layout Plain Layout
Playback Controls
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "subsec:Playback-Controls"

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/playbackcontrols.png
	scale 70

\end_inset


\end_layout

\begin_layout Standard
As with all controls and menu items you should hover over the buttons with
 the mouse to get an explanation of what they do.
\end_layout

\begin_layout Standard
The playback starts at the playback start marker (a line in green down the
 score in the Denemo Display) and stops at the playback end marker (a red
 line).
 These lines are not displayed all the time, just once the play has been
 used at least once.
 The start/end markers can be altered with the arrow keys on either side
 of the Play and Record buttons.
 The arrows to the left adjust the playback start, those to the right the
 playback end (hover over the arrows for details).
\end_layout

\begin_layout Standard
The Play Selection button plays the selection or, if no selection plays
 from the Denemo cursor position to the end.
\end_layout

\begin_layout Standard
The Mute Staffs button allows you to select groups of staffs to play, muting
 others.
\end_layout

\begin_layout Standard
Playing of sections of the music and looping is possible (including editing
 as the music loops, so that you can listen to different possibilities)
 as well as recording the audio output (mixed with anything you play on
 your MIDI keyboard if you have recording set in the MIDI controls).
\end_layout

\begin_layout Standard
The master tempo
\begin_inset Index idx
status open

\begin_layout Plain Layout
Tempo
\end_layout

\end_inset

 and volume can be set, which may be overridden by tempi and dynamics placed
 in the music.
 Dynamics in the score can be turned off with the 
\begin_inset Quotes eld
\end_inset

Ignore Dynamics
\begin_inset Quotes erd
\end_inset

 check box.
\end_layout

\begin_layout Standard
Recording the audio output is also possible as well as real-time slow down
 of the audio playing back (not to be confused with simply setting a slower
 tempo!).
 This last is used when transcribing from audio (See File->Open->Open Source
 Audio).
\end_layout

\begin_layout Standard
While playing back the note(s) being played are highlighted – the page view
 mode
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:The-Page-View"

\end_inset

 of the Denemo Display is useful for letting you follow the music in the
 input display.
 You may need to adjust the window size and the division into systems (drag
 the horizontal red divider) to get a good effect from this.
\end_layout

\begin_layout Standard
Playback is not restricted to equal temperament – the drop down menu allows
 you to choose from a variety of historic temperaments for playback.
\end_layout

\begin_layout Standard
All these commands can be used in conjunction with the Playback View window,
 which lets you see the playback animated on a properly typeset score.
 And you can also initiate playback from the Typeset View by clicking on
 noteheads there.
\end_layout

\begin_layout Subsection
Midi In Controls
\begin_inset Index idx
status open

\begin_layout Plain Layout
MIDI Input
\end_layout

\end_inset

 
\begin_inset CommandInset label
LatexCommand label
name "subsec:Midi-In-Controls"

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/MidiInControls.png

\end_inset


\end_layout

\begin_layout Standard
These are the controls for a MIDI keyboard attached to the computer.
 You should set the MIDI InputDevice to your device in the Preferences to
 be sure all features are working.
\end_layout

\begin_layout Standard
The Enharmonic Selection control lets you determine what accidental will
 be used for the MIDI notes – e.g whether to enter C-sharp or D-flat.
 The buttons at each end change the enharmonic range sharper/flatter.
 
\end_layout

\begin_layout Standard
As you enter music if you enter an augmented or dimished interval a different
 instrument is used for the playback which helps you avoid pitch spelling
\begin_inset Index idx
status open

\begin_layout Plain Layout
Pitch Spelling
\end_layout

\end_inset

 errors.
 (See Edit->Change Preferences->Audio pitch spelling channel/program 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:The-Audio-Tab"

\end_inset

 to turn this off/change instrument).
\end_layout

\begin_layout Standard
[
\series bold
Appending/Editing
\series default
] button: This shows how MIDI in will be treated.
 Press Control/Shift/Alt keys to modify or click and select Listening to
 listen directly to the MIDI keyboard, Checking notes played on the MIDI
 keyboard against notes in the score or Appending/Editing to alter the score.
 This last mode edits at the first rhythm-only (yellow) note before the
 cursor or at the cursor position if no rhythm-only notes have been entered.
 If you select Listening via this button then pressing Shift will temporarily
 switch you into Appending/Editing mode.
\end_layout

\begin_layout Standard
[
\series bold
Switch to Play Along Playback
\series default
] button: When you press Play with this option set, the music will not advance
 past the cursor until you play the note.
 (Mute the current staff to prevent double sounding of notes)
\end_layout

\begin_layout Standard
The Playback/Record->Recording menu has commands to record MIDI in and enter
 the notes played into a score see 
\begin_inset CommandInset ref
LatexCommand nameref
reference "sec:A-Survey-of-Input-Methods"

\end_inset

.
\end_layout

\begin_layout Subsection
Object Menus
\end_layout

\begin_layout Standard
The most important menu bar is the Object Menubar giving access to commands
 that operate on the current score.
 The menus on it can be activated from the keyboard by holding down the
 Alt key, whereon one letter in each menu name is underlined - press that
 letter to popup the menu, then use the arrow keys to navigate.
 
\end_layout

\begin_layout Standard
The Object Menubar gives a set of menus ordered by the objects (notes, staffs,
 measures \SpecialChar ldots
) that they relate to.
 This division cannot be perfect – some activities could be placed in different
 menus, so you need to be prepared to search for commands using the 
\begin_inset CommandInset ref
LatexCommand nameref
reference "subsec:The-Command-Center"

\end_inset

Command Center.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note: Dynamics, Slurs, Trills, Tempo Indications etc are in the Notes/Rests
 menu (if attached to a note or chord) or Directives menu (if standalone
 objects) .
 The advantage of attaching them to a note is that they can be moved around
 as a unit, but the standalone objects are generally easier to drag in the
 Print View should that be needed.
\end_layout

\end_inset


\end_layout

\begin_layout Subsubsection
Score Menu
\end_layout

\begin_layout Standard
The score menu lets you control things that apply to all the movements of
 the current score.
 Also here is the Check Score command which should be your first port of
 call if your score will not typeset.
\end_layout

\begin_layout Standard
The Score Properties command gives access to some built-in properties that
 affect the whole piece – paper size and display apperance.
 
\end_layout

\begin_layout Standard
The Score Properties Editor command runs the 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Score-and"

\end_inset

Score and Movement Properties Editor, open on the Score Editor pane.
\end_layout

\begin_layout Subsubsection*
Titles
\begin_inset Index idx
status open

\begin_layout Plain Layout
Titles
\end_layout

\end_inset

 Submenu
\end_layout

\begin_layout Standard
There are two sorts of titles.
 Book titles have a separate title page with titles for individual movements
 which can be listed in an automatically generated table of contents.
 Simple titles give a Title and (optionally) movement titles on the same
 page.
 
\end_layout

\begin_layout Standard
Comments (
\begin_inset Quotes eld
\end_inset

Critical Comments
\begin_inset Quotes erd
\end_inset

) can be placed on chords/notes/rests in the score and these can be automaticall
y collected into an appendix using the Book Titles->Epilog submenu.
\end_layout

\begin_layout Standard
A Table of Contents can be automatically generated from the movement titles
 by setting Book Titles->Table of Contents Title.
\end_layout

\begin_layout Standard
Graphic title pages can also be created.
 These can be created by invoking the Inkscape vector graphics editor from
 within Denemo, or using it externally to create the title page.
 A sample title page is included both as an encapsulated postcript (EPS)
 file and as a scalable vector graphics (SVG) file.
 The latter is the form to use for editing the page to suit your needs,
 but it should also be saved as an EPS file as this is the format used to
 include it in the typeset score.
\end_layout

\begin_layout Subsubsection*
Typesetter Submenu
\end_layout

\begin_layout Standard
Here such things as the overall font size to typeset the score, the rules
 for spacing systems and titles, any global transposition, control of page
 numbering, margins etc can be set.
\end_layout

\begin_layout Standard
The beaming
\begin_inset Index idx
status open

\begin_layout Plain Layout
Beaming
\end_layout

\end_inset

 rules can be set both in general (invoke Set Beaming Rules without a selection)
 or with exceptions (by invoking with a selection that has been beamed manually
 using the [ and ] commands from the Notes/Rests->Beaming menu).
 Use this latter to break up very short notes, for example, that would otherwise
 be beamed together while leaving the longer durations as normal.
\end_layout

\begin_layout Subsubsection
Movements Menu
\end_layout

\begin_layout Standard
As with the Score Menu there may be Denemo Directives attached to the movement
 – e.g titles
\begin_inset Index idx
status open

\begin_layout Plain Layout
Titles
\end_layout

\end_inset

 to be placed at the head of the movement will have a Denemo Directive associate
d with them.
 Other controls that can be applied on a per-movement basis include the
 barline
\begin_inset Index idx
status open

\begin_layout Plain Layout
Barline
\end_layout

\end_inset

 and notehead style, printing of a custos at line ends, the indent
\begin_inset Index idx
status open

\begin_layout Plain Layout
Indent
\end_layout

\end_inset

 before the first system (which can also be set on the score-wide basis).
\end_layout

\begin_layout Standard
Various score checking routines work at movement level from this menu and
 a command to re-bar the movment (or a staff or part of a staff) is also
 here as 
\begin_inset Quotes eld
\end_inset

Adjust the Measure Lengths
\begin_inset Quotes erd
\end_inset

 – this can also be used just to check that the Denemo 
\begin_inset Quotes eld
\end_inset

measures
\begin_inset Quotes erd
\end_inset

 correspond with the actual typeset measures (which always follow the durations/
time signatures) or to re-bar a staff or passage or movement if you have
 changed your mind or got out of step.
\end_layout

\begin_layout Standard
Again there are titles menus for either simple or book titles, and for inserting
 graphics between movements.
 These can be used as decorative separators between movements or to insert
 columns of verses at the end of songs (each song is a separate 
\begin_inset Quotes eld
\end_inset

movement
\begin_inset Quotes erd
\end_inset

).
\end_layout

\begin_layout Standard
The Typesetter submenu for the Movements Menu holds commands that affect
 the current movement: per-movement transposition, inserting blank pages
\begin_inset Index idx
status open

\begin_layout Plain Layout
Blank Page
\end_layout

\end_inset

 (to avoid page turns), page breaks
\begin_inset Index idx
status open

\begin_layout Plain Layout
Page Break
\end_layout

\end_inset

, custos
\begin_inset Index idx
status open

\begin_layout Plain Layout
Custos
\end_layout

\end_inset

 at the end of lines, note head style to apply to the whole movement, behavior
 of staffs that are resting for an entire system etc.
 Also here is a command to allow 
\emph on
polymetric staffs
\emph default

\begin_inset Index idx
status open

\begin_layout Plain Layout
Polymetric Staffs
\end_layout

\end_inset

.
 When set time signatures can differ between staffs, and barlines do not
 have to align across an entire system.
 Denemo's display copes with showing polymetric staffs on the whole, though
 you may need to use Measures->Hidden Measure to even up staffs in the display
 and mark measures with Measures->Ignore Measure Duration Error to prevent
 them being colored in the display.
\end_layout

\begin_layout Subsubsection
\begin_inset Index idx
status open

\begin_layout Plain Layout
Staff
\end_layout

\end_inset

Staff/Voices Menu
\end_layout

\begin_layout Standard
Things such as the music crossing to another staff, or Ossia
\begin_inset Index idx
status open

\begin_layout Plain Layout
Ossia
\end_layout

\end_inset

 staffs are contained here, along with commands for deleting parts of the
 staff, setting up multi-measure rests for a whole staff, muting the staff
 during playback, 
\end_layout

\begin_layout Subsubsection*
The Staff Properties
\begin_inset Index idx
status open

\begin_layout Plain Layout
Staff Properties
\end_layout

\end_inset

 Submenu
\end_layout

\begin_layout Standard
This covers such things as the type of staff (e.
\begin_inset space \thinspace{}
\end_inset

g.
 Normal Notation, Tablature, Chord Symbols, Fret Diagrams) as well as the
 staff appearance and the playback instrument, instrument name or ambitus
 to be typeset at the start of the staff and more.
\end_layout

\begin_layout Standard
For historical reasons, some properties such as part-name are 
\begin_inset Quotes eld
\end_inset

built-in
\begin_inset Quotes erd
\end_inset

 and have their own dialog to set the values.
 All can be accessed from the Staff Properties Editor
\begin_inset Index idx
status open

\begin_layout Plain Layout
Staff Properties Editor
\end_layout

\end_inset

 from this menu.
\end_layout

\begin_layout Subsubsection*
The Add Staff Submenu
\end_layout

\begin_layout Standard
This allows adding staffs to the current movement.
 Piano staffs can be added as well as specialized sorts of staff for dynamics
\begin_inset Index idx
status open

\begin_layout Plain Layout
Dynamics
\end_layout

\end_inset

, marks (so that they appear once for all layouts), and coulés (diagonal
 lines positioned between thirds in some music).
 The Add Structured Staff command duplicates the current staff with regard
 to measures and time signature changes, ready for the insertion of music.
 Add Staff for Instrument allows you to add the staff(s) needed for various
 instruments (e.
\begin_inset space \thinspace{}
\end_inset

g.
 organ) with the ranges of acceptable notes for the instrument set on the
 staff(s).
 In the MIDI sub-sub-menu are commands to add a click track
\begin_inset Index idx
status open

\begin_layout Plain Layout
Click Track
\end_layout

\end_inset

 (a staff which does not typeset but contains clicks on each beat which
 are played with the score) and to add staffs for imported MIDI tracks.
\end_layout

\begin_layout Standard
Staffs with 
\begin_inset Quotes eld
\end_inset

mirrored
\begin_inset Quotes erd
\end_inset

 music can also be added.
 In this case the staff does not have music of its own, instead the music
 mirrors that in another staff.
 By setting the part-name
\begin_inset Index idx
status open

\begin_layout Plain Layout
Part Name
\end_layout

\end_inset

 on such a staff a greater variety of parts can be printed from one score
 without needing to create a custom layout
\begin_inset Index idx
status open

\begin_layout Plain Layout
Score Layout
\end_layout

\end_inset

 for them.
 For example, two flute parts can be printed separately and as a combined
 (
\begin_inset Quotes eld
\end_inset

divisi
\begin_inset Quotes erd
\end_inset

) part, using the same music.
 Any marks etc that need to be handled differently can be made conditional
\begin_inset Index idx
status open

\begin_layout Plain Layout
Conditional Directive
\end_layout

\end_inset

 on the part name.
\end_layout

\begin_layout Subsubsection*
The Voices
\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice
\end_layout

\end_inset

 Submenu
\end_layout

\begin_layout Standard

\emph on
Voices
\emph default
 in Denemo are like staffs but are typeset on the preceding staff to achieve
 single-staff polyphony.
 The Denemo Display is normally set to display any extra voices on a separate
 staff so as to make it easy to work with – the voices have their clef
\begin_inset Index idx
status open

\begin_layout Plain Layout
Clef
\end_layout

\end_inset

 displayed in yellow and do not show a key signature
\begin_inset Index idx
status open

\begin_layout Plain Layout
Key Signature
\end_layout

\end_inset

 as these are supplied by the main staff (or 
\begin_inset Quotes eld
\end_inset

primary voice
\begin_inset Quotes erd
\end_inset

).
 Voices will also normally be assigned to voice numbers 1,2,3,4 using the
 Initial Voice commands in this menu (this controls the stemming, slur positions
 etc).
 Voices can change their voice number during the music – the commands for
 this are in the Directives->Typesetter->Voices menu as they insert stem
 change objects in between the notes.
\end_layout

\begin_layout Standard
As with staffs, voices can be created with no music of their own, simply
 mirroring music from another staff.
\end_layout

\begin_layout Subsubsection*
The Playback Submenu
\begin_inset Index idx
status collapsed

\begin_layout Plain Layout
Playback
\end_layout

\end_inset


\end_layout

\begin_layout Standard
In this menu you can mute the staff, apply custom durations to notes and
 arrange that grace notes are given a custom duration rather than having
 a zero duration which they have by default.
 Use this menu to give the Denemo playback a jazz swing effect or to playback
 with inégalité.
 These custom durations do not affect the typesetting nor the Playback View
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Playback-View"

\end_inset

 (which uses MIDI generated by LilyPond).
\end_layout

\begin_layout Subsubsection*
The Display
\begin_inset Index idx
status open

\begin_layout Plain Layout
Denemo Display
\end_layout

\end_inset

 Effects Submenu
\end_layout

\begin_layout Standard
Here you can choose to hide staffs from the display so that you can see
 distantly placed staffs side by side (e.
\begin_inset space \thinspace{}
\end_inset

g.
 in large orchestral scores).
 The location of such 
\begin_inset Quotes eld
\end_inset

hidden
\begin_inset Quotes erd
\end_inset

 staffs
\begin_inset Index idx
status open

\begin_layout Plain Layout
Hidden Staffs
\end_layout

\end_inset

 is indicated by a colored line between the staffs above and below.
 The staffs remain hidden until you move the cursor on to them.
 If you are using this and navigating with the keyboard you may want to
 reset the key shortcuts for staff navigation commands to use variants that
 skip over the hidden staffs.
 Some staffs (e.g Click Track
\begin_inset Index idx
status open

\begin_layout Plain Layout
Click Track
\end_layout

\end_inset

 are hidden by default as you do not normally edit them.
\end_layout

\begin_layout Standard
You can also give more/less room in the display to the staffs via this menu.
\end_layout

\begin_layout Subsubsection*
The Staff Groupings (Braces) Submenu
\begin_inset Index idx
status open

\begin_layout Plain Layout
Braces
\end_layout

\end_inset


\end_layout

\begin_layout Standard
The braces at the start of each system are controlled from here.
 The order that you add the braces determines which are outside which.
 The braces are displayed to the left of the staff and can be edited/checked
 there with the mouse.
\end_layout

\begin_layout Subsubsection
Clefs
\begin_inset Index idx
status open

\begin_layout Plain Layout
Clef
\end_layout

\end_inset

 Menu
\end_layout

\begin_layout Standard
All sorts of clefs can be selected – the Set Initial and Clef Change commands
 give access to standard clefs.
 The Clef Chooser command lets you set more exotic clefs such as Drum clef
 and even things like the Gregorian chant C clef using the LilyPond syntax
 (e.
\begin_inset space \thinspace{}
\end_inset

g.
 vaticana-do3).
\end_layout

\begin_layout Standard
Typeset-only and Display-only clefs enable you to work with a voice
\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice
\end_layout

\end_inset

 which is being typeset on a different staff, while keeping the music in
 the staff you wish to see it in or for entering music in a familiar staff
 which is to be typeset in an unfamiliar one.
\end_layout

\begin_layout Subsubsection
Keys Menu
\begin_inset Index idx
status open

\begin_layout Plain Layout
Key Signature
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Setting the initial key or a key signature change or to sharpen or flatten
 the key signature at the cursor.
 You can also click on the key signature itself to sharpen/flatten.
 The key signature can be hidden when typeset.
\end_layout

\begin_layout Subsubsection
Time Signatures Menu
\begin_inset Index idx
status open

\begin_layout Plain Layout
Time Signature
\end_layout

\end_inset

s Menu
\end_layout

\begin_layout Standard
Besides basic time signatures various variants (numeric, single digit \SpecialChar ldots
)
 are here.
 There is also beaming
\begin_inset Index idx
status open

\begin_layout Plain Layout
Beaming
\end_layout

\end_inset

 control applying just to the current passage (for beaming rules for the
 whole score see the Score->Typesetter menu or for the whole movement Movement->
Typesetter menu).
\end_layout

\begin_layout Standard
Cadenza Time allows un-metered music to by typeset conveniently.
 While in Cadenza Time no barlines except ones you explicitly place are
 typeset, and no beaming is done except where you explicitly set beaming
 indications.
 You can use as many Denemo 
\begin_inset Quotes eld
\end_inset

bars
\begin_inset Quotes erd
\end_inset

 as you find convenient – they will not cause barlines to be typeset.
 Other parts have to be given Cadenza Time too, and filled with non-printing
 rests to match the duration of the music being typeset.
\end_layout

\begin_layout Subsubsection
Measures Menu
\begin_inset Index idx
status open

\begin_layout Plain Layout
Measure 
\end_layout

\end_inset


\begin_inset Index idx
status open

\begin_layout Plain Layout
Bar|see
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

{
\end_layout

\end_inset

Measure
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

}
\end_layout

\end_inset


\end_layout

\end_inset

 Menu
\end_layout

\begin_layout Standard
Besides commands to insert/delete/navigate/merge/split measures (in one
 or all staffs) this menu includes commands to set an upbeat
\begin_inset Index idx
status open

\begin_layout Plain Layout
Upbeat
\end_layout

\end_inset


\begin_inset Index idx
status open

\begin_layout Plain Layout
Anacrusis
\end_layout

\end_inset


\begin_inset Index idx
status open

\begin_layout Plain Layout
Pickup
\end_layout

\end_inset

 (anacrusis, pickup) measure at the start, or a short measure (e.
\begin_inset space \thinspace{}
\end_inset

g.
 during partial first & second time bars).
 First and second time bars markers themselves are to be found in the Directives
->Markings->Spanning menu
\begin_inset Index idx
status open

\begin_layout Plain Layout
Spanning
\end_layout

\end_inset

 .
\end_layout

\begin_layout Standard
The whole measure repeat sign is here and some commands to check the measure
 for errors or to widen or narrow the measure in the display.
\end_layout

\begin_layout Subsubsection
Chords
\begin_inset Index idx
status open

\begin_layout Plain Layout
Chord
\end_layout

\end_inset

 Menu
\end_layout

\begin_layout Standard
Here are commands to add notes to a chord either at the cursor, by note
 name or at an interval above the bass.
 Whole chords can have their enharmonic spelling changed up or down.
\end_layout

\begin_layout Subsubsection
Notes/Rests Menu
\begin_inset Index idx
status open

\begin_layout Plain Layout
Notes
\end_layout

\end_inset


\begin_inset Index idx
status open

\begin_layout Plain Layout
Rests
\end_layout

\end_inset


\end_layout

\begin_layout Standard
This covers inserting, deleting and modifying notes in pitch, duration and
 appearance and all sorts of things that are attached to note objects such
 as slurs
\begin_inset Index idx
status open

\begin_layout Plain Layout
Slurs
\end_layout

\end_inset

, phrasing slurs, ties
\begin_inset Index idx
status open

\begin_layout Plain Layout
Ties
\end_layout

\end_inset

, beaming
\begin_inset Index idx
status open

\begin_layout Plain Layout
Beaming
\end_layout

\end_inset

 controls, ornaments
\begin_inset Index idx
status open

\begin_layout Plain Layout
Ornaments
\end_layout

\end_inset

 (trill, turn, \SpecialChar ldots
), grace notes, articulations
\begin_inset Index idx
status open

\begin_layout Plain Layout
Articulations
\end_layout

\end_inset

 (staccato, tenuto \SpecialChar ldots
), fingerings
\begin_inset Index idx
status open

\begin_layout Plain Layout
Fingerings
\end_layout

\end_inset

, textual markings
\begin_inset Index idx
status open

\begin_layout Plain Layout
Markings
\end_layout

\end_inset

, cresc.
 and dim.
\begin_inset Index idx
status open

\begin_layout Plain Layout
Cresc.
 and dim.
\end_layout

\end_inset

 (both hairpins and extended cresc.
 — poco — a — poco style) chord symbols
\begin_inset Index idx
status open

\begin_layout Plain Layout
Chord Symbols
\end_layout

\end_inset

 (
\begin_inset Quotes eld
\end_inset

fake chords
\begin_inset Quotes erd
\end_inset


\begin_inset Index idx
status open

\begin_layout Plain Layout
Fake Chords|see
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

{
\end_layout

\end_inset

Chord Symbols
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

}
\end_layout

\end_inset


\end_layout

\end_inset

), figured bass.
 Dynamic markings such as 
\emph on
f 
\emph default
and
\emph on
 p 
\emph default
are separate objects (see Directives->Markings->Dynamics
\begin_inset Index idx
status open

\begin_layout Plain Layout
Dynamics
\end_layout

\end_inset

).
 
\end_layout

\begin_layout Standard
Also here is the tuplet
\begin_inset Index idx
status open

\begin_layout Plain Layout
Tuplets
\end_layout

\end_inset

 menu, for groups of notes that have a duration that is a fraction of the
 written duration, such as triplets.
 These actually insert tuplet start and end objects, before and after the
 notes concerned so, strictly speaking they should come in a separate miscellane
ous objects category.
 As usual, the most useful commands have shortcuts already – Tab starts/stops
 a triplet alternately (so you can press it once, enter the notes and press
 it again to finish the triplet).
 And the two key shortcut Keypad 7, Keypad 7 turns the note entered into
 a triplet of notes (with Control as well they are slurred).
 This is set as a two-key shortcut so that you can type it in as a triplet
 rhythm: e.
\begin_inset space \thinspace{}
\end_inset

g.
 the three keypresses 4, KP_7, KP_7 will give a triplet of three 1/16th
 notes.
\end_layout

\begin_layout Subsubsection*
The Append/Edit Note Submenu
\begin_inset Index idx
status open

\begin_layout Plain Layout
Notes
\end_layout

\end_inset


\end_layout

\begin_layout Standard
So called because in appending position the note names a, b, c \SpecialChar ldots
 append a
 note while when the cursor is on an note it edits the note to have the
 note-name indicated.
 The other note edit commands here are shifting up and down an octave, sharpenin
g or flattening.
 Cautionary and reminder accidentals are here too – to set the style of
 accidentals (e.
\begin_inset space \thinspace{}
\end_inset

g.
 if they are repeated in various circumstances) see the Score->Typesetter
 menu.
\end_layout

\begin_layout Subsubsection*
The Note Insertion Submenu
\end_layout

\begin_layout Standard
This menu has commands for inserting notes at (i.
\begin_inset space \thinspace{}
\end_inset

e.
 before the object at) the cursor position.
 The double key press A, A inserts the note A in the prevailing duration
 (more commonly people press a duration key 0, 1, \SpecialChar ldots
 followed by a note name).
\end_layout

\begin_layout Standard
If you enter a note and then sharpen you will hear both note and sharpened
 note – to avoid this use the 
\begin_inset Quotes eld
\end_inset

Sharpen Next Note
\begin_inset Quotes erd
\end_inset

 command (likewise for flatten, use twice for double-sharp,flat) the default
 key presses are '=' and '-' for these.
\end_layout

\begin_layout Subsubsection*
The Append/Insert Duration
\begin_inset Index idx
status open

\begin_layout Plain Layout
Duration
\end_layout

\end_inset

 Submenu
\end_layout

\begin_layout Standard
So called because the commands 0, 1, 2 \SpecialChar ldots
 append a note when the cursor is
 in the appending position or enter a note if the cursor is on an object.
 If you have a MIDI keyboard (and it is designated in the preferences under
 the MIDI tab) then the note will be purely rhythmic (yellow/brown) playing
 a pitch will turn it into a real note.
 Here is the command for entering a snippet (which can be a complete rhythmic
 pattern) as well as Breve and Longa for early music.
\end_layout

\begin_layout Standard
There are also a set of comands for appending notes which will be slurred
 from previous notes (Control-0, etc) which means that you can enter slurs
 as you enter the rhythm of a bar without extra key presses (which would
 otherwise break the rhythm of your entry).
\end_layout

\begin_layout Subsubsection*
The Edit Duration
\begin_inset Index idx
status open

\begin_layout Plain Layout
Duration
\end_layout

\end_inset

 Submenu
\end_layout

\begin_layout Standard
Here are the commands for changing the duration of the note/rest/chord
\begin_inset Index idx
status open

\begin_layout Plain Layout
Chord
\end_layout

\end_inset

 at the cursor as well as doubling or dividing the note at the cursor.
\end_layout

\begin_layout Standard
Besides commands for dotting notes there are commands for turning the note
 at the cursor into a dotted rhythm of two notes and for entering a dotted
 rhythm with two key presses (so as to keep in rhythm – e.
\begin_inset space \thinspace{}
\end_inset

g.
 3, KP_9 gives dotted 1/8 note, 1/16th note, and the corresponding slurred
 one with Control).
\end_layout

\begin_layout Subsubsection*
The Rest Insertion Submenu
\begin_inset Index idx
status open

\begin_layout Plain Layout
Rests
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Besides inserting rests (Alt-0 etc) you can insert non-printing rests (where
 voice
\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice
\end_layout

\end_inset

s are silent) and move rests out of the way in polyphonic situations where
 LilyPond doesn't do what you want.
 Whole measure rest
\begin_inset Index idx
status open

\begin_layout Plain Layout
Whole Measure Rest
\end_layout

\end_inset

s and multi-measure rest
\begin_inset Index idx
status open

\begin_layout Plain Layout
Multi-Measure Rest
\end_layout

\end_inset

s are here too with control over their numbering.
\end_layout

\begin_layout Subsubsection*
The Select Duration
\begin_inset Index idx
status open

\begin_layout Plain Layout
Duration
\end_layout

\end_inset

 Submenu
\end_layout

\begin_layout Standard
The commands to explicitly set the prevailing duration are here (though
 usually this is set by inserting a duration) and, more importantly the
 command to select a snippet as the prevailing duration (Shift+ Space) after
 which entered notes follow the pattern of the snippet.
\end_layout

\begin_layout Subsubsection
Directives Menu
\begin_inset Index idx
status open

\begin_layout Plain Layout
Directives
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "subsec:Directives"

\end_inset

 
\end_layout

\begin_layout Standard
This covers all the things that aren't notes but sit in between them – 
\emph on
standalone
\emph default
 Denemo Directives.
 The most useful for regular music notation are barlines, dynamic markings,
 tempo
\begin_inset Index idx
status open

\begin_layout Plain Layout
Tempo
\end_layout

\end_inset

 marks, rehearsal marks etc in the Markings submenu.
 There is an enormous collection of stuff here though.
\end_layout

\begin_layout Standard
All objects, including Denemo Directives can be inspected and edited via
 the Object Editor
\end_layout

\begin_layout Standard
One general feature is the Conditional Directives
\begin_inset Index idx
status open

\begin_layout Plain Layout
Conditional Directive
\end_layout

\end_inset

 which can be used to restrict a directive to a particular type of score
 layout
\begin_inset Index idx
status open

\begin_layout Plain Layout
Score Layout
\end_layout

\end_inset

 (e.
\begin_inset space \thinspace{}
\end_inset

g.
 only to be used when printing a part, or a full score).
 This can be used, for example, to prevent a cue being printed on the full
 score (as it is only relevant when printing the part).
\end_layout

\begin_layout Standard
Note there is a further class of Denemo Directives, the ones 
\emph on
attached
\emph default
 to notes/chords/staffs/movements/scores – these direct the typesetter to
 do special things such as attach fingerings, ornaments etc.
 Denemo Directives are described in a separate section
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Inclusion-Criteria"

\end_inset

.
\end_layout

\begin_layout Subsubsection
Lyrics Menu
\begin_inset Index idx
status open

\begin_layout Plain Layout
Lyrics
\end_layout

\end_inset

 
\end_layout

\begin_layout Standard
See section 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Lyrics"

\end_inset

 for a description of how lyrics are handled in Denemo.
 The lyrics menu includes the following commands:
\end_layout

\begin_layout Subparagraph*
Add Lyric Verse
\end_layout

\begin_layout Standard
Appends a verse to the verses attached to the current staff.
\end_layout

\begin_layout Subparagraph*
Insert a Highlighted Lyric
\end_layout

\begin_layout Standard
inserts a bold and/or italic word into the lyrics at the current lyric cursor
 position.
 
\end_layout

\begin_layout Subparagraph*
Skip Syllables in Selection
\end_layout

\begin_layout Standard
Inserts special syntax to skip the number of notes you currently have selected
 in the Denemo Display.
\end_layout

\begin_layout Standard
This is useful if you have a musical introduction or interlude in a song.
 
\end_layout

\begin_layout Subparagraph*
Insert Stanza Number
\end_layout

\begin_layout Standard
Asks you for some text (usually the number of the verse) and inserts the
 special syntax to typeset this before the next syllable, leaving the syllable
 position undisturbed.
 Normally the lyric cursor should be at the stanza/verse start.
\end_layout

\begin_layout Subparagraph*
Syllable Alignment
\end_layout

\begin_layout Standard
Inserts special syntax to cause the text to be aligned with its start or
 end below the note (rather than the default centered position).
 This may be useful for chanted text.
\end_layout

\begin_layout Subparagraph*
Melismata
\end_layout

\begin_layout Itemize
During Word, with Slur – The typeset score will print hyphen(s), if needed,
 showing continuation to the end of the slur 
\end_layout

\begin_layout Itemize
Word End, with Slur – The typeset score will print a lyric extender to the
 end of the slur (a continuous underscore).
\end_layout

\begin_layout Itemize
During Word, no Slur – The typeset score will print the syllable extending
 under two notes inserting hyphen(s), if needed, showing continuation 
\end_layout

\begin_layout Itemize
Word End, no Slur – The typeset score will print the syllable extending
 under two notes inserting a lyric extender as needed
\end_layout

\begin_layout Itemize
Extend Melisma – The typeset score will extend the melisma over a further
 note.
\end_layout

\begin_layout Subparagraph*
Divide Syllables with Hyphen 
\end_layout

\begin_layout Standard
Inserts syntax to typeset hyphen(s) if needed between syllables that underlay
 successive notes.
\end_layout

\begin_layout Subparagraph*
Insert Mirrored Verse
\end_layout

\begin_layout Standard
permits a mirrored copy of a verse from another stave to be included on
 the currrent staff, for example when the words for two parts are the same
 but on separate staffs.
 Then if the words need editing, just the first copy needs to be changed.
 
\end_layout

\begin_layout Subparagraph*
Lyric Tie
\end_layout

\begin_layout Standard
Inserts the syntax to separate two words which should be typeset under one
 note.
 
\end_layout

\begin_layout Subparagraph*
Dynamic 
\end_layout

\begin_layout Standard
Inserts a dynamic marking (ff, f, p, or pp) directly in the lyrics.
 You can edit the insert for other dynamics.
\end_layout

\begin_layout Subparagraph*
Typeset Verses at End
\end_layout

\begin_layout Standard
This takes several verses and uses the Movement->Titles->Text after Movement
 command to typeset them at the end of the movement arranging them in columns.You
 are given a choice as to which verse to start from.
 Normally you would then delete these verses from the staff so they are
 not repeated.
 Issuing the command a second time allows you to delete, replace or edit
 the end-of-movement text.
\end_layout

\begin_layout Subparagraph*
Change Font
\end_layout

\begin_layout Standard
Inserts a change the font for the lyrics from the current lyric cursor position.
 Short forms such as Sans, Times can be used.
\end_layout

\begin_layout Subparagraph*
Larger/Smaller Font Size
\end_layout

\begin_layout Standard
Inserts a change in the font size for the lyrics from the current lyric
 cursor position onwards.
 
\end_layout

\begin_layout Subparagraph*
Typeset On/Off 
\end_layout

\begin_layout Standard
Turns typesetting of lyrics off or on (this does not affect end-of-movement
 text).
\end_layout

\begin_layout Subsubsection
Notation Magick Menu
\end_layout

\begin_layout Standard
This has been moved to the Edit Menu.
 
\end_layout

\begin_layout Section
Palettes
\begin_inset Index idx
status open

\begin_layout Plain Layout
Palettes
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "sec:Palettes"

\end_inset


\end_layout

\begin_layout Standard
Palettes are collections of commands arranged as a column, row or grid of
 buttons either in a separate window or docked in the Main Window.
 
\end_layout

\begin_layout Standard
The buttons are not just for mouse users – palette buttons can be executed
 by typing 
\family typewriter
p
\family default
 followed by (part of) the label of the button followed by the 
\family typewriter
Enter 
\emph on
or
\emph default
 Return
\family default
 key.
 The entry for keying in a palette label looks like this:
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/PaletteEntry.png

\end_inset


\end_layout

\begin_layout Standard
At the top is the name of the palette that is active, in this case the 
\begin_inset Quotes eld
\end_inset

General
\begin_inset Quotes erd
\end_inset

 palette.
 You can switch to a different palette with TAB – the palette does not have
 to be displayed on the screen, but if you type a label that does not exist
 it will be shown to remind you.
\end_layout

\begin_layout Standard
To make full use of the keyboard for executing commands from your palettes
 you should edit the labels so that they are easy to type & memorable.
 Put the shorter ones first as you do not need to type all of the label,
 just enough to select the needed button.
 Right-clicking on a palette button allows you to edit the button, changing
 the label or tooltip, duplicating the button (e.
\begin_inset space \thinspace{}
\end_inset

g.
 to create an edited version of its script) and more, as in the following
 popup:
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/PaletteMenu.png
	scale 60

\end_inset


\end_layout

\begin_layout Standard
You can also edit the palette itself by right clicking on any button and
 choosing the Edit this Palette submenu (shown open above).
 You can make the palette fill up horizontally or vertically and restrict
 the number of columns/rows respectively.
 You can dock/undock palettes as well and hide palettes that are not needed
 (you can also hide undocked palettes by dismissing their window).
\end_layout

\begin_layout Standard
In the View menu you can select a palettes of commands to display or show
 all the palettes and then hide the ones you don't want.
\end_layout

\begin_layout Standard
You should make palettes your best friend – when you find a command in the
 menu system that you need right click on it and choose Add to Palette.
 This way you will build up one or more collections of commands that you
 need.
 
\end_layout

\begin_layout Standard
Palette buttons can also be created directly from objects or Denemo Directives
 so that you can duplicate them in your score without having to copy and
 paste.
 So, for example if you run Help->Open Feature Packed Score and find the
 type of object or attribute you need there then you can run the Object
 Inspector or one of the editors on it and create a palette button for installin
g the same thing in your own score.
 See the sections 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Object-Inspector"

\end_inset


\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Object-Editor"

\end_inset

 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Score-and"

\end_inset


\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Staff-and"

\end_inset

for more details.
\end_layout

\begin_layout Standard
Changes you make to palettes are automatically saved when you end the session.
 (They are stored in a file called palettes.xml, which can be edited directly
 by the more techie-minded).
\end_layout

\begin_layout Subsection
Articulations
\begin_inset Index idx
status open

\begin_layout Plain Layout
Articulations
\end_layout

\end_inset

 Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/ArticulationsPalette.png

\end_inset


\end_layout

\begin_layout Standard
These buttons turn on/off the articulation.
 These will apply to the entire selection if you have one and you have the
 preference
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:The-Command-Tab"

\end_inset

 for that set.
 Outside slur moves the articulation outside an enclosing slur.
\end_layout

\begin_layout Subsection
Barline
\begin_inset Index idx
status open

\begin_layout Plain Layout
Barline
\end_layout

\end_inset

s Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/BarlinesPalette.png

\end_inset


\end_layout

\begin_layout Standard
These insert barlines – note only one barline can be at one moment in the
 music.
 The Custom button creates a new barline type, specifying the appearance
 in mid system, end of system, start of system and between staffs.
\end_layout

\begin_layout Subsection
Beaming
\begin_inset Index idx
status open

\begin_layout Plain Layout
Beaming
\end_layout

\end_inset

 Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/BeamingPalette.png

\end_inset


\end_layout

\begin_layout Standard
The ? button gives the overview for this palette.
 Rules can be set via a dialog with exceptions derived from the selection.
\end_layout

\begin_layout Subsection
Chord Symbols
\begin_inset Index idx
status open

\begin_layout Plain Layout
Chord Symbols
\end_layout

\end_inset

 Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/ChordSymbolsPalette.png

\end_inset


\end_layout

\begin_layout Standard
The ? button gives the overview for this palette.
\end_layout

\begin_layout Subsection
Insert or Append Chords Palette
\begin_inset CommandInset label
LatexCommand label
name "subsec:Insert-Chords"

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/InsertOrAppendChords.png

\end_inset


\end_layout

\begin_layout Standard
This palette inserts a chord of the given type using the 
\emph on
prevailing duration
\emph default

\begin_inset Index idx
status open

\begin_layout Plain Layout
Prevailing duration
\end_layout

\end_inset

 with the root note for the chord given by the cursor height and any 
\emph on
pending accidental
\emph default

\begin_inset Index idx
status open

\begin_layout Plain Layout
Pending accidental
\end_layout

\end_inset

.
 The chord is inserted and labelled in the Denemo Display with its root
 and chord symbol
\begin_inset Index idx
status open

\begin_layout Plain Layout
Chord Symbols
\end_layout

\end_inset

 (aka fakechords
\begin_inset Index idx
status open

\begin_layout Plain Layout
Fake Chords|see
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

{
\end_layout

\end_inset

Chord Symbols
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

}
\end_layout

\end_inset


\end_layout

\end_inset

).
 This is typically used on a Chord Symbols staff (see Staff Properties
\begin_inset Index idx
status open

\begin_layout Plain Layout
Staff Properties
\end_layout

\end_inset

 menu).
 You can create additional chord types for this palette using the command
 View->Palettes->Create Button for Chord Type.
\end_layout

\begin_layout Subsection
Custom Ornaments
\begin_inset Index idx
status open

\begin_layout Plain Layout
Custom Ornaments
\end_layout

\end_inset

 Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/CustomOrnamentsPalette.png

\end_inset


\end_layout

\begin_layout Standard
Custom ornaments can be created as encapsulated postscript files using the
 same methods as graphic title pages.
 If you have a vector graphics editor (e.
\begin_inset space \thinspace{}
\end_inset

g.
 inkscape) installed and in your Preferences (Externals tab, Graphics Editor)
 then you can edit from within Denemo.
 As usual hover over the buttons for instructions.
\end_layout

\begin_layout Subsection
Dynamics
\begin_inset Index idx
status open

\begin_layout Plain Layout
Dynamics
\end_layout

\end_inset

 Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/DynamicsPalette.png

\end_inset


\end_layout

\begin_layout Standard
The cresc - - - and dim - - - buttons start or continue textual crescendi/diminu
endi – texts such as poco a poco can be inserted and the - - - can finish
 on a dynamic marking or an end cresc/dim marker.
\end_layout

\begin_layout Subsection
Figured Bass
\begin_inset Index idx
status open

\begin_layout Plain Layout
Figured Bass
\end_layout

\end_inset

 Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/FiguredBassPalette.png

\end_inset


\end_layout

\begin_layout Subsection
MIDI Import Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/MidiImportPalette.png

\end_inset


\end_layout

\begin_layout Standard
This palette is for guided MIDI import.
 The instructions are in the tooltips.
\end_layout

\begin_layout Subsection
Ornaments
\begin_inset Index idx
status open

\begin_layout Plain Layout
Ornaments
\end_layout

\end_inset

 Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/OrnamentsPalette.png

\end_inset


\end_layout

\begin_layout Standard
Note that there is a separate custom ornaments palette.
\end_layout

\begin_layout Subsection
Piano/Organ Notation Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/PianofortePalette.png

\end_inset


\end_layout

\begin_layout Subsection
Polyphony
\begin_inset Index idx
status open

\begin_layout Plain Layout
Polyphony
\end_layout

\end_inset

 Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/PolyphonyPalette.png

\end_inset


\end_layout

\begin_layout Standard
These are the commands to control separate voice
\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice
\end_layout

\end_inset

s that appear on a single staff.
 The voices are best displayed on separate staffs in the Denemo display
 to ease the editing.
\end_layout

\begin_layout Subsection
Repeats
\begin_inset Index idx
status open

\begin_layout Plain Layout
Repeats
\end_layout

\end_inset

 Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/RepeatsPalette.png

\end_inset


\end_layout

\begin_layout Standard
The Nth time repeat can be used to hold any needed text.
 If an repeat alternative is less than a bar the Short Measure command can
 be used, and the bar number adjusted if needed.
\end_layout

\begin_layout Subsection
Stringed Instruments Palette
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/StringedInstrumentsPalette.png

\end_inset


\end_layout

\begin_layout Standard
Here are commands for fingerings
\begin_inset Index idx
status open

\begin_layout Plain Layout
Fingerings
\end_layout

\end_inset

, string numbers etc.
 These are attached to individual notes (place the cursor on the note).
\end_layout

\begin_layout Subsection
Tied Notes/Chords Palette
\begin_inset Index idx
status open

\begin_layout Plain Layout
Ties
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/TiesPalette.png

\end_inset


\end_layout

\begin_layout Standard
Commands to insert ties
\begin_inset Index idx
status open

\begin_layout Plain Layout
Ties
\end_layout

\end_inset

 on chords and individual notes, and to control their shape and direction
 are here.
\end_layout

\begin_layout Standard

\end_layout

\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "subsec:The-Command-Center"

\end_inset

The Command Center
\begin_inset Index idx
status open

\begin_layout Plain Layout
Command Center
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/CommandCenter.png
	scale 50

\end_inset


\end_layout

\begin_layout Standard
In the View menu you can show the Command Center.
 This has a list of all the Denemo commands, hidden or not, with their shortcut(
s).
 The box at the top left gives full details of the currently selected command
 and its location in the menu system.
 Below that is a search box for finding any command you need by matching
 words in its description or label.
 By choosing 
\begin_inset Quotes eld
\end_inset

Fuzzy
\begin_inset Quotes erd
\end_inset

 you will make the search less strict – one word could be missing.
\end_layout

\begin_layout Standard
The search
\begin_inset Index idx
status open

\begin_layout Plain Layout
Search Commands
\end_layout

\end_inset

 starts once you have typed the fourth letter of any key words you want,
 so check after each letter to see if you have found the command you need.
 To search for further commands matching your keywords press 
\family typewriter
Space 
\family default
or
\family typewriter
 Tab 
\family default
or
\family typewriter
 Return 
\family default
or click the arrow next to the search box.
 
\end_layout

\begin_layout Standard
The command center is also where you can set one-key shortcuts such as 
\family typewriter
Ctrl-x
\family default
 and two-key shortcuts such as 
\family typewriter
Shift-a
\family default
 followed by 
\family typewriter
Shift-a
\family default
 (which is written as 
\family typewriter
A
\family default
,
\family typewriter
A
\family default
 next to the command).
 You can also look up which command responds to a given shortcut, and execute
 the selected command here.
\end_layout

\begin_layout Standard
In addition you can save and load whole sets of shortcuts and commands.
 If you have upgraded your version of Denemo and you have elected to keep
 your customized commands etc then you should run the Load a Standard Command
 Set choosing Default.commands, as some commands may have moved in the menu
 system.
 If there are new palettes in an upgraded version of Denemo then you can
 get them merged in with your own palettes by clicking 
\begin_inset Quotes eld
\end_inset

Load the Standard Palette Set
\begin_inset Quotes erd
\end_inset

 – this does not overwrite any palette buttons you may have, so delete any
 customised buttons (after duplicating, if desired) that you wish to fetch
 from the Denemo distribution.
\end_layout

\begin_layout Section
Music Snippets
\begin_inset Index idx
status open

\begin_layout Plain Layout
Music Snippets
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "sec:Music-Snippets"

\end_inset


\end_layout

\begin_layout Subsection
Overview
\end_layout

\begin_layout Standard
Music snippets are short selections from a voice which can be stored on
 the Snippet tool bar.
 They have two main uses: they can act as a repository of 
\begin_inset Quotes eld
\end_inset

motifs
\begin_inset Quotes erd
\end_inset

 which can be inserted (
\family typewriter
Ctrl-Space
\family default
) at the cursor, and they can be used as an extension to the 
\begin_inset Quotes eld
\end_inset

prevailing duration
\begin_inset Quotes erd
\end_inset

 idea.
 In the second use, by selecting a snippet as you enter pitches the durations
 are assigned from the next step in the snippet.
 The first case is especially useful when entering a complex rhythm which
 is repeated many times in the piece.
 In all cases the snippet can contain all sorts of attributes and markings,
 slurs, beaming indications, ornaments etc, and these will then all be entered
 with a single keypress or as you add pitches.
\end_layout

\begin_layout Subsection
Details
\end_layout

\begin_layout Standard
The Snippet tool bar has only one button initially: 
\begin_inset Quotes eld
\end_inset

Create
\begin_inset Quotes erd
\end_inset

.
 This button lets you create a snippet from the current selection.
 The selection should be a contiguous selection of objects in a single voice.
 Once created the snippet appears on the snippet tool bar as a button –
 the label is generated to indicate the content, and this label can be further
 edited by clicking on the button and choosing 
\begin_inset Quotes eld
\end_inset

Edit Label
\begin_inset Quotes erd
\end_inset

.
 Other options on clicking a snippet button are to insert the snippet, to
 select the snippet (in which case as you enter pitches they follow the
 rhythm of the snippet, including any slurs, trills, or articulations that
 are in the snippet) etc.
 
\end_layout

\begin_layout Standard

\family typewriter
Ctrl-Space 
\family default
inserts the selected snippet or (if none is selected) inserts the snippet
 that you specify by number.
 
\family typewriter
Shift-Space
\family default
 selects the next snippet (or first if none selected), to unselect a snippet
 choose a duration (0, 1 \SpecialChar ldots
) to be used instead for entering pitches.
\end_layout

\begin_layout Standard
In the insertion case, you may have two or three snippets that apply to
 a given score – special bits of text that appear over notes for example
 – and you can insert them using 
\family typewriter
Ctrl-Space
\family default
, 1 (or 2 or 3 \SpecialChar ldots
) as needed.
\end_layout

\begin_layout Standard
In the pattern-following case you will be selecting snippets using 
\family typewriter
Shift-Space
\family default
 and then playing in notes (and backing up using backspace in case of error
 – the pattern backs up for you).
\end_layout

\begin_layout Section
The Print View Window
\begin_inset Index idx
status open

\begin_layout Plain Layout
Print View
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "sec:The-Print-View"

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/PrintView.png
	scale 50

\end_inset


\end_layout

\begin_layout Standard
The print view window is shown by checking View->Print View.
 This view shows the typeset score as it will be printed on paper.
 It also allows you to locate the place in the Denemo Display belonging
 to a particular note or mark in the score, start playing the music at any
 note and allows some graphical editing of the score.
 You can switch back to the Denemo Display by pressing Esc or Ctrl-w.
\end_layout

\begin_layout Subsection
The Buttons
\end_layout

\begin_layout Itemize
Print starts your system's print dialog to send the typeset score to a printer
 or file.
 Windows print dialog has been reported to crash, if so use the PDF option.
\end_layout

\begin_layout Itemize
PDF
\begin_inset Index idx
status open

\begin_layout Plain Layout
PDF
\end_layout

\end_inset

 to generate a PDF document from the score.
\end_layout

\begin_layout Itemize
Typeset.
 Offers a menu of score layouts
\begin_inset Index idx
status open

\begin_layout Plain Layout
Score Layout
\end_layout

\end_inset

 to typeset.
 If only one is available (the Default Score Layout) then it typesets that
 one.
\end_layout

\begin_layout Itemize
Movement.
 Creates a Score Layout comprising the current movement, and then typesets
 it .
\end_layout

\begin_layout Itemize
Part.
 Creates a Score Layout from the current Part and typesets that.
 A 
\emph on
part 
\emph default
comprises all the staffs with the part name of the current staff.
 (The part name of a staff is shown above the initial clef with a green
 patch on it).
\end_layout

\begin_layout Itemize
Refresh.
 Repeats that last typeset command.
 For example, if Part was the last then it typesets the current part (which
 may be different from the one last typeset if the cursor is in a different
 part).
\end_layout

\begin_layout Itemize
Inclusion Criteria.
 This button is labelled either 
\begin_inset Quotes eld
\end_inset

No Inclusion Criterion Set
\begin_inset Quotes erd
\end_inset

 or with the name of an Inclusion Criterion.
 With it you can create an Inclusion criterion and set it to control the
 typesetting of the score - see Inclusion Criteria
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Inclusion-Criteria"

\end_inset

.
\end_layout

\begin_layout Itemize
Continuous/Manual.
 This both indicates the current mode of typesetting and acts as a menu
 for altering it and choosing how much to typeset in continuous mode.
 In continuous mode the score is re-typeset every time it is altered – choose
 the range if the score is large so that it refreshes quickly.
 For entering music rapidly set this to Manual, and re-typeset on demand.
\begin_inset Separator latexpar
\end_inset


\end_layout

\begin_deeper
\begin_layout Itemize
Range opens the range dialog.
 You can set the range by selecting 
\begin_inset Quotes eld
\end_inset

All Movements
\begin_inset Quotes erd
\end_inset

, 
\begin_inset Quotes eld
\end_inset

Current Movement
\begin_inset Quotes erd
\end_inset

 or 
\begin_inset Quotes eld
\end_inset

Cursor Context
\begin_inset Quotes erd
\end_inset

.
 In this last one you can select the number of bars before and after the
 cursor and the number of staffs above and below the cursor to typeset.
 Note that if you select too small a range the typesetting may be different,
 as the small amount of music will be spaced differently to appear well
 typeset.
\end_layout

\end_deeper
\begin_layout Itemize
Duplex.
 Changes the view to show how two-sided printing will work out for page
 turns.
\end_layout

\begin_layout Itemize
Next, Previous.
 Navigate to the next/previous page of the score.
 You can scroll or drag as well.
\end_layout

\begin_layout Subsection
Mouse
\begin_inset Index idx
status open

\begin_layout Plain Layout
Mouse
\end_layout

\end_inset

 Controls
\begin_inset CommandInset label
LatexCommand label
name "subsec:Mouse-Controls"

\end_inset


\end_layout

\begin_layout Standard
The mouse scroll wheel enables vertical panning and with Shift horizontal
 panning.
 With Control pressed you can zoom the view, which is very important for
 re-shaping slurs.
 Right click for help with tweaking beam angles, slurs etc.
\end_layout

\begin_layout Standard
Shift-Clicking on a notehead or marking selects the object (blue box appears)
 and positions the Denemo cursor at that point so that you can start editing.
 Clicking without shift starts playing at that point – click again to stop
 the play.
\end_layout

\begin_layout Standard
Right clicking in a blank area of the typeset view (normal cursor) gives
 a menu providing help and allowing you to typeset with the control points
 for curves and the location points of objects marked as red dots and crosses.
 Be sure to turn off these red dots and crosses before printing or creating
 a customized score layout, as they are embedded in the score and will print.
\end_layout

\begin_layout Subsection
Editing in the Print View – WYSIWYG
\begin_inset Index idx
status open

\begin_layout Plain Layout
WYSIWYG
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Once you have finished entering music into Denemo you may find that you
 have a wrong note or two or a missed marking or slur when looking over
 the finished score in the Print View.
 It is convenient to shift-click (or click twice) on the notehead, marking
 etc.
 to position the Denemo Cursor on the object.
 For this to work look for the 
\begin_inset Quotes eld
\end_inset

hand
\begin_inset Quotes erd
\end_inset

 pointer as you move the mouse over the typeset score.
 The hand pointer indicates a place where if you click the Denemo Cursor
 will move to the Denemo Object that belongs to that feature.
 
\end_layout

\begin_layout Standard
Once you have located the note you wish to edit you can press the keyboard
 shortcut (or play the MIDI key or any other editing method) to change the
 note – to add a staccato marking for example.
 The Print View will not instantly update, but you can continue editing
 while it does so.
 If the Print View is not up-to-date the shift-click may not locate the
 correct note as your edit may have displaced things; to minimize this it
 is best to correct faults on a page from the bottom upwards.
 You are given a warning noise when the print view is not up to date, and
 a big warning noise if the locating has completely failed.
\end_layout

\begin_layout Standard
The navigation using shift-click in the Print View works for noteheads,
 slurs
\begin_inset Index idx
status open

\begin_layout Plain Layout
Slurs
\end_layout

\end_inset

, ties
\begin_inset Index idx
status open

\begin_layout Plain Layout
Ties
\end_layout

\end_inset

 and various marks – some other things such as lyrics can't be used to navigate
 – choose the note that the lyrics underlie to find the right place in the
 Denemo Display.
\end_layout

\begin_layout Standard
You can actually edit your input music using the mouse on the Print View
 window – something referred to as what-you-see-is-what-you-get (WYSIWYG),
 which is how the conventional music editors work all the time.
 But in doing this it will help if you keep in mind that the Denemo program
 does not know anything about what LilyPond has actually drawn in the Print
 View window – Denemo is just displaying the PDF file that LilyPond has
 created.
 The PDF file 
\emph on
does
\emph default
 contain links – the 
\begin_inset Quotes eld
\end_inset

hand
\begin_inset Quotes erd
\end_inset

 pointer – so it does 
\begin_inset Quotes eld
\end_inset

know
\begin_inset Quotes erd
\end_inset

 about where things are in the Denemo Display, but not the other way round.
 This means that to use wysiwyg features you have to tell Denemo more about
 what you are doing than you would expect.
\end_layout

\begin_layout Subsubsection
Editing Positions and Padding
\end_layout

\begin_layout Standard
Right clicking on some objects in this pane allows you to edit them.Use this
 for the occasions when LilyPond has positioned things badly.
 
\end_layout

\begin_layout Standard
The editing procedures depend on whether the object is attached to a note
 or appears between the notes in the Denemo Display.
 Depending on the object you can drag it to a better position or change
 whether it appears above or below the note its attached to.
 
\end_layout

\begin_layout Standard
You can also select an amount of padding to apply to some objects so that
 they keep their distance from other items in the score.
 Adjusting the padding is generally a better way of indicating that something
 is too close to something else, since other objects will move away from
 it as needed and if you later edit the score it will behave more intelligently.
\end_layout

\begin_layout Subsubsection
Re-shaping Slurs
\begin_inset Index idx
status open

\begin_layout Plain Layout
Slurs
\end_layout

\end_inset

 and Ties
\begin_inset Index idx
status open

\begin_layout Plain Layout
Ties
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Slurs, ties and beaming
\begin_inset Index idx
status open

\begin_layout Plain Layout
Beaming
\end_layout

\end_inset

 can also be altered here.
 When you right-click on a slur or tie the Denemo Cursor moves to the note
 where the slur starts and you are offered the chance to edit the shape
 of the curve.
 Choose a large zoom factor before you begin, and turn on the control points
 (red dots and crosses) as described 
\begin_inset CommandInset ref
LatexCommand nameref
reference "subsec:Mouse-Controls"

\end_inset

above.
 Then right click on the curve and choose Edit Shape.
 You have to click on the reference point first – this is on the center-line
 of the staff at the horizontal position of the notehead where the curve
 starts – this is marked with a red dot.
 Then you click and drag on the four 
\begin_inset Quotes eld
\end_inset

control-points
\begin_inset Quotes erd
\end_inset

 that define the shape of the curve.
 Once the shape looks good, right click in a blank area and click Apply.
 
\end_layout

\begin_layout Standard
With practice you can skip the use of the red dots and crosses as you can
 guess where they would be.
\end_layout

\begin_layout Subsubsection
Adding Line or Page Breaks.
\end_layout

\begin_layout Standard
Page or line breaks added by right-clicking on a note at a barline and choosing
 from the menu.
 This works because right-click positions the Denemo Cursor at the note
 and then the page or line break command is run just as if you were working
 directly in the Denemo Display.
\end_layout

\begin_layout Section
The LilyPond
\begin_inset Index idx
status open

\begin_layout Plain Layout
LilyPond
\end_layout

\end_inset

 View
\end_layout

\begin_layout Standard
In this view the music is shown in the form it is sent to the LilyPond music
 typesetter.
 The LilyPond typesetter uses a syntax that can be read and written by human
 hand (the word c'' represents the note middle C for example) so this editor
 allows editing and navigating the music.
 
\end_layout

\begin_layout Standard
The lines are all numbered, and the bars always start a new line, with every
 fifth bar numbered with a comment 
\begin_inset Quotes eld
\end_inset

%n
\begin_inset Quotes erd
\end_inset

.
 Directly editable text appears in bold, and additional syntax can be inserted
 by right-clicking with the mouse.
 (Equivalent to choosing the 
\begin_inset Quotes eld
\end_inset

Insert LilyPond
\begin_inset Quotes erd
\end_inset

 menu item).
\end_layout

\begin_layout Standard
The first sections are definitions of the music for each staff/voice.
\end_layout

\begin_layout Standard
The last section is the 
\emph on
score layout
\begin_inset Index idx
status open

\begin_layout Plain Layout
Score Layout
\end_layout

\end_inset


\emph default
 which can be a custom one or a default layout (or if continuous typesetting
 is on, a temporary one).
 If you want to edit the score layout directly as text then you can click
 on the Score Layout button here and convert it to a custom layout.
\end_layout

\begin_layout Standard
There is also a pane that shows any error messages that LilyPond may issue
 when typesetting your score.
 These are not not issued when a typeset is tried by the continuous typesetting
 mechanism, as you may be in the middle of an edit which might make the
 score un-typesettable (e.g.
 start beam with not end beam).
 Right-click and choose Typeset this LilyPond Text to force a typeset in
 this circumstance.
 Then when an error occurs the remainder of the text is marked in red.
 Using the arrow keys to move around this text, the Denemo cursor in the
 Denemo Display will follow, using the little gray anchors that appear before
 each note, rest, chord or other music object.
\end_layout

\begin_layout Section
The Playback View
\begin_inset Index idx
status open

\begin_layout Plain Layout
Playback View
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "sec:The-Playback-View"

\end_inset


\end_layout

\begin_layout Subsection
Introduction
\end_layout

\begin_layout Standard
This is a fully typeset view with (more) full-featured MIDI playback.
 The music is typeset on one long page against a yellow background and scrolls
 up as it plays.
 As a bonus, a single part can be typeset in this view with the whole accompanim
ent included in the playback – you can play from the part while hearing
 the other instruments.
\end_layout

\begin_layout Standard
To start play from a note just click on the notehead, click again to stop
 playback.
 To play a short passage click on a notehead and drag to where you want
 the playback to end.
 To loop-play hold the shift key down as you drag from the start to the
 end of the passage to be looped over.
 To position the Denemo cursor at a note or rest shift-click a the notehead.
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/PlaybackView.png
	scale 50

\end_inset


\end_layout

\begin_layout Standard
The Play/Stop button plays the whole piece with repeats, (that is the same
 as the Performance command in the playback menu); if a performance is underway
 it stops it.
\end_layout

\begin_layout Standard
The All Parts button typesets the current movement for playback, generating
 the MIDI at the same time.
 The Current Part button does the same but just for the part that holds
 the Denemo cursor in the Denemo Display – you are asked if you want to
 keep the MIDI already generated – say yes if you wish to hear the other
 parts while following just the current part as it plays back.
\end_layout

\begin_layout Standard
Set Scrolling pops up a dialog to control simple automatic scrolling.
 Clear Scroll Points clears the list of 
\emph on
scroll points 
\emph default
if present (see below).
\end_layout

\begin_layout Subsection
MIDI Playback.
\end_layout

\begin_layout Standard
In the Playback View the MIDI is generated by LilyPond and has many more
 features than the simple MIDI generated by Denemo.
 This playback can still be controlled by the same commands in the Playback
 menu or the Playback Controls Panel and left-clicking on a notehead in
 the Print View, but in addition you can start play from any point in the
 music just by left-clicking on a note in the Playback View.
 Furthermore, in the Playback View, to play a section of the music click
 and drag to the end note desired.
 For a looping play hold the shift key while dragging.
\end_layout

\begin_layout Standard
If you alter the music then you need to re-typeset this view before you
 can play with Playback View.
\end_layout

\begin_layout Subsection
Scrolling
\end_layout

\begin_layout Standard
You can either check the Set Scrolling check box to automatically scroll
 as you listen, or you can set scroll points to determine exactly where
 the page will be when the point clicked is playing.
\end_layout

\begin_layout Subsubsection
Simple Scrolling Control
\end_layout

\begin_layout Standard
For simple scrolling click the Simple Scrolling check box.
 The music will start to scroll after a while and continue at a steady rate.
 If it has scrolled too far you can scroll it back a bit while playing,
 it will carry on at the rate from where you leave it.
\end_layout

\begin_layout Subsubsection
Scroll Points
\end_layout

\begin_layout Standard
For more sophisticated control you can set 
\emph on
scroll points 
\emph default
on the movement.
 This is what 
\emph on
right 
\emph default
clicking does in the Playback view – when you 
\emph on
right 
\emph default
click on a note head or rest Denemo will ensure that the page has scrolled
 while playing so that notehead has arrived at where it was when you clicked.
 With the music in the right place on the page for it to start, 
\emph on
right 
\emph default
click on the first note of the second system (so that the scrolling does
 not start until after you have heard the first system play) and then scroll
 the page up (using the mouse scroll wheel or the scroll bars) and click
 on the first note of the last system once the page is in the position desired
 for end-of-play.
 You hear a sound effect when the scroll point has been added to the list
 of scroll points for this movement and the place is marked with a green
 blob.
\end_layout

\begin_layout Standard
If there are tempo changes, scroll the page to the desired position prior
 to the tempo change and click on the last note/rest before the tempo change.
 (Instead of clicking you can drag notes to the position you wish them to
 be in instead – it's the same thing).
 If you add a scroll point wrongly, just click it again to remove it.
\end_layout

\begin_layout Standard
You may also need to set intermediate scroll points if the music has passages
 with a flurry of notes – just position the music for such passages and
 
\emph on
right 
\emph default
click as with tempo changes.
\end_layout

\begin_layout Standard
Note that if you set scroll points on a movement these are remembered when
 you switch movements, and scroll points 
\emph on
are 
\emph default
saved with your score.
 This means that once you have set up your score for practicing playing
 your part, Denemo will remember how you like it to scroll.
 Note also that you can do minor edits without unduly perturbing the scrolling
 that you set.
\end_layout

\begin_layout Standard
Use the Clear Scroll Points button to delete all the scroll points that
 you have set if you wish to start over or right click on an individual
 scroll point to remove it.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note: When not playing from the beginning of a piece the instruments will
 only be correct if the MIDI channel assigned to each staff has been left
 at the default value (channel 1 for staff 1 etc with channel 10 skipped).
 If you have deleted/swapped staffs you may need to reset the MIDI channel
 values.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note: Tempo
\begin_inset Index idx
status open

\begin_layout Plain Layout
Tempo
\end_layout

\end_inset

 changes must have a metronome mark to take effect in the Playback View.
 Repeat them in the part if you are just typesetting the part.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note: That text is currently generated with the wrong fonts in the Playback
 View (thought to be a LilyPond bug).
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note: LilyPond Version 2.19.x is needed for some MIDI features (e.
\begin_inset space \thinspace{}
\end_inset

g.
 staccato).
 Use the Preferences dialog, Externals tab to change which version of LilyPond
 Denemo uses.
\end_layout

\end_inset


\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note: When using the Playback View on a score with several movements you
 must first typeset the movement in the Print View before invoking the Playback
 View.
\end_layout

\end_inset


\end_layout

\begin_layout Section
The Object Inspector
\begin_inset Index idx
status open

\begin_layout Plain Layout
Object Inspector
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "sec:The-Object-Inspector"

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/ObjectInspector.png

\end_inset


\end_layout

\begin_layout Standard
The Object Inspector is shown by clicking View->Object Inspector, or just
 double-clicking on an object in the Denemo Display.
 It gives comprehensive information about the object at the cursor.
 This includes directives like ornaments, dynamic markings, fingerings that
 may be attached to the object.
 For objects like notes and rests which start at a particular musical moment
 it also describes at what moment in the measure the note begins and what
 its duration is.
\end_layout

\begin_layout Standard
The Object Inspector is sensitive to which note of a chord the cursor is
 on, so that things like fingerings (which can vary from note to note within
 a chord) are displayed individually as you move the cursor up and down
 a chord.
 You can step through the notes of a chord using the button marked 
\begin_inset Quotes eld
\end_inset

Inspect the next note in chord
\begin_inset Quotes erd
\end_inset

 which will work upwards through the distinct notes before wrapping round
 to start at the lowest note.
 Where a chord has two notes with the same note-name
\begin_inset Index idx
status open

\begin_layout Plain Layout
Doubled Chord Notes
\end_layout

\end_inset

 the button labelled 
\begin_inset Quotes eld
\end_inset

Alternate note at cursor
\begin_inset Quotes erd
\end_inset

 can be used to inspect the other one.
\end_layout

\begin_layout Standard
For many directives full information about which command created the directive
 and where it is to be found in the menu system is given, and the description
 of the command's behavior.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Some older commands don't have full information but the tag associated with
 the directive will help in tracking it down via the Command Center seach
 facility.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
The Object Inspector automatically updates itself as you move the cursor
 around, so you can leave it open and click on various objects to find out
 what they are and which command generated them (and so how to modify them).
\end_layout

\begin_layout Standard
The 
\begin_inset Quotes eld
\end_inset

Run the Object Editor
\begin_inset Quotes erd
\end_inset

 button will launch the 
\begin_inset CommandInset ref
LatexCommand nameref
reference "sec:Object-Editor"

\end_inset

 on the current object, which allows you to modify or delete the property
 you are interested in.
\end_layout

\begin_layout Standard
The 
\begin_inset Quotes eld
\end_inset

Create Button for Clone
\begin_inset Quotes erd
\end_inset

 button will let you create a palette button that can thereafter be used
 to insert a duplicate of the object any desired position in the score.
 This means that a complex marking or a chord with its fingerings, ornaments
 etc can be created once and then inserted elsewhere, even in other scores
 by invoking that button.
\end_layout

\begin_layout Standard
Use the window controls on the Object Inspector's title bar to dismiss the
 window.
\end_layout

\begin_layout Section
The Object Editor
\begin_inset Index idx
status open

\begin_layout Plain Layout
Object Editor
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "sec:Object-Editor"

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/ObjectEditor.png
	scale 50

\end_inset


\end_layout

\begin_layout Standard
The Object Editor allows you to edit the current Denemo Object and also
 to create palette buttons for generating such objects.It can be launched
 from the Edit Menu or from the 
\begin_inset CommandInset ref
LatexCommand nameref
reference "sec:The-Object-Inspector"

\end_inset

.
\end_layout

\begin_layout Subsection
Editing Objects and their properties.
\end_layout

\begin_layout Standard
This window is 
\emph on
modal, 
\emph default
that is you cannot interact with Denemo outside of the editor until you
 have dismissed it.
 To warn you of this the pointer turns to an X if you try to interact with
 the Denemo Input Display when the Object Editor is still open.
 Buttons are provided to move on to editing the next (or previous) object.
 
\end_layout

\begin_layout Standard
As with the Object Inspector the Object Editor is sensitive to the cursor
 height, with the same navigation control (
\begin_inset Quotes eld
\end_inset

Next note in chord
\begin_inset Index idx
status open

\begin_layout Plain Layout
Chord
\end_layout

\end_inset


\begin_inset Quotes erd
\end_inset

) to move through the notes of a chord so as to allow editing the detail
 of each note.
 Where a chord has two notes with the same note-name
\begin_inset Index idx
status open

\begin_layout Plain Layout
Doubled Chord Notes
\end_layout

\end_inset

 the button labelled 
\begin_inset Quotes eld
\end_inset

Alternate note
\begin_inset Quotes erd
\end_inset

 can be used to edit the other one.
\end_layout

\begin_layout Standard
In the example the cursor is on a chord which has a trill on it.
 Within the chord it is on the note C-natural which has a fingering on it
 for finger 3.
 These are the Denemo Directives attached to the chord and note – there
 can be even more.
\end_layout

\begin_layout Standard
For each Denemo Directive (either standalone or attached to the chord or
 note) there is a button 
\begin_inset Quotes eld
\end_inset

Execute command: <
\emph on
name of command
\emph default
>
\begin_inset Quotes erd
\end_inset

.
 This button will run the command in edit mode – if it has one – or simply
 run the command if it doesn't.
 
\end_layout

\begin_layout Standard
Below this is a row of buttons – the first will delete the Denemo Directive,
 while the last (Advanced) allows a low-level edit.
 The rest of the buttons are described next
\end_layout

\begin_layout Subsubsection
Seeking
\begin_inset Index idx
status open

\begin_layout Plain Layout
Seek
\end_layout

\end_inset


\begin_inset Index idx
status open

\begin_layout Plain Layout
Search Objects| see
\begin_inset ERT
status open

\begin_layout Plain Layout

{
\end_layout

\end_inset

Seek
\begin_inset ERT
status open

\begin_layout Plain Layout

}
\end_layout

\end_inset


\end_layout

\end_inset

, Editing and Conditionals
\end_layout

\begin_layout Standard
The next three buttons allow you to seek and edit further occurrences of
 this particular Denemo Directive in the score (
\begin_inset Quotes eld
\end_inset

Next
\begin_inset Quotes erd
\end_inset

) to set conditional behavior on the Denemo Directive (
\begin_inset Quotes eld
\end_inset

Conditional
\begin_inset Index idx
status open

\begin_layout Plain Layout
Conditional Directive
\end_layout

\end_inset


\begin_inset Quotes erd
\end_inset

) or to get the description of the command that originated this directive
 (
\begin_inset Quotes eld
\end_inset

Help
\begin_inset Quotes erd
\end_inset

).
\end_layout

\begin_layout Standard
The 
\begin_inset Quotes eld
\end_inset

Next->
\begin_inset Quotes erd
\end_inset

 button allows you to search on from the cursor for further occurrences
 of the Denemo Directive – other fingerings for button on the Fingering
 directive, for example.
 When found they can be edited and the search resumed (the usual shortcut
 for resuming the search is 
\family typewriter
Ctrl-E,r).
 
\family default
These search commands can be invoked from the Edit menu, but this button
 provides a convenient start point.
\end_layout

\begin_layout Standard
The 
\begin_inset Quotes eld
\end_inset

Conditional
\begin_inset Quotes erd
\end_inset

 button allows you to say if you want the directive to be ignored for certain
 
\emph on
score layouts
\emph default
 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Score-Layouts"

\end_inset

.
 For example, a cue is usually only wanted when printing the part, not the
 full score.
 So clicking on this allows you to specify this.
 
\end_layout

\begin_layout Subsubsection
Making the Directive Conditional
\end_layout

\begin_layout Standard
The conditional button allows make the directive active only for certain
 Inclusion Criteria
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Inclusion-Criteria"

\end_inset

 or Score Layouts
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Score-Layouts"

\end_inset

.
 You specify inclusion criteria to mean the directive should only be typeset
 when that criterion is set in the Print View.
 Or you can designate certain score layouts (e.
\begin_inset space \thinspace{}
\end_inset

g.
 typesetting just one part, or one movement) as ones for which this directive
 is active or ones which ignore the directive.
 So if the full score is wanted without fingerings then by clicking this
 button with the full score as the currently typeset layout the fingering
 directive can be designated as ignored by that layout.
 Further examples can be searched and similarly marked in the dialog that
 follows.
\end_layout

\begin_layout Subsubsection
Making a Copy of the Directive
\end_layout

\begin_layout Standard
This button copies the directive to the clipboard – it can then be pasted
 by moving the cursor elsewhere and invoking the paste command.
\end_layout

\begin_layout Subsubsection
Creating Palette Buttons for Objects and Properties.
\end_layout

\begin_layout Standard
The Object Editor also has buttons for creating Palette Buttons for the
 Denemo Directive that it edits.
 There are two of these: one button would run the command that created the
 attribute/object the other will instantiate a duplicate – a clone – of
 the attribute/object.
\end_layout

\begin_layout Subsubsection*
Create Button for Command
\end_layout

\begin_layout Standard
This creates a palette button to run the command that created the Denemo
 Directive you have Object Editor open on.
 You are asked which palette you want to place the button in, and can create
 a new, custom, palette at that stage.
\end_layout

\begin_layout Standard
For example, if you use this on the Arranger attribute of a score you will
 get a button that runs the command Arranger (which is found in Score->Titles\SpecialChar ldots
).
 That button would then ask you to fill in the name of the arranger.
 Compare this with the next button, where you will create a button that
 will install a clone of Arranger attribute that you have on this score
 – the arranger will be already filled in, saving you having to enter your
 own name each time you create a new score.
\end_layout

\begin_layout Subsubsection*
Create Button for Clone
\end_layout

\begin_layout Standard
This creates a button which when clicked will insert a duplicate of the
 Denemo Directive that the Object Editor is looking at.
\end_layout

\begin_layout Standard
This means that for any specific attribute you want to re-use you can create
 a button that will install exactly that Denemo Directive at the cursor.
 So, even if you do not know how a particular effect was generated, you
 can create a palette button to use the effect in your own score.
 The Open->Open Example scores provide useful examples of things you may
 need.
 See the section on Palettes
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Palettes"

\end_inset

 for more about palettes.
\end_layout

\begin_layout Standard
This button is particularly useful for things like your copyright notice
 which stays the same from score to score – you just need a clone to install
 on a new score.
\end_layout

\begin_layout Section
The Score and Movement
\begin_inset Index idx
status open

\begin_layout Plain Layout
Movement
\end_layout

\end_inset

 Properties Editor
\begin_inset CommandInset label
LatexCommand label
name "sec:The-Score-and"

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/ScorePropsEditor.png
	scale 45

\end_inset


\end_layout

\begin_layout Standard
The score and movement editors allow you to edit global properties of the
 score or current movement.
 Use the Score menu to launch the editor with the Score properties expanded
 fully and the Movement menu to launch it with the Movement properties expanded
 – they are combined in a single window to make it easy to switch between
 them.
 Drag the separator if you need to switch between them.
 On the Movement Editor pane there are buttons to change movement, so you
 can continue editing without re-starting the editor.
\end_layout

\begin_layout Standard
The built-in staff properties can be edited using the button at the top.
 For each Denemo Directive attached to the staff or voice there is a button
 
\begin_inset Quotes eld
\end_inset

Edit command: <
\emph on
name of command
\emph default
>
\begin_inset Quotes erd
\end_inset

 – the tooltip of this button gives the help text of the command that created
 it.
 This button will run the command in edit mode.
 There are also buttons to do a low-level edit or to delete the directive.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Some older commands do not have edit facilities.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
As with the Object Editor
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Object-Editor"

\end_inset

, this editor is 
\emph on
modal.
\end_layout

\begin_layout Standard
In addition to the buttons described for the Object Editor
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Object-Editor"

\end_inset

there is a button to create a duplicate
\begin_inset Index idx
status open

\begin_layout Plain Layout
Duplicate Directives
\end_layout

\end_inset

 of the directive.
 The purpose of this is to have two versions of some setting (e.
\begin_inset space \thinspace{}
\end_inset

g.
 the indent for the first staff) which are used for different score layouts
 – a full score may require a larger indent than an individual part.
 If you make the duplicate conditional
\begin_inset Index idx
status open

\begin_layout Plain Layout
Conditional Directive
\end_layout

\end_inset

 on one layout, then it is good practice to make the original conditionally
 
\emph on
ignored
\emph default
 by the same layout, rather than relying on it overriding the earlier directive.
 
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note that the command that created the directive you have duplicated will
 only edit the original directive, not the duplicate.
 So if you want to change it you can either use the Advanced edit button
 or delete and re-create it with the different value desired.
 (And then return to the value desired for the original copy of the directive).
\end_layout

\end_inset


\end_layout

\begin_layout Section
The Staff
\begin_inset Index idx
status open

\begin_layout Plain Layout
Staff Properties Editor
\end_layout

\end_inset

 and Voice
\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice
\end_layout

\end_inset

 Properties Editor
\begin_inset CommandInset label
LatexCommand label
name "sec:The-Staff-and"

\end_inset


\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice Properties Editor |see
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

{
\end_layout

\end_inset

Staff Properties Editor
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

}
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/StaffVoicePropsEditor.png
	scale 45

\end_inset


\end_layout

\begin_layout Standard
A 
\begin_inset Quotes eld
\end_inset

tools
\begin_inset Quotes erd
\end_inset

 icon is drawn at the start of the staff.
 Clicking on this opens the Staff and Voice Properties Editor.
 As with the Score and Movement Properties editor these are combined as
 two panes in one window – often you won't be sure if the property is one
 set on the Staff or the Voice belonging to the staff, so this makes it
 easy to look at both.
 Drag the separator if you need to make more space for one of them.
 
\end_layout

\begin_layout Standard
You can also launch the Staff Properties Editor from the Staff menu, and
 you can navigate the staffs while in the editor using Staff Above and Staff
 below buttons.
\end_layout

\begin_layout Standard
The built-in staff properties can be edited using the next button – this
 is a rather arbitrary collection of things that are not attached as Denemo
 Directives, covering MIDI output for the staff, some typesetting controls
 and display controls.
 
\end_layout

\begin_layout Standard
There are also buttons to inspect/alter the initial clef
\begin_inset Index idx
status open

\begin_layout Plain Layout
Clef
\end_layout

\end_inset

, time signature
\begin_inset Index idx
status open

\begin_layout Plain Layout
Time Signature
\end_layout

\end_inset

 and key signature
\begin_inset Index idx
status open

\begin_layout Plain Layout
Key Signature
\end_layout

\end_inset

.
\end_layout

\begin_layout Standard
For each Denemo Directive attached to the staff or voice there is a button
 
\begin_inset Quotes eld
\end_inset

Edit command: <
\emph on
name of command
\emph default
>
\begin_inset Quotes erd
\end_inset

 – the tooltip of this button gives the help text of the command that created
 it.
 This button will run the command in edit mode.
 There are also buttons to create palette buttons, low-level edit or to
 delete the directive as with the other editors.
\end_layout

\begin_layout Standard
If the staff has properties attached to the key signature or time signature
 then these are included after those attached to the staff itself.
 As before the command that generated them can be run in edit mode.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Some older commands do not have edit facilities.
\end_layout

\begin_layout Plain Layout
Note that if there are additional voices on a staff these are usually displayed
 on a separate staff for ease of editing.
 Only the voice properties should be set on such a 
\begin_inset Quotes eld
\end_inset

staff
\begin_inset Quotes erd
\end_inset

, the staff properties will be ignored (since the voice will be typeset
 on the staff above).
\end_layout

\end_inset


\end_layout

\begin_layout Standard
As with the Object Editor
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Object-Editor"

\end_inset

, this editor is 
\emph on
modal, 
\emph default
and as with the Score/Movements and Staff/Voices editors there are facilities
 to make duplicate directives for conditional
\begin_inset Index idx
status open

\begin_layout Plain Layout
Conditional Directive
\end_layout

\end_inset

 use in the various layouts you may need.
\end_layout

\begin_layout Section
Alternative Typesets From One Score
\end_layout

\begin_layout Standard
It is common to want to create more than one edition from a single score.
 The simplest case is Score + set of parts, but you may also wish to have
 a version of your score transposed for a different instrument, or one containin
g fingerings for beginners, etc.
 For this purpose you can make the properties you set on the Score, Movements,
 Staffs, Notes etc 
\emph on
conditional.
 
\emph default
The easiest way of creating conditional values is by invoking the command
 
\begin_inset Quotes eld
\end_inset

Conditional Values/Properties
\begin_inset Quotes erd
\end_inset

 from the Score, Movement or Staff/Voices menus once you have created a
 default value for a property.
 This command creates conditional versions of the Denemo Directives that
 dictate the property.
 For Denemo Directives attached to objects in the music there are menu items
 to set them conditional.
 There are two sorts of things a Denemo Directive can be set conditional
 on, 
\emph on
Layouts
\emph default
, and 
\emph on
Inclusion Criteria
\emph default
.
 
\end_layout

\begin_layout Subsection
Inclusion Criteria
\begin_inset Index idx
status open

\begin_layout Plain Layout
Inclusion Criteria
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "sec:Inclusion-Criteria"

\end_inset


\end_layout

\begin_layout Standard
Inclusion Criteria are like flags that you set up or take down in the Print
 View.
 So, for example, if you want to generate score and parts for both a transposed
 and an un-transposed version of your score you can create an inclusion
 criterion with a name of your choice (say, 
\begin_inset Quotes eld
\end_inset

transposed
\begin_inset Quotes erd
\end_inset

) and set it on the Denemo Directive(s) that control the transposition of
 the score.
 The easiest way to do this is first to create the default c->c transposition
 using the Transpose on Print command and then invoke 
\begin_inset Quotes eld
\end_inset

Conditional Values/Properties
\begin_inset Quotes erd
\end_inset

 from the Score Menu to create a different value for when 
\begin_inset Quotes eld
\end_inset

transposed
\begin_inset Quotes erd
\end_inset

 is set in the Print View.
\end_layout

\begin_layout Standard
Then you only have to turn the inclusion criterion on or off in the Print
 View and the typesetting switches between versions.
 If the instrument names should change as well then you can use 
\begin_inset Quotes eld
\end_inset

Conditional Values/Properties
\begin_inset Quotes erd
\end_inset

 from the Staff Menu to create an instrument name to be used when the 
\begin_inset Quotes eld
\end_inset

transposed
\begin_inset Quotes erd
\end_inset

 flag is set.
\end_layout

\begin_layout Standard
You can create an inclusion criterion in the Print View
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Print-View"

\end_inset

using the button labelled 
\begin_inset Quotes eld
\end_inset

No Inclusion Criterion Set
\begin_inset Quotes erd
\end_inset

 or just create it on the fly when you make a directive conditional using
 the Conditional Directive commands.
 
\end_layout

\begin_layout Standard
For score, movement, staff etc directives you can use the command 
\begin_inset Quotes eld
\end_inset

Conditional Values/Properties
\begin_inset Quotes erd
\end_inset

 which lets you make some property you have set have a conditional value
 in addition to its normal value.
 
\end_layout

\begin_layout Standard
For more advaced use you can use Conditional button on the Directive in
 the respective editor (Score Editor, Movement Editor, Staff Editor etc).
 For objects (notes, chords, clefs, time signatures, key signatures, standalone
 Denemo Directives) there is a Conditional button in the Object Editor,
 or the Make Object Directive Conditional command in the Edit->Object at
 Cursor menu.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note that if you destroy an Inclusion Criterion then any Denemo Directive
 that required it becomes effectively unconditional - it will always be
 active unless you delete it or make it conditional on a layout.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
The limitation of Inclusion Criteria is that you can only have one active
 for any one typeset.
 Making properties conditional on the score layout does not have this limitation.
\end_layout

\begin_layout Subsection
The Score Layouts
\begin_inset Index idx
status open

\begin_layout Plain Layout
Score Layout
\end_layout

\end_inset

 Window
\begin_inset CommandInset label
LatexCommand label
name "sec:The-Score-Layouts"

\end_inset


\end_layout

\begin_layout Standard
Score Layouts are ways of typesetting a score for different purposes.
 Even without ever looking at the score layouts window you may find that
 you have been using them all along.
 For example, if you print just one part from a chamber work, or the vocal
 part from a song with piano accompaniment a score layout is created for
 this.
 In fact, layouts are always created when you typeset music – for example
 from the Print Window Typeset, Part or Movement buttons, or from the Print
 menu.
 These are 
\emph on
default score layouts 
\emph default
they are created automatically, and you don't have to think about them.
 They are useful for making things like page breaks apply only to the part
 or only to the full score etc - see making Directives conditional
\begin_inset Index idx
status open

\begin_layout Plain Layout
Conditional Directive
\end_layout

\end_inset

.
\end_layout

\begin_layout Standard
You can also create a layout using the Print->Select Staffs to Print menu
 item - by un-checking the 
\begin_inset Quotes eld
\end_inset

Do not Create Layout for this selection
\begin_inset Quotes erd
\end_inset

 check box you can create a custom layout that will print just the staffs(voices
) that you leave checked.
 In addition other commands in the Print menu generate custom score layouts
 – for example a layout for the accompanist to play from, with the solo
 part printed on a smaller staff.
\end_layout

\begin_layout Standard
For more extensive facilities in choosing how to lay out the elements of
 your score when typeset you can open the Score Layouts window.
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/ScoreLayout.png
	scale 75

\end_inset


\end_layout

\begin_layout Standard
The score layouts window is shown by checking View->Score Layout.
 
\end_layout

\begin_layout Standard
You can create custom layouts to print the music in different ways.
 For example, one layout may have the score transposed, or be for just two
 parts printed together.
 You start from a default layout, setting the values you want, and then
 click the Customize button.
\end_layout

\begin_layout Standard
You can customize any layout in this window – positioning lyrics above the
 staff rather than below for example, or setting the staff groupings.
 You can add any staff to any movement in the layout using the 
\begin_inset Quotes eld
\end_inset

Append Current Staff
\begin_inset Quotes erd
\end_inset

 button (place the cursor in the staff you wish to append).
 The buttons marked X next to the staffs delete.
 You can also append whole movements and re-arrange the order of the movements
 using the additional buttons that appear once you have made the layout
 a customized layout.
\end_layout

\begin_layout Standard
As well as appending staffs you can substitute the music for any specific
 voice
\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice
\end_layout

\end_inset

 by clicking on the 
\begin_inset Quotes eld
\end_inset

Substitute
\begin_inset Quotes erd
\end_inset

 button that appears when you expand the voice details.
\end_layout

\begin_layout Standard
Although all score layouts have access to the same music to arrange on the
 score the music can contain features that are exclusive to a one layout
 or exclude one layout, by making Denemo Directives conditional on the layout
 being typeset.
 See the commands under Directives->Make a Directive Conditional or Notes/Rests-
>Make a Directive Conditional for this, or use the Conditional button in
 the Object Editor 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Object-Editor"

\end_inset

.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
The score layout can only be edited graphically when first created.
 Once re-loaded from disk it is reduced to its LilyPond text form and can
 then only be edited in the LilyPond view.
\end_layout

\end_inset


\end_layout

\begin_layout Section
Preferences
\begin_inset Index idx
status open

\begin_layout Plain Layout
Preferences
\end_layout

\end_inset

 Dialog
\begin_inset CommandInset label
LatexCommand label
name "sec:Preferences-Dialog"

\end_inset


\end_layout

\begin_layout Standard
Under the Edit menu is a command to invoke the preferences dialog.
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/PreferencesDialog.png
	scale 80

\end_inset


\end_layout

\begin_layout Standard
This is arranged in tabs for the different aspects that you can set.
\end_layout

\begin_layout Subsection
The View Tab
\end_layout

\begin_layout Standard
The values set via the View menu are mostly 
\emph on
persistent 
\emph default
and so don't need to be set here, they can be set via the View menu.
 There is a setting in the miscellaneous tab for this persistence property.
\end_layout

\begin_layout Subsection
The Command Tab
\begin_inset CommandInset label
LatexCommand label
name "subsec:The-Command-Tab"

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/CommandTab.png
	scale 80

\end_inset


\end_layout

\begin_layout Standard

\end_layout

\begin_layout Standard
Here are options for how commands should be treated.
 The can apply to the note at the cursor or the whole selection.
 A note entered that does not fit in the bar can be split or not.
 Shortcuts can be set just by highlighting the command and pressing the
 key, or not.
 Menu navigation with arrow keys can be allowed (otherwise you would be
 setting the arrow keys as shortcuts).
 The Return key can be moved easily from command to command as a shortcut,
 or not.
 The 
\begin_inset Quotes eld
\end_inset

newbie
\begin_inset Quotes erd
\end_inset

 mode can be turned on – useful if you start to use a section of the program
 that is new to you.
 A window can be popped up to tell you which keypress you invoked.
 And finally the timing of the tooltips as you hover and move from one menu
 to another can be controlled.
\end_layout

\begin_layout Subsection
The Externals Tab
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/ExternalsPref.png
	scale 80

\end_inset


\end_layout

\begin_layout Standard
Here you can set the paths to external programs that you can use from Denemo.
 Binary packages have these set already, but if you wish to use a particular
 version of LilyPond or some other program to browse the manual then you
 will need to enter the name (preferably the full path) of the program concerned.
\end_layout

\begin_layout Standard
You can also set the default location for saving your scores.
 The update command set feature is not available at present.
\end_layout

\begin_layout Subsection
The Auto-Typeset Tab
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/CommandTab.png

\end_inset


\end_layout

\begin_layout Standard
This tab controls the continuous typesetting feature of the Print View
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-Print-View"

\end_inset

.
 Most of these can be set via the Continuous/Manual button in the Print
 View window, but here you can control how quickly Denemo checks for the
 need for a new typeset.
\end_layout

\begin_layout Subsection
The Miscellaneous Tab
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/MiscellaneousPref.png
	scale 80

\end_inset


\end_layout

\begin_layout Standard
The font used by Denemo for menus and dialogs tooltips etc can be set here:
 the default is a special font that makes it easy to read the musical signs
 – most fonts create 1/2 and 1/4 notes that are not easy to distinguish
 at a glance, the ones in the Denemo font are cartoon-like exagerations
 that make it easy to see what is meant.
 You can set the font size too – none of this affects the typeset score,
 naturally.
 Some menus that can become very large can be limited (a 
\begin_inset Quotes eld
\end_inset

more
\begin_inset Quotes erd
\end_inset

 button appears).
\end_layout

\begin_layout Standard
The display animation controls are here – how quickly the display refreshes
 and how page turns are done in the Page View
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:The-Page-View"

\end_inset

.
\end_layout

\begin_layout Standard
The excerpt resolution setting is to control the quality of the image created
 by the Print Excerpt command (printing little bits of music for inclusion
 in documents).
\end_layout

\begin_layout Standard
Denemo can create thumbnails from the actual typeset music (done on closing
 the session or by a command) – these are displayed by file browsers (not
 on windows o/s though).
\end_layout

\begin_layout Standard
Denemo keeps a list of scores you have visited recently – how many is controlled
 here.
 Use Open->Open Recent to choose one from the main menu.
\end_layout

\begin_layout Standard
The user name is set for visiting the denemo chat room via the Help menu.
\end_layout

\begin_layout Standard
The Autosave options guard against a power failure while you are working
 – nowadays you can set the time very short without noticeably impacting
 your work.
\end_layout

\begin_layout Subsection
The Audio
\begin_inset Index idx
status open

\begin_layout Plain Layout
Audio
\end_layout

\end_inset

 Tab
\begin_inset CommandInset label
LatexCommand label
name "subsec:The-Audio-Tab"

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/AudioPref.png
	scale 80

\end_inset


\end_layout

\begin_layout Standard
This tab affects the sounds you will hear via a connected audio system.
 The first section is for feedback when entering music.
 If you are looking at a source manuscript while entering rhythms or notes
 you will not want to look across at the input display to check that you
 are still entering at the right part of the bar.
 The sound effect that tells you a new bar is beginning is set via the first
 field – it is one of the drum effects available in the default Denemo soundfont
, number 72, change this to 0 to turn it off, or other values for a more
 discrete sound.
\end_layout

\begin_layout Standard
There are settings for controlling the pitch spelling
\begin_inset Index idx
status open

\begin_layout Plain Layout
Pitch Spelling
\end_layout

\end_inset

 for MIDI in – augmented and diminished intervals switch to this channel;
 if you hear this on an interval that was not supposed to be augmented or
 diminished you are alerted that you have the enharmonic range wrongly set
 for the piece.
 You can turn this effect off with the check box (The picture is out of
 date in this respect).
\end_layout

\begin_layout Standard
The Dynamic Compression affects the volume at which notes are played back
 as you enter them from a MIDI keyboard – by compressing 100% you avoid
 meaningless variations in volume – you are only entering notes, not giving
 a moving performance, after all! Without this you will find some notes
 are too quiet to be noticed and will think the note wasn't registered.
 Note that the value 99 for dynamic compression is a 
\begin_inset Quotes eld
\end_inset

magic
\begin_inset Quotes erd
\end_inset

 value, it gives a slight after-touch effect, useful for percussive instruments
 (disatrous for organs!) to avoid the clipped sound when the note terminates.
\end_layout

\begin_layout Standard
The Audio Backend section changes where Denemo tries to send the output
 sounds to – it can be difficult to match up the options to the hardware
 (and o/s) settings you have.
 After checking carefully that you have got speakers attached and that they
 are working (e.
\begin_inset space \thinspace{}
\end_inset

g.
 by running some other program) you should turn off all other programs that
 may be hogging the audio out and then start up Denemo and only resort to
 changing the settings here if you don't hear anything.
 Be especially careful not to alter the Sample Rate and Period Size unless
 you are an audio expert.
\end_layout

\begin_layout Standard
The Maximum Recording Time is there to limit the amount of memory you gobble
 up if you turn on the Record
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Playback-Controls"

\end_inset

 of the audio out.
 
\end_layout

\begin_layout Subsection
The MIDI
\begin_inset Index idx
status open

\begin_layout Plain Layout
MIDI
\end_layout

\end_inset

 tab
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/MidiPref.png
	scale 80

\end_inset


\end_layout

\begin_layout Standard
Here are the controls for a connected MIDI controller
\begin_inset Index idx
status open

\begin_layout Plain Layout
MIDI Controller
\end_layout

\end_inset

 (usually a keyboard nowadays).
 With Rhythm Entry checked you can type in unpitched rhythms and immediately
 fill them in from the MIDI keyboard
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Playing-Notes-into"

\end_inset

.
 The MIDI backend section lets you specify the controller you are using
 – set this even if 
\begin_inset Quotes eld
\end_inset

default
\begin_inset Quotes erd
\end_inset

 works.
 The MIDI output device is currently not used in Denemo.
\end_layout

\begin_layout Standard
The soundfont is the set of sounds you hear – Denemo is shipped with a smallish
 soundfont, but if you want something special then you can browse to the
 .sf2 file using the Choose Soundfont button.
\end_layout

\begin_layout Standard
The Pitch Entry tab is for acoustic entry of notes – this is largely replaced
 by MIDI keyboard entry now that MIDI keyboards can be bought very cheaply.
\end_layout

\begin_layout Section
Score and Movement Button Bars
\end_layout

\begin_layout Standard
The View->Titles, Buttons etc checkbox makes two horizontal button bars
 visible (if they have buttons on them).
 What the buttons show are titles/composer etc for the score and for the
 current movement.
 The score button bar holds the movement indicator buttons for scores that
 have several movements – you can click on one of these to move quickly
 to a different movement.
 In addition other score-wide settings create buttons on the score titles
 bar and movement wide settings on the movement titles bar.
 The menu items that populate these are under Score->Titles etc., and Movement->T
itles etc and other menus.
 
\end_layout

\begin_layout Section
Style, Layout, Titling
\begin_inset Index idx
status open

\begin_layout Plain Layout
Titles
\end_layout

\end_inset


\end_layout

\begin_layout Standard
This section covers where to find commands for titles, page numbering, table
 of contents, critical commentary, page size and so on.
 The commands for stylistic directives are in the Score->Typesetter or Movements
->Typesetter menus.
 Here you find commands to set the accidental style (when should accidentals
 be repeated?) and bar numbering styles, Rehearsal Mark style, page numbering
 conventions, the fonts to use for the various elements of the score.
\end_layout

\begin_layout Standard
In this directory there are commands to control the number of systems per
 page or bars per system – these would only be needed in exceptional circumstanc
es.
 There are also commands to control how systems are laid out on the page,
 and on the last page (the Ragged * commands), and to control the margins.
\end_layout

\begin_layout Standard
Notehead style for the whole score is here (see the Notes/Rests->Notehead
 menu for individual notes) and a command for creating a custom barline
\begin_inset Index idx
status open

\begin_layout Plain Layout
Barline
\end_layout

\end_inset

 style which can then be used in the score.
 
\end_layout

\begin_layout Standard
The command to instruct the typesetter to transpose the entire score is
 here – two flavors, a quick text-based one or one that allows you to specify
 the transposition you require by setting the pitches of two notes (from
 and to pitches).
\end_layout

\begin_layout Standard
Titles menus are found in the Score and Movements menus.
 There are two styles of titles, Book Titles and Simple Titles which shouldn't
 be mixed.
\end_layout

\begin_layout Subsection
Simple Titles
\end_layout

\begin_layout Standard
Simple titles allow you to place fields of text around the music.
 In this example the fields have been named 
\begin_inset Quotes eld
\end_inset

xxx movement
\begin_inset Quotes erd
\end_inset

 when they have been set from the movement titles otherwise they have been
 set in the score titles menu.
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/SimpleTitles.png

\end_inset


\end_layout

\begin_layout Standard
Each field can contain any text you need, with the Copyright field at the
 bottom of the first page, the Tagline field at the bottom of the last page
 and the Instrument field at the top of each page.
\end_layout

\begin_layout Standard
When you first set a title you just get a text box to write the title in.
 If you invoke the title again (e.
\begin_inset space \thinspace{}
\end_inset

g.
 click on it in the Print View) then you can extensively alter its appearance
 using the LilyPond markup language – buttons are provided so that you do
 not need to know the markup syntax.
 See the section 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Multi-line-Text-and"

\end_inset

 for the interface provided.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
If you have several movements without titles and then set a title for the
 score, that title will be repeated for each movement until you set at least
 one title field on the movements.
\end_layout

\begin_layout Plain Layout
When you preview the title with the preview button you see the title relative
 to the default settings for that title – in particular if that title is
 normally bold and you want to turn this off you will need to use 
\backslash
normal-text before the text to be un-boldened.
\end_layout

\end_inset


\end_layout

\begin_layout Subsection
Book Titles
\end_layout

\begin_layout Standard
With Book Titles you get a title page with a border and then each movement
 can have titles of its own.
 
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/BookTitles.png
	width 20cm

\end_inset


\end_layout

\begin_layout Standard
The music that appears on the title page can be selected from anywhere in
 the score, or omitted.
\end_layout

\begin_layout Standard
The Score->Titles->Book Titles menu also includes table of contents and
 critical commentary control.
\end_layout

\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "subsec:Lyrics"

\end_inset

Lyrics
\begin_inset Index idx
status open

\begin_layout Plain Layout
Lyrics
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Vocal music can be typeset using the commands in the Lyrics menu.
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/Lyrics.png
	scale 50

\end_inset


\end_layout

\begin_layout Subsubsection
Overview of Lyrics
\end_layout

\begin_layout Standard
Lyrics in Denemo are handled as verses of text, each verse made up of syllables.
 The screenshot shows a piece with three lyric verses.
\end_layout

\begin_layout Standard
For each verse a tab appears in the lyric pane at the bottom of the main
 window.
 The tab is a simple text editor – a new one appears each time you execute
 Add Lyric Verse (
\family typewriter
Ctrl-l, a
\family default
).
 The syllables are not attached to the notes, so you can edit the notes
 freely without affecting the lyrics.
\end_layout

\begin_layout Standard
Note that the lyrics for a staff are only shown when the cursor is in the
 staff concerned.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
This means that you will see the lyrics for the current staff disappear
 from the Display Window when you switch staffs, which can be disconcerting,
 but saves space in the display.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Lyrics are entered as a 
\emph on
syllables
\emph default
 separated by spaces or new lines (which have no other meaning).
 While typing or pasting the text in will be enough for simple pieces, special
 syntax can be included for more complex tasks; in particular space, hyphen
 (
\begin_inset Quotes eld
\end_inset


\family typewriter
-
\family default

\begin_inset Quotes erd
\end_inset

), underscore (
\begin_inset Quotes eld
\end_inset


\family typewriter
_
\family default

\begin_inset Quotes erd
\end_inset

), tilde (
\begin_inset Quotes eld
\end_inset


\family typewriter
~
\family default

\begin_inset Quotes erd
\end_inset

) all have a special meaning as explained below.
 For words with more than one syllable, a hyphen can be inserted by 
\begin_inset Quotes eld
\end_inset


\family typewriter
 -- 
\family default

\begin_inset Quotes erd
\end_inset

 (space hyphen hyphen space) or via the menu (Lyrics > Divide Syllables
 with Hyphen).
 Extra spaces and new lines can be used freely without affecting how the
 syllables are placed under the notes.
 The full possible syntax is given in the LilyPond documentation, but the
 guidance below covers many needs.
 Denemo provides you with menu items for inserting the most useful extras
 such as stanza numbers, font selection and skips.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Special syntax beginning with a backslash 
\begin_inset Quotes eld
\end_inset


\backslash

\begin_inset Quotes erd
\end_inset

 should be on a line by itself or at the end of a line, so that Denemo knows
 not to display it under the notes of the display.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
The Lyric pane shows only a few lines initially, but you can drag it upwards
 if you need to see more or use the scroll bars at the side.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
You may find it tricky to catch the 
\begin_inset Quotes eld
\end_inset

sweet spot
\begin_inset Quotes erd
\end_inset

 where the lyrics pane can be dragged open, sometimes dragging the red bar
 at the bottom of the Denemo Display upwards helps – it can be returned
 to the bottom afterwards.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
You can switch to the lyrics pane from the notes with 
\family typewriter
Ctrl-l, Ctrl-l
\family default
.
 The verse changes background color to show that keystrokes will now edit
 the lyrics.
 And you can switch back from editing the lyrics to editing the music with
 the 
\family typewriter
Ctrl-l
\family default
 (or 
\family typewriter
Esc
\family default
 or 
\family typewriter
Tab
\family default
 keys).
 You can change verses with 
\family typewriter
Ctrl-PgUpl/PgDn 
\family default
keys and change staffs with 
\family typewriter
Ctrl-up/down,
\family default
 and save with
\family typewriter
 Ctrl-s
\family default
.
 
\end_layout

\begin_layout Standard
While editing the notes the command 
\begin_inset Quotes eld
\end_inset

Edit Lyric at Cursor
\begin_inset Quotes erd
\end_inset

 (
\family typewriter
Ctrl-l, Ctrl-l
\family default
) finds the place in the lyrics corresponding to the cursor position allowing
 you to immediately edit the syllable that underlies the current note.
 
\end_layout

\begin_layout Subsubsection
Special Syntax for Lyric Verses
\end_layout

\begin_layout Standard
This section explains the special syntax that the commands in the Lyrics
 menu insert into the verse to control which syllables fall under which
 notes and other special effects.
 When you have used the commands in the Lyrics menu once (to remind yourself)
 you can simply type the special syntax when you need it again, saving time
 messing with the mouse.
\end_layout

\begin_layout Standard
In this section we'll indicate the syntax inserted by putting it in 
\begin_inset Quotes eld
\end_inset


\begin_inset Quotes erd
\end_inset

 – the double quotes not being part of the syntax.
\end_layout

\begin_layout Standard
Grouping several words under one note:
\end_layout

\begin_layout Standard
Lyrics->DivideSyllables
\end_layout

\begin_layout Standard

\emph on
Inserts 
\begin_inset Quotes eld
\end_inset


\family typewriter
\emph default
 -- 
\family default
\emph on

\begin_inset Quotes erd
\end_inset

 into the Lyric pane, which typesets as a hyphen halfway between the syllables
 each aligned below adjacent notes.
\end_layout

\begin_layout Standard
Lyrics->Lyrics Tie
\end_layout

\begin_layout Standard

\emph on
Inserts a single underscore 
\begin_inset Quotes eld
\end_inset


\family typewriter
\emph default
_
\family default
\emph on

\begin_inset Quotes erd
\end_inset

 or 
\begin_inset Quotes eld
\end_inset


\family typewriter
\emph default
~
\family default
\emph on

\begin_inset Quotes erd
\end_inset

 tilde, which will typeset as space or lyric tie 
\begin_inset Quotes eld
\end_inset

ˬ
\begin_inset Quotes erd
\end_inset

, respectively.
 
\end_layout

\begin_layout Standard
An alternative to the underscore is to enclose the words in double-quotes,
 e.
\begin_inset space \thinspace{}
\end_inset

g.
 "
\family typewriter
word1 word2 word3
\family default
", where the double quotes are literally typed in.
\end_layout

\begin_layout Standard
Extending a syllable over several notes (Melisma) can be indicated by placing
 a slur over the notes (a phrasing slur does not trigger melisma).
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Beaming can also be used to indicate Melisma (e.
\begin_inset space \thinspace{}
\end_inset

g.
 in choral music).
 This can be done by turning off automatic beaming and manually beaming
 those notes that have a single syllable.
 However, the Denemo Display will not display the correct underlay of syllables
 and notes when doing this, instead refer to the Print View (use continuous
 typesetting).
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Lyrics->Melismata->During Word, with Slur
\end_layout

\begin_layout Standard

\emph on
Inserts spaced double hyphen, 
\begin_inset Quotes eld
\end_inset


\family typewriter
\emph default
 -- 
\family default
\emph on

\begin_inset Quotes erd
\end_inset

, into the Lyric pane, typesetting hyphen(s) if needed to the end of the
 slur 
\end_layout

\begin_layout Standard
Lyrics->Melismata->Word End, with Slur
\end_layout

\begin_layout Standard

\emph on
Inserts spaced double underscore, 
\begin_inset Quotes eld
\end_inset


\family typewriter
\emph default
 __ 
\family default
\emph on

\begin_inset Quotes erd
\end_inset

, into the Lyric pane, typesetting a lyric extender to the end of the slur.
\end_layout

\begin_layout Standard
Lyrics->Melismata-> During Word, no Slur
\end_layout

\begin_layout Standard

\emph on
Inserts 
\begin_inset Quotes eld
\end_inset


\family typewriter
\emph default
 -- _ 
\family default
\emph on

\begin_inset Quotes erd
\end_inset

 into the Lyric pane, spreads the syllable over two notes inserting hyphen(s)
 if needed.
 
\end_layout

\begin_layout Standard
Lyrics->Melismata->Word End, no Slur
\end_layout

\begin_layout Standard

\emph on
Inserts 
\begin_inset Quotes eld
\end_inset


\family typewriter
\emph default
 __ _ 
\family default
\emph on

\begin_inset Quotes erd
\end_inset

 into the Lyric pane, which spreads the syllable over two notes typesetting
 a lyric extender.
\end_layout

\begin_layout Standard
Lyrics->Melismata->ExtendMelisma, 
\end_layout

\begin_layout Standard

\emph on
Inserts 
\begin_inset Quotes eld
\end_inset


\family typewriter
\emph default
 _ 
\family default
\emph on

\begin_inset Quotes erd
\end_inset

 into the Lyric pane, extending the Melisma by one note or group of notes.
 
\end_layout

\begin_layout Standard
Skip Syllables in Selection
\end_layout

\begin_layout Standard

\emph on
Inserts special syntax e.
\begin_inset space \thinspace{}
\end_inset

g.
 
\begin_inset Quotes eld
\end_inset


\family typewriter
\emph default

\backslash
repeat unfold 4 
\backslash
skip 1
\family default
\emph on

\begin_inset Quotes erd
\end_inset

 for skipping 4 notes.
 This is an alternative to typing in a series of pairs of double-quotes,
 one for each skipped note.
 Once the syntax is inserted in the verse, it may be easily edited, if you
 have changed the length of the introduction.
 
\end_layout

\begin_layout Standard
Notes Without Words, i.
\begin_inset space \thinspace{}
\end_inset

e.
 gaps in the text, may be produced with a spaced symbol (if one is required)
 or by a spaced underscore or a pair of double-quotes (“""”) for each wordless
 note.
 
\end_layout

\begin_layout Standard
LilyPond's markup syntax can be used in lyric verses as well – prefix with
 
\backslash
markup.
 For example 
\end_layout

\begin_layout Verbatim


\backslash
markup
\backslash
box 
\end_layout

\begin_layout Verbatim

"boxed words" 
\end_layout

\begin_layout Standard
will surround the words with a box – as you see a new line (before the actual
 words to appear under the note) is needed for the Denemo Display to underlay
 correctly.
\end_layout

\begin_layout Section
Musical Elements – everything on and around the notes.
\end_layout

\begin_layout Standard
In this section the commands available for the various musical elements
 are described and their arrangement in the menu system is described.
\end_layout

\begin_layout Subsection
Beaming
\begin_inset Index idx
status open

\begin_layout Plain Layout
Beaming
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "subsec:Beaming"

\end_inset


\end_layout

\begin_layout Standard
Commands to control beaming are available for individual notes, whole passages
 of notes and entire scores.
 Mostly the default beaming will be what you want.
 An exception is the beaming in 3/4 time which can look like 6/8 when beamed
 in the traditional manner.
 Use Object Menu->Time Signature->Beam at Half Measure to alter the default.
\end_layout

\begin_layout Standard
Individual beam control commands are located in Notes/Rests->Beaming.
 The start/stop beam shortcuts are usually [ and ].
 Other commands include providing partial breaks in the beaming and stopping
 beaming on a note.
\end_layout

\begin_layout Standard
Setting beaming for the whole score can be done using ObjectMenu->Score->Typeset
ter->Set Beaming Rules.
 Either the general rule can be given, or Beam Exceptions can be set from
 the selection.
 To use the latter, set up a measure or measures with the beaming manually
 set using the Individual beam controls and then select the passage and
 invoke Set Beaming Rules.
\end_layout

\begin_layout Standard
Setting beaming for a passage can be done with ObjectMenu->Time Signatures->Set
 Beaming Rule.
 In addition, at a time signature change a beaming rule can be set using
 ObjectMenu->Time Signatures->Time Signature with Beaming Rule.
\end_layout

\begin_layout Standard
After automatic beaming has been turned off use ObjectMenu->Directives->Typesett
er->Start Beaming to insert a directive re-starting automatic beaming at
 the cursor.
 The Cadenza On/Off commands turn on/off automatic beaming (as well as the
 timing control).
\end_layout

\begin_layout Subsection
Barlines
\begin_inset Index idx
status open

\begin_layout Plain Layout
Barline
\end_layout

\end_inset


\end_layout

\begin_layout Standard
The important thing to know about barlines in Denemo is that they are not
 just graphical marks on paper – e.
\begin_inset space \thinspace{}
\end_inset

g.
 you cannot put a repeat end barline followed by a repeat start barline
 and expect both to print – instead you must use a repeat-end-start barline.
 This is because you are telling Denemo about the music, not about how to
 draw it – the repeat-end-start barline is drawn completely differently
 if it occurs at the end of a line, for instance.
\end_layout

\begin_layout Standard
Another useful thing to understand is that the 
\begin_inset Quotes eld
\end_inset

barlines
\begin_inset Quotes erd
\end_inset

 that appear in the Denemo display are not really barlines at all, just
 a convenient breaking up of the music into 
\begin_inset Quotes eld
\end_inset

chunks
\begin_inset Quotes erd
\end_inset

.
 Normally, of course, you will use one chunk per measure
\begin_inset Index idx
status open

\begin_layout Plain Layout
Measure
\end_layout

\end_inset

 so they 
\emph on
will
\emph default
 correspond with the typeset barlines.
\end_layout

\begin_layout Standard
There is a relationship between line/page breaks and barlines: you cannot
 have line/page breaks at any point in the music, there must be a barline
 there.
 However this can be a 
\begin_inset Quotes eld
\end_inset

hidden
\begin_inset Quotes erd
\end_inset

 barline, so that option is in the menu too.
\end_layout

\begin_layout Standard
One curious consequence of this is what happens if you contrive to input
 notes that are timed so that a note is always playing at every barline;
 normally you use tied notes for this, but if (by mistake) you leave one
 bar short in duration you can find that none of the following typeset bars
 start with a note, and the result is that the line cannot be broken – it
 extends off the right hand side of the page.
\end_layout

\begin_layout Subsection
Ties
\begin_inset Index idx
status open

\begin_layout Plain Layout
Ties
\end_layout

\end_inset

 and Slurs
\begin_inset Index idx
status open

\begin_layout Plain Layout
Slurs
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\SpecialChar ldots
 and phrasing slurs.
 It is important to distinguish ties from slurs since they often look the
 same in the typeset music, but in some circumstances they are typeset different
ly – so you may think the music looks ok, and later after some editing,
 it looks wrong – you have hit a situation where the typesetting distinguishes
 the two.
 To help with this Denemo shows distinguishes slurs with little green and
 red markers for the start/end, while the ties are heavier horizontal curves.
 If you import music from other notation programs they often confuse slurs
 and ties, so a command to fix these is in the Notes/Rests->Tied Notes menu.
 (In the unusual case of slurred notes of the same pitch – e.
\begin_inset space \thinspace{}
\end_inset

g.
 open string/stopped note on a violin – you would have to correct the error
 by hand).
\end_layout

\begin_layout Standard
Also in this menu are commands to tie individual notes in chords, to control
 the direction (up/down) of ties and to adjust the shape of ties which can
 be very tricky to position nicely in tight situations.
 Ties at repeats, where the tie goes to/comes from 
\begin_inset Quotes eld
\end_inset

nothing
\begin_inset Quotes erd
\end_inset

, are here too;they are called Laissez Vibrer and Repeat Tie.
 (Laissez Vibrer has two uses, of course, but it is the same symbol).
\end_layout

\begin_layout Standard
The commands for slurs are in the Notes/Rests->Slurs menu.
 The most useful have the shortcuts 7,8,9 to slur from the current note
 to the next note, to extend the slur and to reduce it.
 There are also commands to turn on/off a slur start or slur end, and these
 are also in the right-click menu on the notes in the Denemo Display.
\end_layout

\begin_layout Standard
When entering rhythms with the numeric keypad the slurs can be added without
 breaking rhythm by using the control key with the rhythm.
 So, for example, Ctrl-3 enters a 1/8 duration slurring from the previous
 note, or extending the slur.
 And Control keypad 9 (Ctrl-KP_9) creates a slurred dotted rhythm (corresponding
 to keypad 9 which creates a dotted rhythm based on the last entered duration)
 and similarly Ctrl-KP_7,Ctrl-KP_7 for entering a slurred triplet based
 on the current duration.
\end_layout

\begin_layout Standard
Phrasing slurs are slurs over the top of ordinary slurs, used in Romantic
 music and later.
 The display just shows where they start and end, the typesetter allows
 only one level of nesting slurs as that is all that is used in music.
 More would require a non-printing voice carrying the extra layers of slurs.
\end_layout

\begin_layout Subsection
Triplets and Friends
\begin_inset Index idx
status open

\begin_layout Plain Layout
Triplets|see
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

{
\end_layout

\end_inset

Tuplets
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

}
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
Collectively called 
\begin_inset Quotes eld
\end_inset

tuplets
\begin_inset Index idx
status open

\begin_layout Plain Layout
Tuplets
\end_layout

\end_inset


\begin_inset Quotes erd
\end_inset

 these are handled in Denemo by two markers, one beginning the tuplet which
 holds the timing change and the other a simple end tuplet marker.
 The Denemo Display only knows how to display tuplets that start and end
 in the same bar, but the typesetter is not restricted in that way.
 You can stop and re-start the tuplets at measure breaks so that the Denemo
 Display understands what you mean, and control the placement of tuplet
 numbering and tuplet brackets using the Tuplet Brackets and Tuplet Numbering
 commands in the same menu.
 The typeset can also cope with nested tuplets perfectly well, though the
 Denemo Display will be strange.
\end_layout

\begin_layout Standard
There are specific commands for the more common tuplets, and arbitrary tuplets
 can be started using the Arbitrary Tuplet command – you give the numbers
 to denote the fraction that the timing is changing by (e.
\begin_inset space \thinspace{}
\end_inset

g.
 triplets are 2/3 of the duration written so you give 2,3).
 If you wanted 7 notes in the time of 4 you would give 4, 7 so that the
 durations changed by 4/7, after seven 1/8-notes you would have the equivalent
 of 4 1/8-notes duration.
\end_layout

\begin_layout Subsection
Grace Notes
\begin_inset Index idx
status open

\begin_layout Plain Layout
Grace Notes
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Both appogiature and acciacature are supported, as well as inserting pairs
 of beamed grace notes (other amounts of grace notes should be manually
 beamed see the section on beaming
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Beaming"

\end_inset

 ).
 Grace notes are ignored in the simple playback, use the playback view to
 hear them.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Grace Notes present a peculiar problem to the LilyPond typesetter that Denemo
 uses.
 As they do not have any duration it gets into difficulties if there are
 other things (such as time signatures, double bars etc) going on at the
 same time.
 The problem arises when other parts are also sounding and they don't have
 the same grace notes.
 There is a command in Denemo to work around this by installing 
\begin_inset Quotes eld
\end_inset

grace note hints
\begin_inset Quotes erd
\end_inset

 – these are dummy non-printing grace notes in the other parts.
 This is done automatically by the Check Score routine, so normally you
 don't have to run it yourself, but it is in the Notes/Rests->Grace Notes
 menu.
 It is good to be aware of this however, as you will see these pale yellow
 rests that declare themselves to be grace notes in the input music display
 sometimes.
\end_layout

\end_inset


\end_layout

\begin_layout Subsection
Ornaments
\begin_inset Index idx
status open

\begin_layout Plain Layout
Ornaments
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Notes/Rests->Markings->Ornaments for ornaments attached to notes/chords.
 Directives->Markings->Ornaments for customized ornaments which appear in
 the Denemo Display as separate objects before the note they decorate.
 Besides all the standard ornaments, there are commands to stack accidental
 signs above/below ornaments and to create customized ornaments, drawn using
 an external vector graphics editor.
 One set of custom-built ornaments for French harpsichord ornaments is provided.
\end_layout

\begin_layout Subsection
Dynamics
\begin_inset Index idx
status open

\begin_layout Plain Layout
Dynamics
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Notes/Rests->Markings->Dynamics for dynamic spanners (cresc.
 dim.
 etc, both hairpins and textual).
 Directives->Markings->Dynamics (shortcut Ctrl-d) for dynamic marks (
\emph on
p, sfz etc) 
\emph default
they appear as objects in the Denemo Display just before the note they relate
 to.
 These dynamics affect both typeset and playback.
\end_layout

\begin_layout Standard
In some circumstances it is desirable to place dynamics in a separate 
\emph on
Dynamics Line (or Staff).
 
\emph default
This is often the case for the dynamics centered between piano staffs; it
 ensure that hairpins align with each other and that other dynamic markings
 are placed consistently.
 It also allows for positioning of dynamics markings other than directly
 on notes – they can be placed at slightly later or earlier times.
 To do this notes of shorter duration are put in the dynamics staff and
 the dynamic markings are attached to them.
 The notes are just dummy notes to indicate the timing of the onset of the
 dynamic attached.
\end_layout

\begin_layout Standard
Sometimes, all parts have the same dynamics.
 In this case a single Dynamics Line can be placed at the bottom of the
 system and given a blank part-name.
 Staffs with blank part-names are printed with every part, so this line
 of dynamic markings will appear under every part printed with the Print
 Part
\begin_inset Index idx
status open

\begin_layout Plain Layout
Print Part
\end_layout

\end_inset

 command (or the Part button in the Print View).
\end_layout

\begin_layout Subsection
Tempo
\begin_inset Index idx
status open

\begin_layout Plain Layout
Tempo
\end_layout

\end_inset

 Markings
\end_layout

\begin_layout Standard
Directives->Markings->Tempi and Metronome Marks allows insertion of a tempo
 change (both typeset and playback).
 Change of beat is also in this menu.
\end_layout

\begin_layout Subsection
Text
\begin_inset Index idx
status open

\begin_layout Plain Layout
Text
\end_layout

\end_inset


\end_layout

\begin_layout Subsubsection
Simple Text
\end_layout

\begin_layout Standard
For simple use Directives->Markings->Textual Annotation command may suffice.
 This allows you to place some text positioned above or below automatically
 or as you decide.
\end_layout

\begin_layout Subsubsection
Multi-line Text and Music
\begin_inset CommandInset label
LatexCommand label
name "subsec:Multi-line-Text-and"

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/MultiLine.png
	width 20cm

\end_inset


\end_layout

\begin_layout Standard
The most general command is Directives->Markings->Multi-line Text and Music.
 As the name implies, this is used to create markings that can include new
 lines, as well as music snippets
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Music-Snippets"

\end_inset

, chord symbols, musical signs etc.
 
\end_layout

\begin_layout Standard
The Preview Pane at the top shows the final effect – it is updated as you
 type and a Preview button is provided if it fails to update.
 
\end_layout

\begin_layout Standard
The new lines can be simply introduced by using the ¶ mark, which is inserted
 when you press Enter.
 For more control over new lines and columns you should delete these and
 use the commands in the Selection menu.
\end_layout

\begin_layout Standard
You can not only insert simple text but also control the italic, bold, superscri
pt, font-size etc, as well as inserting actual notated music, fret-diagrams
 in the sentences.
 These work by inserting 
\begin_inset Quotes eld
\end_inset

markup
\begin_inset Quotes erd
\end_inset

, that is the text is interspersed with markup commands – 
\backslash
bold, 
\backslash
italic etc – to indicate what appearance is desired.
 The Insert button gives a menu of things to insert at the text cursor position,
 while the Selection button gives a menu of commands to alter the text selected.
 If any particular markup is not in the menu then you can type it in – the
 markup 
\begin_inset Quotes eld
\end_inset


\backslash
dynamic f
\begin_inset Quotes erd
\end_inset

 will insert a 
\emph on
forte
\emph default
 sign by accessing the special font used for dynamics.
 For other markup commands are available, documented in the LilyPond manual.
\end_layout

\begin_layout Standard
Note that the markup commands are generated automatically in a distinctive
 font, monospaced and bold.
 This is not essential, but helps to remind you that it is a special syntax,
 you can just type in the syntax yourself.
 Take care when editing as errors can make trouble when typesetting: it
 is essential that the braces {} form pairs, for example.
\end_layout

\begin_layout Standard
By right-clicking in the Denemo Display on standalone markup objects you
 can edit the text and many other aspects of the object, such as how it
 displays itself in the Denemo Display.
\end_layout

\begin_layout Standard
Use Insert->Insert (with value)->Paste Note Name for the insertion of automatica
lly-transposing note names (so that things like B-minor in a title will
 transpose when the score is transposed) .
 The Insert menu also allows to insert fret diagrams etc.
\end_layout

\begin_layout Standard
As a final check, click Preview before you finish – if it does not typeset
 correctly edit it again to remove the error or delete it – don't leave
 it as you score will not typeset with bad markup in it.
\end_layout

\begin_layout Standard
The text when it appears in the final typeset score can be edited via right-clic
k for the position or content.
 This same interface is also used if you edit the text of titles or the
 text to show between/after movements (e.
\begin_inset space \thinspace{}
\end_inset

g.
 on a page intentionally left blank
\begin_inset Index idx
status open

\begin_layout Plain Layout
Blank Page
\end_layout

\end_inset

), but in these cases the text will be on a single line (unless the Selection->C
olumn and Selection->Line are used to create multi-column/line text explicitly).
\end_layout

\begin_layout Subsubsection
Text Spanning
\begin_inset Index idx
status open

\begin_layout Plain Layout
Spanning
\end_layout

\end_inset

  
\end_layout

\begin_layout Standard
In the Directives->Markings->Spanning Directives->Typesetter>Spanning menus
 are commands that cause markings that span a passage of music, such as
 Cadenza and Piano Sustain pedal marks, ottava markings, and extended trill
 marks.
 Here also are 1st and 2nd (and nth) time bars, with shortcuts r,1 for starting
 a first time bar, r,2 starting a second time bar and r,e for ending either.
 The Nth time bar can be used to hold any text needed (i.
\begin_inset space \thinspace{}
\end_inset

e.
 use this for a first time bar if the indication should be other that 1.).
 The bar numbering can be adjusted at second (nth) time bars, especially
 important if you have conditional second time bars (ones that are not printed
 when typesetting a part in which the first and second time bars would be
 identical).
 There is a command for inserting conditional second time bars.
\end_layout

\begin_layout Subsubsection
Rehearsal Marks
\begin_inset Index idx
status open

\begin_layout Plain Layout
Rehearsal Marks
\end_layout

\end_inset


\end_layout

\begin_layout Standard
The Directives->Markings subdirectory also holds the Rehearsal Marks commands.
 Marks have a special property that they only appear once at the top of
 the system, even though they can be placed in each part.
 Theu can be custom text or default, and can be used as bookmark
\begin_inset Index idx
status open

\begin_layout Plain Layout
Bookmark
\end_layout

\end_inset

s for navigation.
 The custom text marks can be edited using the full Multi-Line Text and
 Music interface.
\end_layout

\begin_layout Subsection

\end_layout

\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "sec:A-Survey-of-Input-Methods"

\end_inset

A Survey of the Input Methods
\end_layout

\begin_layout Subsection
Introduction
\end_layout

\begin_layout Standard
Denemo allows you to enter notes via PC keyboard, MIDI keyboard, Virtual
 on-screen piano keyboard or microphone input.
\end_layout

\begin_layout Standard
With Denemo you can tailor Denemo to allow you to use your preferred method
 of entering notes via keyboard.
 You can set the keyboard shortcut for a command just by pressing the desired
 key while the menu item is selected.
 You can right click on the menu item and choose Open Command Center to
 set a two-key keyboard shortcut.
 
\end_layout

\begin_layout Standard
By default, Denemo offers several ways of entering music: typing at the
 keyboard, playing in via a MIDI keyboard (controller), playing in acoustically
 using a microphone or choosing items from the menu system.
 
\end_layout

\begin_layout Standard
Typing at the keyboard can be very fast, if you forget which keypress you
 need you can consult the menu system to find out.
 This method is good for touch typists.
\end_layout

\begin_layout Standard
For entering a lot of already written-out music, playing the music in via
 a MIDI keyboard can offer the fastest and most musical method.
 There are two ways of doing this: rhythm first and pitches first.
 The latter is new in version 2.6 and may well prove to be the best of all.
\end_layout

\begin_layout Standard
For composing one method is to set the MIDI-in control panel button to 
\begin_inset Quotes eld
\end_inset

Listening to Pitches
\begin_inset Quotes erd
\end_inset

 for trying out the melodic line you are tinkering with, and then pressing
 the Shift key to actually enter the pitches, releasing after so that further
 playing will be listening-only.
 This is good also for transcribing by ear from a audio track - you can
 listen to a phrase, reproduce it on your keyboard, enter the rhythms from
 the numeric keypad and then pessing Shift enter the pitches from the MIDI
 keyboard.
\end_layout

\begin_layout Standard
With all methods of note entry a measure start sound will be heard when
 your note entry has moved to a new measure, which means you do not have
 to look up to know that you have started a new measure as expected.
 This measure start sound can be set to 0 in the preferences if unwanted.
\end_layout

\begin_layout Subsection
Playing Notes into Denemo – MIDI
\begin_inset CommandInset label
LatexCommand label
name "subsec:Playing-Notes-into"

\end_inset


\end_layout

\begin_layout Standard
Denemo can take pitches directly from MIDI input
\begin_inset Index idx
status open

\begin_layout Plain Layout
MIDI
\end_layout

\end_inset

.
 Select Input->Midi Input.
 The control panel allows you to choose the enharmonic range
\begin_inset Index idx
status open

\begin_layout Plain Layout
Enharmonic Range
\end_layout

\end_inset

, the default centers around the initial key signature
\begin_inset Index idx
status open

\begin_layout Plain Layout
Key Signature
\end_layout

\end_inset

 (e.
\begin_inset space \thinspace{}
\end_inset

g.
 E-flat to G-sharp for C-major).
 If you enter a diminished or augmented interval the note will be played
 in a separate MIDI channel which can be used to alert you to pitch-spelling
\begin_inset Index idx
status open

\begin_layout Plain Layout
Pitch Spelling
\end_layout

\end_inset

 mistakes (e.
\begin_inset space \thinspace{}
\end_inset

g.
 entering A-flat when G-sharp was meant, you will get a lot more augmented
 and dimished intervals if you have the enharmonic range set wrongly for
 your piece).
 
\end_layout

\begin_layout Subsubsection
Pitches-First Method
\end_layout

\begin_layout Standard
This is new in version 2.6.
 The basic idea is to play in the pitches using the MIDI keyboard and then
 use the duration keys to actually enter the notes into the score.
\end_layout

\begin_layout Standard
The Playback/Record->Recording menu gives the commands to start/pause recording
 pitches from your MIDI controller.
 First you position the Denemo cursor at the place where you want to enter
 the notes into the score.
 Then you invoke Record from MIDI-in (Off/On) to start recording, Alt-r.
 A click track is created at the top of the score to act as a MIDI track.
 It has no clef because the recorded notes are displayed on the staff as
 belonging to the clef of the staff you are intending to enter the notes
 into, the one that contains the Denemo cursor.
 
\end_layout

\begin_layout Standard
If you have several staffs in your score and the one you are playing in
 is too far below the MIDI track you can invoke the command 
\begin_inset Quotes eld
\end_inset

Hide Other Staffs (Off/On)
\begin_inset Quotes erd
\end_inset

 (Alt-h is the standard shortcut) which will temporarily hide the staffs
 you do not need to see.
 While you are recording the Denemo Display has a red cast to it to remind
 you that playing the MIDI keyboard will enter notes into the recording
 rather than into the score.
\end_layout

\begin_layout Paragraph
Playing in the pitches
\end_layout

\begin_layout Standard
Once you start playing on the MIDI keyboard headless notes are entered on
 the MIDI track staff with an indication of their start and end points on
 the blue line at the top of the display.
\end_layout

\begin_layout Standard
If you play a wrong note and you can delete it with Alt-Backspace and then
 continue playing the correct notes - it may help to make a mark on the
 source original that you are playing from at this stage by dragging a small
 line at the location where you have stopped if you think you may lose your
 place.
\end_layout

\begin_layout Standard
On the MIDI track one of the notes is the 
\emph on
currently marked MIDI note
\emph default
 - it is colored green and highlighted with a green circle.
 The 
\emph on
currently marked MIDI note
\emph default
 is the first one that will be entered into the score when you enter a duration.
 You can play the recording from this 
\emph on
currently marked MIDI note
\emph default
 with Alt-p.
 To alter which note is the 
\emph on
currently marked MIDI note
\emph default
 click on the note on the MIDI track which or use the Alt-Left/Right to
 move the marker.
 
\end_layout

\begin_layout Standard
When playing the pitches augmented and diminished intervals are played on
 the pitch-spelling channel, so that you can easily detect enharmonic errors
 (e.g.
 D-sharp for E-flat).
 You can turn this off via the Edit->Change Preferences->Audio tab, by making
 the pitch-spelling channel the same as the channel for the notes.
\end_layout

\begin_layout Standard
When playing in the pitches you do not have to keep strict time, but it
 helps in keeping the display of the pitches nicely placed over the bars.
 For this reason it helps to set the movement tempo in the playback controls
 to a tempo you can comfortably play the notes at - you can change it afterwards
 to the intended tempo of the movement.
\end_layout

\begin_layout Standard
If you leave a long gap between two notes (e.g.
 because of a long rest) the recorded track will not leave a big gap but
 resume directly after the last note - you can control the amount of rest
 time you want to allow in a recording via the Edit->Preferences->MIDI preferenc
e 
\begin_inset Quotes eld
\end_inset

MIDI-in recording timeout
\begin_inset Quotes erd
\end_inset

.
 
\end_layout

\begin_layout Standard
As you record the pitches the staffs will have extra blank measures added
 so that the MIDI track can show the pitches in the tempo of the movement.
 There is no need to pause recording to go on to entering the rhythms -
 just start typing in the durations.
\end_layout

\begin_layout Paragraph
Playing in the durations
\end_layout

\begin_layout Standard
Pressing duration keys, including dotted rhythm, triplet and ties and slurred
 versions of those commands will insert the marked MIDI note into the score
 at the Denemo cursor and move the marked MIDI note forwards so you can
 continually enter the music mostly in music time and rhythm.
 Use the Ins key to enter the additional notes in a chord.
 You should enter any rests needed in between the notes via the usual shortcuts
 (Alt-0,1,2 ...
 ).
 Mostly you can enter the rhythm in music-time so that you hear the melody
 as you press the duration keys, but you can stop off at any moment to insert
 dynamics etc and resume entering durations without a problem.
 When you reach the end of the recorded notes a clash of cymbals sounds
 and the duration keys will revert to entering pure duations - by this time
 you will have reached the small red marker in the original source you are
 transcribing from (if you placed one as you finished playing the notes).
 While you are entering the rhythm the MIDI recording track re-synchronizes
 the marked MIDI note at every new bar you reach so that the recorded note
 that will be entered next in that bar is visible immediately above on the
 MIDI track.
\end_layout

\begin_layout Standard
If you make a mistake while entering a duration you can delete the last
 duration(s) you entered using the Backspace key - the 
\emph on
currently marked MIDI note 
\emph default
will back up and you can continue with the correct duration(s).
 Alternatively you can alter the duration using the usual Shift-n shortcut
 and continue.
 If you want to delete a note without backing up you can use the other deletion
 methods (Del,Del, or Ctrl-X etc) or move the 
\emph on
currently marked MIDI note 
\emph default
forward using Alt-Right or by clicking on the note that you want to be the
 marked MIDI note.
 
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
The shortcuts for entering triplets crash the sounding of the notes together
 - you can use the TAB shortcut to avoid this if you wish, though that,
 of course, breaks up the rhythm of your keystrokes.
 Otherwise you can just visually check that the right notes have been entered
 in the triplet.
\end_layout

\end_inset


\end_layout

\begin_layout Paragraph
Mouse Operations
\end_layout

\begin_layout Standard
Right-clicking on the MIDI track pops up the menu of the commands available
 in the Playback->Recording menu.
\end_layout

\begin_layout Standard
Left clicking on a note on the MIDI track will make that note become the
 
\emph on
currently marked MIDI note
\emph default
.
 Other left click operations:
\end_layout

\begin_layout Standard
You can alter the tempo of the MIDI recording by Ctrl-Left-Drag, moving
 to the right stretches the recording out, to the left compresses it.
 This is only needed if you want to play back the MIDI recording with your
 score, otherwise the recording will be automatically synchronized and stretched
/compressed while entering the durations as you reach each new measure.
 A click sounds as this re-synchronization takes place - this provides a
 check that you have entered the correct rhythm to complete the measure.
 
\end_layout

\begin_layout Standard
To reposition the recorded MIDI track relative to the score you can Shift-Left-D
rag: drag from the MIDI track down to the place in your score where you
 want the 
\emph on
currently marked MIDI note 
\emph default
to be synchronized to and release.
 The MIDI track will be shifted so that the marked MIDI note appears above
 the place chosen.
 With Ctrl-Shift-Click you can set a note on the MIDI track as the currently
 marked MIDI note and start the recorded MIDI playing from there - clicking
 again stops the play.
\end_layout

\begin_layout Standard
Finally Ctrl-Shift-Left click moves the 
\emph on
currently marked MIDI note 
\emph default
to the clicked note and start playing the MIDI recording from there.
\end_layout

\begin_layout Paragraph
Composers
\end_layout

\begin_layout Standard
For people who compose at the keyboard one possibility is to turn on recording
 (Alt-r) and then play around with musical ideas until you have found one
 you wish to transcribe.
 At this point you can 
\begin_inset Quotes eld
\end_inset

rewind
\begin_inset Quotes erd
\end_inset

 your recording (using Alt-Up arrow) by a specified interval from the end.
 The exact place to rewind to can be found by playing the recording from
 this point (use Alt-right to step through or Alt-p to play) and rewinding
 some more or stopping when you reach the right point.
 Once synchronized to this starting point you can proceeed to enter the
 durations as usual.
 Again Alt-Del, c will delete the unwanted blank measures at the end if
 you have created them.
\end_layout

\begin_layout Paragraph
When finished
\end_layout

\begin_layout Standard
The shortcut Alt-Del, Alt-Del deletes the current recording while Alt-Del,
 c deletes the recording, the MIDI click track and any trailing blank measures
 that may have been created if your recording tempo did not match the tempo
 of the movement.
\end_layout

\begin_layout Paragraph
Miscellaneous points
\end_layout

\begin_layout Standard
If you want to reset the marked MIDI note to the start of the recording
 you can use the Alt-Up shortcut and accept the default value given - this
 places the marked MIDI note at the start and synchronizes it to the current
 cursor position.
\end_layout

\begin_layout Standard
The pitches-first entry method can be used even by unskilled keyboard players.
 As long as you can pick out the notes one after the other there is no need
 to play the music strictly in time - you can just enter one bar, or a line,
 or a short passage and then immediately switch to entering the durations
 with the number keys not even looking at the MIDI track created.
 Once you have used up the pitches you can just continue playing in another
 passage and so on until the piece is done.
 As mentioned above, the display of the pitches over the measures they belong
 to will not be perfect, but it is not critical.
\end_layout

\begin_layout Standard
Another method, for skilled keyboard players, is to press Alt-r to start
 recording then Fn5 to start the click track playing and then play in the
 notes in time to the click track.
 Then the entered notes will appear in the bars they belong to and (if you
 are composing rather than transcribing) can give you an indication of the
 rhythm you need to enter to notate what you played.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note that recorded MIDI is not saved with the score - it is intended only
 as a temporary storage until you have entered the durations and the pitches
 become real notes.
\end_layout

\end_inset


\end_layout

\begin_layout Subsubsection
Rhythms-First Method
\end_layout

\begin_layout Standard
Until Version 2.6 this was the quickest and most musical method of transcribing
 music available from any music notation program.
\end_layout

\begin_layout Standard
In this method you enter the music firstly as pure rhythms using the pc-keyboard
, ignoring the note names.
 The durations show as yellow/brown notes.
 Each duration makes a distinctive sound as you enter the durations.
 As you start each measure a sound is made so that you can keep your eyes
 on the score you are copying from, without needing to look up and check
 that you haven't miss-typed.
 If you are a reading musician you will find that you tap in the rhythm
 rhythmically which helps to keep your place in the piece you are entering.
 
\end_layout

\begin_layout Standard
Once you have entered the rhythms for one or more measures you can play
 the notes via MIDI – the cursor automatically goes to the start of the
 rhythms you have entered.
 As you play notes in via MIDI they give their pitches to the rhythm you
 have notated.
 By this means you can enter a piece of music in the time taken to play
 it twice – once to give the rhythm and once to give the pitches.
 If the piece modulates strongly you may need to shift the set of accidentals
 used to match the score, the pitch spelling facility will alert you to
 this.
 (If entering pitches via a mic you need to navigate to the start point,
 but this isn't needed for MIDI in).
\end_layout

\begin_layout Subsubsection
The Numeric Keypad
\begin_inset Index idx
status open

\begin_layout Plain Layout
Numeric Keypad
\end_layout

\end_inset


\end_layout

\begin_layout Standard
The set of keys for entering numerical data that appear on full-sized keyboards
 make a very useful tool for entering rhythms.
 Even if you use a laptop without such a numeric keypad it is worth the
 5 or 6 dollars/euros/pounds that a separate USB keyboard costs nowadays
 – it can be blu-tacked to your MIDI controller for easy access.
\end_layout

\begin_layout Standard
The default key shortcuts for the numeric keypad are illustrated here:
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/NumericKeypad.jpg

\end_inset


\end_layout

\begin_layout Standard
Here I have actually stuck labels with the most used durations and over-drawn
 an indication of the others.
 (Keys 5 and 6 do the1/32 and 1/64th notes).
 The keypad 7 does triplets with a double press (so that it makes three
 presses for a triplet, e.
\begin_inset space \thinspace{}
\end_inset

g.
 Key 4, Key 7, Key 7 for a triplet of 1/16th notes).
 The dotted rhythm 
\begin_inset Quotes eld
\end_inset

dottifies
\begin_inset Quotes erd
\end_inset

 the current note whatever its duration is.
 Likewise the grace note key turns the current note into a grace note and
 the tie key turns tied status off/on for the current note.
 Keypad 8 fills the rest of the bar with the current note or rest, while
 Enter duplicates the current bar.
 The enharmonic shifts
\begin_inset Index idx
status open

\begin_layout Plain Layout
Enharmonic Range
\end_layout

\end_inset

 can be pressed repeatedly to shift the set of accidentals to be used sharp-wise
 of flat-wise, subsequent notes played in will be taken from the new set,
 which is indicated on the status bar.
 The duration keys, triplet key and dottify key can all be used with the
 Control modifier to slur from the previous note.
\end_layout

\begin_layout Standard
With this arrangement you can play in the rhythm of a piece in musical time
 and then play once more with the MIDI keyboard to add the notes (chords
 require the Ins key for the pitches first method or the Alt key or foot
 pedal for the rhythms first method).
 Before you are practiced in this use of the numeric keypad, if you are
 using the rhythms-first method it is a good idea to do just a bar or two,
 or a line or two at a time, so as not to lose your place.
 Correspondingly, if you are using the pitches-first method start by just
 playing a phrase or two of the music at a time before switching to entering
 the durations.
 In both methods no operation is needed to switch from entering pitches
 to entering durations or vice versa.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Some computers don't respect the numeric keypad's keys – confusing the Enter
 with the Return key for example, or treating Shift-2 as arrow-down.
 Try the numlock key to see if you can persuade it to take you seriously,
 or look into any key-mapping facility there may be with the machine.
 And, beware! a separate standalone numeric keypad might seem like a good
 idea but in fact they are a nuisance, besides being more expensive, as
 they have things like a 000 key which emits three keypresses at your peril!
\end_layout

\end_inset


\end_layout

\begin_layout Subsubsection
Filtering MIDI in.
\end_layout

\begin_layout Standard
Under Input->MIDI are various "MIDI filters
\begin_inset Index idx
status open

\begin_layout Plain Layout
MIDI Filters
\end_layout

\end_inset

" that allow you to control how the MIDI input is used: with none active
 the behavior is as if you had entered the notes using the pc-keyboard,
 but with the following advantages 
\end_layout

\begin_layout Itemize
The octave, accidental and note name are all entered in one press of the
 MIDI key.
 The cursor automatically advances so you can continue to play in notes.
\end_layout

\begin_layout Itemize
The duration keys enter the yellow/brown duration-only notes, when you play
 a MIDI key the cursor automatically moves to the first of these.
\end_layout

\begin_layout Itemize
Holding down the 
\family typewriter
Alt
\family default
 key (or sustain pedal) lets you enter chords.
\end_layout

\begin_layout Itemize
Holding down the 
\family typewriter
Ctrl
\family default
 key lets you check the pitches of a piece already entered.
 The cursor only advances if the note played is the one at the cursor.
\end_layout

\begin_layout Itemize
Holding down the 
\family typewriter
Shift
\family default
 key lets you listen to the MIDI keyboard without affecting the score.
\end_layout

\begin_layout Itemize
The problem of entering the wrong enharmonic is largely avoided by Denemo's
 simple pitch-spelling strategy.
 The more extreme intervals are played in a separate MIDI channel so that
 if, for example you enter F - A-sharp it sounds quite distinct from F -
 B-flat.
\end_layout

\begin_layout Subsection
Using an On-screen Piano Keyboard
\end_layout

\begin_layout Standard
The Input menu offers you a Virtual Piano Keyboard.
 This behaves like an attached MIDI keyboard but you click with the mouse
 or tap on your touchscreen instead of pressing the keys.
 The PC keyboard continues to work while using the on-screen keyboard, so
 you can delete/alter add ornaments freely while using this 
\begin_inset Quotes eld
\end_inset

keyboard
\begin_inset Quotes erd
\end_inset

.
 Chords can be entered with a left-click, and as with a real MIDI keyboard
 you can enter as much of the rhythm before adding pitches (see 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Playing-Notes-into"

\end_inset

).
\end_layout

\begin_layout Standard
The default keyboard is eight octaves around middle C which is highlighted
 by the letter C engraved on its keyhead.
 The Virtual Keyboard window can be scrolled to access other parts of the
 keyboard and made as wide as needed.
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/VirtualKeyboard.png

\end_inset


\end_layout

\begin_layout Subsection
Using the Denemo From the PC keyboard
\end_layout

\begin_layout Subsubsection
Note Entry
\end_layout

\begin_layout Standard
The default keyboard shortcuts appends a note when you type a number key
 
\family typewriter
0 to 6
\family default
 with the pitch taken from the cursor height and inserts a note when pressing
 a letter key
\family typewriter
 a
\family default
 to 
\family typewriter
g
\family default
.
 This provides one way of entering notes – move the cursor up or down to
 the note position and press a number key for the duration.
 If the note is to be out-of-key then the 
\family typewriter
equal 
\family default
or 
\family typewriter
minus 
\family default
key can be used to sharpen/double-sharpen/flatten/double-flatten the next
 note.
 This method of note entry is probably not the most efficient however: in
 the Input->PC Keyboard menu you can choose to make the number keys change
 the prevailing duration without entering a note.
 With that setting you can use the note names to append notes to the bar
 only pressing the number keys if the duration changes.
 The duration can be dotted/double dotted with the period key, and the octave
 adjusted with comma (for down) or apostrophe (for up).
\end_layout

\begin_layout Standard
Mixed mouse and keyboard strategies are possible too.
 For example with one hand changing the prevailing duration via the keyboard
 the other can click on the Insert Note buttons in the Note Insertion palette.
\end_layout

\begin_layout Subsubsection
Chord Entry
\end_layout

\begin_layout Standard
The standard keybinding for entering a note in a chord is the 
\family typewriter
Insert
\family default
 key, 
\family typewriter
Ctrl-Insert
\family default
 or
\family typewriter
 Del
\family default
,
\family typewriter
Del
\family default
 deletes.
 The is inserted at the cursor height, use 
\family typewriter
-
\family default
 and 
\family typewriter
+
\family default
 to flatten/sharpen the note before you enter it (avoiding hearing both
 notes if you flatten/sharpen afterwards).
 There are also commands to enter a named note 
\family typewriter
Alt-a
\family default
, 
\family typewriter
Alt-b
\family default
 \SpecialChar ldots
 are the standard shortcuts for this.
 When a chord should have two notes on the same line or space
\begin_inset Index idx
status open

\begin_layout Plain Layout
Doubled Chord Notes
\end_layout

\end_inset

 the same keypress can be used to enter it, however selecting which note
 to edit can be tricky.
 The easy way is to use the Object Inspector
\begin_inset Index idx
status open

\begin_layout Plain Layout
Object Inspector
\end_layout

\end_inset

's 
\begin_inset Quotes eld
\end_inset

Alternate note at cursor
\begin_inset Quotes erd
\end_inset

 button to make the note you want accessible for editing.
\end_layout

\begin_layout Subsubsection
Editing Music
\end_layout

\begin_layout Standard
When not appending music, the letter keys change the note at the cursor
 to that named note.
 You need to use the 
\family typewriter
shift
\family default
 key to insert a new note.
 So 
\family typewriter
Shift-a
\family default
,
\family typewriter
Shift-a
\family default
 inserts the note A etc.
 Plain 
\family typewriter
a
\family default
 edits the note at the cursor to be an A.
 Likewise with the numeric keypad the 
\family typewriter
Shift
\family default
 key can be used to edit a note duration, while the plain number keys insert
 the duration of the note at the cursor.
 (If you do not have a numeric keypad, you have to use the number keys –
 best to plug in an additional USB keyboard with numeric keypad, they are
 very cheap nowadays).
\end_layout

\begin_layout Standard
Rests are entered with 
\family typewriter
Alt-0 Alt-1 \SpecialChar ldots

\end_layout

\begin_layout Standard
Spacer rests (that is non-printing rests as seen in keyboard polyphony)
 have shortcuts too 
\family typewriter
Mod4-0
\family default
 etc, where 
\family typewriter
Mod4
\family default
 is the key with a flag on it.
 However, on Windows machines you will need to reclaim the 
\family typewriter
Windows
\family default
 Mod-4 key from Microsoft or re-define the shortcuts, e.
\begin_inset space \thinspace{}
\end_inset

g.
 to 
\family typewriter
Shift-Alt-0
\family default
 etc or 
\family typewriter
Ctrl-Alt-0
\family default
.
\end_layout

\begin_layout Standard
The 
\family typewriter
Caps Lock 
\family default
can be a nuisance – you will sometimes have it turned on accidentally and
 wonder why keypress are not working.
 You 
\emph on
can 
\emph default
use it to achieve Shift-A, Shift-B \SpecialChar ldots
 but it is probably best left alone.
\end_layout

\begin_layout Subsection
Playing Notes into Denemo – Audio (Soundcard Mic Input)
\end_layout

\begin_layout Standard
Denemo can listen for, and detect the pitch of notes on the mic input of
 the computer; it doesn't attempt to guess the rhythm – such systems do
 not work well – but you will find that playing the notes in time will help
 you to play them in, as well as make playing them in a musical experience
 rather than a chore.
\end_layout

\begin_layout Standard
Playing the notes in can be much quicker than using the keyboard since the
 note octave and accidental are all given just by playing the note.
 If you are able to play a musical instrument then this will probably be
 much faster for you than typing note names, octave shifts and accidentals
 at the computer keyboard.
 Using the headphones-out of an electronic keyboard avoids "noises-off"
 interfering with the pitch detection.
 Many microphones and pickups benefit from some pre-amplification – it is
 worth getting the level right before you begin.
\end_layout

\begin_layout Standard
When you select the Input->Audio on the Main Menu the Pitch Recognition
 window pops up.
 While the mouse pointer is inside the score drawing area the score is sensitive
 to pitches heard via the microphone input.
 The background colour of the score changes to show that the notes will
 be entered into the score.
 
\end_layout

\begin_layout Standard
There are two ways of using the pitch entry – Overlay mode (default) and
 Insert mode.
 The button marked Insert causes notes to be entered into the current measure
 in the prevailing rhythm – the mode is set to Insert for this.
 The button marked Overlays overlays the notes already present with the
 pitches you sound.
 There is a third button, marked Tuning, which is a state-of-the art musical
 instrument tuner.
\end_layout

\begin_layout Standard
Music is entered into the measure which holds the cursor.
 If you are overlaying a rhythm already entered, then the first un-overlayed
 note in the measure is overlayed by the note detected.
 You can delete the overlay using the regular delete keys, or clear them
 altogether if you want to start over in a measure.
 If you are in Insert mode then the notes detected will be inserted at the
 cursor position.
\end_layout

\begin_layout Standard
Use the enharmonic shift to select whether Bb or A# should be entered when
 you enter the given pitch – you can usefully go as far as B# and Fb.
\end_layout

\begin_layout Standard
Use the transpose control to shift up or down by octaves.
\end_layout

\begin_layout Standard
Most of the other settings would require study of the Aubio documentation
 to understand, but the one marked threshold may be useful to make the detection
 less sensitive to ambient noises if using a microphone with an acoustic
 instrument.
\end_layout

\begin_layout Standard
The best set-up is to plug the headphones-out socket of an electronic keyboard
 into the mic input, and choose a piano setting on the electronic keyboard.
\end_layout

\begin_layout Standard
If you don't have any musical instrument that you can plug directly into
 the mic in, then you can use an acoustic instrument with a microphone,
 in which case move your microphone closer or further from your instrument
 to get reliable detection.
 Too close and you get double detections, too far and you get missed ones.
 To check for good detection open a piece of music, set Overlay mode and
 put the cursor in the first measure and play the piece in – the notes should
 all turn blue if you have perfect detection.
 It is worth while getting perfect detection – more than one or two miss-detects
 per piece of music and you may want to use the Insert rather than the Overlay
 method.
\end_layout

\begin_layout Standard
The Audio Input button introduces a special entry mode where the pitches
 you play in will overlay the rhythm, appearing as blue notes.
 You can delete any wrong pitches using the usual delete keys, without deleting
 the rhythm.
 In fact if you have an "interloper" (an extra spurious note) you can delete
 it and the other pitches will all move along to their correct places.
\end_layout

\begin_layout Standard
Another method of playing music in acoustically doesn't involve entering
 the rhythm separately.
 For this select Input->Audio and then choose Insert instead of Overlays
 on the Pitch Recognition Panel that pops up.
 With Insert the sounded notes are entered as in the prevailing rhythm.
 The same applies if you have MIDI – by choosing a rhythm (e.
\begin_inset space \thinspace{}
\end_inset

g.
 half-note, quarter-note, or a custom rhythm pattern) and playing in the
 pitches you can enter the music into a blank score.
\end_layout

\begin_layout Section
Transcribing from Facsimile or Hand-written Score
\begin_inset CommandInset label
LatexCommand label
name "sec:Transcribing-from-Facsimile"

\end_inset


\end_layout

\begin_layout Standard
If you have a PDF
\begin_inset Index idx
status open

\begin_layout Plain Layout
PDF
\end_layout

\end_inset

 of music you wish to transcribe with Denemo you can display it within Denemo
 and create links between the source material and your transcrition.
 This means that when you later review your work you can quickly locate
 which point in the original manuscript belongs to which point in your transcrip
tion.
 In the screenshot the Print View window is shown on the left with the facsimile
 on the right.
 The Print View is a Custom Layout showing the chords both as notation and
 as chord symbols (as well as the original figures).
 The blue marker shows the position of the link that was clicked on to open
 the facsimile at the right place.
 Note that the piece is also being typeset in a different key – that is
 just another aspect of this custom layout.
 Everything – including the chord symbols are automatically adjusted.
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/SourceView.png
	scale 50
	clip

\end_inset


\end_layout

\begin_layout Standard
Select the File->Open menu and the item Open a Source for Transcribing.
 Select the PDF containing the music to be transcribed from.
 The PDF is opened in a Source View
\begin_inset Index idx
status open

\begin_layout Plain Layout
Source View
\end_layout

\end_inset

 window.
 Right-click in this window at the point that your transcription will start.
 This will create a link – a Denemo Directive Object – in your score at
 the Denemo cursor position, shown as arrow icon.
 If you later use a right-click on this Denemo Directive the source file
 will be re-opened with the blue highlight marker on that point in the score.
 (Depending on the position of the top of the page you may need to scroll
 the Source View window up or down to bring it into view).
\end_layout

\begin_layout Standard
When you re-open the score to check or edit at some point you can click
 on a nearby link and the source file will be opened and the position highlighte
d once again.
 If you place a link as the very first item on the very first staff of a
 movement then the link will be automatically opened when the score is opened
 on that movement.
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "80col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Note that when Denemo locates a position in the source PDF it always puts
 the start of the page that holds the location at the top of the window.
 Use the Previous/Next button to ensure you have the page start at the top
 before using it to insert links.
 Note also that the links refer to the page with the zoom value that obtains
 when you create the link.
 It will re-open with this same zoom factor.
 The link will continue to position itself as you zoom, but if you zoom
 out so far that the space outside the page becomes visible the links will
 not match until you zoom back.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
You can also 
\begin_inset Quotes eld
\end_inset

mask out
\begin_inset Quotes erd
\end_inset

 areas of the source view that you don't want to see while you are transcribing.
 This is particularly useful if you are transcribing just one part on a
 multi-part system.
 You mask out the staffs up to the one you want to follow and the ones from
 after that up to the same part in the next system and so on.
 To do this you drag down over the material you want to exclude – it turns
 gray leaving the part you are interested in easy to see at a glance.
 You can remove any one of these grayed-out areas – or all of them – by
 clicking 
\emph on
inside
\emph default
 them whereon you get a menu of choices.
\end_layout

\begin_layout Section
Comparing Scores
\end_layout

\begin_layout Standard
In the File menu is a command that lets you compare two Denemo scores for
 differences.
 You are given a dialog to choose each Denemo score and then these are loaded
 into two tabs and Denemo then scans for differences.
 It first flags up any differences in the Score, Movement and Staff/Voice
 information and then starts going through the scores note-by-note.
 You can stop the checking at any particular note or other music object
 where there is a difference and the cursor is left on that note in each
 score.
\end_layout

\begin_layout Section
Creating an Index
\end_layout

\begin_layout Standard
In the File menu there is a sub-menu Indexing that allows you to create
 an index for all the Denemo scores you have in all the sub-directories
 starting from some chosen directory (
\begin_inset Quotes eld
\end_inset

folder
\begin_inset Quotes erd
\end_inset

).
 
\end_layout

\begin_layout Standard
With the Create Index command you choose the starting directory for the
 scores you want to index and Denemo then scans all the scores below that
 creating a new score that typesets as an index to your scores.
 For each score the composer, title, instrumentation and the music for the
 incipit of the piece is typeset, together with the Score Comment if there
 is one.
 This index can be further refined by the Sort and Filter commands in the
 same menu.
 
\end_layout

\begin_layout Standard
You can create your own selection of scores indexed using the Filter by
 Scheme Condition
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Writing-Scheme-Scripts"

\end_inset

.
 For this you write a valid Scheme expression that is true for the files
 you want.
 You write this Scheme expression in the Scheme Script window (show this
 via the View menu).
 The expression can involve the symbols called composer, title, comment,
 filename and instruments.
 These are all strings except for 
\begin_inset Quotes eld
\end_inset

instruments
\begin_inset Quotes erd
\end_inset

 which is a list of strings [for example the Scheme condition (= 2 (length
 instruments)) will select all scores that have two staffs].
 This filtering of an already created index is very quick as the files do
 not have to be found again, however the selection is limited to just those
 properties of the score.
\end_layout

\begin_layout Standard
With Create Conditional Index you can create more complex conditions to
 determine which scores should be included in the index, and in addition
 you can create a comment for the index entry based on the score's content.
 A convenience function DenemoIndexCommentDisplay is provided to set the
 comment you wish to include in the index entry for a given score.
 Here is an example which computes the durations of all the movements in
 the score and prints that as the comment:
\end_layout

\begin_layout LyX-Code
(define total (ForAllMovementsExecute* (lambda ()
\end_layout

\begin_layout LyX-Code
                 (let ((tot '())) 
\end_layout

\begin_layout LyX-Code
                        (define (off) 
\end_layout

\begin_layout LyX-Code
                           (define time (d-GetMidiOffTime))
\end_layout

\begin_layout LyX-Code
                           (if time time 0))
\end_layout

\begin_layout LyX-Code
                        (d-RecreateTimebase) 
\end_layout

\begin_layout LyX-Code
                        (d-MoveToEnd) 
\end_layout

\begin_layout LyX-Code
                        (off)))))
\end_layout

\begin_layout LyX-Code
                        (set! total (round (apply + total))) 
\end_layout

\begin_layout LyX-Code
(DenemoIndexCommentDisplay (string-append " Duration is: " 
\end_layout

\begin_layout LyX-Code
        (number->string (inexact->exact (floor-quotient total 60))) " m.
 " 
\end_layout

\begin_layout LyX-Code
        (number->string (inexact->exact (floor-remainder total 60))) " s."))
 
\end_layout

\begin_layout LyX-Code
#t
\end_layout

\begin_layout Standard
\noindent
This example ends with the symbol #t to make it clear that all the scores
 are to be included in the index.
 If the last expression was something like (= (d-GetStaffsInMovement) 2)
 then it would only include scores with two staffs in the index.
\end_layout

\begin_layout Standard
The Print View shows the index and looking down it you can identify a score
 by the first few bars shown - then you can click on the filename to open
 the score.
\end_layout

\begin_layout Standard
You can save the index score just as any other Denemo score, just remember
 to re-run Create Index if you add files to the directory and want those
 included.
 
\end_layout

\begin_layout Section
Using a Proof-Read PDF
\begin_inset CommandInset label
LatexCommand label
name "sec:Using-a-Proof-Read"

\end_inset


\end_layout

\begin_layout Standard
If you send the PDF
\begin_inset Index idx
status open

\begin_layout Plain Layout
PDF
\end_layout

\end_inset

 output of your score to someone to proof-read they can make PDF annotations
 to it.
 In the File->Open menu choose Open Proof Read PDF to open a proof-read
 PDF.
 It will open at the first annotation, and, by clicking on the note the
 annotation applies to, the annotation is transferred as a comment into
 the score before the note chosen.
 When you have done all the annotations on the first page advance to the
 next page with annotations using the button "Next".
\end_layout

\begin_layout Standard
There are limitations – the PDF must be created from your score with point-and-c
lick (the default) and you must not alter the score in a way that would
 invalidate the point-and-click.
 (Basically, don't edit again until the proof-reading is done, always good
 practice!) Also, enter the annotations in order from the start and don't
 edit before you have entered all the annotations, as this could invalidate
 the point-and-click.
\end_layout

\begin_layout Section
Annotating a Score While Listening
\end_layout

\begin_layout Standard
When working on a score in Denemo you can use Playback to listen out for
 mistakes (if transcribing) or infelicities (if composing).
\end_layout

\begin_layout Standard
This is good, but you may end up doing a lot of stopping and re-starting
 and you may be uncertain whether you should have stopped the playback until
 it's too late; then you may find yourself looking back to find out what
 it was that you heard.
 And it is easy to forget where you had got to in the review process.
\end_layout

\begin_layout Standard
The Annotate Playback command in the Movmements->Playback menu lets you
 listen to the piece all through just marking those moments that you think
 might bear closer inspection by pressing the space bar or clicking on the
 typeset score (or the source pdf if there is one).
 Pressing any other key (or right clicking) stops the annotation process
 and lets you insert markers at each moment you indicated during playback.
 The command then gives you the option to go on to review each marked place
 (it plays a two-bar context for each marker) and make any changes you want
 or change the Annotation Mark to a Comment.
\end_layout

\begin_layout Section
Score Setup
\end_layout

\begin_layout Standard
Denemo provides different ways to set up scores: 
\end_layout

\begin_layout Itemize
Create template with the special name "default.denemo".
 If this is placed at the top level of your templates directory (that is
 ~/.denemo/templates/default.denemo), then it will be opened each time you
 start a new score.
 
\end_layout

\begin_layout Itemize
Use a Template or Custom Template (See File->Open menu)
\begin_inset Separator latexpar
\end_inset


\end_layout

\begin_deeper
\begin_layout Itemize
Create template and save it with the special name "default.denemo" using
 File->Save->Save Template.
 This will placed at the top level of your templates directory (that is
 ~/.denemo/templates/default.denemo), then it will be opened with 
\family typewriter
Ctrl-n
\family default
 the 
\begin_inset Quotes eld
\end_inset

Open Default Template
\begin_inset Quotes erd
\end_inset

 command.
\end_layout

\end_deeper
\begin_layout Itemize
Use shortcut keys to add staves and set attributes.
\end_layout

\begin_layout Itemize
Use Menus.
\end_layout

\begin_layout Itemize
Create an init.denemo score with everything you want to start up with, and
 any actions you want to be taken before you begin.
 This will be opened when you first start Denemo (that is once per Denemo
 session).
 See 
\begin_inset CommandInset ref
LatexCommand vref
reference "subsec:Musical-Scores-that-Do-Things"

\end_inset

 for details on what actions you can have Denemo perform before you start.
\end_layout

\begin_layout Subsection
Using Templates
\begin_inset Index idx
status open

\begin_layout Plain Layout
Templates
\end_layout

\end_inset

 to Setup Scores
\end_layout

\begin_layout Standard
Denemo comes with a few preinstalled templates.
 You can also create your own templates as well, in fact you can use any
 Denemo file as a template, just open it using File->Open->Open Custom Template.
 (The only difference is that, opened this way, the score is a new i.
\begin_inset space \thinspace{}
\end_inset

e.
 untitled score)
\end_layout

\begin_layout Enumerate
Navigate to File, Open Template.
 The Open dialog box appears.
\end_layout

\begin_layout Enumerate
Double click on a template name from the list of templates.
 The dialog box closes and the template appears.
\end_layout

\begin_layout Enumerate
Adjust the clef, key and time signatures as needed.
\end_layout

\begin_layout Section
Composing Music
\end_layout

\begin_layout Subsection
Overview
\end_layout

\begin_layout Standard
Many composers still compose their music on paper.
 Only when finished do they enter the music into Denemo.
 However, there are features in Denemo to help those who would like to compose
 at a keyboard.
 Generally, you will find it preferable to set the MIDI
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Midi-In-Controls"

\end_inset

 input mode to 
\begin_inset Quotes eld
\end_inset

Listening
\begin_inset Quotes erd
\end_inset

 when composing - pressing the shift key and playing will switch to actually
 entering notes.
 This avoids the danger of writing over the already composed music when
 playing on the MIDI keyboard.
\end_layout

\begin_layout Subsection
Creating Sketches.
\end_layout

\begin_layout Standard
Denemo has a command to cut the selection as a 
\begin_inset Quotes eld
\end_inset

sketch
\begin_inset Quotes erd
\end_inset

.
 What happens is that the selected music is saved to a special sort of movement,
 called a sketch.
 Sketch movements are not typeset nor played when playing the whole score
 and are clearly watermarked 
\begin_inset Quotes eld
\end_inset

Sketch
\begin_inset Quotes erd
\end_inset

 in the Display.
 This means you can put aside one version of a passage, try out a new one,
 scrub that and return to the sketch to copy and paste the passage back
 into your score.
\end_layout

\begin_layout Subsection
Melody Fragments
\end_layout

\begin_layout Standard
If you are creating music at the MIDI keyboard and have found a fragment
 that you would like to notate, Denemo allows you to invoke a command in
 the Playback->Recording menu to record your playing and attach it to the
 score as an audio recording.
 The audio recording is displayed above the top staff (the command will
 also create a click track
\begin_inset Index idx
status open

\begin_layout Plain Layout
Click Track
\end_layout

\end_inset

 if you wish) starting at the timing of the note at the cursor.
 When you play the score this audio is played allowing you to notate the
 rhythm to match it and enter the notes without risking you forgetting the
 phrase that you had recorded.
\end_layout

\begin_layout Section
More Features
\end_layout

\begin_layout Subsection
Transposition
\begin_inset Index idx
status open

\begin_layout Plain Layout
Transposition
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Denemo has much better transposition facilities than the common music notation
 programs such as Sibelius, Finale and Musescore.
 If you have used those programs you are probably thinking 
\begin_inset Quotes eld
\end_inset

I need to transpose this music
\begin_inset Quotes erd
\end_inset

, meaning you are going to change all the notes and chords you have entered
 along with the key signatures.
 You 
\series bold
can 
\series default
do this in Denemo (see Physical Transposition
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Physical-Transposition"

\end_inset

) but usually it is far better just to say that you want score to be typeset
 in the new key.
 This takes care of everything in one go – even footnotes that refer to
 the pitches of notes in the music will transpose (unless you have entered
 them as fixed values).
 And your input music stays looking just as you entered it – essential if
 you have to look back and compare with a source for instance.
\end_layout

\begin_layout Standard
The commands to transpose a score are in the Score->Typesetter menu.
 
\begin_inset Quotes eld
\end_inset

Transpose on Print
\begin_inset Quotes erd
\end_inset

 is a graphical user interface – you get presented with a new tab containing
 two notes – clicking the Transpose button will transpose so that the first
 pitch will be typeset as the second one.
 The initial values a C and E♭ (up a minor third) so by typing G this would
 become up a fifth.
 The first note could be changed as well, if you know that D should become
 F♯, for example, then you can make those the two notes.
\end_layout

\begin_layout Standard
The other command is quicker but more technical – (Print) Transposed lets
 you type in the names of the two notes.
 The technical bit is how you specify sharp and flat and which octave.
 To specify sharp the note is followed by 
\begin_inset Quotes eld
\end_inset

is
\begin_inset Quotes erd
\end_inset

, for flat 
\begin_inset Quotes eld
\end_inset

es
\begin_inset Quotes erd
\end_inset

 (these are actually the Dutch names!).
 Octaves are indicated by ' for up and , for down, so for example c c,,
 would mean transpose two octaves down.
\end_layout

\begin_layout Subsubsection
Physical Transposition
\begin_inset CommandInset label
LatexCommand label
name "subsec:Physical-Transposition"

\end_inset


\end_layout

\begin_layout Standard
In the case where you have changed your mind and want the actual notes you
 have entered to be altered the commands to do this are in the Notes/Rests->Tran
spose menu.
 The most general of the commands are Arbitrary Transpose Down and Arbitrary
 Transpose Up.
 These allow you to describe the interval you want to transpose the music
 by e.
\begin_inset space \thinspace{}
\end_inset

g.
 m7 for a minor seventh, d5 for diminished 5th.
 Alternatively you can use two pitches to describe the interval as in the
 previous section.
 Note that these commands work on the note/chord at the cursor or the selection;
 any key signatures will need changing separately if needed.
\end_layout

\begin_layout Subsection
Search and 
\begin_inset Quotes eld
\end_inset

Replace
\begin_inset Quotes erd
\end_inset


\begin_inset Index idx
status open

\begin_layout Plain Layout
Seek
\end_layout

\end_inset


\end_layout

\begin_layout Standard
There are two categories of search available in Denemo.
 The first is in Navigation->Seek menu and the other is in the Edit menu.
\end_layout

\begin_layout Standard
In Navigation->Seek is the command to find a selected rhythmic pattern (Ctrl-f,
 Ctrl-f) – that is to find a sequence of notes with the same rhythms as
 those of the selection.
 Once found the pattern can be edited, either manually or by executing a
 series of steps recorded in the Scheme window (see section 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Recording-a-Denemo"

\end_inset

).
 There is also a command to find to find a sequence of selected notes.
 In both these cases the search can be resumed by executing the command
 with no selection.
\end_layout

\begin_layout Standard
The second sort of search is in the Edit menu (and also available from the
 Object Editor).
 Ctrl-e,e starts a search for objects of the type that the cursor is on,
 while Ctrl-e, Ctrl-e offers all the types of object in the movement and
 allows you to select which to search for.
 Ctrl-e,r resumes the search.
 When found the object can be manually edited, deleted or modified using
 recorded commands as described above.
 The search order is column-wise, that is everything at the same musical
 moment is searched and then the next musical moment is searched from the
 top staff downwards.
 When the end of movement is reached you can wrap to the start of the movement
 or move to the next movement or wrap round to the first movement.
\end_layout

\begin_layout Subsection
Rapidly Marking Passages
\end_layout

\begin_layout Standard
Frequently passages in a score need marking in some way - they need to be
 played up an octave, or they have a continuous trill sign above them etc.
 This is called Spanning
\begin_inset Index idx
status open

\begin_layout Plain Layout
Spanning
\end_layout

\end_inset

 and the indicators for where the passage starts or ends is frequently marked
 by a pair of Denemo Directives or other pair of objects.
 Examples are in the Directives->Markings->Spanning menu.
 Other examples are tuplets
\begin_inset Index idx
status open

\begin_layout Plain Layout
Tuplets
\end_layout

\end_inset

, and passages in a different clef.
 Where a lot of passages need to be marked like this there is command in
 the Edit->Select menu which allows you to select passages to be spanned
 by a particular pair of objects at a single key press.
 This command is labelled 
\begin_inset Quotes eld
\end_inset

Span Selection with Pair of Objects
\begin_inset Quotes erd
\end_inset

 and it works by copying the pair to be inserted around selected passages
 onto the clipboard when the command is first invoked and then subsequent
 invocations place the spanning objects before/after the passage you have
 selected.
 In this way you can work your way through a score selecting passages to
 be altered and applying the alteration at the touch of a key.
\end_layout

\begin_layout Subsection
Piano Staffs, Orchestral Scores etc
\end_layout

\begin_layout Standard
A piano staff can be added using the Staff->Add Staff menu (or by adding
 the Piano instrument from the Staff->Add Staff->Add Staff for Instrument
 command).
 In addition, piano staffs, and staff groups such as choir staff can be
 created using the Staff Groupings menu under the staff menu.
 You can set a piano staff within a staff group by setting successively
 the StartPiano and StartGroup contexts on a single staff, or more generally
 setting StartPiano, EndPiano on adjacent staffs within a staff group.
\end_layout

\begin_layout Subsection
Single Staff Polyphony
\begin_inset Index idx
status open

\begin_layout Plain Layout
Polyphony
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Use the Staffs/Voice
\begin_inset Index idx
status open

\begin_layout Plain Layout
Voice
\end_layout

\end_inset

s->Voices menu for placing more than one voice on a staff.
 You can set the initial voice number from this menu (voices 1 and 3 are
 stem up with slurs and ties etc adjusting to suit, voices 2 and 4 are stem
 down).
 Directives can be placed in the music to change voice, see Directives->Typesett
er->Voices menu.
\end_layout

\begin_layout Standard
You will also need spacer rests for voices that are silent, and commands
 to displace rests vertically and horizontally (see Notes/Rests->Rest Insertion
 menu), and commands from the Voices menu under the Staffs/Voices and Directives
->Typesetter menus.
\end_layout

\begin_layout Subsection
Entering Figured Bass
\begin_inset Index idx
status open

\begin_layout Plain Layout
Figured Bass
\end_layout

\end_inset


\end_layout

\begin_layout Standard
To enter figures choose Notes/Rests->Markings->Figured Bass.
 There are some shortcuts that enable all the work to be done with the numeric
 keypad.
 A brief summary is given by right clicking the option.
 The conventions are described in the LilyPond docs.
\end_layout

\begin_layout Standard
There is also a MIDI filter for entering figured bass in the Input->MIDI
 menu.
 With this you play the bass note at the cursor and then the notes that
 the figures are indicating; on releasing the bass note the figures are
 entered for that bass note.
 The footpedal allows a sequence of figures to be entered on one note and
 also to enter extenders.
\end_layout

\begin_layout Subsection
Fret Diagrams
\begin_inset Index idx
status open

\begin_layout Plain Layout
Fret Diagrams
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Fret Diagrams can be placed on the score using the command Fret Diagram
 in the ObjectMenu->Directives->Markings menu In addition by assigning a
 Denemo staff to display as fret diagrams, chords can be entered in standard
 notation which will then be dislayed as fret diagrams.
 See ObjectMenu->StaffMenu->StaffPropertiesMenu->FretDiagrams for this.
\end_layout

\begin_layout Subsection
Tablature
\begin_inset Index idx
status open

\begin_layout Plain Layout
Tablature
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Music can be displayed in tablature – the default is for standard guitar
 tuning but others can be set.
 The menus to explore are:
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
ObjectMenu->StaffMenu->StaffPropertiesMenu->Tablature
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
ObjectMenu->Directives->Typesetter->Tablature
\end_layout

\begin_layout Standard
It is possible to display the same music as both notation and tablature,
 and example of how to do this will be found under File->Open->Open Example.
\end_layout

\begin_layout Subsection
Entering Chord Symbols
\begin_inset Index idx
status open

\begin_layout Plain Layout
Chord Symbols
\end_layout

\end_inset


\end_layout

\begin_layout Standard
There are two quite different ways to enter chord symbols (also known as
 Chord Names
\begin_inset Index idx
status open

\begin_layout Plain Layout
Chord Names |see
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

{
\end_layout

\end_inset

Chord Symbols
\begin_inset ERT
status collapsed

\begin_layout Plain Layout

}
\end_layout

\end_inset


\end_layout

\end_inset

, Fake Chords).
 If the chord changes do not happen mid-way through notes then you can use
 Notes/Rests->Markings->Chord Symbols to attach chord symbols to the notes
 themselves.
 A brief summary is given by right clicking the option.
 The conventions are described in the LilyPond documentation.
\end_layout

\begin_layout Standard
An alternative is to set a staff to display not the chords in regular notation
 but the chord symbol that represents the chord.
 Create a staff and use Staff->Staff Properties->Chord Symbols.
 Then this case you enter actual chords which will be displayed as Chord
 Symbols.
 The duration of the chords will determine the positioning, enabling chord
 changes mid-note.
 The chord symbols can then be arranged above or below the melody or other
 representation of the piece using Staffs->Swap Staffs or creating a custom
 layout in the Score Layout window.
\end_layout

\begin_layout Standard
A palette is available
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Insert-Chords"

\end_inset

 for inserting chords, with this palette selected the key sequence 
\family typewriter
pm7<Enter>,
\family default
 for instance, will insert/append a c, e-flat, g, b-flat chord if the cursor
 height is on a C, (or c-sharp, e, g-sharp, b if there is a pending sharp
\begin_inset Index idx
status open

\begin_layout Plain Layout
Pending Accidental
\end_layout

\end_inset

).
\end_layout

\begin_layout Standard
Chord Charts can also be created – there is a Chord Charts palette for these.
 Compact chord charts require a patch to LilyPond – enquire on the mailing
 list for this.
\end_layout

\begin_layout Subsection
Music Sketches
\begin_inset Index idx
status open

\begin_layout Plain Layout
Sketches
\end_layout

\end_inset


\end_layout

\begin_layout Standard
It is useful when composing to set aside a musical passage for later use.
 This is called a sketch in Denemo, and it is implemented as a small movement
 that is not typeset but can be navigated to for copy and paste purposes
 just like any other movement.
\end_layout

\begin_layout Standard
There are two commands relevant to this: in the Selection submenu of the
 Edit menu there is 
\begin_inset Quotes eld
\end_inset

Cut Selection as Sketch
\begin_inset Quotes erd
\end_inset

 which cuts the currently selected passage to a sketch movement immediately
 following the current movement.
 There is also a command to convert the current movement to a sketch in
 the Movements menu.
\end_layout

\begin_layout Part
Advanced Topics
\end_layout

\begin_layout Section
Customizing Denemo
\end_layout

\begin_layout Subsection
Adding and Editing Key/Mouse Shortcuts
\end_layout

\begin_layout Standard
Denemo allows you to choose which keys activate which commands (shortcuts).
 It also allows you to choose Mouse press/release gestures (in combination
 with keys such as 
\family typewriter
Shift
\family default
, 
\family typewriter
NumLock
\family default
, 
\family typewriter
CapsLock
\family default
 etc).
\end_layout

\begin_layout Standard
See 
\begin_inset CommandInset ref
LatexCommand nameref
reference "subsec:The-Command-Center"

\end_inset

 for setting shortcuts.
 The following quicker method can also be used for one-key shortcuts.
 To choose a shortcut for a menu item, select the item (it becomes highlighted)
 and press the key that you want to become the shortcut.
 If your choice of keyboard shortcut already belongs to another command,
 you are warned about this, and given the chance to change your mind or
 steal the shortcut.
 Also, you can choose whether to distinguish between keypresses with, say
 the 
\family typewriter
NumLock
\family default
 down and those without or to ignore it.
 If the 
\family typewriter
NumLock
\family default
 is set but no command for that key specifically requires it then the setting
 of 
\family typewriter
NumLock
\family default
 is ignored and the keypress is treated as if the 
\family typewriter
NumLock
\family default
 was off.
\end_layout

\begin_layout Standard
The menu item that activates the command shows the shortcuts that exist
 in bright blue lettering.
 PrsL-
\family typewriter
CapsLoc
\family default
, for example, is the Press action on the Left mouse key while the 
\family typewriter
CapsLock
\family default
 light is on.
 In the default command set this is linked to the BeginSlur command, so
 that together with the RlsL-
\family typewriter
CapsLoc
\family default
 for the release of the left mouse button, you can "draw" slurs by using
 the mouse.
 Similarly, 
\family typewriter
Shift
\family default
 with left mouse button (MveL-
\family typewriter
Shift
\family default
) is set to allow you to drag notes up and down the staff.
 (This is using Command MoveNoteToCursor).
\end_layout

\begin_layout Standard
For mouse shortcuts invoke the Command Center with the right click on the
 menu item.
 The Set Mouse Shortcut Dialog requires you to set which button and action
 you want to use and then to hold/lock the keyboard modifier while clicking
 on the big button.
 The setting you have chosen is shown, and you click ok to accept it.
 
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "90col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Mouse Shortcuts are tricky to set – you are able to control what happens
 on mouse button press and release, which can be used to do things like
 drag notes up and down.
 But they are tricky to set up!
\end_layout

\end_inset


\end_layout

\begin_layout Subsection
More Commands
\end_layout

\begin_layout Subsubsection*
Adding More Features 
\end_layout

\begin_layout Standard
It is possible to add more commands to the set that Denemo ships with.
 Some of these are shipped with Denemo, but not added automatically so as
 to keep the menu sizes manageable.
 Generally, you right-click to find more menu items to add; once added you
 can set a keyboard/mouse shortcut and keep the command in your default
 setup.
 Scheme to be executed at startup can be placed in the denemo.scm file.
\end_layout

\begin_layout Paragraph
An example – quicker dynamics selection
\end_layout

\begin_layout Standard
It can be slow to choose dynamics (
\family typewriter
Ctrl-D
\family default
) because the list is quite long to move down (or move to the mouse).
 You can define a list of the dynamics you actually want to be readily available
 as for example: (define DenemoDynamicList '(("f" "127" "Forte") ("p" "127"
 "Piano"))) This makes forte available just by pressing Return and piano
 available by pressing down arrow Return.
 (The others via More of course).
 If you place this in (home directory)/.denemo-x.x.x/actions/denemo.scm then
 it will be defined when you start Denemo.
\end_layout

\begin_layout Subsubsection
Recording a Denemo Macro
\begin_inset CommandInset label
LatexCommand label
name "subsec:Recording-a-Denemo"

\end_inset

 
\end_layout

\begin_layout Standard
You can record a frequently used sequence of actions into the Scheme window.
 These can be used in search and replace operations or they can be installed
 as a command in the menu system and given a keyboard shortcut or placed
 in a palette.
 
\end_layout

\begin_layout Standard
To do this choose View->Scheme Script.
 (You do not have to understand what a Scheme Script is to use this!) In
 the window that pops up check Record Scheme Script and then do the set
 of steps you wish Denemo to record.
 As you execute each command the Scheme window gets that command added to
 it.
\end_layout

\begin_layout Standard
For example, suppose you wanted to place a trill on a particular note in
 a certain rhythmic pattern that occurs frequently in a piece.
 You would record the cursor moves and the Trill command needed to edit
 the pattern concerned and then use the Search and 
\begin_inset Quotes eld
\end_inset

Replace
\begin_inset Quotes erd
\end_inset

 facility to seek the pattern you needed selecting 
\begin_inset Quotes eld
\end_inset

Continue
\begin_inset Quotes erd
\end_inset

 or 
\begin_inset Quotes eld
\end_inset

Execute Scheme
\begin_inset Quotes erd
\end_inset

 as each pattern is found.
\end_layout

\begin_layout Standard
Or, suppose you wanted a command to delete the next note (there are commands
 to delete the previous note and the current note, so why not?).
 You would enter some notes, put on Record Scheme Script and then move the
 cursor right two steps and delete the previous note (with Backspace if
 that is your shortcut).
 (Each time you use a command you will see the Scheme syntax for that command
 entered into the Scheme window).
 Now turn off Record Scheme Script and you can experiment with your new
 command by pressing Execute in the Scheme Script window.
 To save this new command for future use, you right click on a menu item
 (in the menu where you would like the command to appear) and choose "Save
 Script as New Menu Item", this will ask you to make up a name for your
 new command as well as a label for the menu item etc.
\end_layout

\begin_layout Standard
You can save the command in your default sequence of commands (via Edit->Customi
ze Commands\SpecialChar ldots
->Manage Command Set->Save as Default Command Set).
 If not you will be asked if you want to save your new commands when you
 exit.
 Otherwise you can re-load via the More->My Commands menu item.
 
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "90col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Turn off the Record before starting the search and replace, otherwise the
 search and replace command itself will be recorded.
 Delete the recorded commands before saving your score, unless you want
 it to be executed each time you open the score.
 (See the section Musical Scores that do things!
\end_layout

\end_inset


\end_layout

\begin_layout Subsubsection
Editing a LilyPond
\begin_inset Index idx
status open

\begin_layout Plain Layout
LilyPond
\end_layout

\end_inset

 Tweak
\end_layout

\begin_layout Standard
There is another way of adding your own favorite LilyPond tweaks, which
 is by modifying a tweak that has already been done.
 This can be done by using the text-edit dialog on an existing Denemo Directive
 (usually found under the Advanced button provided in the Object Editor
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Object-Editor"

\end_inset

).
 Here you can see the actual LilyPond text that will be inserted, and there
 is a button to create a script to generate whatever you choose to enter.
 You can also enter the name of graphic images (.png files) that are to be
 used to represent your item in the display, and say where it should be
 positioned.
\end_layout

\begin_layout Standard
Once you have created the script, it can be saved in the menu system by
 right clicking on an item in the menu where you want to place the command,
 and choosing "Save Script as New Menu Item" as above.
 An alternative to creating a command in the menu system is to create a
 palette button (see the Object Editor
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Object-Editor"

\end_inset

).
\end_layout

\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "sec:Writing-Scheme-Scripts"

\end_inset

Writing Scheme
\begin_inset Index idx
status open

\begin_layout Plain Layout
Scheme
\end_layout

\end_inset

 Scripts 
\end_layout

\begin_layout Standard
\begin_inset Graphics
	filename images/SchemeWindow.png

\end_inset


\end_layout

\begin_layout Standard
If you are a programmer you will have guessed that you can edit the Scheme
 Script window to create any command you want.
 Even if you are not familiar with Scheme you may find that you can adapt
 other scripts to do what you want.
\end_layout

\begin_layout Standard
A good example of this is a script to insert a particular LilyPond directive
 into the score.
 This is all that many scripts do: it is easy to see the piece of LilyPond
 in the Scheme Script window, and by changing it you can create a new command.
\end_layout

\begin_layout Standard
For example, from the More menu select the command /menus/ObjectMenu/Instruments
/Orchestral/RehearsalMark (the files are laid out in folders/directories
 in the same way as the menu system itself).
 Then choose Get Script into Scheme Window from the right click menu.
 With this command its script is appended to the Scheme Script window.
 Here you can see the part that says
\end_layout

\begin_layout Standard
\noindent
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{verbatim}
\end_layout

\begin_layout Plain Layout

(d-DirectivePut-standalone-postfix "RehearsalMark" " 
\backslash

\backslash
mark 
\backslash

\backslash
default" )
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{verbatim}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\noindent
which is inserting the LilyPond directive "
\backslash
mark 
\backslash
default" which inserts the default rehearsal mark.
 (The extra backslashes are needed to tell Scheme that you literally mean
 a 
\backslash
 sign).
 You can change this to insert any other LilyPond that you need – always
 doubling the 
\backslash
 signs.
 Then you can save as a new menu item, a palette button, or use Save Script
 from Scheme Window to customize the command you started with.
\end_layout

\begin_layout Standard
More ambitious programmers will need to know all the commands available.
 Besides the complete Denemo command set (the list is given in the Command
 Center window) there are the following additional Scheme procedures defined
 (see the files actions/denemo.scm and actions/denemo-modules/*.scm for more).
 A brief summary of any Scheme procedure can be obtained by typing its name
 into the Scheme Window in the command line interface (CLI) and pressing
 Enter.
 The help text attached to built-in commands is available in a Scheme variable
 constructed by prefixing the command name with 
\begin_inset Quotes eld
\end_inset

Help-
\begin_inset Quotes erd
\end_inset

, however there are older, hardwired commands for which this doesn't work
 at present.
\end_layout

\begin_layout Subsection
Commands Getting User Input
\end_layout

\begin_layout Standard
All these commands are invoked from scheme as (d-Command args\SpecialChar ldots
)
\end_layout

\begin_layout Itemize
GetChar returns a string containing a single character from the user (blocks
 waiting for a keypress)
\end_layout

\begin_layout Itemize
GetKeypress returns a string representing a keypress from the user (blocks
 waiting for a keypress) (e.
\begin_inset space \thinspace{}
\end_inset

g.
 Up for the up arrow key etc.)
\end_layout

\begin_layout Itemize
GetCommand returns a string containing the command name for the user's keypress
 (blocks waiting for a keypress)
\end_layout

\begin_layout Itemize
GetCommandFromUser
\end_layout

\begin_layout Itemize
RadioBoxMenu takes an arbitrary number of arguments, each argument is a
 pair, presents a menu of the first items in the pairs and returns the second
 item as chosen.
\end_layout

\begin_layout Itemize
RadioBoxMenuList like RadioBoxMenu but takes a list
\end_layout

\begin_layout Itemize
GetUserInput takes three arguments (title, prompt, suggested value) and
 returns the string typed by the user in the pop-up dialog or #f if Cancelled.
\end_layout

\begin_layout Subsection
Commands Getting Information about Object at Cursor
\end_layout

\begin_layout Standard
All these commands are invoked from scheme as (d-
\noun on
Command
\noun default
)
\end_layout

\begin_layout Itemize
GetType returns a scheme string indicating the type of the current object
\end_layout

\begin_layout Itemize
GetNoteName returns a scheme string, giving the note name 
\family typewriter
a
\family default
 to 
\family typewriter
g
\family default
 of the current note
\end_layout

\begin_layout Itemize
GetNote returns a scheme string, the note name, accidental and octave of
 the current note (in LilyPond notation)
\end_layout

\begin_layout Itemize
GetNotes returns a scheme string, the notes of a chord separated by spaces
 (in LilyPond notation)
\end_layout

\begin_layout Subsection
Predicates
\end_layout

\begin_layout Standard
Testing what is true at the cursor position
\end_layout

\begin_layout Itemize
Music?  
\end_layout

\begin_layout Itemize
Note?  
\end_layout

\begin_layout Itemize
Rest?  
\end_layout

\begin_layout Itemize
Chord?  
\end_layout

\begin_layout Itemize
Singlenote?  
\end_layout

\begin_layout Itemize
Directive?  
\end_layout

\begin_layout Itemize
Timesignature?  
\end_layout

\begin_layout Itemize
Keysignature?  
\end_layout

\begin_layout Itemize
Clef?  
\end_layout

\begin_layout Itemize
Tupletmarker?  
\end_layout

\begin_layout Itemize
TupletOpen?  
\end_layout

\begin_layout Itemize
TupletClose?  
\end_layout

\begin_layout Itemize
StemDirective?  
\end_layout

\begin_layout Itemize
None?  
\end_layout

\begin_layout Itemize
MovementEmpty?
\end_layout

\begin_layout Itemize
MeasureEnd? 
\end_layout

\begin_layout Itemize
MeasureBeginning?
\end_layout

\begin_layout Itemize
LastMovement?
\end_layout

\begin_layout Itemize
FirstMovement?
\end_layout

\begin_layout Itemize
EmptyMeasure?
\end_layout

\begin_layout Itemize
UnderfullMeasure?
\end_layout

\begin_layout Itemize
FullDurationMeasure?
\end_layout

\begin_layout Itemize
OverfullMeasure?
\end_layout

\begin_layout Itemize
MeasureComplete?
\end_layout

\begin_layout Subsection
Iterators
\end_layout

\begin_layout Standard
The parameters are either a string (script) which will be evaluated after
 moving the cursor to step of the iteration or a scheme procedure (a thunk).
\end_layout

\begin_layout Itemize
(ForAllMovements script) 
\end_layout

\begin_layout Itemize
(ForAllStaffs script) 
\end_layout

\begin_layout Itemize
(ForAllMovementsExecute proc) 
\end_layout

\begin_layout Itemize
(ForAllStaffsExecute proc) 
\end_layout

\begin_layout Itemize
(ForAllObjectsInStaffExecute proc) 
\end_layout

\begin_layout Itemize
(ForAllObjectsInScoreExecute proc) 
\end_layout

\begin_layout Itemize
(ForAllNotesInChordExecute proc) 
\end_layout

\begin_layout Subsection
Directives
\end_layout

\begin_layout Itemize
(EditStandaloneDirective tag display)
\end_layout

\begin_layout Itemize
(EditLilyPond)
\end_layout

\begin_layout Itemize
(AttachDirective type field tag content .
 overrides)
\end_layout

\begin_layout Itemize
(EditStaffDirective tag) 
\end_layout

\begin_layout Itemize
(ToggleDirective type field tag content .
 overrides) ; four strings and an arbitrary number of flags (numbers) for
 override field.
\end_layout

\begin_layout Itemize
(d-DirectivePut-standalone tag)
\end_layout

\begin_layout Itemize
(d-Directive-standalone tag)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-standalone)
\end_layout

\begin_layout Itemize
(d-DirectivePut-score tag)
\end_layout

\begin_layout Itemize
(d-Directive-score tag)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-chord)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-note)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-score)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-scoreheader)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-movementcontrol)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-header)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-paper)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-layout)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-staff)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-voice)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-clef)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-keysig)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-timesig)
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-stemdirective)
\end_layout

\begin_layout Itemize
(d-DirectiveDelete-standalone Tag)
\end_layout

\begin_layout Itemize
(SetDirectiveConditional)
\end_layout

\begin_layout Itemize
(ToggleHidden type tag) ;;; eg (ToggleHidden "note" "Fingering")
\end_layout

\begin_layout Itemize
(ManageSystemDirective params present? put-proc get-proc del-proc tag title
 prompt value test deletion-info)
\end_layout

\begin_layout Itemize
(EditForStandaloneToggle tag) provides the editing options for a standalone
 directive that can only be toggled off/on.
 
\end_layout

\begin_layout Itemize
(StandAloneSelfEditDirective pair #:optional (step? #t) (graphic #f) (displaytex
t #f) (minpixels #f) the pair is a tag and the LilyPond syntax to insert
 e.
\begin_inset space \thinspace{}
\end_inset

g.
 (cons "BreathMark" "
\backslash

\backslash
breathe") with optional parameters: boolean to step/not step right after
 insertion, graphic, display text, and width to occupy in the Denemo Display
 (minpixels).
 Any override needs to be set separately.
\end_layout

\begin_layout Subsection
Message Bar
\end_layout

\begin_layout Standard
These commands put a message on the status bar to the right hand side.
 They are defined in actions/denemo-modules/helpsystem.scm.
 Help messages are pushed paired with a symbol (e.
\begin_inset space \thinspace{}
\end_inset

g.
 (cons ('mytag 
\begin_inset Quotes eld
\end_inset

mymessage
\begin_inset Quotes erd
\end_inset

))) and can simply be Popped or removed using the tag.
\end_layout

\begin_layout Itemize
(Help::Push pair) 
\end_layout

\begin_layout Itemize
(Help::Pop)
\end_layout

\begin_layout Itemize
(Help::RemoveTag tag) ; Remove all messages with this 'tag symbol 
\end_layout

\begin_layout Itemize
(Help::ClearQueue) ; Clear the entire queue 
\end_layout

\begin_layout Itemize
(Help::UpdateWriteStatus) 
\end_layout

\begin_layout Subsection
Move and Search
\end_layout

\begin_layout Itemize
(FindNextObjectAllStaffs test?)
\end_layout

\begin_layout Itemize
(PrevDirectiveOfTag tag) 
\end_layout

\begin_layout Itemize
(NextDirectiveOfTag tag) 
\end_layout

\begin_layout Itemize
(NextDirectiveOfTagInMeasure tag) 
\end_layout

\begin_layout Itemize
(PrevDirectiveOfTagInMeasure tag) 
\end_layout

\begin_layout Itemize
(GoToMeasureEnd) 
\end_layout

\begin_layout Itemize
(GoToMeasureBeginning) 
\end_layout

\begin_layout Itemize
(MoveToColumnStart) 
\end_layout

\begin_layout Itemize
(MoveToColumnEnd) 
\end_layout

\begin_layout Itemize
GetPosition ;use result with (apply d-GoToPosition position)) to go to the
 position gotten
\end_layout

\begin_layout Itemize
(PositionEqual? position1 position2) 
\end_layout

\begin_layout Itemize
(Probe test moveinstruction) 
\end_layout

\begin_layout Itemize
(ProbePosition test movement staff measure horizontalposition) 
\end_layout

\begin_layout Itemize
(ProbePreviousMeasure test) 
\end_layout

\begin_layout Itemize
(ProbeNextMeasure test) 
\end_layout

\begin_layout Itemize
(ProbeNextObject test) 
\end_layout

\begin_layout Itemize
(ProbePreviousObject test) 
\end_layout

\begin_layout Itemize
(ProbeNextNote test) 
\end_layout

\begin_layout Itemize
(ProbePreviousNote test) 
\end_layout

\begin_layout Itemize
(MoveDownStaffOrVoice) 
\end_layout

\begin_layout Itemize
(MoveUpStaffOrVoice) 
\end_layout

\begin_layout Subsection
More \SpecialChar ldots

\end_layout

\begin_layout Standard
This is a fairly comprehensive listing of Scheme commands that are built-in
 but not including those in the menus.
 Call these via (d-
\emph on
<command>
\emph default
 
\series bold
\emph on
params
\series default
\emph default
 \SpecialChar ldots
), e.
\begin_inset space \thinspace{}
\end_inset

g.
 (d-GetNote 2) gets the second note from the bottom in a chord.
\end_layout

\begin_layout Itemize
GetStartTick
\end_layout

\begin_layout Itemize
HideMenus.
 Hides all the menus or shows them if passed #f
\end_layout

\begin_layout Itemize
HideButtons.
 Hides Score buttons or shows them if passed #f
\end_layout

\begin_layout Itemize
DestroyButtons.
 Removes Score buttons
\end_layout

\begin_layout Itemize
HideWindow.
 Hides the Denemo.project or shows it if passed #f
\end_layout

\begin_layout Itemize
ScriptCallback.
 Takes the the name of a scripted command.
 Runs the script stored for that command.
 Scripts which invoke other scripted commands use this (implicitly?) 
\end_layout

\begin_layout Itemize
GetOption.
 create a dialog with the options & return the one chosen, of #f if the
 user cancels
\end_layout

\begin_layout Itemize
GetTextSelection.
 Returns the text on the clipboard
\end_layout

\begin_layout Itemize
GetPadding.
 Returns the padding that has been set by dragging in the Print view window
\end_layout

\begin_layout Itemize
GetRelativeFontSize.
 Deprecated – gets an integer from the user via a dialog
\end_layout

\begin_layout Itemize
InitializeScript.
 Takes a command name.
 called by a script if it requires initialization the initialization script
 is expected to be in init.scm in the menupath of the command passed in.
\end_layout

\begin_layout Itemize
LoadCommand.
 pass in a path (from below menus) to a command script.
 Loads the command from .denemo or system if it can be found.
 It is used at startup in .denemo files like ReadingNoteNames.denemo which
 executes (d-LoadCommand 
\backslash
"MainMenu/Educational/ReadingNoteNames
\backslash
") to ensure that the command it needs is in the command set.
\end_layout

\begin_layout Itemize
ActivateMenuItem.
 Takes a string, a menu path (from below menus).
 It executes the command for that menu item.
 Returns #f for no menu item.
\end_layout

\begin_layout Itemize
LocateDotDenemo.
 Returns the directory holding the user's preferences
\end_layout

\begin_layout Itemize
GetType.
 Returns the name of the type of object at the cursor
\end_layout

\begin_layout Itemize
GetLilyPond.
 Returns the lilypond typesetting text for object at the cursor or #f if
 the object has not yet been typeset
\end_layout

\begin_layout Itemize
GetTuplet.
 Returns a string numerator/denominator for a tuplet open object or #f if
 cursor not on a tuplet open
\end_layout

\begin_layout Itemize
SetTuplet.
 Set passed string as numerator/denominator for a tuplet open at cursor
\end_layout

\begin_layout Itemize
SetBackground.
 Set passed 24 bit number as RGB color of background.
\end_layout

\begin_layout Itemize
GetClipObjType.
 Takes a staff number m and a object number n.
 Returns the type of object at the (m, n)th position on the Denemo Clipboard
 or #f if none.
\end_layout

\begin_layout Itemize
GetClipObjects.
 Takes a staff number m, Returns the number of objects in the mth staff
 on the Denemo Clipboard or #f if none.
\end_layout

\begin_layout Itemize
PutClipObj.
 Takes a staff number m and a object number n.
 Inserts the (m, n)th Denemo Object from Denemo Clipboard into the staff
 at the cursor position
\end_layout

\begin_layout Itemize
ClearClipboard.
 Clears the Denemo Music Clipboard
\end_layout

\begin_layout Itemize
GetStaffsInClipboard.
 Gives the number of staffs in the Denemo Music Clipboard
\end_layout

\begin_layout Itemize
GetMeasuresInStaff.
 Gives the number of measures in the current staff
\end_layout

\begin_layout Itemize
GetStaffsInMovement.
 Gives the number of staffs in the current movement
\end_layout

\begin_layout Itemize
StaffToVoice.
 Makes the current staff a voice belonging to the staff above
\end_layout

\begin_layout Itemize
VoiceToStaff.
 Makes the current voice a independent staff
\end_layout

\begin_layout Itemize
IsVoice.
 Returns #f if the current staff is not a voice else true
\end_layout

\begin_layout Itemize
AdjustXes.
 Adjusts the horizontal (x-) positioning of notes etc after paste
\end_layout

\begin_layout Itemize
HighlightCursor.
 Turn highlighting of cursor off/on returning #t, or given a boolean parameter
 sets the highlighting returning the previous value
\end_layout

\begin_layout Itemize
GetNonprinting.
 Returns #t if there is an object at the cursor which has any printing behavior
 it may have overridden
\end_layout

\begin_layout Itemize
SetNonprinting.
 Sets the Non Printing attribute of a chord (or note/rest) at the cursor.
 For a rest this makes a non printing rest, for a note it makes it ia pure
 rhythm (which will not print, but can be assigned pitch, e.
\begin_inset space \thinspace{}
\end_inset

g.
 via a MIDI keyboard.
 Pass in #f to unset the attribute
\end_layout

\begin_layout Itemize
IsGrace.
 Returns #t if there is a grace note/chord at cursor, else #f
\end_layout

\begin_layout Itemize
IsTied.
 Returns #t if there is a tied note/chord at cursor, else #f
\end_layout

\begin_layout Itemize
IsSlurStart.
 Returns #t if there is a chord with slur starting at cursor, else #f
\end_layout

\begin_layout Itemize
IsSlurEnd.
 Returns #t if there is a chord with slur ending at cursor, else #f
\end_layout

\begin_layout Itemize
IsCrescStart.
 Returns #t if there is a chord with crescendo starting at cursor, else
 #f
\end_layout

\begin_layout Itemize
IsCrescEnd.
 Returns #t if there is a chord with crescendo ending at cursor, else #f
\end_layout

\begin_layout Itemize
IsDimStart.
 Returns #t if there is a chord with diminuendo starting at cursor, else
 #f
\end_layout

\begin_layout Itemize
IsDimEnd.
 Returns #t if there is a chord with diminuendo ending at cursor, else #f
\end_layout

\begin_layout Itemize
IsInSelection.
 Returns #t if the cursor is in the selection area, else #f
\end_layout

\begin_layout Itemize
HasSelection.
 Returns #t if there is a selection, else #f
\end_layout

\begin_layout Itemize
IsAppending.
 Returns #t if the cursor is in the appending position, else #f
\end_layout

\begin_layout Itemize
ShiftCursor.
 Shifts the cursor up or down by the integer amount passed in
\end_layout

\begin_layout Itemize
GetMovement.
 Returns the movement number counting from 1
\end_layout

\begin_layout Itemize
GetVoiceIdentifier.
 Returns the LilyPond identifier for the current voice
\end_layout

\begin_layout Itemize
GetStaff.
 Returns the staff/voice number counting from 1
\end_layout

\begin_layout Itemize
StaffHidden.
 With parameter #t or #f makes the staff hidden/visible in the display,
 returns the hidden status.
 Typesetting is unaffected
\end_layout

\begin_layout Itemize
GetMeasure.
 Returns the measure number counting from 1
\end_layout

\begin_layout Itemize
SetObjectDisplayWidth.
 Sets the display width of the object at the cursor to the value passed
 (in pixels)
\end_layout

\begin_layout Itemize
GetHorizontalPosition.
 Returns the cursor horizontal position in current measure.
\backslash
n 1 = first position in measure, n+1 is appending position where n is the
 number of objects in current measure
\end_layout

\begin_layout Itemize
GetCursorNote.
 Returns the note name for the line or space where the cursor is
\end_layout

\begin_layout Itemize
GetCursorNoteWithOctave.
 Returns the note name and octave in LilyPond notation for the line or space
 where the cursor is
\end_layout

\begin_layout Itemize
DebugObject.
 Prints out information about the object at the cursor
\end_layout

\begin_layout Itemize
DisplayObject.
 Displays information about the object at the cursor position.
\end_layout

\begin_layout Itemize
GetEditingTime.
 Prints out the cumulative time spent editing this score.
\backslash
nThe time counts any period between starting to edit and saving to disk
\backslash
nThe time is accumulated over different editing sessions.
\end_layout

\begin_layout Itemize
DestroySchemeInit.
 Remove the user's customized buttons and other scheme startup stuff created
 by the user in actions/denemo.scm
\end_layout

\begin_layout Itemize
GetNoteName.
 Returns the name of the (highest) note in any chord at the cursor position,
 or #f if none
\end_layout

\begin_layout Itemize
InsertRest.
 Insert a rest at the cursor in the prevailing duration, or if given a integer,
 in that duration, setting the prevailing duration.
 If MIDI in is active, the cursor stays on the rest after inserting it,
 else it moves right.
\end_layout

\begin_layout Itemize
PutWholeMeasureRests.
 Insert rests at the cursor to the value of the one whole measure in the
 key signature and return the number of rests inserted
\end_layout

\begin_layout Itemize
GetNote.
 Takes optional integer parameter n = 1 \SpecialChar ldots
, returns LilyPond representation
 of the nth note of the chord at the cursor counting from the lowest, or
 #f if none
\end_layout

\begin_layout Itemize
GetNoteFromTop.
 Takes optional integer parameter n = 1 \SpecialChar ldots
, returns LilyPond representation
 of the nth note of the chord at the cursor counting from the highest, or
 #f if none
\end_layout

\begin_layout Itemize
GetNoteFromTopAsMidi.
 Takes optional integer parameter n = 1 \SpecialChar ldots
, returns MIDI key for the nth note
 of the chord at the cursor counting from the highest, or #f if none
\end_layout

\begin_layout Itemize
GetNotes.
 Returns a space separated string of LilyPond notes for the chord at the
 cursor position or #f if none
\end_layout

\begin_layout Itemize
GetNoteAtCursor.
 Returns LilyPond note at the cursor position or #f if none
\end_layout

\begin_layout Itemize
GetDots.
 Returns the number of dots on the note at the cursor, or #f if no note
\end_layout

\begin_layout Itemize
GetNoteBaseDuration.
 Returns the base duration of the note at the cursor number=0, 1, 2 for
 whole half quarter note etc, or #f if none
\end_layout

\begin_layout Itemize
GetNoteDuration.
 Returns the duration in LilyPond syntax of the note at the cursor, or #f
 if none
\end_layout

\begin_layout Itemize
GetOnsetTime.
 Returns start time for the object at the cursor, or #f if it has not been
 calculated
\end_layout

\begin_layout Itemize
SetDurationInTicks.
 Takes an integer, Sets the number of ticks (PPQN) for the object at the
 cursor, returns #f if none; if the object is a chord it is set undotted
\end_layout

\begin_layout Itemize
GetRecordedMidiTempo.
 Takes an index, returns the time in seconds, time signature and tempo in
 seconds per quarter note of the index'th MIDI tempo event in the recorded
 MIDI stream.
\end_layout

\begin_layout Itemize
GetImportedMidiTrack.
 Takes an track number 1,2 \SpecialChar ldots
, makes that MIDI track of the loaded MIDI stream
 the current recorded track.
\end_layout

\begin_layout Itemize
DeleteImportedMidi.
 Delete the current imported/recorded MIDI track fails if playing, returning
 #f.
\end_layout

\begin_layout Itemize
GetCurrentMidiTrack.
 Returns the MIDI track number of the current imported track.
\end_layout

\begin_layout Itemize
GetImportedMidiTracks.
 Returns the number of MIDI tracks of the loaded/recorded MIDI.
\end_layout

\begin_layout Itemize
GetRecordedMidiDuration.
 Returns the duration in seconds of the recorded MIDI track or #f if none
\end_layout

\begin_layout Itemize
GetDurationInTicks.
 Returns the number of ticks (PPQN) for the object at the cursor, or #f
 if none
\end_layout

\begin_layout Itemize
GetBaseDurationInTicks.
 Returns the number of ticks (PPQN) for the chord without dots or tuplet
 effects at the cursor, or #f if not a chord.
 The value is -ve for special durations (i.
\begin_inset space \thinspace{}
\end_inset

e.
 non-standard notes)
\end_layout

\begin_layout Itemize
GetEndTick.
 Returns the tick count (PPQN) for the end of the object at the cursor,
 or #f if none
\end_layout

\begin_layout Itemize
GetStartTick.
 Returns the tick count (PPQN) for the start of the object at the cursor,
 or #f if none
\end_layout

\begin_layout Itemize
GetMeasureNumber.
 Returns the measure number at cursor position.
\end_layout

\begin_layout Itemize
CursorToNote.
 Takes LilyPond note name string.
 Moves the cursor to the line or space
\end_layout

\begin_layout Itemize
CursorToNthNoteHeight.
 Takes a number 1 \SpecialChar ldots
 n.
 Moves the cursor to the nth note from the bottom of the chord at the cursor,
 returning #f if it fails.
\end_layout

\begin_layout Itemize
CursorToNextNoteHeight.
 Moves the cursor up to the next higher note of the chord at the cursor,
 returning #f if it fails.
\end_layout

\begin_layout Itemize
GetPrevailingKeysig.
 Returns the prevailing key signature at the cursor
\end_layout

\begin_layout Itemize
GetPrevailingTimesig.
 Returns the prevailing time signature at the cursor
\end_layout

\begin_layout Itemize
GetPrevailingClef.
 Returns the prevailing clef at the cursor.
 Note that non-builtin clefs like drum are not handled yet.
\end_layout

\begin_layout Itemize
GetPrevailingClefAsLilyPond.
 Returns the LilyPond typesetting syntax for prevailing clef at the cursor.
\end_layout

\begin_layout Itemize
GetPrevailingKeysigAsLilyPond.
 Returns the LilyPond typesetting syntax for prevailing key signature at
 the cursor.
\end_layout

\begin_layout Itemize
GetPrevailingTimesigAsLilyPond.
 Returns the LilyPond typesetting syntax for prevailing time signature at
 the cursor.
\end_layout

\begin_layout Itemize
GetPrevailingDuration.
 Returns the prevailing duration, ie duration which will be used for the
 next inserted note, with a parameter 0 \SpecialChar ldots
 8 sets the prevailing duration.
\end_layout

\begin_layout Itemize
IncrementInitialKeysig.
 Makes the initial keysig sharper/flatter
\end_layout

\begin_layout Itemize
IncrementKeysig.
 Makes the keysig sharper/flatter, affects keysig change when cursor is
 on one or appending after one, otherwise affects initial keysig
\end_layout

\begin_layout Itemize
AddMovement.
 Appends a new movement without copying staff structure.
\end_layout

\begin_layout Itemize
ChangeChordNotes.
 Takes a string of LilyPond note names.
 Replaces the notes of the chord at the cursor with these notes, preserving
 other attributes
\end_layout

\begin_layout Itemize
PutNoteName.
 Takes a LilyPond note name, and changes the note at the cursor to that
 note
\end_layout

\begin_layout Itemize
SetAccidental.
 Takes a LilyPond note name, changes the note at the cursor to have the
 accidental passed in either LilyPond string or integer -2..+2.
 Returns #f if cursor is not on a note position.
 
\end_layout

\begin_layout Itemize
PutRest.
 Inserts a rest at the cursor; either passed in duration or if none passed
 the prevailing duration.
\end_layout

\begin_layout Itemize
PutNote.
 Inserts a note at the cursor; either passed in duration or if none passed
 the prevailing duration.
\end_layout

\begin_layout Itemize
InsertNoteInChord.
 Takes a LilyPond note name, and adds that note to the chord
\end_layout

\begin_layout Itemize
DiatonicShift.
 Moves the note at the cursor by the number of diatonic steps passed in
\end_layout

\begin_layout Itemize
NextObject.
 Moves the cursor to the right returning #t if this was possible
\end_layout

\begin_layout Itemize
PrevObject.
 Moves the cursor to the left returning #t if the cursor moved
\end_layout

\begin_layout Itemize
NextObjectInMeasure.
 Moves the cursor to the next object in the current measure, returning #f
 if there were no more objects to the left in the current measure
\end_layout

\begin_layout Itemize
PrevObjectInMeasure.
 Moves the cursor to the previous object in the current measure, returning
 #f if the cursor was on the first object
\end_layout

\begin_layout Itemize
NextSelectedObject.
 Moves the cursor to the next object in the selection.
 Returns #t if the cursor moved
\end_layout

\begin_layout Itemize
PrevSelectedObject.
 Moves the cursor to the previous object in the selection.
 Returns #t if the cursor moved
\end_layout

\begin_layout Itemize
NextChord.
 Moves the cursor the the next object of type CHORD in the current staff.
 Returns #f if the cursor did not move
\end_layout

\begin_layout Itemize
PrevChord.
 Moves the cursor the the previous object of type CHORD in the current staff.
 Returns #f if the cursor did not move
\end_layout

\begin_layout Itemize
NextChordInMeasure.
 Moves the cursor the the next object of type CHORD in the current measure.
 Returns #f if the cursor did not move
\end_layout

\begin_layout Itemize
PrevChordInMeasure.
 Moves the cursor the the previous object of type CHORD in the current measure.
 Returns #f if the cursor did not move
\end_layout

\begin_layout Itemize
NextNote.
 Moves the cursor the next object of type CHORD which is not a rest in the
 current staff.
 Returns #f if the cursor did not move
\end_layout

\begin_layout Itemize
PrevNote.
 Moves the cursor the previous object of type CHORD which is not a rest
 in the current staff.
 Returns #f if the cursor did not move
\end_layout

\begin_layout Itemize
CreateSnippetFromObject.
 Creates a music Snippet comprising the object at the cursor Returns #f
 if not possible, otherwise an identifier for that snippet
\end_layout

\begin_layout Itemize
SelectSnippet.
 Selects music Snippet from passed id Returns #f if not possible
\end_layout

\begin_layout Itemize
InsertSnippet.
 Inserts music Snippet from passed id Returns #f if not possible, a second
 boolean parameter determines if the snippet becomes selected.
 
\end_layout

\begin_layout Itemize
NextStandaloneDirective.
 Moves the cursor the next object that is a Denemo Directive in the current
 staff.
 Returns #f if the cursor did not move
\end_layout

\begin_layout Itemize
PrevStandaloneDirective.
 Moves the cursor the previous object that is a Denemo Directive in the
 current staff.
 Returns #f if the cursor did not move
\end_layout

\begin_layout Itemize
NextStandaloneDirectiveInMeasure.
 Moves the cursor within the current measure to the next object that is
 a Denemo Directive in the current staff.
 Returns #f if the cursor did not move
\end_layout

\begin_layout Itemize
PrevStandaloneDirectiveInMeasure.
 Moves the cursor within the current measure to the previous object that
 is a Denemo Directive in the current staff.
 Returns #f if the cursor did not move
\end_layout

\begin_layout Itemize
Chordize.
 Enforces the treatment of the note at the cursor as a chord in LilyPond
\end_layout

\begin_layout Itemize
SetPrefs.
 Takes xml representation of a preference and adds it to the Denemo preferences
\end_layout

\begin_layout Itemize
GetBooleanPref.
 Takes string name of a boolean-valued preference and returns the current
 value.
 Non-existent prefs return #f, ensure that the preference name is correct
 before using.
\end_layout

\begin_layout Itemize
GetIntPref.
 Takes string name of an int-valued preference and returns the current value.
 Non-existent prefs return #f
\end_layout

\begin_layout Itemize
GetStringPref.
 Takes string name of a string-valued preference and returns the current
 value.
 Non-existent prefs return #f
\end_layout

\begin_layout Itemize
AttachQuitCallback.
 Takes a script as a string, which will be stored.
 All the callbacks are called when the musical score is closed
\end_layout

\begin_layout Itemize
DetachQuitCallback.
 Removes a callback from the current musical score
\end_layout

\begin_layout Itemize
GetInputSource.
 Returns DENEMO_INPUTMIDI, DENEMO_INPUTKEYBOARD, DENEMO_INPUTAUDIO depending
 on the source of input to Denemo.
\end_layout

\begin_layout Itemize
PopupMenu.
 Pops up a menu given by the list of pairs in the argument.
 Each pair should be a label string and an expression, the expression for
 the chosen label is returned.
 Alternatively the label string can be replaced by a pair of strings, label
 .
 tooltip.
 The third syntax is just a list of string labels, the chosen string is
 returned.
\end_layout

\begin_layout Itemize
GetTargetInfo.
 Returns a list of the target type and grob (if a directive).
 Target is set by clicking on the typeset version of the score at a link
 that LilyPond has inserted.
\end_layout

\begin_layout Itemize
GetNewTarget.
 Interactively sets a target (a click on a LilyPond link in the printview
 window) from the user 
\end_layout

\begin_layout Itemize
GetNewPoint.
 Interactively sets a point in the printview window from the user
\end_layout

\begin_layout Itemize
GetReferencePoint.
 Interactively sets a reference point (a click on a point in the printview
 window) from the user showing a cross hairs prompt 
\end_layout

\begin_layout Itemize
GetOffset.
 Interactively gets an offset from the user in the print view window.
 The offset is from the last clicked object in the print view window.
 Returns pair of numbers x is positive to the right, y is positive upwards.
\end_layout

\begin_layout Itemize
GetControlPoint.
 Interactively sets a control point for a curve in the print view window.
 Takes one parameter the number 1–4 of the control point to set.
\end_layout

\begin_layout Itemize
GetCurve.
 Interactively gets a curve from the user in the print view window.
 Returns a list of pairs of numbers, the control points of the curve.
\end_layout

\begin_layout Itemize
GetPositions.
 Interactively gets two positions from the user in the print view window.
 Returns pair of pairs numbers.
\end_layout

\begin_layout Itemize
HTTP.
 Takes 4 parameters and makes http transaction with www.denemo.org
\end_layout

\begin_layout Itemize
GoToPosition.
 Move to given Movement, voice measure and object position.
 Takes 4 parameters integers starting from 1, use #f for no change.
 Returns #f if it fails
\end_layout

\begin_layout Itemize
CreatePaletteButton.
 Takes a palette name, label, tooltip and script
\end_layout

\begin_layout Itemize
SetPaletteShape.
 Takes a palette name, boolean, and limit
\end_layout

\begin_layout Itemize
ShowPalettes.
 Hides/Un-hides a palette.
 Pass a palette name (or #t to choose a palette) with second parameter #f
 hides the palette otherwise show.
\end_layout

\begin_layout Itemize
SelectPalette.
 Returns the current palette name.
 The palette status is not changed – it may be hidden.
 Pass a palette name to become the current palette or pass #t to choose
 a palette as the current palette.
\end_layout

\begin_layout Itemize
ActivatePaletteButton.
 Allows the user to type a label to activate a palette button.
\end_layout

\begin_layout Itemize
GetUserInput.
 Takes up to three strings, title, prompt and initial value.
 Shows these to the user and returns the user's string.
 Fourth parameter makes the dialog not block waiting for input
\end_layout

\begin_layout Itemize
GetUserInputWithSnippets.
 Takes up to three strings, title, prompt and initial value.
 Shows these to the user with a text editor for the user to return a string.
 Buttons are present to insert snippets which are bracketed with section
 characters.
 Fourth parameter makes the dialog not block waiting for input.
 Returns a pair comprising the user's text and formatted LilyPond syntax.
\end_layout

\begin_layout Itemize
SelectFont.
 Allows the user to select a font returns a string describing the font.
 Takes an optional title.
\end_layout

\begin_layout Itemize
SelectColor.
 Allows the user to select a color returns a list of r g b values between
 0-255.
\backslash
nTakes an optional title.
\end_layout

\begin_layout Itemize
WarningDialog.
 Takes a message as a string.
 Pops up the message for the user to take note of as a warning
\end_layout

\begin_layout Itemize
InfoDialog.
 Takes a message as a string and boolean noblock parameter.
 Pops up the message for the user to take note of as a informative message,
 blocks if noblock is #f
\end_layout

\begin_layout Itemize
ProgressBar.
 Takes a message as a string.
 Pops up the message inside of a pulsing progressbar
\end_layout

\begin_layout Itemize
ProgressBarStop.
 If running, Stops the ProgressBar.
\end_layout

\begin_layout Itemize
TypesetForScript.
 Typesets the score.
 Takes a script which will be called when Refresh is performed on the typeset
 window.
\end_layout

\begin_layout Itemize
PrintTypesetPDF.
 Prints from the PDF file generated by TypesetForScript.
\end_layout

\begin_layout Itemize
GetChar.
 Intercepts the next keypress and returns a string containing the character.
 Returns #f if keyboard interception was not possible.
\end_layout

\begin_layout Itemize
GetKeypress.
 Intercepts the next keypress and returns a string containing the name of
 the keypress (the shortcut name).
 Returns #f if keyboard interception was not possible.
\end_layout

\begin_layout Itemize
GetCommandKeypress.
 Returns the last keypress that successfully invoked a command 
\end_layout

\begin_layout Itemize
GetCommand.
 Intercepts the next keypress and returns the name of the command invoked,
 before invoking the command.
 Returns #f if the keypress is not a shortcut for any command
\end_layout

\begin_layout Itemize
GetCommandFromUser.
 Intercepts the next keyboard shortcut and returns the name of the command
 invoked, before invoking the command.
 Returns #f if the keypress(es) are not a shortcut for any command
\end_layout

\begin_layout Itemize
LockDirective.
 Locks the standalone directive at the cursor so that it runs its delete
 action when deleted.
 The tag should be the name of a command that responds to the delete parameter.
\end_layout

\begin_layout Itemize
SetDirectiveTagActionScript.
 Sets an 
\backslash
"action script
\backslash
" on the directive of the given tag
\end_layout

\begin_layout Itemize
PutStandaloneDirective.
 Inserts a Denemo Directive of the given tag, even if one already exists
 at the cursor, a pixel width can be passed as well
\end_layout

\begin_layout Itemize
DirectiveChangeTag.
 Changes the tag of the Denemo Directive at the cursor
\end_layout

\begin_layout Itemize
DirectiveTextEdit-standalone.
 Start a low-level edit of the standalone directive at the cursor
\end_layout

\begin_layout Itemize
PutTextClipboard.
 The passed string is placed on the system clipboard
\end_layout

\begin_layout Itemize
GetUserName.
 Asks the user for a user name which is returned
\end_layout

\begin_layout Itemize
GetPassword.
 Asks the user for a password which is returned
\end_layout

\begin_layout Itemize
GetKeyboardState.
 Returns an integer value, a set of bitfields representing the keyboard
 state, e.
\begin_inset space \thinspace{}
\end_inset

g.
 GDK_SHIFT_MASK etc
\end_layout

\begin_layout Itemize
SetMidiThru.
 Routes the MIDI in to MIDI out if it is not intercepted by d-GetMidi
\end_layout

\begin_layout Itemize
GetRecordedMidiOnTick.
 Returns the ticks of the next event on the recorded MIDI track -ve if it
 is a NOTEOFF or #f if none.
 Advances to the next note.
\end_layout

\begin_layout Itemize
GetNoteForMidiKey.
 Returns the LilyPond representation of the passed MIDI key number, using
 the current enharmonic set.
\end_layout

\begin_layout Itemize
GetRecordedMidiNote.
 Returns the ticks of the next event on the recorded MIDI track -ve if it
 is a NOTEOFF or #f if none
\end_layout

\begin_layout Itemize
RewindRecordedMidi.
 Rewinds the recorded MIDI track returns #f if no MIDI track recorded
\end_layout

\begin_layout Itemize
GetMidi.
 Intercepts a MIDI event and returns it as a 4 byte number
\end_layout

\begin_layout Itemize
SetMidiCapture.
 Takes one bool parameter – MIDI events will be captured/not captured depending
 on the value passed in, returns previous value.
\end_layout

\begin_layout Itemize
TogglePlayAlong.
 Switches to playalong playback.
 When playing or recording playback will not advance beyond the cursor position
 unless then mouse is moved or the next note is played in via MIDI in.
\end_layout

\begin_layout Itemize
ToggleConduct.
 Switches to mouse conducting playback.
 Playback will not advance beyond the cursor position unless then mouse
 is moved in the drawing area.
\end_layout

\begin_layout Itemize
MidiRecord.
 Starts playback and synchronously records from MIDI in.
 any script passed in is run at the end of the recording.
 The recording will play back with future play until deleted.
 The recording is not saved with the score – convert to notation first,
\end_layout

\begin_layout Itemize
ComputeMidiNoteDurations.
 Computes durationss for recorded/imported MIDI notes based on tempo and
 timing of note off from previous note off or start.
\end_layout

\begin_layout Itemize
GetMarkedMidiNote.
 Gets the marked recorded midi note as LilyPond
\end_layout

\begin_layout Itemize
GetMarkedMidiNoteSeconds.
 Gets the time in seconds of marked recorded midi note or #f if none
\end_layout

\begin_layout Itemize
AdvanceMarkedMidi.
 Advances the marked recorded midi note can take an integer for number of
 steps to advance, or #f to clear the mark.
 Returns #f if no more marks.
\end_layout

\begin_layout Itemize
InsertMarkedMidiNote.
 Inserts the marked recorded or imported MIDI note using the duration guessed
 from the note length.
 Returns #f if nothing marked.
\end_layout

\begin_layout Itemize
CreateTimebase.
 Generates the MIDI timings for the music of the current movement.
 Returns TRUE if the MIDI was re-computed else FALSE (call was unnecessary).
\end_layout

\begin_layout Itemize
PutMidi.
 Takes and int as MIDI data and simulates a midi event, avoiding capturing
 of midi by scripts.
 Value 0 is special and is received by scripts.
\end_layout

\begin_layout Itemize
OutputMidi.
 Takes and int as MIDI data and sends it directly to the MIDI out backend
\end_layout

\begin_layout Itemize
OutputMidiBytes.
 Takes a string of space-separated bytes.
 The $ char stands for the current channel.
 Sends the passed bytes to the MIDI out
\end_layout

\begin_layout Itemize
PlayMidiKey.
 Deprecated – takes an integer which is decomposed into a MIDI note played
 for 100ms
\end_layout

\begin_layout Itemize
PendingMidi.
 Takes a midi note key and plays it with next rhythm effect
\end_layout

\begin_layout Itemize
PlayMidiNote.
 Takes midi key number, volume 0–255, duration in ms and channel 0–15 and
 plays the note on midi out.
\end_layout

\begin_layout Itemize
OneShotTimer.
 Takes duration and executable scheme script.
 Executes the passed scheme code after the passed duration milliseconds
\end_layout

\begin_layout Itemize
Timer.
 Takes a duration and scheme script, starts a timer that tries to execute
 the script after every duration ms.
 It returns a timer id which must be passed back to destroy the timer
\end_layout

\begin_layout Itemize
KillTimer.
 Takes a timer id and destroys the timer
\end_layout

\begin_layout Itemize
HasFigures.
 Returns #f if the current staff has no figures (or will not print out figured
 bass.
 See d-ShowFiguredBass)
\end_layout

\begin_layout Itemize
BassFigure.
 Returns a string for the bass figure for the two MIDI keys passed in
\end_layout

\begin_layout Itemize
SpellCheckMidiChord.
 returns #t if the passed list of MIDI keys fails the pitch spellcheck
\end_layout

\begin_layout Itemize
GetCursorNoteAsMidi.
 Gets the MIDI key number for the note-position where the cursor is
\end_layout

\begin_layout Itemize
GetNoteAsMidi.
 Returns the MIDI key number for the note at the cursor, or 0 if none
\end_layout

\begin_layout Itemize
RefreshDisplay.
 Re-draws the Denemo display, which can have side effects on the data
\end_layout

\begin_layout Itemize
SetSaved.
 Sets the status of the current musical score to saved, or unsaved if passed
 #f
\end_layout

\begin_layout Itemize
GetSaved.
 Gets the saved status of the current musical score
\end_layout

\begin_layout Itemize
MarkStatus.
 Returns #f if mark is not set
\end_layout

\begin_layout Itemize
GetHelp.
 Takes a command name and returns the tooltip or #f if none
\end_layout

\begin_layout Itemize
LoadKeybindings.
 Takes a file name, loads keybindings from actions/menus returns #f if it
 fails
\end_layout

\begin_layout Itemize
SaveKeybindings.
 Takes a file name, saves keybindings from actions/menus returns #f if it
 fails
\end_layout

\begin_layout Itemize
ClearKeybindings.
 Clears all keybindings returns #t
\end_layout

\begin_layout Itemize
LoadCommandset.
 Takes a file name for xml format commandset, loads commands, returns #f
 if it fails
\end_layout

\begin_layout Itemize
Zoom.
 Takes a double or string and scales the display; return #f for invalid
 value else the value set.
 With no parameter returns the current value.
 
\end_layout

\begin_layout Itemize
MasterTempo.
 Takes a double or string and scales the tempo; returns the tempo set.
 With no parameter returns the current master tempo 
\end_layout

\begin_layout Itemize
MovementTempo.
 Takes an integer or string number of beats (quarter notes) per minute as
 the tempo for the current movement; returns the tempo set 
\end_layout

\begin_layout Itemize
MasterVolume.
 Takes a double or string and scales the volume; returns the volume set
 
\end_layout

\begin_layout Itemize
StaffMasterVolume.
 Takes a double 0–1 and sets the staff master volume for the current staff,
 returns the value.
\backslash
nWith no parameter returns the current value or zero if staff is muted.
\backslash
nPass #f to mute the current staff and #t to unmute, leaving master volume
 unchanged.
\end_layout

\begin_layout Itemize
SetEnharmonicPosition.
 Takes a integer sets the enharmonic range to use 0 = E-flat to G-sharp
 
\end_layout

\begin_layout Itemize
GetMidiTuning.
 Return a string of tuning bytes (offsets from 64) for MIDI tuning message
\end_layout

\begin_layout Itemize
GetFlattest.
 Return name of flattest degree of current temperament
\end_layout

\begin_layout Itemize
GetSharpest.
 Return name of sharpest degree of current temperament
\end_layout

\begin_layout Itemize
GetTemperament.
 Return name of current temperament
\end_layout

\begin_layout Itemize
RewindMidi.
 Rewind the MIDI generated for the current movement.
 Given a time in seconds it tries to rewind to there.
\end_layout

\begin_layout Itemize
NextMidiNotes.
 Takes an interval, returns a pair, a list of the next note-on events that
 occur within that interval and the time of these events.
\end_layout

\begin_layout Itemize
RestartPlay.
 Restart midi play, cancelling any pause
\end_layout

\begin_layout Itemize
GetMidiOnTime.
 Return a number, the midi time in seconds for the start of the object at
 the cursor; return #f if none 
\end_layout

\begin_layout Itemize
GetMidiOffTime.
 Return a number, the midi time in seconds for the end of the object at
 the cursor; return #f if none 
\end_layout

\begin_layout Itemize
MidiInListening.
 Set the MIDI in controller to listening mode.
 All signals are directed straight to the output.
 
\end_layout

\begin_layout Itemize
MidiInChecking.
 Set the MIDI in controller to checking mode.
 The cursor will advance and the note sounded only if it is the (lowest)
 note at the cursor.
 
\end_layout

\begin_layout Itemize
MidiInAppendEdit.
 Set the MIDI in controller to append/edit mode.
 The MIDI key sounded will be inserted in score, or appended if in appending
 position.
 MIDI signals can be filtered by scheme scripts in this mode.
 
\end_layout

\begin_layout Itemize
SetPlaybackInterval.
 Set start and/or end time for playback to the passed numbers/strings in
 seconds.
 Use #t if a value is not to be changed.
 Returns #f for bad parameters 
\end_layout

\begin_layout Itemize
AdjustPlaybackStart.
 Adjust start time for playback by passed number of seconds.
 Returns #f for bad parameter 
\end_layout

\begin_layout Itemize
AdjustPlaybackEnd.
 Adjust end time for playback by passed number of seconds.
 Returns #f for bad parameter 
\end_layout

\begin_layout Itemize
UserScreenshot.
 Takes a parameter #t or #f and optional position: Get a screenshot from
 the user and append or insert it in a list (one per measure) either applying
 across the staffs or to the current staff.
\end_layout

\begin_layout Itemize
DeleteScreenshot.
 Takes a parameter #t or #f: Delete a screenshot for the current measure,
 either across staffs or for current staff.
\end_layout

\begin_layout Itemize
PushClipboard.
 Pushes the Denemo clipboard (cut/copy buffer) onto a stack; Use d-PopClipboard
 to retrieve it.
\end_layout

\begin_layout Itemize
PopClipboard.
 Pops the Denemo clipboard (cut/copy buffer) from a stack created by d-PushClipb
oard.
 Returns #f if nothing on stack, else #t.
\end_layout

\begin_layout Itemize
DeleteSelection.
 Deletes all objects in the selection Returns #f if no selection else #t.
\end_layout

\begin_layout Itemize
SetThumbnailSelection.
 Sets the selection to be used for a thumbnail.
 Returns #f if no selection or selection not in first movement else #t.
\end_layout

\begin_layout Itemize
CreateThumbnail.
 Creates a thumbnail for the current score.
 With no argument it waits for the thumbnail to complete, freezing any display.
 With #t it generates the thumbnail asynchrously.
 It does not report on completion.
\end_layout

\begin_layout Itemize
Exit.
 Exits Denemo without saving history, prefs etc.
\end_layout

\begin_layout Itemize
TakeSnapshot.
 Snapshots the current movement putting it in the undo queue returns #f
 if no snapshot was taken because of a guard
\end_layout

\begin_layout Itemize
SelectDefaultLayout.
 Creates the default layout.
\end_layout

\begin_layout Itemize
CreateLayout.
 Creates a custom layout from the currently selected (standard).
 Uses the passed name for the new layout.
 Returns #f if nothing happened.
\end_layout

\begin_layout Itemize
DeleteLayout.
 Deletes a custom layout of the passed name.
 Returns #f if no layout with passed name.
\end_layout

\begin_layout Itemize
GetLayoutId.
 Returns the id of the currently selected score layout (see View->Score
 Layout).
 Returns #f if no layout is selected.
\end_layout

\begin_layout Itemize
GetCurrentStaffLayoutId.
 Returns the id of a score layout for typesetting the part for the current
 staff.
 Returns #f if not a primary voice.
\end_layout

\begin_layout Itemize
SelectLayoutId.
 Selects the score layout with the passed id.
 Returns #f if there is no such layout.
\end_layout

\begin_layout Itemize
LilyPondForPart.
 Generates LilyPond layout for the current part (ie staffs with the name
 of the staff with the cursor), all movements and staffs with that staff
 name are generated.
\end_layout

\begin_layout Itemize
TypesetPart.
 Typesets the current part (ie the staff with the cursor), all movements
 and staffs with that staff name are typeset.
\end_layout

\begin_layout Itemize
ReduceLayoutToLilyPond.
 Converts the current score layout to editable LilyPond text.
 After this the score layout is only affected by editing the LilyPond syntax.
\end_layout

\begin_layout Itemize
GetLayoutName.
 Returns the name of the currently selected score layout (see View->Score
 Layout).
 Returns #f if no layout is selected.
\end_layout

\begin_layout Itemize
SelectNextLayout.
 Selects the next score layout.
 If the current layout is the last, returns #f otherwise #t.
\end_layout

\begin_layout Itemize
SelectFirstLayout.
 Selects the first score layout.
\end_layout

\begin_layout Itemize
SelectNextCustomLayout.
 Selects the next custom score layout.
 If the current layout is the last, returns #f otherwise #t.
\end_layout

\begin_layout Itemize
SelectFirstCustomLayout.
 Selects the first custom score layout.
\end_layout

\begin_layout Itemize
GetFilename.
 Returns the full path to the currently opened Denemo score or #f if it
 does not have a disk file yet.
\end_layout

\begin_layout Itemize
PathFromFilename.
 Returns the directory component of the passed filename.
\end_layout

\begin_layout Itemize
FileExists.
 Returns the #t if file passed in exists.
\end_layout

\begin_layout Itemize
FilenameFromPath.
 Returns the filename component of the passed path.
\end_layout

\begin_layout Itemize
ChooseFile.
 Gives dialog to choose a file.
 Takes a title, start directory and list of extensions.
 Returns a string or #f if user cancesl
\end_layout

\begin_layout Itemize
OpenSource.
 Follows a link to a source file of form string 
\backslash
"filename:x:y:page
\backslash
".
 It opens the file and places a marker there.
 
\end_layout

\begin_layout Itemize
EditGraphics.
 Takes an optional filename and optional new name.
 Opens an encapsulated postscript file for editing.
 Returns the filename (without extension) if successful.
\backslash
nStarts the graphics editor on the passed in filename or one from a dialog.
\backslash
nThe returned .eps file may not exist when this procedure returns, an editor
 is open on it.
 With no filename parameter allows the user to choose,
\backslash
ncopying to the project directory or the users graphics templates (if a
 new name is given)
\end_layout

\begin_layout Itemize
OpenProofReadFile.
 Opens a PDF file previously generated by Denemo which has proof reading
 annotations.
 The notes in the file can be clicked on to locate the music in the Denemo
 display
\end_layout

\begin_layout Itemize
ExportRecordedAudio.
 Converts the recorded audio to user chosen audio file.
\end_layout

\begin_layout Itemize
OpenSourceFile.
 Opens a source file for transcribing from.
 Links to this source file can be placed by shift-clicking on its contents
\end_layout

\begin_layout Itemize
OpenSourceAudioFile.
 Opens a source audio file for transcribing from.
 Returns the number of seconds of audio successfully opened or #f if failed.
 
\end_layout

\begin_layout Itemize
CloseSourceAudio.
 Closes a source audio attached to the current movement.
\end_layout

\begin_layout Itemize
StartAudioPlay.
 Plays audio allowing timings to be entered via keypresses if passed #t
 as parameter.
 
\end_layout

\begin_layout Itemize
StopAudioPlay.
 Stops audio playback
\end_layout

\begin_layout Itemize
SetAudioLeadIn.
 Takes a number of seconds to be used as lead-in for audio.
 If negative clips that much from the start of the audio.
 
\end_layout

\begin_layout Itemize
AudioIsPlaying.
 returns #f if audio is not playing else #t
\end_layout

\begin_layout Itemize
NextAudioTiming.
 Returns the next in the list of timings registered by the user during audio
 play.
\end_layout

\begin_layout Itemize
IncreaseGuard.
 Stop collecting undo information.
 Call DecreaseGuard when finished.
 Returns #f if already guarded, #t if this call is stopping the undo collection
\end_layout

\begin_layout Itemize
DecreaseGuard.
 Drop one guard against collecting undo information.
 Returns #t if there are no more guards 
\backslash
n(undo information will be collected) 
\backslash
nor #f if there are still guards in place.
\end_layout

\begin_layout Itemize
Undo.
 Undoes the actions performed by the script so far, starts another undo
 stage for the subsequent actions of the script.
 Note this command has the same name as the built-in Undo command, to override
 it when called from a script.
 Returns #t
\end_layout

\begin_layout Itemize
NewWindow.
 Creates a new tab.
 Note this command has the same name as the built-in NewWindow command,
 to override it when called from a script.
 Returns #t
\end_layout

\begin_layout Itemize
StageForUndo.
 Undo normally undoes all the actions performed by a script.
 This puts a stage at the point in a script where it is called, so that
 a user-invoked undo will stop at this point, continuing when a further
 undo is invoked.
 Returns #t
\end_layout

\begin_layout Itemize
GetLastChange.
 return a string giving the latest step available for Undo
\end_layout

\begin_layout Itemize
GetMenuPath.
 Takes a command name and returns the menu path to that command or #f if
 none
\end_layout

\begin_layout Itemize
GetChecksum.
 Takes a string and returns a string representing an MD5 checksum for the
 passed string.
\end_layout

\begin_layout Itemize
SetNewbie.
 Sets the newbie status to the passed value
\end_layout

\begin_layout Itemize
GetVerse.
 Gets the current verse of the current staff or #f if none, with an integer
 parameter, gets the nth verse
\end_layout

\begin_layout Itemize
SynchronizeLyricCursor.
 Moves the lyric cursor to match the current Denemo Cursor position, switching
 the keyboard input to the lyrics pane
\end_layout

\begin_layout Itemize
InsertTextInVerse.
 Inserts passed text at the lyric cursor in the lyrics pane, returns #f
 if no verse at cursor
\end_layout

\begin_layout Itemize
PutVerse.
 Puts the passed string as the current verse of the current staff
\end_layout

\begin_layout Itemize
AppendToVerse.
 Appends the passed string to the current verse of the current staff
\end_layout

\begin_layout Itemize
GetId.
 Takes a command name and returns and id for it or #f if no command of that
 name exists
\end_layout

\begin_layout Itemize
AddKeybinding.
 Takes a command name or command id and binding name and sets that binding
 on that command returns the command id that previously had the binding
 or #f if none
\end_layout

\begin_layout Itemize
GetLabel.
 Takes a command name and returns the label for the menu item that executes
 the command or #f if none
\end_layout

\begin_layout Itemize
GetMenuPosition.
 Takes a non-built-in command name and returns position in the menu system
 for he command or #f if none
\end_layout

\begin_layout Itemize
GetLilyVersion.
 Returns the installed LilyPond version
\end_layout

\begin_layout Itemize
CheckLilyVersion.
 Returns a boolean if the installed version of LilyPond is greater than
 or equal to the passed in version string
\end_layout

\begin_layout Itemize
InputFilterNames.
 Takes a string putting it on the scheme-controlled status bar as a list
 of active filters
\end_layout

\begin_layout Itemize
WriteStatus.
 Takes a string putting the scheme controlled status bar; with no argument
 it hides this status bar
\end_layout

\begin_layout Itemize
Debug.
 Display a debug message
\end_layout

\begin_layout Itemize
Info.
 Display an info message
\end_layout

\begin_layout Itemize
Message.
 Display a regular message
\end_layout

\begin_layout Itemize
Warning.
 Display a warning message
\end_layout

\begin_layout Itemize
Critical.
 Display a critical message
\end_layout

\begin_layout Itemize
Error.
 Display an error message and abort
\end_layout

\begin_layout Subsection
Commands for MIDI Import
\end_layout

\begin_layout Standard
A MIDI file can be loaded into Denemo in order to convert it to music notation.
 This is not generally possible (because of the nature of the information
 stored in the MIDI format), but it is worth trying sometimes.
 
\end_layout

\begin_layout Itemize
(d-ImportMidi "guided=true") this call lets the user choose a MIDI file
 and creates a MIDI structure to represent its contents.
\end_layout

\begin_layout Itemize
(d-GetImportedMidiTracks) returns the number of MIDI tracks that have been
 loaded or #f if none
\end_layout

\begin_layout Itemize
(d-GetImportedMidiTrack n) gets the n'th MIDI track loads a MIDI track chosen
 by the user, using the Clef, Time signature and key signature of the current
 staff.
 The track is represented by \SpecialChar ldots
 the C routine compute_midi_note_durations()
 is called
\end_layout

\begin_layout Itemize
(d-CreateClickStaffForMidi)
\begin_inset Index idx
status open

\begin_layout Plain Layout
Click Track
\end_layout

\end_inset


\end_layout

\begin_layout Subsection
\SpecialChar ldots
 and More
\end_layout

\begin_layout Standard
This is a hand-made list most of which already appear in the comprehensive
 list above, but with hand-written comments.
\end_layout

\begin_layout Standard
\begin_inset Note Note
status open

\begin_layout Plain Layout
To be merged with the above ...
\end_layout

\end_inset


\end_layout

\begin_layout Itemize
d-PutNoteName takes a string argument, a note in LilyPond notation.
 Changes the note at the cursor.
 Not for use with multi-note chords.F
\end_layout

\begin_layout Itemize
d-NextObject moves cursor to next object, returning TRUE if current object
 has changed
\end_layout

\begin_layout Itemize
d-NextChord as d-NextObject, but skipping non-chord objects.
 chords includes rests and chords with 1 or more notes.
\end_layout

\begin_layout Itemize
d-NextNote as d-NextChord but skipping rests (i.
\begin_inset space \thinspace{}
\end_inset

e.
 chords with 0 notes).
\end_layout

\begin_layout Itemize
d-NextStandaloneDirective as NextObject, stopping on a standalone directive.
 Using d-DirectiveGet-standalone tag a directive of a particular tag can
 be found.
\end_layout

\begin_layout Itemize
(d-Directive-type? optional-tag) where type is one of score, scoreheader,
 movementcontrol, header, paper, layout, clef, timesig, keysig, staff, voice,
 standalone, chord or note.This returns #t if the cursor is on a directive
 of type (with tag optional-tag if optional-tag is present) else #fGef
\end_layout

\begin_layout Itemize
(d-DirectivePut-standalone tag) inserts a standalone directive with the
 given tag at the current cursor position and places the cursor on it.
\end_layout

\begin_layout Itemize
(d-DirectiveGetTag-type) where type is one of score, scoreheader, movementcontro
l, header, paper, layout, clef, timesig, keysig, staff, voice, standalone,
 chord or note.
 This returns the tag if the cursor is on a directive of type else #f
\end_layout

\begin_layout Itemize
(d-DirectiveGetTagForTag-type tag) returns the tag passed in if the cursor
 is on directive of type with that tag, else it returns the tag of the first
 directive of type that is present at the cursor, else #f
\end_layout

\begin_layout Itemize
d-WarningDialog Pass a string argument to pop up a warning.
\end_layout

\begin_layout Itemize
d-GetOption (parameter string of options).
 Takes a null separated set of options and pops up a dialog offering them
 to the user.
 Returns the one chosen or #f if the user cancels.
\end_layout

\begin_layout Itemize
d-GetMidi
\end_layout

\begin_layout Itemize
d-PutMidi
\end_layout

\begin_layout Itemize
d-PlayMidiKey
\end_layout

\begin_layout Itemize
d-BassFigure
\end_layout

\begin_layout Itemize
d-GetNoteAsMidi 
\end_layout

\begin_layout Itemize
d-RefreshDisplay
\end_layout

\begin_layout Itemize
d-InputFilterNames sets the status bar
\end_layout

\begin_layout Itemize
d-Chordize Ensure that even a single note is treated as a chord – needed
 for some LilyPond constructs (e.
\begin_inset space \thinspace{}
\end_inset

g.
 fingerings)
\end_layout

\begin_layout Standard
Standard Denemo commands that pop up dialogs will work as usual if no argument
 is passed to them from Scheme.
 In general if a string consisting of strings of the form "name=value" is
 passed these will be used and no popup will occur.
 The field "name" will be given the value "value".
 The 
\backslash
0 is a NULL character that separates the assignment strings.
 As a shorthand if there is only one value being passed you can just pass
 the value.
 The names of the fields depend on the action being called.
 So for example:
\end_layout

\begin_layout Standard
\noindent
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{verbatim}
\end_layout

\begin_layout Plain Layout

(d-Open "filename=myfile.denemo")
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{verbatim}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\noindent
will open the file "myfile.denemo".
\end_layout

\begin_layout Standard
This feature is being rolled out, and currently works for:
\end_layout

\begin_layout Itemize
d-InsertLilyDirective (directive, display.
 minpixels) (deprecated function)
\end_layout

\begin_layout Itemize
d-AttachLilyToChord (prefix, postfix, display) deprecated see d-DirectiveGet-cho
rd-* and d-DirectivePut-chord-* below
\end_layout

\begin_layout Itemize
d-AttachLilyToNote (prefix, postfix, display) deprecated see d-DirectiveGet-note
* and Put below
\end_layout

\begin_layout Itemize
d-StaffProperties understands a couple of property=value settings
\end_layout

\begin_layout Itemize
d-InitialClef
\end_layout

\begin_layout Itemize
d-InsertClef
\end_layout

\begin_layout Itemize
d-InitialKey 
\end_layout

\begin_layout Itemize
d-InsertKey
\end_layout

\begin_layout Itemize
d-Open filename
\end_layout

\begin_layout Itemize
d-ScoreProperties (fontsize= size of font to be used for score)
\end_layout

\begin_layout Itemize
GetMeasureTicks
\end_layout

\begin_layout Itemize
MeasureFillStatus
\end_layout

\begin_layout Subsection
Midi Filters
\end_layout

\begin_layout Standard
The MIDI filters are scheme scripts, so they can be tailored to do whatever
 you wish.
 One example is a filter that enables you to enter Figured Bass figures
 by playing the notes corresponding to the figures while holding down the
 bass note.
 Another is the "AngryDelete" filter.
 With this filter on notes are entered normally with the cursor advancing
 automatically, but if you make a mistake and press the wrong note just
 hit the next one much louder and it will make the correction for you! MIDI
 filters are found under Input -> MIDI.
\end_layout

\begin_layout Subsection
LilyPond Editing
\end_layout

\begin_layout Paragraph
Introduction
\end_layout

\begin_layout Standard
From version 0.7.8 we have the ability to edit the LilyPond output within
 Denemo.
 This approach immediately makes Denemo able to do many more things (e.
\begin_inset space \thinspace{}
\end_inset

g.
 multiple verses for songs) with the music still editable from within Denemo.
 The gallery of examples and the standard templates contain examples which
 you can use.
\end_layout

\begin_layout Standard
These can be used without knowing the LilyPond language (provided a suitable
 template or example file exists).
 Alternatively, with a general idea of how a LilyPond file works tweaks
 from the LilyPond documentation can be inserted into the LilyPond output
 and stored with the Denemo, leaving open the possibility of further editing
 of the notes within Denemo without the need to re-apply tweaks or keep
 separate LilyPond files.
\end_layout

\begin_layout Subsubsection
Using the LilyPond Window
\end_layout

\begin_layout Standard
Under the View menu is a Show LilyPond item which pops up a window with
 the LilyPond output in it.
 The text is interspersed with buttons which enable you to hide or show
 the various sections or to create custom versions.
 The text in bold can be altered and the alterations are kept in the Denemo
 file.
\end_layout

\begin_layout Standard
The two windows are kept in sync, so you can move back and forth between
 editing textually and editing in Denemo.
\end_layout

\begin_layout Standard
Right clicking on the text gives a menu for actions on the LilyPond text.
 LilyPond text can be inserted between notes, and the final section (the
 score layout) can be turned into editable text (see Score Layout).
 There is one for moving the cursor to the LilyPond text for the current
 Denemo object.
 Moving the cursor in the text window with the arrow keys causes the Denemo
 window cursor to move in synchronism.
\end_layout

\begin_layout Standard
This menu also includes a Print command that operates on the visible LilyPond
 text in the window.
 This means you can open specific custom score layouts and print from them,
 or even make a temporary edit for just one print.
 If you save the score with custom layouts then these are remembered.
 So when you reload and the custom score layout will be printed.
\end_layout

\begin_layout Standard
You can switch back from the LilyPond window to the Denemo Display by pressing
 Esc or Ctrl-w.
\end_layout

\begin_layout Paragraph
Detail
\end_layout

\begin_layout Standard
Several custom layouts can be kept, selecting them in the Score Layout view
 enables the same Denemo file to print a variety of things from the same
 music input.
 
\end_layout

\begin_layout Standard
For example, a full score or a set of parts, or several voices on group
 of staffs or even a piano reduction.
 
\end_layout

\begin_layout Standard
The various Voices/Staffs for the different Movements are separated by buttons.
 These are labelled by enumerating the movements and staffs in order, so
 the first voice in the first movement has the music defined as "MvmntIVoiceIMus
ic" and so on.
 Within these music blocks you can insert arbitrary LilyPond text between
 notes, (the insertion points are marked by grey blocks) and the text inserted
 will appear as a LilyPond directives in the main Denemo window.
 
\end_layout

\begin_layout Standard
The main Denemo window also moves its cursor to correspond with where you
 are editing.
 (It should of course move the cursor immediately you click on a point in
 the music, but, as yet, it only moves the cursor when you press a key just
 before the note name – one of the arrow keys will do).
\end_layout

\begin_layout Standard
Custom layout blocks can be created by right-clicking on the Standard score
 layout and selecting create custom score layout.
 The Score Layout window allows creation of customized layouts via a GUI.
 If you print a single part from all movements, you get the standard scoreblock
 for this and can add it to your custom score block so that a single print
 command prints, e.
\begin_inset space \thinspace{}
\end_inset

g.
 both a full score and parts.
 Using the 
\backslash
book {} block you can put these into separate files (stored in the folder
 .denemo in your home folder).
\end_layout

\begin_layout Standard
The music defined by MvmntIVoiceIMusic is then used in the score blocks
 at the end of the LilyPond window, by the expression 
\backslash
MvmntIVoiceIMusic.
 This means that the same music can be output in several different ways,
 so that the same Denemo file can contain custom score blocks to output
 the music as a Piano Score with several voices or separate parts, for example.
\end_layout

\begin_layout Standard
The definitions for MvmntIVoiceIMusic actually look like this:
\end_layout

\begin_layout Itemize

\family typewriter
MvmntIVoiceIProlog = {
\backslash
MvmntIVoiceITimeSig 
\backslash
MvmntIVoiceIKeySig 
\backslash
MvmntIVoiceIClef} 
\end_layout

\begin_layout Itemize

\family typewriter
MvmntIVoiceIMusic = {
\backslash
MvmntIVoiceIProlog 
\backslash
MvmntIVoiceI}
\end_layout

\begin_layout Standard
Where 
\backslash
MvmntIVoiceI is the actual block of notes you have written, while the other
 definitions hold the time signature, clef etc.
 By using these, you can print the same music with different clefs, still
 maintaining the ability to edit the notes in Denemo.
\end_layout

\begin_layout Standard
Note that the normal Denemo Print commands are still operate as they do
 if you never look at the LilyPond window.
 What happens is that if you select the Print Current Part menu item then
 this creates a tailored standard scoreblock for that part.
 However, if you use the File->Print command then it prints the first custom
 scoreblock that is open (visible) (or the standard scoreblock if you do
 not have any custom scoreblocks).
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
Clicking (as opposed to using the arrow keys) in the LilyPond text does
 not move the cursor in the Denemo window.
 When you delete a LilyPond directive textually you have to move the cursor
 to start re-inserting it.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Note Note
status open

\begin_layout Plain Layout
I don't see a section about the Chord Charts palette.
\end_layout

\end_inset


\end_layout

\begin_layout Subsection
\begin_inset CommandInset label
LatexCommand label
name "subsec:Musical-Scores-that-Do-Things"

\end_inset

Musical Scores that Do Things!
\end_layout

\begin_layout Standard
By saving a Denemo score with a script defined (in the script window) you
 can create music lessons, automatic midi player \SpecialChar ldots
 the possibilities are
 endless.
 When you open such a score, the script is run – it can take user input
 and manipulate the score, or do other actions as your fancy takes you.
\end_layout

\begin_layout Standard
There is a special score init.denemo that is run on startup.
 By editing this you can startup with whatever template and whatever actions
 you wish to be performed.
 If you set it to do something that quits Denemo, you may need to delete
 the file before using Denemo normally again.
 Your local init.denemo is stored in the directory .denemo/actions in your
 home directory.To create it put the script you want in the script window
 and use SaveAs selecting ~/.denemo/actions/init.denemo as your file to save
 to.
\end_layout

\begin_layout Subsubsection
What Happens at Startup
\end_layout

\begin_layout Standard
On starting the scheme script ~/.denemo-(version number)/actions/denemo.scm
 is executed (where ~ means your home directory and version number is 1.1.2
 or later).
\end_layout

\begin_layout Standard
A denemo file called init.denemo is/was loaded, but this is deprecated.
\end_layout

\begin_layout Standard
In addition, on startup a set of keyboard and mouse shortcuts, and a selection
 of optional menu items are loaded.
 Other sets are available via the Edit->Customize Commands \SpecialChar ldots
->Manage Command
 Set dialog.
\end_layout

\begin_layout Subsection
Starting Denemo – Command Line Options
\end_layout

\begin_layout Standard
Denemo –help shows the options at startup.
 You can open a specific score, execute a scheme script (from a file or
 on the command line) and more.
\end_layout

\begin_layout Part
Technical Reference – Denemo Directives
\end_layout

\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "sec:Denemo-Objects"

\end_inset

Denemo Objects
\end_layout

\begin_layout Standard
Denemo Objects are all the things that are placed in the measures of the
 staffs in the Denemo Display.
 These are Chords, Notes (single note chords), Rests, Clef Changes, Key
 Changes, Time Signature Changes, Voice Changes (stemming control), Tuplet
 Starts, Tuplet Ends and Denemo Directives.
 The Denemo cursor can be stepped through every Denemo Object in the bar
 and by double clicking the object can be inspected and edited in detail.
\end_layout

\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "sec:Denemo-Directives"

\end_inset

Denemo Directives
\end_layout

\begin_layout Standard
Denemo Directives give attributes to objects that are not built-in but can
 be changed by the user.
\end_layout

\begin_layout Standard
Denemo Directives can be attached at almost every level of a Denemo score
 and can modify the behavior of the element concerned.
 They contain fields to describe how the element's properties should be
 modified, either in the display or in the printing.
 Elements, such as clefs notes etc have their own built-in display and print
 properties; Denemo Directives allow you (or scripts you invoke) to modify
 them for many more purposes than the built-in set allows.
 This means Denemo can grow – you can add features – without getting a new
 version.
\end_layout

\begin_layout Standard
For example the drum clef is not built-in to Denemo.
 Instead a directive attached to the clef has a field (graphic) set to an
 image of the drum clef, and another field (postfix) set to the LilyPond
 syntax for a drum clef, while another field (override) is set to indicate
 that these values should replace the normal ones, rather than adding to
 them.
\end_layout

\begin_layout Standard
The elements that can be modified in this way are the following:
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
score: the LilyPond fields (prefix and postfix) are placed at the start
 of the score and just before each movement.
 The display field is shown at the top of the display.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
scoreheader: Attached to the score.
 The postfix field is put inside a 
\backslash
header{} block at the start of the score.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
movementcontrol: Attached to a movement.
 The prefix field is placed before the movements 
\backslash
score{} block, the postfix after it.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
header: Attached to a movement.
 As scoreheader but for 
\backslash
header{} blocks inside the movement's score block.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
paper: Attached to the score.
 The postfix is placed inside a 
\backslash
paper{} block.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
layout: Attached to a movement.
 The postfix is placed inside a 
\backslash
layout{} block in the movement's scoreblock.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
clef: Attached to a clef or clef change.
 The graphic holds the displayed icon, gx,gy its position.
 The postfix field is put into the music at the point where the clef is
 found, replacing the normal text if the override is set.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
timesig: Attached to a time signature or time signature change.
 The graphic holds the displayed icon, gx,gy its position.
 The postfix field is put into the music at the point where the time signature
 is found, replacing the normal text if the override is set.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
keysig: as timesig but for key signatures.
 (e.
\begin_inset space \thinspace{}
\end_inset

g.
 used to supress keysignatures in drum clef).
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
staff: The postfix field modifies the whole staff context, with the display
 field printed at the start of the staff
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
voice: The postfix field modifies the voice context, with the display field
 printed at the start of the staff containing the voice
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
standalone: A directive not attached to an music element – it comes with
 the music and is used for things like repeat bars etc.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
chord: The prefix field is emitted before the LilyPond for the chord and
 the postfix after it.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
note: The prefix field is emitted before the LilyPond for the note and the
 postfix after it.
 Examples are fingerings attached to notes etc.
 Again the display and graphic fields a placed in the display positioned
 relative to the note via the coordinate fields gx, gy (for the graphic)
 and tx, ty for the display text.
\end_layout

\begin_layout Standard
The Directives are sufficiently important to have their own commands.
\end_layout

\begin_layout Standard
d-DirectivePut-type-field where type is one of score, scoreheader, movementcontr
ol, header, paper, layout, clef, timesig, keysig, staff, voice, standalone,
 chord or note and field is one of display, tx, ty, gx, gy, graphic, prefix,
 postfix, override, midibytes.
 These commands take two arguments, a tag (string) and a value to set.
 For example:
\end_layout

\begin_layout Standard
\noindent
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{verbatim}
\end_layout

\begin_layout Plain Layout

(d-DirectivePut-note-postfix "LHFinger" "3")
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{verbatim}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\noindent
will put the fingering 3 on (after) the note at the cursor.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
d-DirectiveGet-
\emph on
type-field
\emph default
 
\emph on
type
\emph default
 is one of score, scoreheader, movementcontrol, header, paper, layout, clef,
 timesig, keysig, staff, voice, standalone, chord or note and field is one
 of display, tx, ty, gx, gy, graphic, prefix, postfix, override, midibytes.
 This function returns the value in the field or #f if there is no directive
 with the given tag at the cursor.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
d-DirectiveDelete-
\emph on
type
\emph default
 
\emph on
type
\emph default
 is one of score, scoreheader, movementcontrol, header, paper, layout, clef,
 timesig, keysig, staff, voice, standalone, chord or note.
 This function returns #t or #f if a directive with the given tag was deleted.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
d-Directive-
\emph on
type
\emph default
? returns true if a directive with passed tag is present at cursor, with
 no tag argument returns true if any such directive is present
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
d-DirectiveGetForTag-
\emph on
type
\emph default
 returns the tag for the directive at the cursor of 
\emph on
type
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
d-DirectiveGetNthTag-chord 
\emph on
index 
\emph default
Gets the index'th tag of 
\emph on
type
\emph default
 at the cursor, index starts at 0.
\end_layout

\begin_layout Subsection
The Directive Fields
\end_layout

\begin_layout Standard
The fields of the Denemo Directive can control the Denemo Display and the
 LilyPond output.
\end_layout

\begin_layout Standard
The fields in d-DirectiveGet/Put have the following meanings:
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
postfix – A fragment of LilyPond to be output (after the LilyPond for any
 object the directive is attached to).
 
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
prefix – A fragment of LilyPond to be output (before the LilyPond for any
 object the directive is attached to).
 
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
display – text to be shown in the Denemo Display
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
tx,ty – where to show the text in the Denemo Display
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
graphic – For directives that are in the music this is a .png image to be
 shown in the Denemo Display (the directory bitmaps holds these).
 The graphic can be saved for a command using the right-click -> Save Graphic
 command, after selecting a portion of the print preview as the image required.
 For directives attached to the score, movement etc the string set here
 will be displayed on the button in the button box for that sort of directive
 (see Show Score Titles etc in view menu for showing this button box).
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
gx,gy – where to show thegraphic in the Denemo Display
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
minpixels – how much space to leave for this item in the Denemo Display
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
override – Contains bits to determine whether the LilyPond contained in
 the Directive (postfix and/or prefix fields) should override the normal
 LilyPond output, and whether the Graphic should replace the normal Denemo
 display for the item.
 A further tranche of bits controls MIDI output for the directive, which
 can override the normal MIDI interpretation of the music and provide additional
 information not explicit in the music notation (e.
\begin_inset space \thinspace{}
\end_inset

g.
 the tempo of an Adagio marking).
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
midibytes – a string of numbers (in hexadecimal format) whose interpretation
 is given by the MIDI bits in the override field
\end_layout

\begin_layout Standard
The override field contains the following bits:
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_LILYPOND: override the LilyPond output normally used at
 this point, rather than adding to the normal output.
 The text used is in the prefix and postfix fields.
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_GRAPHIC: overrides what Denemo would normally show in the
 display with the image named in the graphic field of the directive
\end_layout

\begin_layout Standard
The MIDI bits in the override field are as follows
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_VOLUME: the MIDI velocity to use
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_DURATION: affects the duration of a note.
 not yet implemented
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_REPEAT: indicates that an earlier passage should be repeated
 (from a directive of the same tag).
 not yet implemented
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_CHANNEL: midibytes field gives the MIDI channel to use (?
 implemented?)
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_TEMPO: midibytes field gives the tempo to use.
\end_layout

\begin_layout Standard
The interpretation of these flags is modified by the following flags:
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_ONCE: the value in midibytes is to be used just for the
 item the directive is attached to.
 not yet implemented
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_STEP: the value in midibytes is to be used from this point
 on
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_RAMP: the value in midibytes is to be used as a starting
 value, a corresponding directive (i.
\begin_inset space \thinspace{}
\end_inset

e.
 with the same tag) gives the findal value, values are then interpolated
 between these.
 not yet implemented
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_RELATIVE: value in midibytes is used relative to the current
 value (otherwise it is an absolute value; e.
\begin_inset space \thinspace{}
\end_inset

g.
 an absolute velocity etc)
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
DENEMO_OVERRIDE_PERCENT: value in midibytes is interpreted as percentage
 value.
 not yet implemented
\end_layout

\begin_layout Standard
These flags are combined together to get the combination required for the
 directive using the scheme procedure called logior.
\end_layout

\begin_layout Standard
Here is an example, making a step-change in volume of 0x40 in the MIDI output,
 and printing "più mosso" in the output score 
\end_layout

\begin_layout Standard
\noindent
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{verbatim}
\end_layout

\begin_layout Plain Layout

;;;;;;;;;; piu mosso
\end_layout

\begin_layout Plain Layout

(d-DirectivePut-standalone-minpixels "StepTempo" 20)
\end_layout

\begin_layout Plain Layout

(d-CursorLeft)
\end_layout

\begin_layout Plain Layout

(d-DirectivePut-standalone-override "StepTempo" (logior DENEMO_OVERRIDE_TEMPO
 DENEMO_OVERRIDE_STEP DENEMO_OVERRIDE_RELATIVE))
\end_layout

\begin_layout Plain Layout

(d-DirectivePut-standalone-midibytes "StepTempo" "40")
\end_layout

\begin_layout Plain Layout

(d-DirectivePut-standalone-display "StepTempo" "piu mosso")
\end_layout

\begin_layout Plain Layout

(d-DirectivePut-standalone-postfix "StepTempo" "^
\backslash

\backslash
markup {
\backslash

\backslash
bold 
\backslash

\backslash
italic 
\backslash
"più mosso
\backslash
"}")
\end_layout

\begin_layout Plain Layout

(d-RefreshDisplay)
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{verbatim}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\noindent
In this example the directive is a standalone directive.
 MIDI commands are being extended to apply to chords and notes.
 Implementation of the commands for Voices, Movements, Score etc are not
 yet done.
\end_layout

\begin_layout Subsection
Directive Edit Scripts
\end_layout

\begin_layout Paragraph
Introduction
\end_layout

\begin_layout Standard
Score and movement directives can define a value for their graphic – a button
 then appears at the top of the score which can be used to edit the directive.
 Likewise Staff and Voice directives show as a properties icon before the
 staff to which they apply (staff directives above, voice directives below).
 Clicking on these lets you edit the directive.
\end_layout

\begin_layout Standard
The command EditDirective can be used when the cursor is on a Denemo Directive
 object, or an object with a Denemo Directive attached to it.
 What happens then is determined by a script named after the "tag", or name
 of the directive.
 For example the command RehearsalMark creates a Directive with tag "RehearsalMa
rk" and EditDirective runs a script called RehearsalMark.scm.
\end_layout

\begin_layout Standard
There is also a low-level editing dialog which is invoked if no editing
 script exists or directly from scheme using (d-DirectiveTextEdit-* tagname).
 This allows you to edit and delete a directive directly.
 The other directive editing commands are EditScoreDirective EditMovementDirecti
ve EditStaffDirective EditVoiceDirective EditClefDirective EditKeysigDirective
 EditTimesigDirective for directives attached to the relevant objects.
\end_layout

\begin_layout Standard
The low level edit of directives from scheme uses the following command:
\end_layout

\begin_layout Standard
\noindent
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{verbatim}
\end_layout

\begin_layout Plain Layout

(d-DirectiveTextEdit-<field> <tagname>)
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{verbatim}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\noindent
Where <tagname> specifies the directive to be edited and <field> is one
 of score, scoreheader, movementcontrol, header, paper, layout, clef, timesig,
 keysig, staff, voice, standalone, chord or note.
\end_layout

\begin_layout Standard
For example,
\end_layout

\begin_layout Standard
\noindent
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{verbatim}
\end_layout

\begin_layout Plain Layout

(d-DirectiveTextEdit-paper "PrintAllHeaders") 
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{verbatim}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\noindent
gives low-level access to the directive setting the print all headers command
 in the paper block of the LilyPond output.
\end_layout

\begin_layout Subsubsection
Initialization Scripts
\end_layout

\begin_layout Standard
Each menu can have an initialization script, which can contain procedures
 that would be too time consuming to define every time they are needed.
 These scripts are guaranteed to be run before any menu item is activated
 within the menu.
 They can be read/written using the right click menu on any scripted menu
 item.
\end_layout

\begin_layout Subsubsection
Edit Scripts
\end_layout

\begin_layout Standard
Each directive has a tag field, so that it can be recognized by the scripts
 that manipulate it.
 In particular for each tag there can be an edit script, for editing a directive
 of that tag.
 
\end_layout

\begin_layout Standard
Edit scripts are kept in a directory actions/editscripts parallel with the
 directory actions/menus where the commands themselves are kept.
 
\end_layout

\begin_layout Standard
You can read and write edit scripts by using the low level editing dialog
 on a directive with the tag you are writing for.
 
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
The low level editing dialog is the one that is presented if there is no
 edit script.
 Edit scripts can themselves give access to this dialog by including an
 option cue-Advanced which calls (d-DirectiveTextEdit-field tag) for the
 appropriate field and tag.
 For an example see the edit script for Instruments -> Orchestra -> RehearsalMar
k.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
They have available functions to enable editing of directives which are
 defined in actions//denemo.scm executed at startup.
 The functions and variables for script editing are:
\end_layout

\begin_layout Itemize
d-GetOption followed by a nul separated list of options, offers the options
 to the user and returns one, or #f if the user cancels.
 More useful commands RadioBoxMenu and RadioBoxMenuList are built on this
 for a nicer interface.
\end_layout

\begin_layout Itemize
Extra-Offset tag type context.
 Takes three string options: tag is the name of the directive to be edited,
 which must be the name of a LilyPond object, type is the type of directive
 (note, chord, standalone, staff, voice or score), context is the LilyPond
 context of the object.
 Only tag is required.
 Shifts the object in the LilyPond output.
\end_layout

\begin_layout Itemize
SetPadding tag type context.
 As Extra-Offset, it sets the space left around the item in the LilyPond
 engraving process.
\end_layout

\begin_layout Itemize
SetRelativeFontSize tag type context.
 As Extra-Offset, it shifts the font size of the following text in the LilyPond
 engraving process.
\end_layout

\begin_layout Itemize
CreateButton tag label this is just a convenience function to put a button
 with the passed in label onto a button box at the top of the screen.
 Scripts can attach actions to such tagged buttons.
\end_layout

\begin_layout Itemize
d-SetDirectiveTagActionScript tag scheme-actions.
 This command sets scheme-actions as the actions to be performed when the
 button of the given tag is clicked.
 The default action is to run any editscript associated with tag, and if
 none to run the d-DirectiveTextEdit-score on the directive that displays
 the button.
\end_layout

\begin_layout Itemize
d-DirectiveGetForTag-field tag.
 Useful variables defined:
\begin_inset Separator latexpar
\end_inset


\end_layout

\begin_deeper
\begin_layout Itemize
(define stop "
\backslash
0")
\end_layout

\begin_layout Itemize
(define cue-Advanced "Advanced")
\end_layout

\begin_layout Itemize
(define cue-PlaceAbove "Place above staff")
\end_layout

\begin_layout Itemize
(define cue-PlaceBelow "Place below staff")
\end_layout

\begin_layout Itemize
(define cue-SetRelativeFontSize "Set Relative Font Size")
\end_layout

\begin_layout Itemize
(define cue-OffsetPositionAll "Offset Position (All)")
\end_layout

\begin_layout Itemize
(define cue-OffsetPositionOne "Offset Position (One)")
\end_layout

\begin_layout Itemize
(define cue-EditText "Edit Text")
\end_layout

\begin_layout Itemize
(define cue-SetPadding "Set Padding")
\end_layout

\begin_layout Itemize
(define cue-Delete "Delete")
\end_layout

\end_deeper
\begin_layout Part
\start_of_appendix
Obtaining and Installing Denemo
\end_layout

\begin_layout Standard
Denemo is available from the Downloads page of the Denemo website 
\begin_inset CommandInset href
LatexCommand href
name "https://denemo.org"
target "https://denemo.org"
literal "false"

\end_inset

, where more up-to-date information will be found.
 This is the preferred way of obtaining Denemo, as the various offerings
 from elsewhere are often either broken or out-of-date.
\end_layout

\begin_layout Section
Upgrading Denemo
\end_layout

\begin_layout Standard
If you already have a version of Denemo then installing a new version brings
 with it the question of retaining your preferences, shortcuts etc.
 These are stored in a directory (
\begin_inset Quotes eld
\end_inset

folder
\begin_inset Quotes erd
\end_inset

 in windows) in your home directory that is named after the Denemo version
 number.
 So for version number 2.0.0 the directory is called 
\begin_inset Quotes eld
\end_inset

.denemo-2.0.0
\begin_inset Quotes erd
\end_inset

.
\end_layout

\begin_layout Standard
They are copied for you from the old directory to the new one if you ask
 for this on startup.
 If you forget to do this you can delete the new directory .denemo-2.0.2 (say)
 and when you start Denemo it will again ask if you want to keep your preference
s from the earlier version.
\end_layout

\begin_layout Section
Obtaining the Source
\end_layout

\begin_layout Standard
Denemo is available from a variety of sources for different distributions.
 The latest stable release (tar.gz and .deb formats) is available for download
 from 
\begin_inset CommandInset href
LatexCommand href
name "https://denemo.org/downloads-page/"
target "https://denemo.org/downloads-page/"
literal "false"

\end_inset

.
 You can install Denemo from the Debian unstable repositories, using the
 command apt-get install denemo.
 Builds for Macintosh are available from the Gnu-Darwin project.
 The Denemo development branch can be downloaded using anonymous CVS or
 Git.
\begin_inset Newline newline
\end_inset


\end_layout

\begin_layout Standard
Anonymous Git checkout:
\end_layout

\begin_layout Standard
\noindent
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{verbatim}
\end_layout

\begin_layout Plain Layout

git clone git://git.savannah.gnu.org/denemo.git
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{verbatim}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\noindent
Anonymous CVS checkout: 
\end_layout

\begin_layout Standard
\noindent
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{verbatim}
\end_layout

\begin_layout Plain Layout

cvs -d:pserver:anonymous@pserver.git.sv.gnu.org:/denemo.git co -d denemo master
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{verbatim}
\end_layout

\end_inset


\end_layout

\begin_layout Paragraph
\noindent
Dependencies
\end_layout

\begin_layout Standard
To build Denemo from a source package, pleas see the website for an up-to-date
 list of dependencies.
 Remember to install the development packages as well (check your distribution
 for the specific package name):
\end_layout

\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open

\begin_layout Plain Layout
For Debian Users: Type apt-cache showsrc denemo at a command line to determine
 what are the package names for Denemo dependencies.
 Type apt-get build-dep denemo to build the dependent files or use apt-get
 to install the packages individually by copying and pasting their names
 to the command line.
\end_layout

\end_inset


\end_layout

\begin_layout Section
Installing Denemo from Source Code
\end_layout

\begin_layout Standard
Denemo is available in a variety of formats.
 The current stable release is available either as source code or in binary
 format.
 The Development branch of Denemo is available as a GIT source tree.
\end_layout

\begin_layout Subsection
To install from source code:
\end_layout

\begin_layout Enumerate
Open a terminal window.
\end_layout

\begin_layout Enumerate
Change directory to the directory to which you downloaded the Denemo source
 package.
\end_layout

\begin_layout Enumerate
Uncompress the source package using standard Linux tools (tar and gunzip).
\end_layout

\begin_layout Enumerate
Change directory to the uncompressed source directory.
\end_layout

\begin_layout Subsection
Generating a Configure Script
\end_layout

\begin_layout Standard
Git does not come with a Configure script; generate one by typing and pressing
 Enter after the line:
\end_layout

\begin_layout Standard
\noindent
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{verbatim}
\end_layout

\begin_layout Plain Layout

./autogen.sh
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{verbatim}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\noindent
To build from source, press Enter after each line:
\end_layout

\begin_layout Standard
\noindent
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{verbatim}
\end_layout

\begin_layout Plain Layout

./configure
\end_layout

\begin_layout Plain Layout

make
\end_layout

\begin_layout Plain Layout

make install
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{verbatim}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\noindent
If you are not logged in as root user, for the last step type su and your
 root password, or alternately type sudo make install.
\end_layout

\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Part*
Acknowledgements
\end_layout

\begin_layout Standard
Many people have contributed to this manual, directly and indirectly, over
 the years, sometimes the passage of time has obscured their names.
 Contributors include Matthew Hiller, Adam Tee, Jeremiah Benham, Roy Rankin,
 Aaron Mehl, Nils Gey, S.
 Binder, J.
 K.
 Wilkinson, A.
 Schneider.
\end_layout

\begin_layout Standard
\begin_inset CommandInset index_print
LatexCommand printindex
type "idx"
name "Index"
literal "true"

\end_inset


\end_layout

\end_body
\end_document
