summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorRichard Shann <rshann@debianrts.home>2009-03-08 19:18:44 +0000
committerRichard Shann <rshann@debianrts.home>2009-03-08 19:18:44 +0000
commite98b076e6310f0728f50550eb8d2c97b9da061c1 (patch)
tree70fe20bab492d63916c7a170988bf732c6ce3ca5 /doc
parentd8d1596fd1e4fac3a46ddfe6118ebc356925ec9e (diff)
Document the Directive writing commands.
Diffstat (limited to 'doc')
-rw-r--r--doc/denemo-manual.html58
-rw-r--r--doc/denemomanual.xml35
2 files changed, 47 insertions, 46 deletions
diff --git a/doc/denemo-manual.html b/doc/denemo-manual.html
index 5e76833b..a67e7aeb 100644
--- a/doc/denemo-manual.html
+++ b/doc/denemo-manual.html
@@ -1,7 +1,7 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title></title><link rel="stylesheet" href="denemo.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.67.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2426750"></a></h1></div><div><div class="author"><h3 class="author"><span class="firstname">Aaron</span> <span class="surname">Mehl</span></h3><code class="email">&lt;<a href="mailto:aamehl@actcom.net.il">aamehl@actcom.net.il</a>&gt;</code></div></div><div><div class="author"><h3 class="author"><span class="firstname">Richard</span> <span class="surname">Shann</span></h3><code class="email">&lt;<a href="mailto:Richard.Shann**at**virgin.com">Richard.Shann**at**virgin.com</a>&gt;</code></div></div><div><p class="releaseinfo">0.8.0</p></div><div><p class="copyright">Copyright © 2008 Denemo Project</p></div><div><div class="legalnotice"><a name="id2426759"></a><p>This Manual is released under the Creative Commons License, this
manual may be quoted, and freely distributed as long as credit is given
in written form to http://www.denemo.org. If it is placed on a web page
- a link to the denemo site should also appear.</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2426816">Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2427195">Dependencies</a></span></dt><dt><span class="sect2"><a href="#id2427342">Optional Includes</a></span></dt><dt><span class="sect2"><a href="#id2427387">Installing Denemo from Source Code</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2427499">Getting Started</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2427523">Some Common Keyboard Shortcuts</a></span></dt><dt><span class="sect2"><a href="#id2427555">Some Common Mouse Shortcuts</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2427606">Overall View of Denemo</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2427611">General Concepts</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2427057">The Denemo Window</a></span></dt><dt><span class="sect1"><a href="#id2427128">The Print Preview Pane</a></span></dt><dt><span class="sect1"><a href="#id2427155">The Main Menubar</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2427986">File</a></span></dt><dt><span class="sect2"><a href="#id2428271">Edit</a></span></dt><dt><span class="sect2"><a href="#id2428439">View</a></span></dt><dt><span class="sect2"><a href="#id2428575">Mode</a></span></dt><dt><span class="sect2"><a href="#id2429049">Input</a></span></dt><dt><span class="sect2"><a href="#id2429062">More</a></span></dt><dt><span class="sect2"><a href="#id2429079">Playback</a></span></dt><dt><span class="sect2"><a href="#id2429161">Help</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2429217">Toolbar</a></span></dt><dt><span class="sect1"><a href="#id2429019">Object Menu</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2429435">Score</a></span></dt><dt><span class="sect2"><a href="#id2429524">Adding Markings</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2429575">Rhythms and Overlays</a></span></dt><dt><span class="sect1"><a href="#id2429610">Playing Notes into Denemo - MIDI</a></span></dt><dt><span class="sect1"><a href="#id2429639">Playing Notes into Denemo - Audio (Souncard Mic Input)</a></span></dt><dt><span class="sect1"><a href="#id2429745">Understanding Modes</a></span></dt><dt><span class="sect1"><a href="#id2429797">Basic Use</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2429803"></a></span></dt></dl></dd><dt><span class="sect1"><a href="#customizingDenemo">Adding Key/Mouse Shortcuts</a></span></dt><dt><span class="sect1"><a href="#id2430189">More Commands</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2430194">Adding More Features </a></span></dt><dt><span class="sect2"><a href="#id2430210">Adding Your Own Features </a></span></dt><dt><span class="sect2"><a href="#id2430276">Writing Scheme Scripts </a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2430559">Directive Edit Scripts</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2430565">Introduction</a></span></dt><dt><span class="sect2"><a href="#id2430582">Edit Scripts</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2430637">LilyPond Editing</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2430643">Introduction</a></span></dt><dt><span class="sect2"><a href="#id2430669">Using the LilyPond Window</a></span></dt><dt><span class="sect2"><a href="#id2430707">Detail</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2430812">Using the Denemo Classic Mode</a></span></dt><dd><dl><dt><span class="sect2"><a href="#thedriverseat"></a></span></dt><dt><span class="sect2"><a href="#id2430859">Rhythm Entry in Classic Mode</a></span></dt><dt><span class="sect2"><a href="#id2430902">Accidentals in Classic Mode</a></span></dt><dt><span class="sect2"><a href="#chordsenter">Chord Entry in Classic Mode</a></span></dt><dt><span class="sect2"><a href="#id2431140">Note and Rest Entry Toolbar</a></span></dt><dt><span class="sect2"><a href="#id2431156">Chord Entry</a></span></dt><dt><span class="sect2"><a href="#id2431170"></a></span></dt><dt><span class="sect2"><a href="#id2431178">Inserting LilyPond Directives</a></span></dt></dl></dd><dt><span class="sect1"><a href="#playing">Score Playback</a></span></dt><dd><dl><dt><span class="sect2"><a href="#midi">Midi</a></span></dt><dt><span class="sect2"><a href="#csound">Csound</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2431313">Publishing</a></span></dt><dt><span class="sect1"><a href="#id2431346">Advanced Features</a></span></dt><dd><dl><dt><span class="sect2"><a href="#editing">Editing</a></span></dt><dt><span class="sect2"><a href="#id2431368">Musical Score that Do Things!</a></span></dt><dt><span class="sect2"><a href="#id2431409">Piano Staffs, Orchestral Scores etc</a></span></dt><dt><span class="sect2"><a href="#id2431436">Single Staff Polyphony</a></span></dt><dt><span class="sect2"><a href="#id2431556">Entering Vocal Music</a></span></dt><dt><span class="sect2"><a href="#id2431584">Entering Figured Bass</a></span></dt><dt><span class="sect2"><a href="#id2431599">Entering Chord Symbols</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2431613"><span class="productname">Denemo</span> Commandline Options</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2426816"></a>Introduction</h2></div></div></div><p>Denemo lets you create musical scores. You can type music in using the keyboard
+ a link to the denemo site should also appear.</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2426816">Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2427195">Dependencies</a></span></dt><dt><span class="sect2"><a href="#id2427342">Optional Includes</a></span></dt><dt><span class="sect2"><a href="#id2427387">Installing Denemo from Source Code</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2427499">Getting Started</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2427523">Some Common Keyboard Shortcuts</a></span></dt><dt><span class="sect2"><a href="#id2427555">Some Common Mouse Shortcuts</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2427606">Overall View of Denemo</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2427611">General Concepts</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2427057">The Denemo Window</a></span></dt><dt><span class="sect1"><a href="#id2427128">The Print Preview Pane</a></span></dt><dt><span class="sect1"><a href="#id2427155">The Main Menubar</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2427986">File</a></span></dt><dt><span class="sect2"><a href="#id2428271">Edit</a></span></dt><dt><span class="sect2"><a href="#id2428439">View</a></span></dt><dt><span class="sect2"><a href="#id2428575">Mode</a></span></dt><dt><span class="sect2"><a href="#id2429049">Input</a></span></dt><dt><span class="sect2"><a href="#id2429062">More</a></span></dt><dt><span class="sect2"><a href="#id2429079">Playback</a></span></dt><dt><span class="sect2"><a href="#id2429161">Help</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2429217">Toolbar</a></span></dt><dt><span class="sect1"><a href="#id2429019">Object Menu</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2429435">Score</a></span></dt><dt><span class="sect2"><a href="#id2429524">Adding Markings</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2429575">Rhythms and Overlays</a></span></dt><dt><span class="sect1"><a href="#id2429610">Playing Notes into Denemo - MIDI</a></span></dt><dt><span class="sect1"><a href="#id2429639">Playing Notes into Denemo - Audio (Souncard Mic Input)</a></span></dt><dt><span class="sect1"><a href="#id2429745">Understanding Modes</a></span></dt><dt><span class="sect1"><a href="#id2429797">Basic Use</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2429803"></a></span></dt></dl></dd><dt><span class="sect1"><a href="#customizingDenemo">Adding Key/Mouse Shortcuts</a></span></dt><dt><span class="sect1"><a href="#id2430189">More Commands</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2430194">Adding More Features </a></span></dt><dt><span class="sect2"><a href="#id2430210">Adding Your Own Features </a></span></dt><dt><span class="sect2"><a href="#id2430276">Writing Scheme Scripts </a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2430558">Directive Edit Scripts</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2430564">Introduction</a></span></dt><dt><span class="sect2"><a href="#id2430581">Edit Scripts</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2430636">LilyPond Editing</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2430642">Introduction</a></span></dt><dt><span class="sect2"><a href="#id2430668">Using the LilyPond Window</a></span></dt><dt><span class="sect2"><a href="#id2430706">Detail</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2430811">Using the Denemo Classic Mode</a></span></dt><dd><dl><dt><span class="sect2"><a href="#thedriverseat"></a></span></dt><dt><span class="sect2"><a href="#id2430858">Rhythm Entry in Classic Mode</a></span></dt><dt><span class="sect2"><a href="#id2430901">Accidentals in Classic Mode</a></span></dt><dt><span class="sect2"><a href="#chordsenter">Chord Entry in Classic Mode</a></span></dt><dt><span class="sect2"><a href="#id2431139">Note and Rest Entry Toolbar</a></span></dt><dt><span class="sect2"><a href="#id2431155">Chord Entry</a></span></dt><dt><span class="sect2"><a href="#id2431170"></a></span></dt><dt><span class="sect2"><a href="#id2431177">Inserting LilyPond Directives</a></span></dt></dl></dd><dt><span class="sect1"><a href="#playing">Score Playback</a></span></dt><dd><dl><dt><span class="sect2"><a href="#midi">Midi</a></span></dt><dt><span class="sect2"><a href="#csound">Csound</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2431312">Publishing</a></span></dt><dt><span class="sect1"><a href="#id2431345">Advanced Features</a></span></dt><dd><dl><dt><span class="sect2"><a href="#editing">Editing</a></span></dt><dt><span class="sect2"><a href="#id2431368">Musical Score that Do Things!</a></span></dt><dt><span class="sect2"><a href="#id2431408">Piano Staffs, Orchestral Scores etc</a></span></dt><dt><span class="sect2"><a href="#id2431435">Single Staff Polyphony</a></span></dt><dt><span class="sect2"><a href="#id2431555">Entering Vocal Music</a></span></dt><dt><span class="sect2"><a href="#id2431583">Entering Figured Bass</a></span></dt><dt><span class="sect2"><a href="#id2431598">Entering Chord Symbols</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2431612"><span class="productname">Denemo</span> Commandline Options</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2426816"></a>Introduction</h2></div></div></div><p>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 display shows you the measures you
are working on - and you can playback selected bits to check how it sounds.
You can preview and print the score or parts to the highest standards used in the music publishing industry
@@ -147,7 +147,7 @@ You can also get Denemo to remember a frequently used sequence of actions - it c
</p><p>
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 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
</p><div class="itemizedlist"><ul type="disc"><li>
-(d-InsertLilyDirective " \\mark \\default")
+ (d-DirectivePut-standalone-postfix "RehearsalMark" " \\mark \\default" )
</li></ul></div><p>
which is inserting the LilyPond directive "\mark \default" which inserts the default rehearsal mark. (The extra \s are needed to tell Scheme that you literally mean a \ sign). You can change this to insert any other LilyPond that you need - always doubling the \ signs. The you can save as a new menu item, or use Save Script to customize the script you started with.
</p><p>
@@ -186,21 +186,21 @@ d-DirectivePut-note-* where * is one of display, prefix, postfix, takes a tag an
</li><li>
d-DirectivePut-chord* as above but for the Chord as a whole
</li><li>
+d-DirectivePut-staff* as above but for the Staff as a whole
+ </li><li>
+d-DirectivePut-score* as above but for the Score as a whole
+ </li><li>
d-Chordize Ensure that even a single note is treated as a chord - needed for some LilyPond constructs (e.g. fingerings)
</li></ul></div><p>
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\0" is passed these will be used and no popup will occur. The field "name" will be given the value "value". The \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
</p><div class="example"><a name="schemecalls"></a><p class="title"><b>Example 2. </b></p>
-(d-InsertLilyDirective "directive=^\\markup \\italic {Allegro}\0display=Allegro")
-</div><p>
-will insert a LilyPond directive whose text is ^\markup \italic {Allegro} while displaying the word Allegro in Denemo. If you only wanted to pass the directive then
-</p><div class="example"><a name="schemecalls"></a><p class="title"><b>Example 3. </b></p>
-(d-InsertLilyDirective "^\\markup \\italic {Allegro}")
+(d-Open "filename=myfile.denemo\0")
</div><p>
-would do this. The fields are by convention lower case names, they are listed against the commands below.
+will open the file "myfile.denemo".
</p><p>
This feature is being rolled out, and currently works for
</p><div class="itemizedlist"><ul type="disc"><li>
-d-InsertLilyDirective (directive, display. minpixels)
+d-InsertLilyDirective (directive, display. minpixels) (deprecated function)
</li><li>
d-AttachLilyToChord (prefix, postfix, display) deprecated see d-DirectiveGet-chord-* and d-DirectivePut-chord-* below
</li><li>
@@ -218,25 +218,25 @@ d-InsertKey
</li><li>
d-Open filename
</li><li>
-d-ScoreProperties (lilypond= lilypond to be applied to each score block in LilyPond, fontsize= size of font to be used for score)
+d-ScoreProperties (fontsize= size of font to be used for score)
</li></ul></div><p>
</p><p>
The Denemo Directives are sufficiently important to have their own commands. The fields of the Denemo Directive can control the Denemo Display and the LilyPond output.
</p><div class="itemizedlist"><ul type="disc"><li>
-d-DirectivePut-chord-* where * is one of display, tx, ty, gx, gy, graphic, prefix, postfix. These commands take two arguments, a tag (string) and a value to set.
-</li><li>
-d-DirectivePut-note-* where * is one of display, tx, ty, gx, gy, graphic, prefix, postfix, minpixels
-</li><li>
-d-DirectiveGet-chord-* where * is one of display, tx, ty, gx, gy, graphic, prefix, postfix, minpixels
+d-DirectivePut-type-field where type is one of score, staff, voice, standalone, chord or note and field is one of display, tx, ty, gx, gy, graphic, prefix, postfix. These commands take two arguments, a tag (string) and a value to set. For example
+<div class="example"><a name="schemecalls"></a><p class="title"><b>Example 3. </b></p>
+ (d-DirectivePut-note-postfix "LHFinger" "3")
+</div>
+will put the fingering 3 on (after) the note at the cursor.
</li><li>
-d-DirectiveGet-note-* where * is one of display, tx, ty, gx, gy, graphic, prefix, postfix, minpixels
+d-DirectiveGet-type-field type is one of score, staff, voice, standalone, chord or note and field is one of display, tx, ty, gx, gy, graphic, prefix, postfix. This function returns the value in the field or #f if there is no directive with the given tag at the cursor.
</li></ul></div><p>
- </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2430559"></a>Directive Edit Scripts</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430565"></a>Introduction</h3></div></div></div><p>
+ </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2430558"></a>Directive Edit Scripts</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430564"></a>Introduction</h3></div></div></div><p>
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 "RehearsalMark" and EditDirective runs a script called RehearsalMark.scm.
- </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430582"></a>Edit Scripts</h3></div></div></div><p>
+ </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430581"></a>Edit Scripts</h3></div></div></div><p>
Edit scripts are kept in a directory actions/editscripts parallel with the directory actions/menus where the commands themselves are kept. 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
</p><div class="itemizedlist"><ul type="disc"><li>
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.
@@ -257,18 +257,18 @@ Useful variables defined:
(define cue-EditText "Edit Text")
(define cue-SetPadding "Set Padding")
(define cue-Delete "Delete")
-</li></ul></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2430637"></a>LilyPond Editing</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430643"></a>Introduction</h3></div></div></div><p>
+</li></ul></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2430636"></a>LilyPond Editing</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430642"></a>Introduction</h3></div></div></div><p>
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.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.
</p><p>
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.
- </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430669"></a>Using the LilyPond Window</h3></div></div></div><p>
+ </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430668"></a>Using the LilyPond Window</h3></div></div></div><p>
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.
</p><p>
The two windows are kept in sync, so you can move back and forth between editing textually and editing in Denemo.
</p><p>
Right clicking on the text gives a menu for actions on the LilyPond text. 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.
</p><p>
-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 blocks and print from them, or even make a temporary edit for just one print. If you save the program while a choice of custom scoreblocks is open then these are remembered. So when you reload and hit Print those score blocks will be printed.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430707"></a>Detail</h3></div></div></div><p>
+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 blocks and print from them, or even make a temporary edit for just one print. If you save the program while a choice of custom scoreblocks is open then these are remembered. So when you reload and hit Print those score blocks will be printed.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430706"></a>Detail</h3></div></div></div><p>
Several custom scoreblocks can be kept, and by making the one(s) desired visible, the same Denemo file can be used to print a variety of things from the same music input. For example, a full score or a set of parts, or several voices on group of staffs or even a piano reduction. The custom scoreblocks can be are named using the comment on the first line (see the template Piano.denemo for an example).
</p><p>
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
@@ -296,14 +296,14 @@ Inserting LilyPond text after last note of a movement has to be done in Denemo.
When you delete a LilyPond directive textually you have to move the cursor to start re-inserting it.
LilyPond notes cannot be parsed back in (would be useful for importing music from arbitrary LilyPond files).
LilyPond inserts at notes can only be completely deleted in the Denemo window - inserts are not merged.
- </td></tr></table></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2430812"></a>Using the Denemo Classic Mode</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"></div><p>This section describes how to use the original note entry mode to enter music from the keyboard.</p><p>Lets look at <a href="#accidentals" title="Figure 2. Accidentals">Figure 2, &#8220;Accidentals&#8221;</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;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><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 left or right 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></td></tr></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430859"></a>Rhythm Entry in Classic Mode</h3></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. shows the rhythm entry keys as <span class="acronym">0,1,2,3,4,5,6 </span>. This yields the following: <span class="emphasis"><em>0</em></span>= a whole note, <span class="emphasis"><em>1</em></span> = a half note, <span class="emphasis"><em>2</em></span> = an quarter note,<span class="emphasis"><em>3</em></span>= a eigth note,<span class="emphasis"><em>4</em></span> = a 16th note, <span class="emphasis"><em>5</em></span> = a 32nd note, and <span class="emphasis"><em>6</em></span> = a sixty fourth.
-</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430902"></a>Accidentals in Classic Mode</h3></div></div></div><div class="figure"><a name="accidentals"></a><p class="title"><b>Figure 2. Accidentals</b></p><div class="mediaobject" align="center"><img src="images/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 2. Accidentals">Figure 2, &#8220;Accidentals&#8221;</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 the keybinding of the rhythmic value, 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 followed by its rhythmic keybinding)</p></li><li><p>Enter a D sharp eighth note (type d and its rhythmic keybinding 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 2. Accidentals">Figure 2, &#8220;Accidentals&#8221;</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 arrow keys (or your custom keybindings). </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><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></td></tr></table></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.
+ </td></tr></table></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2430811"></a>Using the Denemo Classic Mode</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"></div><p>This section describes how to use the original note entry mode to enter music from the keyboard.</p><p>Lets look at <a href="#accidentals" title="Figure 2. Accidentals">Figure 2, &#8220;Accidentals&#8221;</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;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><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 left or right 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></td></tr></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430858"></a>Rhythm Entry in Classic Mode</h3></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. shows the rhythm entry keys as <span class="acronym">0,1,2,3,4,5,6 </span>. This yields the following: <span class="emphasis"><em>0</em></span>= a whole note, <span class="emphasis"><em>1</em></span> = a half note, <span class="emphasis"><em>2</em></span> = an quarter note,<span class="emphasis"><em>3</em></span>= a eigth note,<span class="emphasis"><em>4</em></span> = a 16th note, <span class="emphasis"><em>5</em></span> = a 32nd note, and <span class="emphasis"><em>6</em></span> = a sixty fourth.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2430901"></a>Accidentals in Classic Mode</h3></div></div></div><div class="figure"><a name="accidentals"></a><p class="title"><b>Figure 2. Accidentals</b></p><div class="mediaobject" align="center"><img src="images/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 2. Accidentals">Figure 2, &#8220;Accidentals&#8221;</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 the keybinding of the rhythmic value, 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 followed by its rhythmic keybinding)</p></li><li><p>Enter a D sharp eighth note (type d and its rhythmic keybinding 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 2. Accidentals">Figure 2, &#8220;Accidentals&#8221;</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 arrow keys (or your custom keybindings). </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><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></td></tr></table></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;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><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></td></tr></table></div></li></ol></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><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></td></tr></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="chordsenter"></a>Chord Entry in Classic Mode</h3></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 up and down 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 name="chords"></a><p class="title"><b>Figure 3. Chords</b></p><div class="mediaobject" align="center"><img src="images/fig3.png" align="middle" width="NaN" alt="Chords"></div></div><p><a href="#chords" title="Figure 3. Chords">Figure 3, &#8220;Chords&#8221;</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 arrow keys).</p></li><li><p>Type an<span><strong class="command"> a </strong></span> and <span><strong class="command">1</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>.</p></li></ol></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><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></td></tr></table></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><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></td></tr></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431140"></a>Note and Rest Entry Toolbar</h3></div></div></div><p>This toolbar can be used to enter notes using the mouse. It also shows what the prevailing duration is, that is what duration of note will be inserted when you press a note name key.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431156"></a>Chord Entry</h3></div></div></div><p>The standard keybinding for entering notes in a chord is the Enter (aka Return) key. This enters the note at the cursor position making a chord out of the current note/chord. This works in Edit and Insert mode. In Classic mode it works on preceding note as you are appending notes.</p></div><div class="sect2" lang="en"><div class="titlepage"></div><p></p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431178"></a>Inserting LilyPond Directives</h3></div></div></div><p><span class="productname">Denemo</span> allow you to insert LilyPond directives between notes, prefixing and postfixing the individual notes of a chord or the whole chord itself and at the start of each staff in a score and at the start of each score. This means that the score can be tailored to a great extent without ever resorting to editing LilyPond files themselves. (Re-loading from an edited LilyPond file is generally unsuccessful).
+create a next measure if one didn't already exist.</p></td></tr></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431139"></a>Note and Rest Entry Toolbar</h3></div></div></div><p>This toolbar can be used to enter notes using the mouse. It also shows what the prevailing duration is, that is what duration of note will be inserted when you press a note name key.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431155"></a>Chord Entry</h3></div></div></div><p>The standard keybinding for entering notes in a chord is the Enter (aka Return) key. This enters the note at the cursor position making a chord out of the current note/chord. This works in Edit and Insert mode. In Classic mode it works on preceding note as you are appending notes.</p></div><div class="sect2" lang="en"><div class="titlepage"></div><p></p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431177"></a>Inserting LilyPond Directives</h3></div></div></div><p><span class="productname">Denemo</span> allow you to insert LilyPond directives between notes, prefixing and postfixing the individual notes of a chord or the whole chord itself and at the start of each staff in a score and at the start of each score. This means that the score can be tailored to a great extent without ever resorting to editing LilyPond files themselves. (Re-loading from an edited LilyPond file is generally unsuccessful).
</p><p>
To put a LilyPond directive on an individual note of a chord, put the cursor on that note and invoke
</p><li>
@@ -320,19 +320,19 @@ When you have inserted a LilyPond directive a green bar is printed at that point
Denemo uses external midi player to play back your score. You can choose which program to use as follows. Go to the Playback menu and choosePlayback Properties and Externals tab. In the External Midi Player text box enter the name of your midi player. When you click on the Play item of the toobar the current movement is played starting from the measure with the cursor in it. If there is a selection then the measures containing the selection are played, otherwise play continues until you click stop or the movement ends.
While playing, the music scrolls automatically so that you can watch and either bookmark or stop the music if you hear something you want to re-visit. You can make corrections to the synchronism by using the measure forwards or backwards keypresses (usually bound to Ctrl right/left arrow). This automatic scrolling is turned off if you explicitly set the range of measures in the Playback-&gt;Playback Properties dialog</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="csound"></a>Csound</h3></div></div></div><p>In addition to permitting midi playback, Denemo permits playback using csound. Denemo will play your file with a .orc file. In the playback properties make sure the command: <span><strong class="command"> csound -d -W</strong></span> is set. Next use the navigation box to choose your .orc file. Denemo will soon come with a few demo .orc files which you will find in XXX. The csound module of Denemo is currently under construction. It is not tested for this release.
- </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2431313"></a>Publishing</h2></div></div></div><p>Creating paper scores with <span class="productname">Denemo</span> is done via an intermediate PDF file. <span class="productname">Denemo</span> takes care of this for you, provided you have set the name of a PDF view in the Preferences. Once this is done click on Print Preview, or Print Part, wait for LilyPond to typeset your score the PDF viewer will pop-up, and you can print using the facilities of that program.
+ </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2431312"></a>Publishing</h2></div></div></div><p>Creating paper scores with <span class="productname">Denemo</span> is done via an intermediate PDF file. <span class="productname">Denemo</span> takes care of this for you, provided you have set the name of a PDF view in the Preferences. Once this is done click on Print Preview, or Print Part, wait for LilyPond to typeset your score the PDF viewer will pop-up, and you can print using the facilities of that program.
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p>Denemo is unresponsive while LilyPond is working - be patient!</p></td></tr></table></div><p>
- </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2431346"></a>Advanced Features</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="editing"></a>Editing</h3></div></div></div><p>Denemo has a variety of features to speed editing. To ease correction of notes us Edit Mode. You can position the cursor on any note in a chord and change its pitch, accidental, octave using the keypresses assigned to the standard actions.
+ </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2431345"></a>Advanced Features</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="editing"></a>Editing</h3></div></div></div><p>Denemo has a variety of features to speed editing. To ease correction of notes us Edit Mode. You can position the cursor on any note in a chord and change its pitch, accidental, octave using the keypresses assigned to the standard actions.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431368"></a>Musical Score that Do Things!</h3></div></div></div><p>
By saving a Denemo score with a script defined (in the script window) you can create music lessons, automatic midi player ... the possibilities are (literally) 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.
</p><p><a name="initDotDenemo"></a>
-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.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431409"></a>Piano Staffs, Orchestral Scores etc</h3></div></div></div><p>
+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.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431408"></a>Piano Staffs, Orchestral Scores etc</h3></div></div></div><p>
Piano staffs, and staff groups can be created using the context field of the score-&gt;properties dialog. 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.
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top">
It is possible to set silly combinations &#8211; some will not print anything. Check that you have a Start and End staff for each type and that they are not miss-matched.
</td></tr></table></div><p>
-</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431436"></a>Single Staff Polyphony</h3></div></div></div><p></p><p>Denemo permits the use of mutiple staves for part work, as well as
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431435"></a>Single Staff Polyphony</h3></div></div></div><p></p><p>Denemo permits the use of mutiple staves for part work, as well as
enabling 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>Use <span class="guimenuitem">Add Voice to Current Staff item</span>.Then open the staff properties. This
@@ -349,6 +349,6 @@ It is possible to set silly combinations &#8211; some will not print anything. C
would normally see section x.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><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></td></tr></table></div></li><li><p>To leave the new voice and return to the previous one
- type</p></li></ol></div><p>.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431556"></a>Entering Vocal Music</h3></div></div></div><p>Choose Other-&gt;Enter Lyrics. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top">you must provide a lyric for each note. </td></tr></table></div><p>The Extend Syllable and Center check boxes are not documented, but you can use double hyphen &#8220;&#8211;&#8220; and double underscore &#8220;__&#8221; respectively for these (as described in the LilyPond documentation for syllables and extenders). You can also cut and paste lyrics into a specially written lyricmode block in the LilyPond window and use a custom score block to place it under the music. In this way multiple verses are possible.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431584"></a>Entering Figured Bass</h3></div></div></div><p>To enter figures choose Other-&gt;Insert/Enter 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.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431599"></a>Entering Chord Symbols</h3></div></div></div><p>To enter chord symbols choose Other-&gt;Insert/Enter chord symbols. A brief summary is given by right clicking the option. The conventions are described in the LilyPond docs.</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2431613"></a><span class="productname">Denemo</span> Commandline Options</h2></div></div></div><p><span class="productname">Denemo</span> permits the batch conversion of
+ type</p></li></ol></div><p>.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431555"></a>Entering Vocal Music</h3></div></div></div><p>Choose Other-&gt;Enter Lyrics. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top">you must provide a lyric for each note. </td></tr></table></div><p>The Extend Syllable and Center check boxes are not documented, but you can use double hyphen &#8220;&#8211;&#8220; and double underscore &#8220;__&#8221; respectively for these (as described in the LilyPond documentation for syllables and extenders). You can also cut and paste lyrics into a specially written lyricmode block in the LilyPond window and use a custom score block to place it under the music. In this way multiple verses are possible.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431583"></a>Entering Figured Bass</h3></div></div></div><p>To enter figures choose Other-&gt;Insert/Enter 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.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2431598"></a>Entering Chord Symbols</h3></div></div></div><p>To enter chord symbols choose Other-&gt;Insert/Enter chord symbols. A brief summary is given by right clicking the option. The conventions are described in the LilyPond docs.</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2431612"></a><span class="productname">Denemo</span> Commandline Options</h2></div></div></div><p><span class="productname">Denemo</span> permits the batch conversion of
.denemo files into .ly files. The syntax is as follows "denemo -s
denemofilename. This has not been tested for this release.</p></div></div></body></html>
diff --git a/doc/denemomanual.xml b/doc/denemomanual.xml
index 445fa2c7..bd5bc8ec 100644
--- a/doc/denemomanual.xml
+++ b/doc/denemomanual.xml
@@ -1405,7 +1405,7 @@ You can also get Denemo to remember a frequently used sequence of actions - it c
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 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
<itemizedlist>
<listitem>
-(d-InsertLilyDirective " \\mark \\default")
+ (d-DirectivePut-standalone-postfix "RehearsalMark" " \\mark \\default" )
</listitem>
</itemizedlist>
which is inserting the LilyPond directive "\mark \default" which inserts the default rehearsal mark. (The extra \s are needed to tell Scheme that you literally mean a \ sign). You can change this to insert any other LilyPond that you need - always doubling the \ signs. The you can save as a new menu item, or use Save Script to customize the script you started with.
@@ -1482,6 +1482,12 @@ d-DirectivePut-note-* where * is one of display, prefix, postfix, takes a tag an
<listitem>
d-DirectivePut-chord* as above but for the Chord as a whole
</listitem>
+ <listitem>
+d-DirectivePut-staff* as above but for the Staff as a whole
+ </listitem>
+ <listitem>
+d-DirectivePut-score* as above but for the Score as a whole
+ </listitem>
<listitem>
d-Chordize Ensure that even a single note is treated as a chord - needed for some LilyPond constructs (e.g. fingerings)
@@ -1494,19 +1500,15 @@ d-Chordize Ensure that even a single note is treated as a chord - needed for som
<para>
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\0" is passed these will be used and no popup will occur. The field "name" will be given the value "value". The \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
<example id="schemecalls">
-(d-InsertLilyDirective "directive=^\\markup \\italic {Allegro}\0display=Allegro")
+(d-Open "filename=myfile.denemo\0")
</example>
-will insert a LilyPond directive whose text is ^\markup \italic {Allegro} while displaying the word Allegro in Denemo. If you only wanted to pass the directive then
-<example id="schemecalls">
-(d-InsertLilyDirective "^\\markup \\italic {Allegro}")
-</example>
-would do this. The fields are by convention lower case names, they are listed against the commands below.
+will open the file "myfile.denemo".
</para>
<para>
This feature is being rolled out, and currently works for
<itemizedlist>
<listitem>
-d-InsertLilyDirective (directive, display. minpixels)
+d-InsertLilyDirective (directive, display. minpixels) (deprecated function)
</listitem>
<listitem>
d-AttachLilyToChord (prefix, postfix, display) deprecated see d-DirectiveGet-chord-* and d-DirectivePut-chord-* below
@@ -1533,7 +1535,7 @@ d-InsertKey
d-Open filename
</listitem>
<listitem>
-d-ScoreProperties (lilypond= lilypond to be applied to each score block in LilyPond, fontsize= size of font to be used for score)
+d-ScoreProperties (fontsize= size of font to be used for score)
</listitem>
@@ -1547,19 +1549,18 @@ d-ScoreProperties (lilypond= lilypond to be applied to each score block in LilyP
<itemizedlist>
<listitem>
-d-DirectivePut-chord-* where * is one of display, tx, ty, gx, gy, graphic, prefix, postfix. These commands take two arguments, a tag (string) and a value to set.
-</listitem>
-<listitem>
-d-DirectivePut-note-* where * is one of display, tx, ty, gx, gy, graphic, prefix, postfix, minpixels
-</listitem>
-<listitem>
-d-DirectiveGet-chord-* where * is one of display, tx, ty, gx, gy, graphic, prefix, postfix, minpixels
+d-DirectivePut-type-field where type is one of score, staff, voice, standalone, chord or note and field is one of display, tx, ty, gx, gy, graphic, prefix, postfix. These commands take two arguments, a tag (string) and a value to set. For example
+<example id="schemecalls">
+ (d-DirectivePut-note-postfix "LHFinger" "3")
+</example>
+will put the fingering 3 on (after) the note at the cursor.
</listitem>
<listitem>
-d-DirectiveGet-note-* where * is one of display, tx, ty, gx, gy, graphic, prefix, postfix, minpixels
+d-DirectiveGet-type-field type is one of score, staff, voice, standalone, chord or note and field is one of display, tx, ty, gx, gy, graphic, prefix, postfix. This function returns the value in the field or #f if there is no directive with the given tag at the cursor.
</listitem>
+
</itemizedlist>