@item
Page layout: changing the appearance of the spacing, line
breaks, and page dimensions. These modifications are discussed
-in @ref{Non-musical notation}, and @ref{Spacing issues}.
+@c in @ref{notation}, and @ref{Spacing issues}.
@end itemize
Internally, LilyPond uses Scheme (a LISP dialect) to provide
@end lilypond
Fingering instructions may be manually placed above or below the
-staff, see @ref{Controlling direction and placement}.
+staff, see @ref{Direction and placement}.
@snippets
@seealso
Notation Reference:
-@ref{Controlling direction and placement}
+@ref{Direction and placement}
Snippets:
@rlsr{Editorial annotations}.
@seealso
Notation Reference:
-@ref{Controlling direction and placement}.
+@ref{Direction and placement}.
Snippets:
@rlsr{Editorial annotations}.
The rules for the default placement of articulations are defined
in @file{scm/@/script@/.scm}. Articulations and ornamentations
may be manually placed above or below the staff, see
-@ref{Controlling direction and placement}.
+@ref{Direction and placement}.
@snippets
@rglos{portato}.
Notation Reference:
-@ref{Controlling direction and placement}.
+@ref{Direction and placement}.
Installed Files:
@file{scm/@/script@/.scm}.
@code{\mp}, @code{\mf}, @code{\f}, @code{\ff}, @code{\fff},
@code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff}, @code{\sp},
@code{\spp}, @code{\sfz}, and @code{\rfz}. The dynamic marks may
-be manually placed above or below the staff, see @ref{Controlling
-direction and placement}.
+be manually placed above or below the staff, see
+@ref{Direction and placement}.
@lilypond[verbatim,quote,relative=2]
c2\ppp c\mp
@rlearning{Articulation and dynamics}.
Notation Reference:
-@ref{Controlling direction and placement}.
+@ref{Direction and placement}.
Snippets:
@rlsr{Expressive marks}.
@code{\slur@emph{DIR}}, where @code{@emph{DIR}} is either
@code{Up}, @code{Down}, or @code{Neutral} (@code{Neutral} is the
default). Slurs may be manually placed above or below the staff,
-see @ref{Controlling direction and placement}.
+see @ref{Direction and placement}.
@lilypond[verbatim,quote,relative=2]
c4_( c) c^( c)
@rglos{slur}.
Notation Reference:
-@ref{Controlling direction and placement}.
+@ref{Direction and placement}.
Snippets:
@rlsr{Expressive marks}.
@code{\slurUp} will have no effect on a phrasing slur; instead,
use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
@code{\phrasingSlurNeutral}. Phrasing slurs may be manually
-placed above or below the staff, see @ref{Controlling direction
+placed above or below the staff, see @ref{Direction
and placement}.
You cannot have simultaneous phrasing slurs.
@seealso
Notation Reference:
-@ref{Controlling direction and placement}.
+@ref{Direction and placement}.
Snippets:
@rlsr{Expressive marks}.
under heavy development.
@menu
-* Input structure::
-* Useful concepts and properties::
-* Titles and headers::
-* Working with input files::
-* Controlling output::
+* Input structure::
+* Useful concepts and properties::
+* Titles and headers::
+* Working with input files::
+* Controlling output::
+* MIDI output::
@end menu
these files end with @code{.ly}.
@menu
-* Structure of a score::
-* Multiple scores in a book::
-* File structure::
+* Structure of a score::
+* Multiple scores in a book::
+* File structure::
@end menu
@rlearning{Working on input files},
@rlearning{Music expressions explained},
-@rlearning{Score is a single (compound) music expression}.
+@rlearning{Score is a single (compound) musical expression}.
@node Multiple scores in a book
@menu
-* Input modes::
-* Controlling direction and placement::
-* Distances and measurements::
-* Spanners::
+* Input modes::
+* Direction and placement::
+* Distances and measurements::
+* Spanners::
@end menu
@node Input modes
-@node Controlling direction and placement
-@subsection Controlling direction and placement
-
-TODO: Maybe rename section to "directions".
+@node Direction and placement
+@subsection Direction and placement
In typesetting music the direction and placement of many items is
a matter of choice. For example, the stems of notes can
@node Spanners
@subsection Spanners
+Many objects of musical notation extend over several notes or even
+several bars. Examples are crescendi, trills, tuplet brackets, and
+volta repeat brackets. Such objects are called @qq{spanners}, and
+have special properties to control their appearance and behaviour.
+Some of these properties are common to all spanners; others are
+restricted to a sub-set of the spanners.
@node Titles and headers
@section Titles and headers
some pieces include a lot more information.
@menu
-* Creating titles::
-* Custom titles::
-* Reference to page numbers::
-* Table of contents::
+* Creating titles::
+* Custom titles::
+* Reference to page numbers::
+* Table of contents::
@end menu
@section Controlling output
@menu
-* Extracting fragments of notation::
+* Extracting fragments of music::
* Skipping corrected music::
@end menu
-@node Extracting fragments of notation
-@subsection Extracting fragments of notation
+@node Extracting fragments of music
+@subsection Extracting fragments of music
It is possible to quote small fragments of a large score directly from
the output. This can be compared to clipping a piece of a paper score
voices and staves, saving even more time.
+
+@node MIDI output
+@section MIDI output
+
+@cindex Sound
+@cindex MIDI
+
+MIDI (Musical Instrument Digital Interface) is a standard for
+connecting and controlling digital instruments. A MIDI file is a
+series of notes in a number of tracks. It is not an actual
+sound file; you need special software to translate between the
+series of notes and actual sounds.
+
+Pieces of music can be converted to MIDI files, so you can listen to
+what was entered. This is convenient for checking the music; octaves
+that are off or accidentals that were mistyped stand out very much
+when listening to the MIDI output.
+
+@knownissues
+
+Many musically interesting effects, such as swing, articulation,
+slurring, etc., are not translated to midi.
+
+The midi output allocates a channel for each staff, and one for global
+settings. Therefore the midi file should not have more than 15 staves
+(or 14 if you do not use drums). Other staves will remain silent.
+
+Not all midi players correctly handle tempo changes in the midi
+output. Players that are known to work include
+@uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
+
+@menu
+* Creating MIDI files::
+* MIDI block::
+* MIDI instrument names::
+* What goes into the MIDI? FIXME::
+* other midi::
+@end menu
+
+@node Creating MIDI files
+@subsection Creating MIDI files
+
+To create a MIDI from a music piece of music, add a @code{\midi} block
+to a score, for example,
+
+@example
+\score @{
+ @var{...music...}
+ \midi @{
+ \context @{
+ \Score
+ tempoWholesPerMinute = #(ly:make-moment 72 4)
+ @}
+ @}
+@}
+@end example
+
+The tempo can be specified using the @code{\tempo} command within the
+actual music, see @ref{Metronome marks}. An alternative, which does not
+result in a metronome mark in the printed score, is shown in the example
+above. In this example the tempo of quarter notes is set to 72 beats per
+minute.
+This kind of tempo
+specification can not take dotted note lengths as an argument. In this
+case, break the dotted notes into smaller units. For example, a tempo
+of 90 dotted quarter notes per minute can be specified as 270 eighth
+notes per minute
+
+@example
+tempoWholesPerMinute = #(ly:make-moment 270 8)
+@end example
+
+If there is a @code{\midi} command in a @code{\score}, only MIDI will
+be produced. When notation is needed too, a @code{\layout} block must
+be added
+
+@example
+\score @{
+ @var{...music...}
+ \midi @{ @}
+ \layout @{ @}
+@}
+@end example
+@cindex layout block
+
+
+
+Ties, dynamics, and tempo changes are interpreted. Dynamic marks,
+crescendi and decrescendi translate into MIDI volume levels. Dynamic
+marks translate to a fixed fraction of the available MIDI volume
+range, crescendi and decrescendi make the volume vary linearly between
+their two extremes. The fractions can be adjusted by
+@code{dynamicAbsoluteVolumeFunction} in @rinternals{Voice} context.
+For each type of MIDI instrument, a volume range can be defined. This
+gives a basic equalizer control, which can enhance the quality of
+the MIDI output remarkably. The equalizer can be controlled by
+setting @code{instrumentEqualizer}, or by setting
+
+@example
+\set Staff.midiMinimumVolume = #0.2
+\set Staff.midiMaximumVolume = #0.8
+@end example
+
+To remove dynamics from the MIDI output, insert the following lines
+in the @code{\midi@{@}} section.
+
+@example
+\midi @{
+ ...
+ \context @{
+ \Voice
+ \remove "Dynamic_performer"
+ @}
+@}
+@end example
+
+
+@knownissues
+
+Unterminated (de)crescendos will not render properly in the midi file,
+resulting in silent passages of music. The workaround is to explicitly
+terminate the (de)crescendo. For example,
+
+@example
+@{ a\< b c d\f @}
+@end example
+
+@noindent
+will not work properly but
+
+@example
+@{ a\< b c d\!\f @}
+@end example
+
+@noindent
+will.
+
+
+MIDI output is only created when the @code{\midi} command is within
+a @code{\score} block. If you put it within an explicitly instantiated
+context ( i.e. @code{\new Score} ) the file will fail. To solve this,
+enclose the @code{\new Score} and the @code{\midi} in a @code{\score} block.
+
+@example
+\score @{
+ \new Score @{ @dots{}notes@dots{} @}
+ \midi
+@}
+@end example
+
+
+@node MIDI block
+@subsection MIDI block
+@cindex MIDI block
+
+
+The MIDI block is analogous to the layout block, but it is somewhat
+simpler. The @code{\midi} block is similar to @code{\layout}. It can contain
+context definitions.
+
+
+@cindex context definition
+
+Context definitions follow precisely the same syntax as within the
+\layout block. Translation modules for sound are called performers.
+The contexts for MIDI output are defined in @file{ly/@/performer@/-init@/.ly}.
+
+
+@node MIDI instrument names
+@subsection MIDI instrument names
+
+@cindex instrument names
+@funindex Staff.midiInstrument
+
+The MIDI instrument name is set by the @code{Staff.midiInstrument}
+property. The instrument name should be chosen from the list in
+@ref{MIDI instruments}.
+
+@example
+\set Staff.midiInstrument = "glockenspiel"
+@var{...notes...}
+@end example
+
+If the selected instrument does not exactly match an instrument from
+the list of MIDI instruments, the Grand Piano (@code{"acoustic grand"})
+instrument is used.
+
+
+@node What goes into the MIDI? FIXME
+@subsection What goes into the MIDI? FIXME
+
+@menu
+* Repeats and MIDI::
+@end menu
+
+@node Repeats and MIDI
+@subsubsection Repeats and MIDI
+
+@cindex expanding repeats
+@funindex \unfoldRepeats
+
+With a little bit of tweaking, all types of repeats can be present
+in the MIDI output. This is achieved by applying the
+@code{\unfoldRepeats} music function. This function changes all
+repeats to unfold repeats.
+
+@lilypond[quote,verbatim,fragment,line-width=8.0\cm]
+\unfoldRepeats {
+ \repeat tremolo 8 {c'32 e' }
+ \repeat percent 2 { c''8 d'' }
+ \repeat volta 2 {c'4 d' e' f'}
+ \alternative {
+ { g' a' a' g' }
+ {f' e' d' c' }
+ }
+}
+\bar "|."
+@end lilypond
+
+When creating a score file using @code{\unfoldRepeats} for MIDI,
+it is necessary to make two @code{\score} blocks: one for MIDI
+(with unfolded repeats) and one for notation (with volta, tremolo,
+and percent repeats). For example,
+
+@example
+\score @{
+ @var{..music..}
+ \layout @{ .. @}
+@}
+\score @{
+ \unfoldRepeats @var{..music..}
+ \midi @{ .. @}
+@}
+@end example
+
+
+@node other midi
+@subsection other midi
+
+Micro tones are also exported to the MIDI file.
+
+Figured bass has no effect on MIDI.
+
specific purposes.
* Input syntax:: General information about
lilypond input files.
-* Non-musical notation:: Output that is not musical notation.
* Spacing issues:: Display of output on paper.
* Changing defaults:: Tuning output.
* Interfaces for programmers:: Expert usage.
@include specialist.itely
@include input.itely
-@include non-music.itely
@include spacing.itely
@include changing-defaults.itely
+++ /dev/null
-@c -*- coding: utf-8; mode: texinfo; -*-
-@c This file is part of lilypond.tely
-@ignore
- Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
-
- When revising a translation, copy the HEAD committish of the
- version that you are working on. See TRANSLATION for details.
-@end ignore
-
-@c \version "2.11.38"
-
-@c A menu is needed before every deeper *section nesting of @node's; run
-@c M-x texinfo-all-menus-update
-@c to automatically fill in these menus before saving changes
-
-@node Non-musical notation
-@chapter Non-musical notation
-
-This section deals with general LilyPond issues, rather than
-specific notation.
-
-@menu
-* MIDI output::
-* other midi::
-@end menu
-
-
-@node MIDI output
-@section MIDI output
-
-@cindex Sound
-@cindex MIDI
-
-MIDI (Musical Instrument Digital Interface) is a standard for
-connecting and controlling digital instruments. A MIDI file is a
-series of notes in a number of tracks. It is not an actual
-sound file; you need special software to translate between the
-series of notes and actual sounds.
-
-Pieces of music can be converted to MIDI files, so you can listen to
-what was entered. This is convenient for checking the music; octaves
-that are off or accidentals that were mistyped stand out very much
-when listening to the MIDI output.
-
-@knownissues
-
-Many musically interesting effects, such as swing, articulation,
-slurring, etc., are not translated to midi.
-
-The midi output allocates a channel for each staff, and one for global
-settings. Therefore the midi file should not have more than 15 staves
-(or 14 if you do not use drums). Other staves will remain silent.
-
-Not all midi players correctly handle tempo changes in the midi
-output. Players that are known to work include
-@uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
-
-@menu
-* Creating MIDI files::
-* MIDI block::
-* MIDI instrument names::
-* What goes into the MIDI? FIXME::
-@end menu
-
-@node Creating MIDI files
-@subsection Creating MIDI files
-
-To create a MIDI from a music piece of music, add a @code{\midi} block
-to a score, for example,
-
-@example
-\score @{
- @var{...music...}
- \midi @{
- \context @{
- \Score
- tempoWholesPerMinute = #(ly:make-moment 72 4)
- @}
- @}
-@}
-@end example
-
-The tempo can be specified using the @code{\tempo} command within the
-actual music, see @ref{Metronome marks}. An alternative, which does not
-result in a metronome mark in the printed score, is shown in the example
-above. In this example the tempo of quarter notes is set to 72 beats per
-minute.
-This kind of tempo
-specification can not take dotted note lengths as an argument. In this
-case, break the dotted notes into smaller units. For example, a tempo
-of 90 dotted quarter notes per minute can be specified as 270 eighth
-notes per minute
-
-@example
-tempoWholesPerMinute = #(ly:make-moment 270 8)
-@end example
-
-If there is a @code{\midi} command in a @code{\score}, only MIDI will
-be produced. When notation is needed too, a @code{\layout} block must
-be added
-
-@example
-\score @{
- @var{...music...}
- \midi @{ @}
- \layout @{ @}
-@}
-@end example
-@cindex layout block
-
-
-
-Ties, dynamics, and tempo changes are interpreted. Dynamic marks,
-crescendi and decrescendi translate into MIDI volume levels. Dynamic
-marks translate to a fixed fraction of the available MIDI volume
-range, crescendi and decrescendi make the volume vary linearly between
-their two extremes. The fractions can be adjusted by
-@code{dynamicAbsoluteVolumeFunction} in @rinternals{Voice} context.
-For each type of MIDI instrument, a volume range can be defined. This
-gives a basic equalizer control, which can enhance the quality of
-the MIDI output remarkably. The equalizer can be controlled by
-setting @code{instrumentEqualizer}, or by setting
-
-@example
-\set Staff.midiMinimumVolume = #0.2
-\set Staff.midiMaximumVolume = #0.8
-@end example
-
-To remove dynamics from the MIDI output, insert the following lines
-in the @code{\midi@{@}} section.
-
-@example
-\midi @{
- ...
- \context @{
- \Voice
- \remove "Dynamic_performer"
- @}
-@}
-@end example
-
-
-@knownissues
-
-Unterminated (de)crescendos will not render properly in the midi file,
-resulting in silent passages of music. The workaround is to explicitly
-terminate the (de)crescendo. For example,
-
-@example
-@{ a\< b c d\f @}
-@end example
-
-@noindent
-will not work properly but
-
-@example
-@{ a\< b c d\!\f @}
-@end example
-
-@noindent
-will.
-
-
-MIDI output is only created when the @code{\midi} command is within
-a @code{\score} block. If you put it within an explicitly instantiated
-context ( i.e. @code{\new Score} ) the file will fail. To solve this,
-enclose the @code{\new Score} and the @code{\midi} in a @code{\score} block.
-
-@example
-\score @{
- \new Score @{ @dots{}notes@dots{} @}
- \midi
-@}
-@end example
-
-
-@node MIDI block
-@subsection MIDI block
-@cindex MIDI block
-
-
-The MIDI block is analogous to the layout block, but it is somewhat
-simpler. The @code{\midi} block is similar to @code{\layout}. It can contain
-context definitions.
-
-
-@cindex context definition
-
-Context definitions follow precisely the same syntax as within the
-\layout block. Translation modules for sound are called performers.
-The contexts for MIDI output are defined in @file{ly/@/performer@/-init@/.ly}.
-
-
-@node MIDI instrument names
-@subsection MIDI instrument names
-
-@cindex instrument names
-@funindex Staff.midiInstrument
-
-The MIDI instrument name is set by the @code{Staff.midiInstrument}
-property. The instrument name should be chosen from the list in
-@ref{MIDI instruments}.
-
-@example
-\set Staff.midiInstrument = "glockenspiel"
-@var{...notes...}
-@end example
-
-If the selected instrument does not exactly match an instrument from
-the list of MIDI instruments, the Grand Piano (@code{"acoustic grand"})
-instrument is used.
-
-
-@node What goes into the MIDI? FIXME
-@subsection What goes into the MIDI? FIXME
-
-@menu
-* Repeats and MIDI::
-@end menu
-
-@node Repeats and MIDI
-@subsubsection Repeats and MIDI
-
-@cindex expanding repeats
-@funindex \unfoldRepeats
-
-With a little bit of tweaking, all types of repeats can be present
-in the MIDI output. This is achieved by applying the
-@code{\unfoldRepeats} music function. This function changes all
-repeats to unfold repeats.
-
-@lilypond[quote,verbatim,fragment,line-width=8.0\cm]
-\unfoldRepeats {
- \repeat tremolo 8 {c'32 e' }
- \repeat percent 2 { c''8 d'' }
- \repeat volta 2 {c'4 d' e' f'}
- \alternative {
- { g' a' a' g' }
- {f' e' d' c' }
- }
-}
-\bar "|."
-@end lilypond
-
-When creating a score file using @code{\unfoldRepeats} for MIDI,
-it is necessary to make two @code{\score} blocks: one for MIDI
-(with unfolded repeats) and one for notation (with volta, tremolo,
-and percent repeats). For example,
-
-@example
-\score @{
- @var{..music..}
- \layout @{ .. @}
-@}
-\score @{
- \unfoldRepeats @var{..music..}
- \midi @{ .. @}
-@}
-@end example
-
-
-@node other midi
-@section other midi
-
-Micro tones are also exported to the MIDI file.
-
-Figured bass has no effect on MIDI.
-
Dots are normally moved up to avoid staff lines, except in
polyphonic situations. Predefined commands are available to
force a particular direction manually, for details
-see @ref{Controlling direction and placement}.
+see @ref{Direction and placement}.
@predefined
The automatic placement of the tuplet bracket above or below the
notes may be overridden manually with predefined commands, for
-details see @ref{Controlling direction and placement}.
+details see @ref{Direction and placement}.
Tuplets may be nested:
The vertical placement of ties may be controlled, see
Predefined commands, or for details, see
-@ref{Controlling direction and placement}.
+@ref{Direction and placement}.
@cindex ties, appearance
@funindex \tieDotted
missing from the list. Who has the
knowledge to fix this?
+
+Clarify
+http://code.google.com/p/lilypond/issues/detail?id=68
+
@end ignore
@node Spacing issues
to a score, as demonstrated in the following example.
Such indications can also be manually placed
above or below the staff, using the
-simple syntax described in @ref{Controlling direction and
+simple syntax described in @ref{Direction and
placement}.
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
@seealso
Notation Reference: @ref{Formatting text},
-@ref{Controlling direction and placement}.
+@ref{Direction and placement}.
Snippets:
@rlsr{Text}.
$(MAKE) test
$(MAKE) out=test -C input/regression/ local-test-baseline
$(MAKE) out=test -C input/regression/musicxml local-test-baseline
- rm -rf out/lybook-testdb/
+ $(MAKE) test-snippets-clean
local-check: test
done
$(MAKE) check
-test-clean: snippets-clean
+test-clean: test-snippets-clean
$(MAKE) -C input/regression/ out=test clean
snippets-clean:
rm -rf out/lybook-db
+
+test-snippets-clean:
+ rm -rf out/lybook-testdb
(README.txt, INSTALL.txt, NEWS.txt etc.)
user/ User manuals
po/ translated manual node names
- fr/ docs translated to French.
+ fr/ es/ de/ docs translated to French, Spanish, German resp.
buildscripts/ Scripts for the build process
- cygwin/ Cygwin (Windows) package support
- debian/ Debian package support
elisp/ Emacs LilyPond mode and syntax coloring
flower/ A simple c++ library
include/
mutopia/ Real music, more at www.mutopiaproject.org
new/ Snippets which are too new for LSR
regression/ Testing of features, one test per file
+ texidocs/ Translations of texidoc and doctitle fields
+ (for input/lsr)
tutorial/ Examples from the tutorial
lily/ C++ sources for LilyPond (lilypond-bin)
include/
outfile = (dest_dir + '/' + f).replace ('.eps', '.png')
data_option = ''
if options.local_data_dir:
- data_option = ('-slilypond-datadir=%s/share/lilypond/current '
- % os.path.split(infile)[0])
+ data_option = ('-slilypond-datadir=%s/../share/lilypond/current '
+ % os.path.dirname(infile))
mkdir (os.path.split (outfile)[0])
cmd = ('gs -sDEVICE=png16m -dGraphicsAlphaBits=4 -dTextAlphaBits=4 '
/* define if you have sys/stat.h */
#define HAVE_SYS_STAT_H 0
+/* define if you have fpu_control.h */
+#define HAVE_FPU_CONTROL_H 0
+
/* define if you have sys/stat.h */
#define STAT_MACROS_BROKEN 0
STEPMAKE_PATH_PROG(FONTFORGE, fontforge, REQUIRED, 20050624)
-AC_CHECK_HEADERS([assert.h grp.h libio.h pwd.h sys/stat.h wchar.h])
+AC_CHECK_HEADERS([assert.h grp.h libio.h pwd.h sys/stat.h wchar.h fpu_control.h])
AC_LANG_PUSH(C++)
AC_CHECK_HEADERS([sstream boost/lambda/lambda.hpp])
AC_LANG_POP(C++)
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "chords, ancient-notation, contexts-and-engravers"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches, staff-notation, vocal-music"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation, contexts-and-engravers, breaks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation, contexts-and-engravers"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, percussion"
\override StaffSymbol #'line-count = #2
\override BarLine #'bar-size = #2
} <<
- \set Staff.instrumentName = "timbales"
+ \set Staff.instrumentName = #"timbales"
\timb
>>
\new DrumStaff <<
- \set Staff.instrumentName = "drums"
+ \set Staff.instrumentName = #"drums"
\new DrumVoice { \stemUp \drh }
\new DrumVoice { \stemDown \drl }
>>
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "titles"
"
doctitle = "Adding the current date to a score"
} % begin verbatim
-\version "2.11.46"
+\version "2.11.48"
% first, define a variable to hold the formatted date:
date = #(strftime "%d-%m-%Y" (localtime (current-time)))
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "repeats"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text, vocal-music, spacing"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text, paper-and-layout, titles"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text, vocal-music"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "tweaks-and-overrides, paper-and-layout, spacing"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "editorial-annotations, spacing"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches, vocal-music"
texidoc = "
-Adding the @code{Ambitus_engraver} to the @code{Staff} context create a
-single ambitus per staff, even in the case of staves with multiple
+Adding the @code{Ambitus_engraver} to the @code{Staff} context creates
+a single ambitus per staff, even in the case of staves with multiple
voices.
"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "ancient-notation"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "ancient-notation, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "ancient-notation, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "ancient-notation"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches, editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
% _ _
% Required | | | |
-% The good way adapted from David Bobroff
-
% macro for beamed two per two in 2/2 and 4/4 time signature
qBeam = {
#(override-auto-beam-setting '(end 1 8 * *) 1 4 'Staff)
<<
\new Staff \relative c'' {
\time 4/4
- g8^\markup { without the macro } g g g g g g g |
- g8 g g g4 g8 g g |
+ g8^\markup { without the macro } g g g g g g g
+ g8 g g g4 g8 g g
}
%Use the macro
\new Staff \relative c'' {
\time 4/4
\qBeam
- g8^\markup { with the macro } g g g g g g g |
- g8 g g g4 g8 g g |
+ g8^\markup { with the macro } g g g g g g g
+ g8 g g g4 g8 g g
}
>>
\layout {
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.48"
+
+\header {
+ lsrtags = "repeats, staff-notation, editorial-annotations"
+
+ texidoc = "
+This snippet provides an example how to emit bar counters which
+LilyPond doesn't provide currently.
+
+"
+ doctitle = "Bar counter"
+} % begin verbatim
+
+<<
+ \context Voice = "foo" {
+ \clef bass
+ c4 r g r |
+ c4 r g r |
+ c4 r g r |
+ c4 r g r |
+ }
+ \context Voice = "foo" {
+ \set countPercentRepeats = ##t
+ \override PercentRepeat #'transparent = ##t
+ \repeat percent 4 { s1 }
+ }
+>>
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, breaks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "editorial-annotations, text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "winds"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks, text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks, unfretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "simultaneous-notes, editorial-annotations, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
-\layout { ragged-right = ##t }
+\version "2.11.48"
\header {
lsrtags = "rhythms,tweaks-and-overrides"
texidoc = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "tweaks-and-overrides"
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
-
+\version "2.11.48"
\header {
- lsrtags = "expressive-marks"
-
+ lsrtags = "rhythms,tweaks-and-overrides"
texidoc = "
-The text used for crescendos and decrescendos can be changed by
-modifying the context properties @code{crescendoText} and
-@code{decrescendoText}. The style of the spanner line can be changed
-by modifying the context properties @code{crescendoSpanner} and
-@code{decrescendoSpanner}. Available values for the spanner properties
-are @code{'hairpin}, @code{'line}, @code{'dashed-line}, and
-@code{'dotted-line}. If unset, a hairpin crescendo is used:
-
+The text used for crescendos and decrescendos can be
+changed by modifying the context properties @code{crescendoText}
+and @code{decrescendoText}. The style of the spanner line can
+be changed by modifying the @code{'style} property of
+@code{DynamicTextSpanner}. The default value is
+@code{'hairpin}, and other possible values include
+@code{'line}, @code{'dashed-line}, and
+@code{'dotted-line}:
"
doctitle = "Changing text and spanner styles for text dynamics"
} % begin verbatim
+
\relative c'' {
\set crescendoText = \markup { \italic { cresc. poco } }
- \set crescendoSpanner = #'dotted-line
+ \set crescendoSpanner = #'text
+ \override DynamicTextSpanner #'style = #'dotted-line
a2\< a
a2 a
a2 a
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks, editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "chords"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation"
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.48"
+
+\header {
+ lsrtags = "chords"
+
+ texidoc = "
+Accidentals and plus signs can appear before or after the numbers,
+depending on the @code{figuredBassAlterationDirection} and
+@code{figuredBassPlusDirection} properties.
+
+"
+ doctitle = "Changing the positions of figured bass alterations"
+} % begin verbatim
+\figures {
+ <6\+> <5+> <6 4-> r
+ \set figuredBassAlterationDirection = #RIGHT
+ <6\+> <5+> <6 4-> r
+ \set figuredBassPlusDirection = #LEFT
+ <6\+> <5+> <6 4-> r
+ \set figuredBassAlterationDirection = #LEFT
+ <6\+> <5+> <6 4-> r
+}
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation, tweaks-and-overrides, paper-and-layout"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
\header {
lsrtags = "rhythms,contexts-and-engravers"
texidoc = "The @code{measureLength} property, together with
-@code{measurePosition}, determines when a bar line is needed. However,
+@code{measurePosition}, determines when a bar line is needed. However,
when using @code{\\scaleDurations}, the scaling of durations makes it
-difficult to change time signatures without making a mess of it.
-Therefore, @code{measureLength} has to be set manually, using the
-@code{ly:make-moment} callback. The second argument must be the same as
-the second argument of @code{\\scaleDurations}."
+difficult to change time signatures. In this case, @code{measureLength}
+should be set manually, using the @code{ly:make-moment} callback. The
+second argument must be the same as the second argument of
+@code{\\scaleDurations}."
doctitle = "Changing time signatures inside a polymetric section using @code{\\scaleDurations}"
} % begin verbatim
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, vocal-music, ancient-notation, contexts-and-engravers"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "chords"
+changing-the-positions-of-figured-bass-alterations.ly
changing-the-chord-names-to-german-or-semi-german-notation.ly
adding-a-figured-bass-above-or-below-the-notes.ly
+single-staff-template-with-notes,-lyrics,-chords-and-frets.ly
+showing-chords-at-changes.ly
single-staff-template-with-notes-and-chords.ly
controlling-the-placement-of-chord-fingerings.ly
clusters.ly
single-staff-template-with-notes,-lyrics,-and-chords.ly
+adding-bars-to-chordnames.ly
chord-name-exceptions.ly
volta-below-chords.ly
-adding-bars-to-chordnames.ly
+simple-lead-sheet.ly
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
-\layout { ragged-right= ##t }
+\version "2.11.48"
\header {
lsrtags = "paper-and-layout" % a new tag like "Mixing text and music" or
% "Special output" might be more adequate -jm
\relative c' {
\set Staff.instrumentName = #"bla"
c1
- d
+ d1
\grace c16 e1
\key d \major
- f \break
+ f1 \break
\clef bass
- g,
- fis
+ g,1
+ fis1
}
}
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "simultaneous-notes, chords, keyboards"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks, text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "simultaneous-notes, text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
\time 5/8
#(override-auto-beam-setting '(end 1 8 5 8) 1 4)
c8 d e fis gis
- c fis, gis e d
+ c8 fis, gis e d
c8 d e4 gis8
}
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "editorial-annotations, chords, keyboards"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation, editorial-annotations, contexts-and-engravers, paper-and-layout"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks, text"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks,text,tweaks-and-overrides"
texidoc = "
doctitle = "Creating simultaneous rehearsal marks"
} % begin verbatim
-% Thanks to Risto Vääräniemi for this snippet
-
{
\key a \major
\set Score.markFormatter = #format-mark-box-letters
\once \override Score.RehearsalMark #'outside-staff-priority = #5000
\once \override Score.RehearsalMark #'self-alignment-X = #LEFT
\once \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
- \mark \markup { \bold "Senza denti" }
+ \mark \markup { \bold { Senza denti } }
% the hidden measure and bar line
\once \override Score.TimeSignature #'stencil = ##f
\time 4/4
\once \override Score.RehearsalMark #'self-alignment-X = #LEFT
\once \override Score.RehearsalMark #'break-align-symbols = #'(bar-line)
- \mark \markup { \box \bold "Intro" }
+ \mark \markup { \box \bold Intro }
d'1
\mark \default
d'1
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks, keyboards, unfretted-strings"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks, text, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "ancient-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "vocal-music, keyboards, unfretted-strings, midi"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text, paper-and-layout, titles"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation,tweaks-and-overrides"
texidoc = "If there is only one staff in one of the staff types
c'1
}
>>
- \layout {}
+ \layout { }
}
\score {
\new PianoStaff <<
c'1
}
>>
- \layout {}
+ \layout { }
}
}
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "tweaks-and-overrides"
texidoc = "
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "tweaks-and-overrides"
texidoc = "
applying-note-head-styles-depending-on-the-step-of-the-scale.ly
embedding-native-postscript-in-a--markup-block.ly
changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
-grid-lines--emphasizing-rhythms-and-notes-synchronization.ly
+default-direction-of-stems-on-the-center-line-of-the-staff.ly
changing-a-single-notes-size-in-a-chord.ly
+grid-lines--emphasizing-rhythms-and-notes-synchronization.ly
grid-lines--changing-their-appearance.ly
controlling-the-placement-of-chord-fingerings.ly
allowing-fingerings-to-be-printed-inside-the-staff.ly
blanking-staff-lines-using-the--whiteout-command.ly
-default-direction-of-stems-on-the-center-line-of-the-staff.ly
+bar-counter.ly
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "editorial-annotations, text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "contexts-and-engravers"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
doctitle = "Engraving ties manually"
} % begin verbatim
\relative c' {
- <c e g>2 ~ <c e g> |
+ <c e g>2 ~ <c e g>
\override TieColumn #'tie-configuration =
#'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
- <c e g> ~ <c e g> |
+ <c e g> ~ <c e g>
}
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text, vocal-music"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, percussion"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text, vocal-music"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation,ancient-notation"
texidoc = "Incipits can be added using the instrument name grob, but
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "keyboards"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "keyboards, percussion, template"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
texidoc = "Arrows can be applied to text-spanners and line-spanners
-(such as the Glissando)"
+(such as the Glissando)."
doctitle = "Line arrows"
} % begin verbatim
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches"
texidoc = "Makam is a type of melody from Turkey using 1/9th-tone
microtonal alterations. Consult the initialization file
-@code{makam-init.ly} (in @code{/usr/share/lilypond/current/ly})
-for details of pitch names and alterations.
-"
+@code{makam-init.ly} (see the `Learning Manual @version{},
+4.6.3 Other sources of information' for the location of this file)
+for details of pitch names and alterations."
doctitle = "Makam"
} % begin verbatim
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms,tweaks-and-overrides"
texidoc = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation, editorial-annotations"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation, ancient-notation, contexts-and-engravers, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
% possible rename to scheme- or something like that. -gp
\header {
lsrtags = "tweaks-and-overrides"
'extra-offset '(-3.5 . -4.5))
a^2^"m.d."
}
- \layout { ragged-right = ##t}
+ \layout { }
}
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation, contexts-and-engravers, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches, staff-notation"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches, text"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text"
} % begin verbatim
\score {
- \context Lyrics {
+ \new Lyrics {
\override Score.RehearsalMark #'self-alignment-X = #LEFT
\mark #(ly:export (string-append "Processed with LilyPond version "
(lilypond-version)))
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "spacing"
texidoc = "Page labels may be placed inside music or at top-level,
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "keyboards, template"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks,keyboards,template"
texidoc = "
Many piano scores have the dynamics centered between the two staves.
This requires a bit of tweaking to implement, but since the template is
-right here, you don't have to do the tweaking yourself. Note that
-the two piano staves will move closer together in any system that
-does not contain at least one dynamic marking.
+right here, you don't have to do the tweaking yourself.
"
doctitle = "Piano template with centered dynamics"
} % begin verbatim
\clef treble
\key c \major
\time 4/4
-
+
a4 b c d
}
\clef bass
\key c \major
\time 4/4
-
+
a2 c
}
% So that \cresc works, for example.
\alias Voice
\consists "Output_property_engraver"
-
+
\override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
\override DynamicLineSpanner #'Y-offset = #0
pedalSustainStrings = #'("Ped." "*Ped." "*")
pedalUnaCordaStrings = #'("una corda" "" "tre corde")
-
+
\consists "Piano_pedal_engraver"
\consists "Script_engraver"
\consists "Dynamic_engraver"
\consists "Text_engraver"
-
+
\override TextScript #'font-size = #2
\override TextScript #'font-shape = #'italic
-
+
\consists "Skip_event_swallow_translator"
-
+
\consists "Axis_group_engraver"
}
\context {
}
}
\score {
- \unfoldRepeats {
- \new PianoStaff <<
- \new Staff = "upper" << \upper \dynamics \pedal >>
- \new Staff = "lower" << \lower \dynamics \pedal >>
- >>
- }
- \midi {}
+ \new PianoStaff <<
+ \new Staff = "upper" << \upper \dynamics \pedal >>
+ \new Staff = "lower" << \lower \dynamics \pedal >>
+ >>
+ \midi { }
}
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text, keyboards, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "vocal-music, keyboards, template"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms,tweaks-and-overrides"
texidoc = "
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "repeats, breaks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, expressive-marks, staff-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, percussion"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "tweaks-and-overrides, spacing"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches,staff-notation"
texidoc = "Quotations take into account the transposition of both
\addQuote clarinet {
\transposition bes
- \repeat unfold 8 { d'16 d'16 d'8 }
+ \repeat unfold 8 { d'16 d' d'8 }
}
\addQuote sax {
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation"
texidoc = "With @code{\\quote}, fragments of previously entered
<<
\new Staff {
- \set Staff.instrumentName = "quoteMe"
+ \set Staff.instrumentName = #"quoteMe"
\quoteMe
}
\new Staff {
- \set Staff.instrumentName = "orig"
+ \set Staff.instrumentName = #"orig"
\original
}
\new Staff \relative c'' <<
- \set Staff.instrumentName = "orig+quote"
+ \set Staff.instrumentName = #"orig+quote"
\set Staff.quotedEventTypes = #'(note-event articulation-event)
\original
\new Voice {
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation, tweaks-and-overrides, breaks"
volta-below-chords.ly
adding-volta-brackets-to-additional-staves.ly
volta-multi-staff.ly
+bar-counter.ly
+volta-text-markup-using-repeatcommands.ly
shortening-volta-brackets.ly
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, ancient-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, tweaks-and-overrides"
heavily-customized-polymetric-time-signatures.ly
positioning-multi--measure-rests.ly
using-ties-with-arpeggios.ly
+changing-text-and-spanner-styles-for-text-dynamics.ly
forcing-rehearsal-marks-to-start-from-a-given-letter-or-number.ly
integrating-text-indications-in-metronome-marks.ly
compound-time-signatures.ly
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "template"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
texidoc = "If the note which ends a hairpin falls on a downbeat,
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "repeats"
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.48"
+
+\header {
+ lsrtags = "chords"
+
+ texidoc = "
+Chord names can be displayed only at the start of lines and when the
+chord changes.
+
+"
+ doctitle = "Showing chords at changes"
+} % begin verbatim
+harmonies = \chordmode {
+ c1:m c:m \break c:m c:m d
+}
+<<
+ \new ChordNames {
+ \set chordChanges = ##t
+ \harmonies
+ }
+ \new Staff {
+ \relative c' { \harmonies }
+ }
+>>
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.48"
+
+\header {
+ lsrtags = "chords"
+
+ texidoc = "
+When put together, chord names, a melody, and lyrics form a lead sheet:
+
+"
+ doctitle = "Simple lead sheet"
+} % begin verbatim
+<<
+ \chords { c2 g:sus4 f e }
+ \relative c'' {
+ a4 e c8 e r4
+ b2 c4( d)
+ }
+ \addlyrics { One day this shall be free __ }
+>>
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "vocal-music, chords, template"
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.48"
+
+\header {
+ lsrtags = "vocal-music, chords, template"
+
+ texidoc = "
+Here is a simple lead sheet template with melody, lyrics, chords and
+fret diagrams.
+
+"
+ doctitle = "Single staff template with notes, lyrics, chords and frets"
+} % begin verbatim
+% Define the fret diagrams to be used
+cFretDiagram = \markup {
+ \fret-diagram #"5-3-3;4-2-2;3-o;2-1-1;1-o"
+}
+
+gFretDiagram = \markup {
+ \fret-diagram #"6-3-2;5-2-1;4-o;3-o;2-o;1-3-3"
+}
+
+verseI = \lyricmode {
+ \set stanza = #"1."
+ This is the first verse
+}
+
+verseII = \lyricmode {
+ \set stanza = #"2."
+ This is the second verse.
+}
+
+theChords = \new ChordNames {
+ \chordmode {
+ % insert the chords for chordnames here
+ c2 g4 c
+ }
+}
+
+staffMelody = \new Staff {
+ \context Voice = "voiceMelody" {
+ \key c \major
+ \clef treble
+ \relative c' {
+ % Type notes and fret diagram markups here
+ c4^\cFretDiagram d8 e f4^\gFretDiagram g^\cFretDiagram
+ \bar "|."
+ }
+ }
+}
+
+\score {
+ <<
+ \theChords
+ \staffMelody
+ \new Lyrics = "lyricsI" \lyricmode {
+ \lyricsto "voiceMelody" \verseI
+ }
+ \new Lyrics = "lyricsII" \lyricmode {
+ \lyricsto "voiceMelody" \verseII
+ }
+ >>
+ \layout { }
+ \midi { }
+}
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "chords, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "vocal-music, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, vocal-music"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, vocal-music"
tweaking-clef-properties.ly
quoting-another-voice.ly
volta-multi-staff.ly
+bar-counter.ly
non-traditional-key-signatures.ly
creating-blank-staves.ly
adding-ambitus-per-voice.ly
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "unfretted-strings, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "unfretted-strings, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "paper-and-layout"
texidoc = "A table of contents is included using
-@code{\\markuplines \\table-of-contents}. The TOC items are added with
-the @code{\\tocItem} command."
+@w{@code{\\markuplines \\table-of-contents}}. The TOC items are
+added with the @code{\\tocItem} command."
doctitle = "Table of contents"
} % begin verbatim
vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
single-staff-template-with-notes-and-lyrics.ly
+single-staff-template-with-notes,-lyrics,-chords-and-frets.ly
single-staff-template-with-only-notes.ly
piano-template-with-centered-lyrics.ly
vocal-ensemble-template-with-automatic-piano-reduction.ly
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms, text"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "ancient-notation, tweaks-and-overrides"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
texidoces = "
Este ejemplo utiliza código de Scheme para forzar las
(ly:music?)
(naturalize m))
-music = \relative c' { c4 d e g }
+music = \relative c' { c4 d e g }
\score {
\new Staff {
\transpose c deses \music
\naturalizeMusic \transpose c deses \music
}
- \layout {}
+ \layout { }
}
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "pitches, staff-notation, tweaks-and-overrides"
controlling-tuplet-bracket-visibility.ly
positioning-multi--measure-rests.ly
changing-the-staff-size.ly
+changing-text-and-spanner-styles-for-text-dynamics.ly
controlling-the-vertical-ordering-of-scripts.ly
vertically-aligning-ossias-and-lyrics.ly
changing-properties-for-individual-grobs.ly
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "staff-notation, contexts-and-engravers"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
-\layout { ragged-right= ##t }
+\version "2.11.48"
\header {
lsrtags = "tweaks-and-overrides"
texidoc = "
With the @code{\\tweak} command, every grob can be tuned directly. Here
are some examples of available tweaks.
"
- doctitle = "Using the @code{\tweak} command to tweak individual grobs"
+ doctitle = "Using the @code{\\tweak} command to tweak individual grobs"
} % begin verbatim
\relative c' {
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "rhythms"
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
%% Edit this file using a Unicode aware editor, such as GVIM, GEDIT, Emacs
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "expressive-marks"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "vocal-music, tweaks-and-overrides, spacing"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "tweaks-and-overrides, spacing"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "vocal-music, keyboards, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "text, vocal-music, contexts-and-engravers, template"
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "vocal-music, template"
vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
single-staff-template-with-notes-and-lyrics.ly
adding-ambitus-per-voice.ly
+single-staff-template-with-notes,-lyrics,-chords-and-frets.ly
skips-in-lyric-mode-2.ly
skips-in-lyric-mode.ly
vocal-ensemble-template-with-automatic-piano-reduction.ly
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
-\layout { ragged-right= ##t }
+\version "2.11.48"
\header {
lsrtags = "repeats,staff-notation,chords"
texidoc = "By adding the @code{Volta_engraver} to the relevant
doctitle = "Volta under chords"
} % begin verbatim
-% chords above volta
\score {
<<
\chords {
c1
- c
- }
- \new Staff \with { \consists Volta_engraver } {
- \repeat volta 2 { c'1 }
- \alternative { c' }
- }
+ c1
+ }
+ \new Staff \with { \consists "Volta_engraver" } {
+ \repeat volta 2 { c'1 }
+ \alternative { c' }
+ }
>>
\layout {
\context {
\Score
- \remove Volta_engraver
+ \remove "Volta_engraver"
}
}
}
-
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.46"
+\version "2.11.48"
\header {
lsrtags = "repeats,staff-notation,fretted-strings"
texidoc = "By adding the @code{Volta_engraver} to the relevant
} % begin verbatim
voltaMusic = \relative c'' {
- \repeat volta 2
+ \repeat volta 2 {
c1
- \alternative {
+ }
+ \alternative {
d1
e
- }
+ }
}
<<
--- /dev/null
+%% Do not edit this file; it is auto-generated from input/new
+%% This file is in the public domain.
+\version "2.11.48"
+
+\header {
+ lsrtags = "repeats"
+ texidoc = "Though volte are best specified using
+@code{\\repeat volta}, the context property @code{repeatCommands}
+must be used in cases where the volta text needs more advanced
+formatting with @code{\\markup}.
+
+Since @code{repeatCommands} takes a list, the simplest method of
+including markup is to use an identifier for the text and embed
+it in the command list using the Scheme syntax
+@w{@code{#(list (list 'volta textIdentifier))}}. Start- and end-repeat commands
+can be added as separate list elements:"
+doctitle = "Volta text markup using @code{\\repeatCommands}"
+} % begin verbatim
+
+voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } }
+
+\relative c'' {
+ c1
+ \set Score.repeatCommands = #(list (list 'volta voltaAdLib) 'start-repeat)
+ c4 b d e
+ \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat)
+ f1
+ \set Score.repeatCommands = #'((volta #f))
+}
lsrtags = "pitches"
texidoc = "Makam is a type of melody from Turkey using 1/9th-tone
microtonal alterations. Consult the initialization file
-@code{makam-init.ly) (see the `Learning Manual @version{},
+@code{makam-init.ly} (see the `Learning Manual @version{},
4.6.3 Other sources of information' for the location of this file)
for details of pitch names and alterations."
doctitle = "Makam"
protected:
DECLARE_TRANSLATOR_LISTENER (bend_after);
+ void finalize ();
void process_music ();
void stop_translation_timestep ();
void start_translation_timestep ();
Moment stop_moment_;
Stream_event *fall_event_;
Spanner *fall_;
+ Spanner *last_fall_;
Grob *note_head_;
};
+void
+Bend_engraver::finalize ()
+{
+ // We shouldn't end a spanner on the last musical column of a piece because then
+ // it would extend past the last breakable column of the piece.
+ if (last_fall_)
+ last_fall_->set_bound (RIGHT, unsmob_grob (get_property ("currentCommandColumn")));
+}
+
void
Bend_engraver::stop_fall ()
{
fall_->set_bound (RIGHT, unsmob_grob (bar
? get_property ("currentCommandColumn")
: get_property ("currentMusicalColumn")));
+ last_fall_ = fall_;
fall_ = 0;
note_head_ = 0;
fall_event_ = 0;
void
Bend_engraver::start_translation_timestep ()
{
+ last_fall_ = 0;
+
if (fall_ && now_mom ().main_part_ >= stop_moment_.main_part_)
{
stop_fall ();
Bend_engraver::Bend_engraver ()
{
fall_ = 0;
+ last_fall_ = 0;
note_head_ = 0;
fall_event_ = 0;
}
- the last element in the list defines a context with the given name
The ADDITIONAL_ACCEPTS parameter is a list of additional contexts that this
- specific output def (but not and of the child output defs) should accept.
+ specific context def (but not any of the child context defs) should accept.
*/
vector<Context_def*>
Context_def::path_to_acceptable_context (SCM type_sym, Output_def *odef, SCM additional_accepts) const
#include "spanner.hh"
#include "warn.hh"
-
+/*
+ like execute_general_pushpop_property(), but typecheck
+ grob_property_path and context_property.
+*/
void
general_pushpop_property (Context *context,
SCM context_property,
SCM grob_property_path,
- SCM new_value
- )
+ SCM new_value)
{
if (!scm_is_symbol (context_property)
|| !scm_is_symbol (scm_car (grob_property_path)))
assert (false);
}
- execute_general_pushpop_property (context, context_property,
+ sloppy_general_pushpop_property (context, context_property,
grob_property_path, new_value);
}
/*
-
Grob descriptions (ie. alists with layout properties) are
represented as a (ALIST . BASED-ON) pair, where BASED-ON is the
alist defined in a parent context. BASED-ON should always be a tail
indicates nested alists, eg. '(beamed-stem-lengths details)
*/
-
-
void
execute_override_property (Context *context,
SCM context_property,
new_value);
}
- // it's tempting to replace the head of the list if it's the same
- // property. However, we have to keep this info around, in case we have to
- // \revert back to it.
-
+ /* it's tempting to replace the head of the list if it's the same
+ property. However, we have to keep this info around, in case we have to
+ \revert back to it.
+ */
target_alist = scm_acons (symbol, new_value, target_alist);
bool ok = true;
}
}
+/*
+ do a pop (indicated by new_value==SCM_UNDEFINED) or push
+ */
void
-execute_revert_property (Context *context,
- SCM context_property,
- SCM grob_property_path);
-
-void
-execute_general_pushpop_property (Context *context,
- SCM context_property,
- SCM grob_property_path,
- SCM new_value
- )
+sloppy_general_pushpop_property (Context *context,
+ SCM context_property,
+ SCM grob_property_path,
+ SCM new_value)
{
- if (new_value != SCM_UNDEFINED)
+ if (new_value == SCM_UNDEFINED)
+ execute_revert_property (context, context_property,
+ grob_property_path);
+ else
execute_override_property (context, context_property,
grob_property_path,
new_value);
- else
- execute_revert_property (context, context_property,
- grob_property_path);
}
+/*
+ Revert the property given by property_path.
+*/
void
execute_revert_property (Context *context,
SCM context_property,
SCM grob_property_path)
{
- /*
- revert.
- */
SCM current_context_val = SCM_EOL;
- if (context->where_defined (context_property, ¤t_context_val) == context)
+ if (context->where_defined (context_property, ¤t_context_val)
+ == context)
{
SCM current_alist = scm_car (current_context_val);
SCM daddy = scm_cdr (current_context_val);
}
SCM symbol = scm_car (grob_property_path);
-
if (scm_is_pair (scm_cdr (grob_property_path)))
{
SCM current_sub_alist = ly_assoc_get (symbol, current_alist, SCM_EOL);
- SCM new_val = nested_property_revert_alist (current_sub_alist, scm_cdr (grob_property_path));
+ SCM new_val
+ = nested_property_revert_alist (current_sub_alist,
+ scm_cdr (grob_property_path));
if (scm_is_pair (current_alist)
&& scm_caar (current_alist) == symbol
if (new_alist == daddy)
context->unset_property (context_property);
else
- context->set_property (context_property, scm_cons (new_alist, daddy));
+ context->set_property (context_property,
+ scm_cons (new_alist, daddy));
}
}
}
-
+/*
+ Convenience: a push/pop grob property using a single grob_property
+ as argument.
+*/
void
execute_pushpop_property (Context *context,
SCM context_property,
SCM grob_property,
- SCM new_value
- )
+ SCM new_value)
{
general_pushpop_property (context, context_property,
scm_list_1 (grob_property),
SCM context_prop = scm_car (entry);
SCM val = scm_cadr (entry);
SCM grob_prop_path = scm_cddr (entry);
- execute_general_pushpop_property (tg, context_prop, grob_prop_path, val);
+ sloppy_general_pushpop_property (tg, context_prop, grob_prop_path, val);
}
else if (type == ly_symbol2scm ("pop"))
{
SCM context_prop = scm_car (entry);
SCM val = SCM_UNDEFINED;
SCM grob_prop_path = scm_cdr (entry);
- execute_general_pushpop_property (tg, context_prop, grob_prop_path, val);
+ sloppy_general_pushpop_property (tg, context_prop, grob_prop_path, val);
}
else if (type == ly_symbol2scm ("assign"))
tg->set_property (scm_car (entry), scm_cadr (entry));
return tg;
}
- /*
- TODO: use accepts_list_.
- */
vector<Context_def*> path = path_to_acceptable_context (n);
if (path.size ())
vector<Context_def*>
Context::path_to_acceptable_context (SCM name) const
{
- // definition_mods_ is a list of (symbol string), but the Context_def expects
- // to see a list of (symbol symbol).
+ // The 'accepts elements in definition_mods_ is a list of ('accepts string),
+ // but the Context_def expects to see elements of the form ('accepts symbol).
SCM accepts = SCM_EOL;
for (SCM s = scm_reverse (definition_mods_); scm_is_pair (s); s = scm_cdr (s))
if (scm_caar (s) == ly_symbol2scm ("accepts"))
{
Stream_event *ev = unsmob_stream_event (sev);
- execute_general_pushpop_property (context (),
- ev->get_property ("symbol"),
- ev->get_property ("property-path"),
- ev->get_property ("value"));
+ sloppy_general_pushpop_property (context (),
+ ev->get_property ("symbol"),
+ ev->get_property ("property-path"),
+ ev->get_property ("value"));
}
IMPLEMENT_LISTENER (Engraver_group, revert);
{
Stream_event *ev = unsmob_stream_event (sev);
- execute_general_pushpop_property (context (),
- ev->get_property ("symbol"),
- ev->get_property ("property-path"),
- SCM_UNDEFINED);
+ sloppy_general_pushpop_property (context (),
+ ev->get_property ("symbol"),
+ ev->get_property ("property-path"),
+ SCM_UNDEFINED);
}
void
*/
void apply_property_operations (Context *tg, SCM pre_init_ops);
+void execute_revert_property (Context *context,
+ SCM context_property,
+ SCM grob_property_path);
void execute_pushpop_property (Context *trg, SCM prop, SCM eltprop, SCM val);
-void execute_general_pushpop_property (Context *context,
+void sloppy_general_pushpop_property (Context *context,
SCM context_property, SCM grob_property_path, SCM val);
SCM updated_grob_properties (Context *tg, SCM sym);
Context *find_context_below (Context *where,
unpredictable places. To get around this, we tell the x87 FPU to use only
double precision. Note that this is not needed for x86_64 because that uses
the SSE unit by default instead of the x87 FPU. */
-#if defined(__x86__) || defined(__i386__)
+#if ((defined(__x86__) || defined(__i386__)) \
+ && defined(HAVE_FPU_CONTROL_H) && (HAVE_FPU_CONTROL_H == 1))
#include <fpu_control.h>
static void configure_fpu() {
#include "context.hh"
#include "grob.hh"
+
+/*
+ Drop symbol from the list alist..alist_end.
+ */
SCM
-evict_from_alist (SCM symbol,
- SCM alist,
- SCM alist_end)
+evict_from_alist (SCM symbol, SCM alist, SCM alist_end)
{
SCM new_alist = SCM_EOL;
SCM *tail = &new_alist;
}
else
{
- new_value = value;
+ new_value = value;
}
return scm_acons (scm_car (prop_path), new_value, alist);
}
+/*
+ Recursively purge alist of prop_path:
+
+ revert ((sym, val) : L, [sym]) = L
+ revert ((sym, val) : L, sym : props) =
+ (sym, revert (val, rest-props)) ++ L
+ revert ((sym, val) : L, p ++ rest-props) =
+ (sym, val) : revert (L, p ++ rest-props)
+
+ */
SCM
nested_property_revert_alist (SCM alist, SCM prop_path)
{
- SCM new_sub_alist = SCM_EOL;
- SCM sym = scm_car (prop_path);
- if (scm_is_pair (scm_cdr (prop_path)))
- {
- SCM sub_alist = ly_assoc_get (sym, alist, SCM_EOL);
- new_sub_alist = nested_property_revert_alist (sub_alist, scm_cdr (prop_path));
- }
- else
+ assert(scm_is_pair (prop_path));
+
+ SCM wanted_sym = scm_car (prop_path);
+
+ SCM new_list = SCM_EOL;
+ SCM *tail = &new_list;
+ for (SCM s = alist; scm_is_pair (s); s = scm_cdr (s))
{
- new_sub_alist = evict_from_alist (sym, alist, SCM_EOL);
+ SCM sub_sym = scm_caar (s);
+ SCM old_val = scm_cdar (s);
+
+ if (sub_sym == wanted_sym)
+ {
+ if (scm_is_pair (scm_cdr (prop_path)))
+ {
+ SCM new_val = nested_property_revert_alist (old_val, scm_cdr (prop_path));
+
+ /* nothing changed: drop newly constructed list. */
+ if (old_val == new_val)
+ return alist;
+
+ *tail = scm_acons (sub_sym, new_val, SCM_EOL);
+ tail = SCM_CDRLOC(*tail);
+ }
+ else
+ {
+ /* old value is dropped. */
+ }
+
+ *tail = scm_cdr (s);
+ return new_list;
+ }
+
+ *tail = scm_acons (sub_sym, old_val, SCM_EOL);
+ tail = SCM_CDRLOC (*tail);
}
- return scm_acons (sym, new_sub_alist, alist);
+ /* Wanted symbol not found: drop newly constructed list. */
+ return alist;
}
alist = nested_property_alist (alist, scm_cdr (big_to_small), value);
- me->set_property (scm_car (big_to_small),
- alist);
+ me->set_property (scm_car (big_to_small), alist);
}
return out;
}
-
+// Ugh - very inefficient, but safer than fgets.
static string
read_line (FILE *f)
{
int c = 0;
while ((c = fgetc (f)) != EOF && c != '\n')
- out += c;
+ out += char(c);
return out;
}
Real ss = Staff_symbol_referencer::staff_space (me);
Real length = 7;
- SCM s = scm_cdr (scm_assq (ly_symbol2scm ("lengths"), details));
+ SCM s = ly_assoc_get (ly_symbol2scm ("lengths"), details, SCM_EOL);
if (scm_is_pair (s))
length = 2 * scm_to_double (robust_list_ref (durlog - 2, s));
Interval hp = head_positions (me);
if (dir && dir * hp[dir] >= 0)
{
- SCM sshorten = scm_cdr (scm_assq (ly_symbol2scm ("stem-shorten"), details));
+ SCM sshorten = ly_assoc_get (ly_symbol2scm ("stem-shorten"), details, SCM_EOL);
SCM scm_shorten = scm_is_pair (sshorten)
? robust_list_ref (max (duration_log (me) - 2, 0), sshorten) : SCM_EOL;
Real shorten = 2* robust_scm2double (scm_shorten, 0);
/* Simple standard stem length */
SCM details = me->get_property ("details");
- SCM lengths = scm_cdr (scm_assq (ly_symbol2scm ("beamed-lengths"), details));
+ SCM lengths = ly_assoc_get (ly_symbol2scm ("beamed-lengths"), details, SCM_EOL);
Real ideal_length
= scm_to_double (robust_list_ref (beam_count - 1, lengths))
- 0.5 * beam_thickness;
/* Condition: sane minimum free stem length (chord to beams) */
- lengths = scm_cdr (scm_assq (ly_symbol2scm ("beamed-minimum-free-lengths"), details));
+ lengths = ly_assoc_get (ly_symbol2scm ("beamed-minimum-free-lengths"), details, SCM_EOL);
Real ideal_minimum_free
= scm_to_double (robust_list_ref (beam_count - 1, lengths))
ideal_y -= robust_scm2double (beam->get_property ("shorten"), 0);
- SCM bemfl = scm_cdr (scm_assq (ly_symbol2scm ("beamed-extreme-minimum-free-lengths"),
- details));
+ SCM bemfl = ly_assoc_get (ly_symbol2scm ("beamed-extreme-minimum-free-lengths"),
+ details, SCM_EOL);
Real minimum_free
= scm_to_double (robust_list_ref (beam_count - 1, bemfl))
(TabNoteHead
. (
(stencil . ,ly:text-interface::print)
+ (duration-log . ,note-head::calc-duration-log)
(Y-offset . ,ly:staff-symbol-referencer::callback)
(X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
(direction . ,CENTER)
+++ /dev/null
-$(outdir)/%: %
- rm -f $@
- ln $< $@
-
-$(outdir)/%: $(doc-dir)/%.in
- rm -f $@
- cat $< | sed 's%^% %' > $@
+++ /dev/null
-
-default: $(OUTCONF_FILES)
-
-
-# local-dist: default
+++ /dev/null
-
-LIBINTL=$(outdir)/libintl.a
-check-lib-intl:
- $(MAKE) -C $(depth)/intl lib
-
-include $(stepdir)/c.make
-
+++ /dev/null
-
-.SUFFIXES: .1 .5 .html .pod .txt
-
-pod2html=pod2html
-pod2groff=pod2man --center="$(PACKAGE_NAME) documentation" --section="0"\
- --release="$(PACKAGE_NAME) $(VERSION)" $< > $@
-
-
-# perl 5.003/4
-POD2HTML_5003=$(POD2HTML) $< ; mv $(notdir $@) $(outdir)/ || true
-# urg, broken. if you must have perl 5004, better install pod2html from 5003
-POD2HTML_5004=$(POD2HTML) --noindex --infile $< --outfile=$@; sh $(depth)/bin/add-URLs.sh $@
-
-do_pod2html=$($(POD2HTML_VERSION))
-
-$(outdir)/%.html: $(outdir)/%.pod
- $(do_pod2html)
-
-$(outdir)/%.pod: %.pod
- cp $< $@
-
-$(outdir)/%.5: %.pod
- $(pod2groff)
-
-$(outdir)/%.1: %.pod
- $(pod2groff)
-
-$(outdir)/%.1: $(outdir)/%.pod
- -$(pod2groff)
-
+++ /dev/null
-POD_FILES := $(call src-wildcard,*.pod)
-
-OUTPOD_FILES = $(addprefix $(outdir)/,$(POD_FILES))