File: manualout.html

package info (click to toggle)
denemo 2.6.39-0.3
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 66,228 kB
  • sloc: ansic: 94,371; lisp: 38,489; xml: 22,630; python: 1,930; sh: 1,239; makefile: 642; yacc: 288; sed: 93
file content (140 lines) | stat: -rw-r--r-- 70,512 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /></head><body><div class="article" lang="en" xml:lang="en"><div class="titlepage"><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#intro">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="#id2449776">Relationship to LilyPond</a></span></dt></dl></dd><dt><span class="section"><a href="#id2450617">Obtaining and Installing Denemo</a></span></dt><dd><dl><dt><span class="section"><a href="#id2450636">Dependencies</a></span></dt><dt><span class="section"><a href="#id2450680">Optional Includes</a></span></dt><dt><span class="section"><a href="#id2450713">Installing Denemo</a></span></dt></dl></dd><dt><span class="section"><a href="#guitour">Getting to Know the Denemo Interface</a></span></dt><dt><span class="section"><a href="#gettingstarted">Using Denemo</a></span></dt><dd><dl><dt><span class="section"><a href="#id2450802"></a></span></dt><dt><span class="section"><a href="#id2450865">Modes</a></span></dt><dt><span class="section"><a href="#templates">Templates</a></span></dt><dt><span class="section"><a href="#scoresetup">Score Setup</a></span></dt><dt><span class="section"><a href="#customscoresetup">Setting up a Custom Score</a></span></dt><dt><span class="section"><a href="#noteentry">Note Entry</a></span></dt><dt><span class="section"><a href="#accidentalssect">Accidentals</a></span></dt></dl></dd><dt><span class="section"><a href="#editing">Editing</a></span></dt><dd><dl><dt><span class="section"><a href="#id2452481">Command</a></span></dt></dl></dd><dt><span class="section"><a href="#id2452677">Expression Marks</a></span></dt><dt><span class="section"><a href="#id2453326">Adding Lyrics</a></span></dt><dt><span class="section"><a href="#id2453406">Repeats</a></span></dt><dt><span class="section"><a href="#playing">Score Playback</a></span></dt><dd><dl><dt><span class="section"><a href="#midi">Midi</a></span></dt><dt><span class="section"><a href="#csound">Csound</a></span></dt></dl></dd><dt><span class="section"><a href="#publish">Publishing</a></span></dt><dt><span class="section"><a href="#advanced">Advanced Features</a></span></dt><dd><dl><dt><span class="section"><a href="#id2453773">Tuplets</a></span></dt><dt><span class="section"><a href="#id2453918">Changing Stem direction</a></span></dt><dt><span class="section"><a href="#id2453927">Figured Bass Entry</a></span></dt><dt><span class="section"><a href="#polyphony">Polyphony</a></span></dt></dl></dd><dt><span class="section"><a href="#customizingDenemo">Adding Custom Key Bindings</a></span></dt><dd><dl><dt><span class="section"><a href="#id2454054">The Customize Keybindings Dialog</a></span></dt></dl></dd><dt><span class="section"><a href="#LilyPondfiles">Working With LilyPond Files</a></span></dt><dt><span class="section"><a href="#analysis">Music Analysis with Denemo</a></span></dt><dt><span class="section"><a href="#id2454303"></a></span></dt></dl></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="intro"></a>Introduction</h2></div><div><h3 class="subtitle">Why Use Denemo</h3></div></div></div><p>GNU Denemo is a modal, graphical music notation program. (<a href="http://Denemo.sourceforge.net" target="_top">http://Denemo.sourceforge.net</a>). Denemo is a quick clean editor without all the clutter and eye candy of other editors. It places emphasis on your computer's keyboard for inputting notation.(input via midi keyboard is planned for a later release) </p><p>Speed is in fact where Denemo excels, with a choice of multiple key binding files it is easy to make Denemo perform to your individual needs. By making notation entry touch type-able Denemo saves your hands from the mouse fatigue associated with common notation packages</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id2449776"></a>Relationship to LilyPond</h3></div></div></div><p></p><p>Denemo is intended to be used in conjunction with GNU LilyPond (<a href="http://www.LilyPond.org" target="_top">http://www.LilyPond.org</a>), but is adaptable to other computer-music-related purposes as well such as musical analysis. Denemo tries to output LilyPond code for stable releases, but not necessarily  the current version. The principle is to stay close enough to permit the use of the LilyPond 'convert-ly' script. Denemo can additionally be used to output <span class="emphasis"><em>ABC</em></span>music notation files.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id2450617"></a>Obtaining and Installing Denemo</h2></div></div></div><p>Denemo is available from a variety of sources for different distributions.  The latest stable release is available for download from Denemo's sourceforge download page, there you will also find binary files both in tar.gz format and RPM packages. Thanks to Guenter Geiger, you can get the build Denemo from the Debian unstable repositories, using the command <span><strong class="command">apt-get install Denemo</strong></span>. Additionally a build for macintosh is available gnu-darwin.org. Distribution specific packages are available throughout the internet, if you don't see that latest release of Denemo contact your Distros maintainer and request they add it. </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id2450636"></a>Dependencies</h3></div></div></div><p>Before building Denemo from CVS or a source package make sure to fulfil the following build requirements, including their development packages (check your distribution for the package name):

</p><div class="itemizedlist"><ul type="disc"><li><p>g++ 2.95 or higher</p></li><li><p>flex 2.5.4a or higher</p></li><li><p>bison 1.35 or higher</p></li><li><p>gtk+ 2</p></li><li><p>libxml2</p></li><li><p>LilyPond 2.4</p></li><li><p>autoconf 2.59 or higher</p></li></ul></div><p>
</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id2450680"></a>Optional Includes</h3></div></div></div><p>The following are not necessary for building Denemo but will help you get the most out of score editing with Denemo:</p><div class="itemizedlist"><ul type="disc"><li><p>C Sound</p></li><li><p>An audio player such as play, or aplay</p></li><li><p>A midi player such as Timidity</p></li><li><p>A good text editor with plugins for LilyPond editing: some good choices are Vim, Emacs and Jedit.</p></li><li><p></p></li></ul></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id2450713"></a>Installing Denemo</h3></div></div></div><p>To complile Denemo from source make sure you have the latest version of autoconf (at least 2.59), libtools, and automake. Go to the directory where you downloaded the Denemo source tree. If it was a tar.gz file make sure you use the standard Linux tools to uncompress it. For CVS  type the following commands at the prompt:</p><div class="procedure"><ol type="1"><li><p>aclocal</p></li><li><p>libtoolize --force</p></li><li><p>./autogen.sh</p></li><li><p>./configure, To enable plugins: ./configure --with-plugins='plugin name'(there are currently two plugins available, a Niff convertor and an analysis plugin)</p></li><li><p>make</p></li><li><p>make install</p></li></ol></div><p>For the latest release start with step four above (./configure {options})</p><p>For binary packages use your distributions standard tools (RPM and APT-GET)</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="guitour"></a>Getting to Know the Denemo Interface</h2></div></div></div><p>The main window of Denemo is where all notation tasks are performed;</p><div><img src="Denemomain.png" /></div><p>

 The main window consists of the standard File and edit menus, a toggleable noteentry toolbar and additional menus for note entry, navigation and editing.

 </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="gettingstarted"></a>Using Denemo</h2></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"></div><p>The primary way to interact with Denemo is with the keyboard. Denemo is extremely keyboard-centric, this permits the user to achieve touch type control of musical editing. It is easy to assign key bindings to functions that don't already have a default one (see <a href="#customizingDenemo" title="Adding Custom Key Bindings">the section called “Adding Custom Key Bindings”</a>).</p><p>  In graphical music editing there are at least two dimensions - up and down (the staff lines), right and left (forwards and backwards). With graphic note entry the adding of note values and pitches with the mouse is slow going. Using the number pad forces your hand to leave the touch typing "Home" keys. No wonder most  music notation programs rely on midi entry as the primary way of inputting notation.
 </p><p>LilyPond notation removes the up and down aspects because it is plain text (ASCII), which is linear by nature (typing letters). Denemo, a graphic editor responds to the same ASCII (text) commands, permitting you to enter notation linearly and display it graphicly. With Denemo you won't need to reach for your mouse, except on rare occasions. To get the most out of Denemo it is recommended that you do the  LilyPond tutorials <a href="http://www.LilyPond.org" target="_top">http://www.LilyPond.org</a> and the VIM tutorial.<a href="http://www.vim.org" target="_top">http://www.vim.org</a>  (At the command line type #vimtutor)
 Denemo uses key maps to permit a flexible method of inputting notation. The default key map adopts a unique note entry system using LilyPond notes and vim shortcuts. These keyboard shortcuts permit rapid note entry for those already familiar with LilyPond note entry. The speedy entry key map uses a more natural system of finger placement to greatly speed up notation entry. An emacs style key map is planned for a later date for those more comfortable with Emacs.  If you prefer a different keyboard shortcut scheme, Denemo permits you to easily create your own key map. (see <a href="#customizingDenemo" title="Adding Custom Key Bindings">the section called “Adding Custom Key Bindings”</a>). (Input via MIDI keyboard is planned for later versions of Denemo.) IDenemo also provides language specific keymaps for a few langauages. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id2450865"></a>Modes</h3></div></div></div><p>Denemo is a modal editor, reminecent of Vim. This means that Demeno uses modes to accomplish various tasks. Currently Denemo sports the following modes:<span class="emphasis"><em> Default</em></span>,<span class="emphasis"><em> Blank</em></span>, <span class="emphasis"><em> Replace</em></span> and <span class="emphasis"><em> Insert</em></span> modes. Default note entry mode is where you will do most of your notating, such as adding notes and rests. Blank mode permits easy entry of polyphony as described in <a href="#polyphony" title="Polyphony">the section called “Polyphony”</a>. Replace mode is an easy way to correct your work and will be described in detail in <a href="#editing" title="Editing">the section called “Editing”</a>.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>To return to default note entry mode just hit the escape key.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="templates"></a>Templates</h3></div></div></div><p>Denemo comes with a variety of templates for many of the common ensemble types. To start notating from a Template navigate to the File menu and choose Open Template. The Choose Template dialog box will open. You will see categories of Templates to choose from. Click on your desired category and choose the template you desire. You most likely will need to adjust the time and key signatures to your needs. See <a href="#clefkeytim" title="Basic Score Setup">the section called “Basic Score Setup”</a> for more details.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="scoresetup"></a>Score Setup</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>This section is based on the speedy key map. To load the speedy key map go to the edit menu, open the key map dialog box and click the add custom key map. Navigate to ~.Denemo/keymaps/ and select speedy.keymaprc. Save this key map as your default key map and continue.</p></div><div class="procedure"><a id="id2450942"></a><p class="title"><b>Procedure 2. Creating a New Score</b></p><ol type="1"><li><p>From the Score menu Choose Headers.</p></li><li><p>In the Headers dialog box fill in the Composer, Title and Subtitles and other fields as needed then click Ok</p></li><li><p>Next setup your Clef, Key signature, and Time Signature as described next </p></li></ol></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="clefkeytim"></a>Basic Score Setup</h4></div></div></div><p>The easiest way to add clefs, key signatures, and time signatures, is to use the speedy keyboard shortcuts. You can also, navigate to  the Attributes menu and use the appropriate sub-menu as needed. Here are the shortcuts for setting up an initial score:</p><div class="table"><a id="id2450978"></a><p class="title"><b>Table 1. </b></p><table summary="" border="1"><colgroup><col /><col /><col /><col /></colgroup><thead><tr><th> Action </th><th> Shortcut </th><th> Action </th><th> Shortcut </th></tr></thead><tbody><tr><td> Add an initial time signature </td><td><span><strong class="keycap">Ctrl</strong></span>-<span><strong class="keycap">p </strong></span></td><td> Insert a time signature change </td><td> <span><strong class="keycap">Ctrl</strong></span>-<span><strong class="keycap">shift</strong></span>-<span><strong class="keycap"> t</strong></span></td></tr><tr><td> Add an initial key signature </td><td><span><strong class="keycap"> Alt</strong></span>-<span><strong class="keycap">k</strong></span></td><td> Insert a key signature change </td><td><span><strong class="keycap">Shift</strong></span>-<span><strong class="keycap">K</strong></span></td></tr><tr><td> Add an initial Clef </td><td> <span><strong class="keycap">Ctrl</strong></span>-<span><strong class="keycap">c</strong></span></td><td> Insert a Clef change </td><td> <span><strong class="keycap">Shift</strong></span>-<span><strong class="keycap">C</strong></span></td></tr></tbody></table></div><p>Choosing a Clef is a simple process, however here is a quick walk-through:</p><div class="procedure"><ol type="1"><li><p>Click on the <span class="guimenuitem">Attributes Menu</span></p></li><li><p>Navigate to the <span class="guisubmenu">Clef</span> submenu. </p></li><li><p>Click on either the  <span class="guimenuitem">Add Clef</span> or <span class="guimenuitem">Change Clef</span> menu items. The <span class="emphasis"><em>Set Clef</em></span> or <span class="emphasis"><em>Change Clef</em></span> dialog box appears.</p></li><li><p>  Once the <span class="guimenuitem">Add Clef</span> dialog box appears choose the Clef you want from the drop down list and click OK</p></li></ol></div><p>
</p><div class="figure"><a id="id2451141"></a><p class="title"><b>Figure 1. Set Clef Dialog Box</b></p><div class="mediaobject" align="center"><img src="Changeclefdialog.png" align="middle" width="NaN" alt="Set Clef Dialog Box" /></div></div><p>To select a Key Signature do the following:</p><div class="procedure"><ol type="1"><li><p>Click on the <span class="guimenuitem">Attributes Menu</span></p></li><li><p>Navigate to the Key Signature submenu.</p></li><li><p>Click on the Add Key Signature or Change Key Signature menu items. The Add Key Signature or Change Key signature dialog box appears.</p></li><li><p>Choose the key signature you want from the drop down list</p></li><li><p> Select either Major or Minor key. Click <span class="guimenuitem">OK</span> </p></li></ol></div><div class="figure"><a id="id2451195"></a><p class="title"><b>Figure 2. Key Signature drop down List</b></p><div class="mediaobject" align="center"><img src="selectingkey.png" align="middle" width="NaN" alt="Key Signature drop down List" /></div></div><p>

</p><p>
</p><div class="figure"><a id="id2451213"></a><p class="title"><b>Figure 3. Key Signature Dialog box</b></p><div class="mediaobject" align="center"><img src="initalkeydialog.png" align="middle" width="NaN" alt="Key Signature Dialog box" /></div></div><p>To select a Time Signature do the following: </p><div class="procedure"><ol type="1"><li><p>Navigate to the <span class="guimenu">Preferences</span> Menu.</p></li><li><p>Click on<span class="emphasis"><em> Add Time Signature</em></span> or <span class="emphasis"><em>Change Time Signature</em></span>. The Add Time Signature or Change Time Signature dialog box appears.</p></li><li><div class="figure"><a id="id2451257"></a><p class="title"><b>Figure 4. Time Signature Dialog</b></p><div class="mediaobject" align="center"><img src="settimesigniture.png" align="middle" width="NaN" alt="Time Signature Dialog" /></div></div><p>
</p></li><li><p>Type the time signature into the fractional text boxes.</p></li><li><p>If you want the Time signature to change for all parts in your score, check apply to all staffs.</p></li><li><p>Click OK</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Be careful to uncheck the apply to all staffs check box if you only want the time change, clef change or key change to apply to the current staff.</p></div></li></ol></div><div class="figure"><a id="id2451296"></a><p class="title"><b>Figure 5. </b></p><div class="mediaobject" align="center"><img src="settimesigniture.png" align="middle" width="NaN" /></div></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="customscoresetup"></a>Setting up a Custom Score</h3></div></div></div><p>While Denemo comes with a variety of templates to choose from, you may need to create your own custom score, The procedure is fairly easy:</p><div class="itemizedlist"><ul type="disc"><li><p>Using either the<span class="guimenu">Staff</span> menu or keyboard shortcuts add as many staves as you need. From the  <span class="guimenu">Staff</span> choose <span class="guilabel">Add New Staff After Current Staff</span> or type <span><strong class="command">Ctrlshift A</strong></span> If you need to add staff before the current one type <span><strong class="command">Ctrl shift B</strong></span>. To delete the current staff type <span><strong class="command">Ctrl Shift x or Ctrl shift delete</strong></span>. </p></li><li><p>Adjust key signitures, time signitures and clefs as needed.</p></li></ul></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="noteentry"></a>Note Entry</h3></div></div></div><p>Note entry is accomplished either using the keyboard or mouse. Mouse entry is provided for those who just can't break out of mouse mode to use the touch typing power of the keyboard. Midi note entry is planned for a future stage. If midi input is a must try <a href="http://www.volny.cz/smilauer/rumor/rumor.html" target="_top">Rumor</a> or <a href="http://utopia.knoware.nl/~hlub/uck/software/" target="_top">Emacs midi input</a>in conjunction with Emacs and Lilypond.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="addpitches"></a>Adding pitches</h4></div></div></div><p></p><p>Denemo comes with a Quickreferece Card as a separate file, for our purposes part of it is included below.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"></div><div class="table"><a id="Keyboardshorts"></a><p class="title"><b>Table 2. Denemo Basic Movements and Note entry</b></p><table summary="Denemo Basic Movements and Note entry" border="1"><colgroup><col /><col /><col /><col /></colgroup><thead><tr><th>Key Combo</th><th>Movement</th><th>Command</th><th>Action</th></tr></thead><tbody><tr><td>a</td><td>Move cursor to nearest a</td><td>y</td><td>Enter a whole note at cursor</td></tr><tr><td>b</td><td>Move cursor to nearest b</td><td>u</td><td>Enter a half note at cursor</td></tr><tr><td>c</td><td>Move cursor to nearest c</td><td>space</td><td>enter a quarter note at cursor</td></tr><tr><td>d</td><td>Move cursor to nearest d</td><td>i</td><td>Enter an eighth note at cursor</td></tr><tr><td>e</td><td>Move cursor to nearest e</td><td>o</td><td>enter a sixteenth note at cursor</td></tr><tr><td>f</td><td>Move cursor to nearest f</td><td>p</td><td>Enter a thirty-second note at cursor</td></tr><tr><td>g</td><td>Move cursor to nearest g</td><td>Ctrl   7</td><td>Enter a sixty-fourth note at cursor</td></tr><tr><td> </td><td> </td><td>.</td><td>Insert dot</td></tr><tr><td>h</td><td>Move left</td><td> </td><td>Raise note a half step</td></tr><tr><td>l</td><td>Move right</td><td>-</td><td>Lower note a half step</td></tr><tr><td>k</td><td>Move up</td><td>=</td><td>Toggle tie</td></tr><tr><td>j</td><td>Move down</td><td>r</td><td>Toggle rest mode</td></tr><tr><td>'</td><td>Move up an octave</td><td>Ctrl t</td><td>Set initial time signature</td></tr><tr><td>,</td><td>Move down an octave</td><td>Ctrl shift t</td><td>Change time signature</td></tr><tr><td>cntrl j</td><td>Jump to next staff</td><td>alt k</td><td>Set initial key signature</td></tr><tr><td>cntrl k</td><td>Jump to previous staff</td><td>shift k</td><td>Change key signature</td></tr></tbody></table></div><p>
</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Tip</h3><p>Speedy entry uses the note names, apostrophe and comma to navigate to the staff. (left hand) Rhythmic values are entered using the keys above the right hands 'home' keys. ( right hand). Once learned this touch typing method is both quick and easy.  </p></div><p>
</p><div class="figure"><a id="driverseat"></a><p class="title"><b>Figure 6. First Steps</b></p><div class="mediaobject" align="center"><img src="fig1.png" align="middle" width="NaN" alt="First Steps" /></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="thedriverseat"></a>In the Drivers Seat</h4></div></div></div><p>Now that we know the basic movement and note entry keys, a short tutorial is in order .</p><p>Lets look at <a href="#driverseat" title="Figure 6. First Steps">Figure 6, “First Steps”</a>. We see a c major scale and an arpeggio spread over two octaves. Type the letter 'c', the cursor jumps to the nearest c, (if it is in the wrong octave, type a comma [to go down] , or an apostrophe [to go up]) .  We have reached middle c, we could start moving the cursor up note by note using the k key and then down note by note using the k key. A faster method however is to type the letter name of each note and  moves the cursor to the exact pitch. This holds true for the notes of a chord or arpeggio, we jump to the note by typing the note name and adjust the octave with the command and apostrophe. This works if within an octave. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Often you will want to enter notes that jump a large interval. To speed up note entry in such circumstances help Denemo determine the direction by moving one step in that direction using the j or k keys. If you have entered a note on middle c and want to enter a b one octave higher, hit the k key before entering the note. Another solution to big leaps would be to first type an apostrophe or comma  to get into the intended octave and only then type the note name.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id2451919"></a>Rhythm Entry</h4></div></div></div><p>Now that we have an idea how to move around the staff we are ready to add note values. Note values are entered using the right hand.  <a href="#Keyboardshorts" title="Table 2. Denemo Basic Movements and Note entry">Table 2, “Denemo Basic Movements and Note entry”</a> shows the rhythm entry keys as <span class="acronym">YUIOP  </span>. This yields the following: <span class="emphasis"><em>Y</em></span>= a whole note, <span class="emphasis"><em>U</em></span> equals a half note, <span class="emphasis"><em>I</em></span> equals an eighth note,<span class="emphasis"><em>O</em></span> equals a sixteenth note,<span class="emphasis"><em> P</em></span> equals a 32nd note and the <span class="emphasis"><em>space bar</em></span> equals a quarter note. The following acrostic makes it easy to memorize the basic rhythm entry keys. <span class="emphasis"><em> Y</em></span>ou <span class="emphasis"><em>U</em></span>se <span class="emphasis"><em>I</em></span>t <span class="emphasis"><em>O</em></span>n <span class="emphasis"><em>P</em></span>urpose,(space for quarter note) 
</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="Rests"></a>Entering Rests</h4></div></div></div><p>
Denemo provides two methods of adding rests:</p><div class="orderedlist"><ol type="1"><li><p>Using Rest Mode</p></li><li><p>Entering Rests while in insert mode.</p></li></ol></div><p> One way uses the  <span><strong class="command">Alt</strong></span> key to with the <span class="acronym">YUIOP</span> note values to create a few rests quickly. Rest  mode is for entering large quantities of rests quickly using the speedy keyboard shortcut <span><strong class="command">r</strong></span>. 
</p><div class="figure"><a id="rests"></a><p class="title"><b>Figure 7. Rests</b></p><div class="mediaobject" align="center"><img src="rests.png" align="middle" width="NaN" alt="Rests" /></div></div><div class="example"><a id="id2452024"></a><p class="title"><b>Example 1. Inserting Rests</b></p><p><a href="#rests" title="Figure 7. Rests">Figure 7, “Rests”</a> contains a whole rest, a half rest, a quarter rest, an eighth rest and a sixteenth rest.  To enter single rests follow do the following:</p></div><p>
</p><div class="procedure"><ol type="1"><li><p>Move the cursor to the measure you want to add the rest. </p></li><li><p> Type <span><strong class="command">alt y</strong></span>, a  whole rest appears</p></li><li><p>Type <span><strong class="command">Alt u</strong></span>,  a half rest appears</p></li><li><p>Type <span><strong class="command">Alt space</strong></span>, a quarter rest appears</p></li><li><p>Type <span><strong class="command">Alt i</strong></span>, an eighth rest appears</p></li><li><p>Type <span><strong class="command">Alt o</strong></span>, a sixteenths rest appears</p></li><li><p>Type <span><strong class="command">Alt p</strong></span>, a  thirty second rest appears</p></li></ol></div><p>To enter the same rests using rest mode do the following:</p><div class="procedure"><ol type="1"><li><p>Move the cursor to the measure you want to add the rest.</p></li><li><p>Type <span><strong class="command">r</strong></span> to enter rest mode</p></li><li><p>Type <span><strong class="command">y</strong></span>, a  whole rest appears</p></li><li><p>Type <span><strong class="command">u</strong></span>, a  half rest appears</p></li><li><p>Type <span><strong class="command">space</strong></span>, a  quarter rest appears</p></li><li><p>Type <span><strong class="command">i</strong></span>, an  eighth rest appears</p></li><li><p>Type <span><strong class="command">o</strong></span>, a  sixteenths rest appears</p></li><li><p>Type <span><strong class="command">p</strong></span>, a  thirty second rest appears</p></li></ol></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="accidentalssect"></a>Accidentals</h3></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="id2452168"></a>Accidentals</h4></div></div></div><div class="figure"><a id="accidentals"></a><p class="title"><b>Figure 8. Accidentals</b></p><div class="mediaobject" align="center"><img src="accidentals.png" align="middle" width="NaN" alt="Accidentals" /></div></div><p>Accidentals are added using the plus and minus keys on the keyboard. Double sharps and flats are added with additional pluses and  minuses as needed in any particular key signature.</p><p><a href="#accidentals" title="Figure 8. Accidentals">Figure 8, “Accidentals”</a> shows a chromatic scale starting on middle C and ending on middle C. To add accidentals while typing new notes do the following:</p><div class="procedure"><ol type="1"><li><p>Enter a middle C eighth note (type c and then i, if you need to adjust the octave use the command and apostrophe)</p></li><li><p>Enter another middle C eighth note, this time type the plus sign<span><strong class="command"> (+)</strong></span> immediately afterwards, a C sharp appears</p></li><li><p>Enter a D eighth note (type d and then i)</p></li><li><p>Enter a D sharp eighth note (type d and then i and then +)</p></li><li><p>Continue adding notes until you have an exact copy of the first two measures of <a href="#accidentals" title="Figure 8. Accidentals">Figure 8, “Accidentals”</a>.</p></li><li><p>To add flats enter the b eighth note in measure 3 then type a dash <span><strong class="command">(-)</strong></span> a b flat appears.</p></li><li><p>Continue adding flats until you have and exact copy of measures three and four.</p></li></ol></div><p>To add accidentals to existing notation do the following:</p><div class="procedure"><ol type="1"><li><p>Navigate to the note you want to alter using the h,j,k,l motion keys. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>You don't have to be on the exact pitch to add an accidental but make sure to be on the note you want to alter.</p></div></li><li><p>Type a <span><strong class="command">+</strong></span> to alter the pitch up a half step and a <span><strong class="command">-</strong></span> to alter the pitch down a half step.

  </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>This will produce alterations based on the pitch of the original note. So that a f sharp will become a f double sharp and an e flat will become an e.</p></div></li></ol></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>For those familiar with LilyPond, Denemo handles accidentals in a more intuitive fashion. LilyPond requires you to explicitly name each note with an accidental even if it is part of the key signature, Denemo only requires an alteration if the accidental is part of the key signature, and it keeps the alteration for the entire measure. </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="chordsenter"></a>Chord Entry</h4></div></div></div><p>To enter a chord choose a pitch and a rhythm for your base note. 
Next move the cursor to the next chord tone using the letter name for each note or the j and k keys, hit enter to add the note. To make chord entry easier there is a key binding also for the left hand (Ctrl t)as well. Type Enter to toggle chord tones on and off. This add tones or converts rests to a chord tones. Shift Enter removes tones and switches them to rests.</p><div class="figure"><a id="chords"></a><p class="title"><b>Figure 9. Chords</b></p><div class="mediaobject" align="center"><img src="fig3.png" align="middle" width="NaN" alt="Chords" /></div></div><p><a href="#chords" title="Figure 9. Chords">Figure 9, “Chords”</a> three contains a series of chords. To enter chords:</p><div class="procedure"><ol type="1"><li><p> Create a new file and save it to a convient location.</p></li><li><p> Navigate to the E above middle C.  (type the alphabetical note names or the hjkl movement keys).</p></li><li><p>Type an<span><strong class="command"> a</strong></span>and <span><strong class="command">u</strong></span>, a half note g appears.</p></li><li><p> Move the cursor to the<span><strong class="command"> g</strong></span> one line above and type <span><strong class="command">Enter</strong></span> or <span><strong class="command">Ctrl t</strong></span>. Use <span><strong class="command">Enter</strong></span> when you are adding chord tones with the alphabetic note names, and use <span><strong class="command">Ctrl t</strong></span> when using the<span><strong class="command"> h</strong></span>,<span><strong class="command">j</strong></span>,<span><strong class="command">k</strong></span>,<span><strong class="command">l</strong></span>, navigation keys.</p></li><li><p>Experiment moving the cursor to each additional chord tone in the first chord with the <span><strong class="command"> h</strong></span>,<span><strong class="command">j</strong></span>,<span><strong class="command">k</strong></span>,<span><strong class="command">l</strong></span>, navigation keys.</p></li><li><p>Type <span><strong class="command">Ctrl t</strong></span> to add chord tones.<span><strong class="command"> Shift Control</strong></span> will delete chord tones if a wrong note is added accidently.</p></li><li><p> Continue creating chords until <a href="#chords" title="Figure 9. Chords">Figure 9, “Chords”</a>  has been copied.</p></li></ol></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>To alter  chord tones chromatically, type the plus sign to sharpen the note at the cursor by one half-step and the minus sign to flatten the current note by a half step in the same manner you sharpen or flatten any pitch in Denemo</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> Entering a chord when you are already at the end of the measure
(the cursor turns red when this happens) may cause your next note
to be added to the beginning of the next measure, or even 
create a next measure if one didn't already exist.</p></div></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="editing"></a>Editing</h2></div></div></div><p>Denemo has a variety of features to speed editing. To ease correction of notes  Replace mode limits the amount of keystrokes needed to change pitches. To enter Replace mode 
</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id2452481"></a>Command</h3></div></div></div><p>To edit quickly in Denemo use the following keyboard shortcuts:

</p><div class="table"><a id="id2452488"></a><p class="title"><b>Table 3. </b></p><table summary="" border="1"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Command</th><th>Function</th><th>Comment</th></tr></thead><tbody><tr><td><span><strong class="command"> m</strong></span> </td><td> Add a new measure to all staves at the current cursor position</td><td class="auto-generated"> </td></tr><tr><td><span><strong class="command"> M</strong></span> </td><td> Add a new measure to all staves at the  end of the score.</td><td class="auto-generated"> </td></tr><tr><td><span><strong class="command"> Ctrl shift A </strong></span></td><td>Add a Staff after current Staff</td><td class="auto-generated"> </td></tr><tr><td><span><strong class="command">Ctrl shift B</strong></span></td><td>Add a Staff before current Staff</td><td class="auto-generated"> </td></tr><tr><td><span><strong class="command">Ctrl shift x</strong></span> or <span><strong class="command">Ctrl shift delete</strong></span></td><td>Delete current Staff</td><td class="auto-generated"> </td></tr><tr><td><span><strong class="command">Ctrl s</strong></span></td><td>Set a mark point at the cursor</td><td class="auto-generated"> </td></tr><tr><td><span><strong class="command">Shift S</strong></span></td><td>Set selection</td><td> </td></tr><tr><td><span><strong class="command">Alt Shift S</strong></span></td><td>Cancel selection</td><td class="auto-generated"> </td></tr><tr><td><span><strong class="command"> Ctrl C</strong></span></td><td>Copy selection to the Clipboard but leave the area selected</td><td class="auto-generated"> </td></tr><tr><td><span><strong class="command"> Ctrl X</strong></span></td><td> Copy the area between the mark point and the current cursor location to the paste buffer and clear the selection</td><td class="auto-generated"> </td></tr><tr><td><span><strong class="command">Ctrl V</strong></span></td><td>Paste the buffer at the current cursor position</td><td class="auto-generated"> </td></tr></tbody></table></div><p>

</p><p>To perform common editing tasks the procedure is as follows:

</p><div class="procedure"><ol type="1"><li><p>Move the cursor to the beat within the measure you want to edit. </p></li><li><p>Lasso the notes you want to edit: Type <span><strong class="command">Shift S</strong></span> and use the <span><strong class="command">HJKL</strong></span> keys to extend the lasso to include the notes you want to edit.</p></li><li><p>Next type the command you want to perform, such as copy <span><strong class="command">Ctrl c</strong></span> or cut <span><strong class="command">Ctrl x</strong></span></p></li><li><p>Deselect the notes by typing <span><strong class="command">Alt Ctrl S</strong></span></p></li><li><p>Navigate to the measure you want to paste the section in the clipboard and type <span><strong class="command">Ctrl v</strong></span> to paste in the notes from the clipboard.</p></li></ol></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id2452677"></a>Expression Marks</h2></div></div></div><p>Denemo is meant to be a front end to LilyPond and the recommended way to add dynamics and expressions is to convert the Denemo score to LilyPond notation and then add them. It is possible, however to add both dynamics and phrasing marks from within Denemo itself.

</p><div class="table"><a id="id2452687"></a><p class="title"><b>Table 4. Dynamics and Phrasing</b></p><table summary="Dynamics and Phrasing" border="1"><colgroup><col /><col /><col /><col /><col /><col /></colgroup><thead><tr><th>Mark</th><th>Name</th><th>Shortcut</th><th>Marks</th><th>Name</th><th>Shortcut</th></tr></thead><tbody><tr><td>p</td><td>Piano</td><td>na</td><td><div align="center"><img src="accent.png" align="middle" /></div></td><td>accent</td><td>Alt Shift greater than</td></tr><tr><td>pp</td><td>Pianissimo</td><td>na</td><td><div align="center"><img src="acciaccatura.png" align="middle" /></div></td><td>acciaccatura</td><td>Currently only in LilyPond</td></tr><tr><td>ppp</td><td>Pianissanissimo</td><td>na</td><td><div align="center"><img src="appoggiatura.png" align="middle" /></div></td><td>appoggiatura</td><td>Currently only in LilyPond</td></tr><tr><td>mf</td><td>Mezzo Forte</td><td>na</td><td><div align="center"><img src="arpeggio.png" align="middle" /></div></td><td>arpeggio</td><td>Currently only in LilyPond</td></tr><tr><td>f</td><td>Forte</td><td>na</td><td><div align="center"><img src="downbow.png" align="middle" /></div></td><td>downbow</td><td>Currently only in LilyPond</td></tr><tr><td>ff</td><td>Fortissimo</td><td>na</td><td><div align="center"><img src="downmordent.png" align="middle" /></div></td><td>downmordent</td><td>Currently only in LilyPond</td></tr><tr><td>fff</td><td>Fortissatissimo</td><td>na</td><td><div align="center"><img src="downprall.png" align="middle" /></div></td><td>downprall</td><td>Currently only in LilyPond</td></tr><tr><td>sfz</td><td>Sfortzando</td><td>na</td><td><div align="center"><img src="fermata.png" align="middle" /></div></td><td>fermata</td><td>Shift Asterisk *</td></tr><tr><td><div align="center"><img src="flageolet.png" align="middle" /></div></td><td>flageolet</td><td>Currently only in LilyPond</td><td><div align="center"><img src="glissando.png" align="middle" /></div></td><td>glissando</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="lheel.png" align="middle" /></div></td><td>lheel</td><td>Currently only in LilyPond</td><td><div align="center"><img src="lineprall.png" align="middle" /></div></td><td>lineprall</td><td>Currently
only in LilyPond</td></tr><tr><td><div align="center"><img src="longfermata.png" align="middle" /></div></td><td>longfermata</td><td>Currently only in LilyPond</td><td><div align="center"><img src="ltoe.png" align="middle" /></div></td><td>ltoe</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="rheel.png" align="middle" /></div></td><td>rheel</td><td>Currently only in LilyPond</td><td><div align="center"><img src="marcato.png" align="middle" /></div></td><td>marcato</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="rtoe.png" align="middle" /></div></td><td>rtoe</td><td>Currently only in LilyPond</td><td><div align="center"><img src="mordent.png" align="middle" /></div></td><td>mordent</td><td>w</td></tr><tr><td><div align="center"><img src="shortfermata.png" align="middle" /></div></td><td>shortfermata</td><td>Currently only in LilyPond</td><td><div align="center"><img src="open.png" align="middle" /></div></td><td>open</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="signumcongruentime.png" align="middle" /></div></td><td>signumcongruentime</td><td>Currently only in LilyPond</td><td><div align="center"><img src="portato.png" align="middle" /></div></td><td>portato</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="staccato.png" align="middle" /></div></td><td>staccato</td><td>Alt . period </td><td><div align="center"><img src="prall.png" align="middle" /></div></td><td>prall</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="stacctissiimo.png " align="middle" /></div></td><td>stacctissiimo</td><td>Ctrl Alt . period</td><td><div align="center"><img src="pralldown.png" align="middle" /></div></td><td>pralldown</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="stopped.png" align="middle" /></div></td><td>stopped</td><td>Currently only in LilyPond</td><td><div align="center"><img src="prallmordent.png" align="middle" /></div></td><td>prallmordent</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="tenuto.png" align="middle" /></div></td><td>tenuto</td><td>Shift _underscore</td><td><div align="center"><img src="prallprall.png" align="middle" /></div></td><td>prallprall</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="thumb.png" align="middle" /></div></td><td>thumb</td><td>Currently only in LilyPond</td><td><div align="center"><img src="prallup.png" align="middle" /></div></td><td>prallup</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="trill.png" align="middle" /></div></td><td>trill</td><td>Ctrl Shift R</td><td><div align="center"><img src="reverseturn.png" align="middle" /></div></td><td>reverseturn</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="turn.png" align="middle" /></div></td><td>turn</td><td>Tilde</td><td><div align="center"><img src="upprall.png" align="middle" /></div></td><td>upprall</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="upbow.png" align="middle" /></div></td><td>upbow</td><td>Currently only in LilyPond</td><td><div align="center"><img src="verylongfermata.png" align="middle" /></div></td><td>verylongfermata</td><td>Currently only in LilyPond</td></tr><tr><td><div align="center"><img src="upmordent.png" align="middle" /></div></td><td>upmordent</td><td>Currently only in LilyPond</td><td><div><img src="" /></div></td><td>Start Slur</td><td>Currently only in LilyPond</td></tr></tbody></table></div><p>To add an expression to notation as you type, just enter the note pitch and duration you want and immediately afterwards type the keyboard shortcut corresponding to the expression you want. To add expressions after you have already added notes, use the <span><strong class="command">h</strong></span>,<span><strong class="command">j</strong></span>,<span><strong class="command">k</strong></span>,<span><strong class="command">l</strong></span> keys to position the cursor at the note you want to add an expression to. You won't need to be exactly on the note to add expressions especially at the end of a bar. </p><div class="example"><a id="expressions"></a><p class="title"><b>Example 2. </b></p><div class="mediaobject"><img src="expressions.png" /></div></div><p></p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id2453326"></a>Adding Lyrics</h2></div></div></div><p>Look at <a href="#expressions" title="Example 2. ">Example 2, “”</a>, we see a short musical expression. Lets add the expressions:</p><div class="procedure"><ol type="1"><li><p>Using the keyboard shortcuts enter the low b. (the b on the keyboard and a space)</p></li><li><p>Type the g (the g on the keyboard and a space)</p></li><li><p>Typer an a <span><strong class="command">w</strong></span>, a mordent above the g. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Denemo won't place expressions optimally, don't worry it will display correctly  in the final published output.</p></div></li><li><p>Type the second g the same way you did in the previous step.</p></li><li><p>Type the a and g eighth notes (using the a and g keys with the i key)</p></li><li><p>Type two a quarter notes (the a key and a space)</p></li><li><p>Type Ctrl Shift R, a trill appears above the a.</p></li><li><p>Type an a quarter note.</p></li><li><p>Type a tilde <span><strong class="command">~</strong></span>, a turn appears above the final a quarter note.</p></li><li><p>Type the final b and c eighth notes.</p></li></ol></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id2453406"></a>Repeats</h2></div></div></div><p>To add Repeats to scores using Denemo:</p><div class="procedure"><ol type="1"><li><p>Currently Denemo doesn't reliably support added repeats. Repeats such be added to the generated LilyPond file before <a href="#publish" title="Publishing">the section called “Publishing”</a></p></li><li><p>Type <span><strong class="command">Ctrl \</strong></span>, the Add Barline dialog box appears</p></li><li><p>Choose the <span class="guimenuitem">Open Repeat</span> menu item and click <span><strong class="command">OK</strong></span>.</p></li><li><p>Navigate to the measure which ends the repeat</p></li><li><p>Type <span><strong class="command">Ctrl \</strong></span>, the Add Barline dialog box appears</p></li><li><p>Choose the <span class="guimenuitem">Close Repeat</span> menu item and click <span><strong class="command">OK</strong></span>.</p></li><li><p>For a first ending Repeat Choose the <span class="guimenuitem">Open/Close Repeat</span> menu item and click <span><strong class="command">OK</strong></span>.</p></li></ol></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="playing"></a>Score Playback</h2></div></div></div><p></p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="midi"></a>Midi</h3></div></div></div><p></p><p><b>Midi playback. </b>Denemo has the ability to sound your chords
through /dev/sequencer as you enter them. It accomplishes this by
opening /dev/sequencer and holding it open as long as your still
entering notes; if you pause, a timeout will elapse and /dev/sequencer
will be closed down until you start note-entry again. This is
intentional; it is there to facilitate the use of an external midi
player for full-score playback or to have multiple instances of Denemo
running at once. Sometimes, though (particularly if you have a fast
machine), Denemo may hold open /dev/sequencer for long enough that it
interferes with an invocation of playmidi. If this happens, simply be
patient and try again.</p><p>The above holds true if you are not using alsa for midi playback if you are using alsa for midi playback you will need to either use timidity or if your soundcard has midi capabilities load a soundfont.</p><p>To configure Denemo to use a sequencer other than /dev/sequencer and play midi. Go to the<span class="guimenu"> Edit</span> menu and choose<span class="guimenuitem">Set Preferences</span>. The Set Preferences dialog box will open. In the External Midi Player text box enter the name of your midi player. Example 4 has Timidity entered, but it could be any midi player of your choice. Next enter the name of your audio player.  Click the Set Playback Output box and click Ok to save your settings and exit the dialog box. To play your score go to the<span class="guimenu"> Playback</span> menu and click <span class="guimenuitem">Play</span>.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="csound"></a>Csound</h3></div></div></div><p>In addition to permitting midi playback, Denemo permits playback using C sound. Denemo will create a simple orchestra file on the fly to play your file, or you can use your own custom orchestra file. By default Denemo outputs  Csound with the command <span><strong class="command"> csound -d -W</strong></span>, currently to get Denemo to accept different flags you must hard code it into the Denemo source code. A simple orchestra file has been kindly provided by Dave Phillips, and can be found in the templates folder. </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="publish"></a>Publishing</h2></div></div></div><p>Creating scores with Denemo is quick and easy. Once your masterpiece is done, don't rush to the file menu and click print, if you do you will be disappointed. The reason for this is that Denemo is a score preparation application. Once your score is ready it must be then forwarded to a utility to publish your score in its final intended format. This could be a PDF for printing hard copy, a png for inclusion in a web page, a dvi for sending to press, to name a few. The publishing act is handled by backends which currently are LilyPond and ABC. If you have used Denemo's LilyPond mode you may have done much of this work already. The steps to publish your score are as follows:</p><div class="orderedlist"><ol type="1"><li><p>Convert to an ascii format (LilyPond or abc)</p></li><li><p>Run your score through convert(for LilyPond files)</p></li><li><p>Run your file through a parser, check for errors and correct them touch up your file (you will need to read the documentation on LilyPond and ABC)</p></li><li><p> Reparse your file and continue touch ups until the output is how you want it</p></li><li><p>Output your final product according to your needs</p></li></ol></div><p>These steps will be detailed below. </p><div class="figure"><a id="editduet"></a><p class="title"><b>Figure 10. Score prepared in Denemo</b></p><div class="mediaobject"><img src="4fo2Denemo.png" width="NaN" alt="Score prepared in Denemo" /></div></div><p><a href="#editduet" title="Figure 10. Score prepared in Denemo">Figure 10, “Score prepared in Denemo”</a> a screen shot of the first few measures of a score prepared in Denemo. It has not been edited using LilyPond mode.  </p><p>
</p><div class="figure"><a id="LilyPondversionduet"></a><p class="title"><b>Figure 11. </b></p><div class="mediaobject"><img src="4for2ly.png" width="NaN" /></div></div><p> is the LilyPond output of the above score opened in Emacs.And   is the abc notation of the same file:</p><div class="figure"><a id="abcduetemacs"></a><p class="title"><b>Figure 12. ABC Notation</b></p><div class="mediaobject"><img src="4for2abc.png" width="NaN" alt="ABC Notation" /></div></div><p>Next <a href="#touchedduet" title="Figure 13. LilyPond file with added articulation and dynamics">Figure 13, “LilyPond file with added articulation and dynamics”</a> is the LilyPond file with slurs and dynamics and additional header information added:</p><p>
</p><div class="figure"><a id="touchedduet"></a><p class="title"><b>Figure 13. LilyPond file with added articulation and dynamics</b></p><div class="mediaobject"><img src="4for2touchedly.png" width="NaN" alt="LilyPond file with added articulation and dynamics" /></div></div><p>
</p><div class="figure"><a id="output"></a><p class="title"><b>Figure 14. Final output of LilyPond file</b></p><div class="mediaobject"><img src="4for2new-page1.png" width="NaN" alt="Final output of LilyPond file" /></div></div><p>Finally <a href="#output" title="Figure 14. Final output of LilyPond file">Figure 14, “Final output of LilyPond file”</a> is the output from LilyPond as a .png image</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="advanced"></a>Advanced Features</h2></div></div></div><p>This section will explain how to enter advanced rhthms, chords polyphony etc</p><p><b>Display Command. </b>Control-Shift-left: Decrease the minimum display width of all
  measures by 10 pixels
Control-Shift-right: Increase the same by 10 pixels
Control-Shift-up: Decrease vertical space alloted to each staff by 10 pixels
Control-Shift-down: Increase vertical space alloted to each staff by 10 pixels</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id2453773"></a>Tuplets</h3></div></div></div><p>LilyPond treats tuplets as fractions with the top (numerator) signifying the amount of notes normally displayed and the denominator the amount of notes to be displayed instead. If this sounds confusing for musicians raised on triplets, pentuplets etc., it is. So Denemo has simplified this by permitting you to use the triplet name to lay them down easily, it also lets you create custom tuplets if you so desire.
</p><div class="table"><a id="tuples"></a><p class="title"><b>Table 5. </b></p><table summary="" border="1"><colgroup><col /><col /><col /><col /></colgroup><thead><tr><th>Tuplet</th><th>Shortcut</th><th>Tuplet</th><th>Shortcut</th></tr></thead><tbody><tr><td>Duplet</td><td>2</td><td>Triplet</td><td>3</td></tr><tr><td>Quadruplet</td><td>4</td><td>Pentuplet</td><td>5</td></tr><tr><td>Sextuplet</td><td>6</td><td>Septuplet</td><td>7</td></tr><tr><td>Octuplet</td><td>8</td><td> </td><td> </td></tr></tbody></table></div><p><a href="#tuples" title="Table 5. ">Table 5, “”</a> lists the keyboard shortcut for adding tuplets in Denemo. To add tuplets do the following:</p><div class="procedure"><ol type="1"><li><p>Place the cursor in the place you want to add the tuplet.</p></li><li><p>Type the number corresponding to the tuplet you want to enter. (For instance a 3 for a tuplet). The tuplet boundary markers Times 2/3 and Tuplet End appear at the top of the staff. see <a href="#tupletmarkers" title="Figure 15. Tuplet Markers">Figure 15, “Tuplet Markers”</a></p></li><li><p>Enter the pitches and durations of the tuplet using the pitch names (a, b, c, d, etc.) and the duration names (yuio space).</p></li><li><p>Next with the <span><strong class="command">l</strong></span> key move the cursor after the Tuplet End marker. </p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p>If you forget to move the cursor beyond the End Tuplet marker Denemo might crash, causing loss of data! This is a bug which is being fixed but be warned!</p></div></li></ol></div><div class="figure"><a id="tupletmarkers"></a><p class="title"><b>Figure 15. Tuplet Markers</b></p><div class="mediaobject" align="center"><img src="tupletmarkers.png" align="middle" alt="Tuplet Markers" /></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id2453918"></a>Changing Stem direction</h3></div></div></div><p>S: insert a stemboth directive
+: stemdown-&gt;stemboth, or stemboth-&gt;stemup
-: stemup-&gt;stemboth, or stemboth-&gt;stemdown</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id2453927"></a>Figured Bass Entry</h3></div></div></div><p>Under the menu item Other-&gt;Insert/Edit Figured Bass is a dialog to
enter figures for editing figured basses in the LilyPond output. This
is currently only useful when editing a LilyPond file with a figured
bass in the score (it can be an empty skeleton, see 
examples/figuredBassTemplate.ly). It is also possible to use the LilyPond
text window to edit directly (see README.LilyPond)</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="polyphony"></a>Polyphony</h3></div></div></div><p>Denemo permits the use of mutiple staves for part work, as well as allowing multiple voices on a single staff. 

To add voices to the current staff do the following:</p><div class="orderedlist"><ol type="1"><li><p>Go to the measure(s) where you want to add the second voice</p></li><li><p>Open the the add second voice to current staff dialog box, either by clicking the <span class="guimenu">Staff</span> menu and then the <span class="guimenuitem">Add Voice3 to CurrentStaff item</span>.The dialog box will appear.

<span class="inlinemediaobject"><img src="addvc2currentstaff.png" /></span></p></li><li><p>If this is a different instrument than the other voice, open the instrument drop down list and choose the appropriate instrument. The default name for this voice should be ok.</p></li><li><p>Click Ok to close the dialog box.</p></li><li><p>Next navigate to the new voice, either with by clicking the <span class="guimenu">Navigation</span> menu and then clicking ToNextScore, or using the keyboard shortcutt cntrl j((shift F)</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The stem positioning positioning may not look correct in the Denemo window, but it will look correct in the published output.</p></div></li><li><p>For every beat your voice is silent you need to add a null note, which is achieved with the following sequence of key strokes: 1. n puts you in null mode, 2. r toggles a rest 3. then type the rest value you need to add, with the appropriate key binding. </p></li><li><p>For the beats that contain notes just enter them as you would normally see section x.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>If you choose not to enter rests in null mode the visual output will be the same but these notes will be heard during midi playback of your score.</p></div></li><li><p>To leave the new voice and return to the previous one type</p></li><li><p></p></li></ol></div><p>.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="customizingDenemo"></a>Adding Custom Key Bindings</h2></div></div></div><p>Denemo comes with a number of premade keyboard shortcut maps.These include shortcuts for languages besides English as well alternate key maps made by developers and users of Denemo. It is easy to make your own key map or tweak the key binding of a particular shortcut. This section will detail how to create custom keyboard shortcuts, or an entire custom key binding map.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id2454054"></a>The Customize Keybindings Dialog</h3></div></div></div><p>The Customize Keybindings Dialog box is where all changes to Denemo key bindings are done. This dialog writes to either the default key bindings file or to a custom file of your choice. There are two ways to edit a keybindng file:</p><div class="itemizedlist"><ul type="disc"><li><p>Use the Customize Key bindings Dialog box.</p></li><li><p>Edit the file directly in a text editor</p></li></ul></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="LilyPondfiles"></a>Working With LilyPond Files</h2></div></div></div><p>Denemo lets you edit LilyPond files. Currently there are two ways you can interact with LilyPond files using Denemo:
</p><div class="itemizedlist"><ul type="disc"><li><p>Create your score and then generate LilyPond output</p></li><li><p>Open a LilyPond format file and edit it both graphically and as text.(This option is currently unavailable in the latest Denemo release.)</p></li></ul></div><p> 
These two methods of permit a great deal of flexibility. If you desire to do all your notation within Denemo's graphical environment but still use LilyPond's parser and conversion engine to create PostScript for printing, just do all your work in Denemo and save it as a LilyPond file. You can then run the resulting file through LilyPond as you would any other LilyPond file.



 If you want to combine the ease of graphic entry with the power of text entry.(in many cases text entry is actually faster).

The process of editing a lily pond file within Denemo is as follows:
</p><p>Open a LilyPond file the same way you would open up a file created in Denemo. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Currently not all LilyPond files will be editable within Denemo. This is dependent on which version of LilyPond you file was created with. Denemo however will open files created within LilyPond and exported to LilyPond format.</p></div><p>



The file is broken up into chunks, which are displayed as text in a specialized text editor which pops up under the main notation window. 

</p><div class="example"><a id="id2454125"></a><p class="title"><b>Example 3. LilyPond mode</b></p><div class="mediaobject" align="center"><img src="lpmode.png" align="middle" /></div></div><p>

The Text Window contains the following buttons <span class="guibutton">Reload</span>,<span class="guibutton">Toggle Window</span>, <span class="guibutton">Top Level</span><span class="guibutton">right arrow</span> <span class="guibutton">Left arrow</span>.


The Top Level button take you to the LilyPond header letting you edit header information such as Title, Composer Tagline etc.


 Interspersed In This Top Level Text Is Music Data - You Can Step Around At The Top level using the previous and next buttons. Anything you type here will be saved when you save your work.
The music data is what is being displayed in the normal Denemo graphical window. When you edit graphically the LilyPond text corresponding to the current note is shown in the text window. You select between these two windows with the toggle window button. You can move about in the LilyPond text for the current measure using the previous and next buttons. You can edit the notes textually here, but the changes are not automatically reflected in the graphical window - you have to hit reload for that..</p><p>One of the things you will notice is that when you have the lily text loaded, the cursor steps on items, such as the initial key signature setting, barlines etc. So if some directive is placed between two notes then the cursor will step on to it, allowing you the option of editing in the text window. The text of the measure is split up into chunks, one for each note, directive etc in the measure. At any stage you can click the reload button. This saves to a temporary file and the reads back in. If you have introduced some LilyPond syntax errors then you are offered the chance to re-edit the file and reload. If you have the environment variable set (eg to emacs or vi) then that editor is started with the line number where the problem occurred.</p><p>Having the top level text available means you can edit voices separately or put them temporarily onto separate staves, all without quitting the program - the technique is called "commenting out" and I illustrate this in the example below.
The normal way to use Denemo to write a LilyPond file is to start with a template (though it could be some previous, similar piece). 
The simplest thing you can have is   \score { \notes { c'' }} which gives you a score with one staff with a single note, middle c. This is only useful for
the simplest of purposes.</p><p>A more extensible example is the file in examples/simple.ly 
Clef = \clef treble
Key =  \notes \key c \major
TimeSig = \notes \time 4/4
MyViolin = \context Voice = MyVln \notes  { \Clef \Key \TimeSig c''4 }
MyViolinStaff = \context Staff = MyStaff 
\MyViolin
&gt;
\score {
    \MyViolinStaff
    \paper {}
}</p><p>The names starting My... are just any made up names you like. In this case MyVln is the name of the voice while MyViolin is the name of the music that has been given to that voice. The music found in the score block at the end is what Denemo displays. You can load up this file, edit the Key and TimeSig definitions, hit reload and start putting in notes Denemo style, saving to a file of your choice at the end.Another template examples/header.ly gives you access to all the titling features of LilyPond and so on.One of the benefits of editing LilyPond is better handling of voices. The examples/twovoices.ly file shows how two voices can be put on one stave. It looks like this:
</p><p>Key =  \notes \key c \minor
TimeSig = \notes \time 3/4

ViolinI = \context Voice = VlnI \notes  { \Key \TimeSig c''4 d'' e'' }
ViolinII = \context Voice = VlnII \notes  { \Key  \TimeSig a''4 b'' c'' }

Violini = \context Staff = Vlns 
\ViolinI
\ViolinII
&gt;

\score {
    \Violini
    \paper {}
}
</p><p>However, Denemo doesn't give an easy way of editing the second voice. One way you can do this is to "comment out" the first voice by putting a % sign at the start of the line that puts it on the staff, thus
Violini = \context Staff = Vlns 
%\ViolinI
\ViolinII
</p><p>when you reload, the first voice is temporarily hidden. However you only see one voice at a time this way. A bolder way is shown in examples/editTwovoices.ly where a temporary staff is created with the same second violin part as appears in the real staff. Now you can edit either voice and see them both on the top staff. When finished you comment out the extra staff thus
\score {

    \Violini
%    \tempStaff
&gt;
    \paper {}
}</p><p>and you are ready to print. I should say that Denemo was not written expecting the same music in two staffs, so there may be bugs lurking for the adventurous.</p><p>A third way is to create a new score block in the file with just the voice you wish to edit - under the Navigate menu is the option to cycle through the score blocks in the file. If the score block has no \paper block then it will not print out and can just be used for editing.
These multiple score blocks are how you include several movements of a piece in a single file - you can then print them all at once getting the page numbering correct.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"></h3><p>This version of Denemo for LilyPond editing is just a proof-of-concept exercise really. Before fleshing out the (large) parser with actions for all the rules that LilyPond has I wanted to see that this would work. There is a lot of LilyPond which this version will not read; note especially that include files are not opened, and only the default Dutch note names are understood and the \relative type of notes are not handled, nor lyrics,etc etc.
On the plus side, there is the full set of dynamics (Denemo had only a subset), tuplets fancy \bars, \partial, \grace, \repeat volta 2, \alternative and much more. Some bugs: the ties do not show in Denemo when read back in - this is a bit structural and needs a design decision to fix - and if you edit the duration of the last note in a measure the first note of the next measure may need to have its duration set. The handling of the barline '|' is not nice - again we should decide where we are going with this sort of thing. And watch out for deleting the key signature etc if you delete the first measure - on reload you will have to add them back in. Also beware that this version leaks memory - Adam's Brandeburg score gobbles up 2% of my RAM everytime I hit reload.
Several of the Denemo menu items are redundant when you have a lily file loaded - for example you set headers just by typing in the text (see examples/headers.ly for a complete set of possibilities) - these menus just refuse to respond - they should be hidden really.
The LilyPond editing stuff is only enabled when you build with gtk version 2 ie
./configure --enable-gtk2
it could all be done in gtk 1.0 no doubt, but I hope people will have moved on before we get round to it
</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="analysis"></a>Music Analysis with Denemo</h2></div></div></div><p>This section will explain Denemo's musical analysis abilities</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"></div><p></p></div></div></body></html>