+2004-03-03 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/define-markup-commands.scm (fill-line): New markup.
+
+ * scm/output-ps.scm (ps-encoding): Add simplistic encoding.
+ (output-paper-def): Fix alignment.
+ (make-title): Fix height/width scaling.
+
+ * ps/lilyponddefs.ps (base-line-skip): Bugfix.
+
+ * input/test/title-markup.ly: Add remaining titles. Layout and
+ font size fixes. Add simplistic latin1 test.
+
2004-03-03 Heikki Junes <hjunes@cc.hut.fi>
* input/test/nested-groups.ly: remove. move content (to next).
2004-03-03 Jan Nieuwenhuizen <janneke@gnu.org>
* stepmake/autogen.sh: Only issue warning about running configure
- without arguments when configure will actually running configure.
+ without arguments when autogen.sh will actually be running
+ configure.
2004-03-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
expressions, XML documents and music expressions. The braces group
notes into horizontal lines. Other types of lists also exist: you can
stack expressions grouped with @code{<}, and @code{>} vertically with
-the command @code{\column}. Similarly, @code{\center} aligns texts by
-their center lines:
+the command @code{\column}. Similarly, @code{\center-align} aligns
+texts by their center lines:
@lilypond[verbatim,fragment,relative=1]
c1^\markup { \column < a bbbb c > }
- c1^\markup { \center < a bbbb c > }
+ c1^\markup { \center-align < a bbbb c > }
c1^\markup { \line < a b c > }
@end lilypond
@item @code{\command} @tab @code{#:command}
@item @code{\variable} @tab @code{variable}
@item @code{@{ ... @}} @tab @code{#:line ( ... )}
-@item @code{\center < ... >} @tab @code{#:center ( ... )}
+@item @code{\center-align < ... >} @tab @code{#:center ( ... )}
@item @code{string} @tab @code{"string"}
@item @code{#scheme-arg} @tab @code{scheme-arg}
@end multitable
-\version "2.1.22"
+\version "2.1.28"
% A simple scale in LilyPond
%
-\version "2.1.22"
+\version "2.1.28"
% Some beamed and slurred notes of different taste in LilyPond
%
% Type:
#(ly:set-option 'old-relative)
-\version "2.1.22"
+\version "2.1.28"
one = \notes\relative c{
c'' d e f
#(ly:set-option 'old-relative)
-\version "2.1.25"
+\version "2.1.28"
\header {
composer = "ARTHUR GRAY"
-\version "2.1.22"
+\version "2.1.28"
\header {
title = "Title"
subtitle = "Subtitle"
copyright = "Public Domain"
}
-\version "2.1.23"
+\version "2.1.28"
\include "nederlands.ly"
}
-\version "2.1.25"
+\version "2.1.28"
manuscriptBreak = { \break }
footer = "Mutopia-2001/04/27-xx"
}
-\version "2.1.23"
+\version "2.1.28"
dynamicUp = \override DynamicLineSpanner #'direction = #1
dynamicRevert = \revert DynamicLineSpanner #'direction
-\version "2.1.25"
+\version "2.1.28"
% #(ly:set-point-and-click 'line-column)
#(ly:set-option 'old-relative)
-\version "2.1.23"
+\version "2.1.28"
%{
Header for Petites Preludes.
%}
-\version "2.1.23"
+\version "2.1.28"
%}
-\version "2.1.22"
+\version "2.1.28"
\include "mozart-hrn3-defs.ly"
\include "mozart-hrn3-allegro.ly"
#(ly:set-option 'old-relative)
-\version "2.1.22"
+\version "2.1.28"
\include "mozart-hrn3-defs.ly"
allegro =
endlonggrace = \revert Stem #'stroke-style
ritenuto = \markup { \italic "rit." }
-\version "2.1.23"
+\version "2.1.28"
cresc = \notes {
#(ly:export (make-event-chord (list (make-span-event 'CrescendoEvent START))))
#(ly:set-option 'old-relative)
-\version "2.1.22"
+\version "2.1.28"
\include "mozart-hrn3-defs.ly"
romanze = \notes \relative c' {
#(ly:set-option 'old-relative)
-\version "2.1.22"
+\version "2.1.28"
% \include "mozart-hrn3-defs.ly"
-\version "2.1.22"
+\version "2.1.28"
\header {
-\version "2.1.22"
+\version "2.1.28"
\header {
-\version "2.1.22"
+\version "2.1.28"
\header{
filename = "denneboom.ly"
enteredby = "jcn"
-\version "2.1.22"
+\version "2.1.28"
\header {
texidoc = "a staff should really die, if no one's referencing it."
-\version "2.1.22"
+\version "2.1.28"
\header{
-\version "2.1.22"
+\version "2.1.28"
\header{
-\version "2.1.22"
+\version "2.1.28"
\header{
#(ly:set-option 'old-relative)
-\version "2.1.22"
+\version "2.1.28"
\header{ texidoc = "Tests MIDI output with grace notes. " }
\score {
-\version "2.1.22"
+\version "2.1.28"
\header {
texidoc = "Lyrics in MIDI are aligned to ties and beams:
#(ly:set-option 'old-relative)
-\version "2.1.22"
+\version "2.1.28"
\header { texidoc = "@cindex Transposing
The transposing property leaves output invariant, but has effect on MIDI. "
#(ly:set-option 'old-relative)
-\version "2.1.22"
+\version "2.1.28"
\header {
texidoc = "
#(ly:set-option 'old-relative)
-\version "2.1.23"
+\version "2.1.28"
\header {
texidoc = "@cindex Midi Volume Equaliser
The full orchestra plays a notes, where groups stop one after
-\version "2.1.22"
+\version "2.1.28"
% Test parser error
-\version "2.1.22"
+\version "2.1.28"
% Test parser error
-\version "2.1.22"
+\version "2.1.28"
% Test parser error
-\version "2.1.22"
+\version "2.1.28"
% Test parser error
-\version "2.1.22"
+\version "2.1.28"
%If you specify two different key sigs at one point, a
%warning is printed.
-\version "2.1.23"
+\version "2.1.28"
\header {
texidoc = "The @code{Recording_group_engraver} will record events
-\version "2.1.22"
+\version "2.1.28"
\header{
-\version "2.1.22"
+\version "2.1.28"
\header{
-\version "2.1.22"
+\version "2.1.28"
\header{
texidoc = "This should not survive lilypond --safe-mode
-\version "2.1.22"
+\version "2.1.28"
\header{
-\version "2.1.22"
+\version "2.1.28"
\header{
texidoc="crashes lily"
}
-\version "2.1.23"
+\version "2.1.28"
\header {
title = "Puer natus est nobis (excerptum)"
subtitle = "Antiphona ad introitum VII"
-\version "2.1.26"
+\version "2.1.28"
%% +.ly: Be the first .ly file for lys-to-tely.py.
%% Better to make lys-to-tely.py include "introduction.texi" or
%% other .texi documents too?
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Cautionary accidentals are indicated using either
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "If two forced accidentals happen at the same time, only one
sharp sign is printed."
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Quarter tone notation is supported, including
threequarters flat."
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes \relative c'' {
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
A sharp sign after a double sharp sign, as well as a flat sign
-\version "2.1.26"
+\version "2.1.28"
\header {
wreak havoc in the spacing when unbroken."
}
-\version "2.1.26"
+\version "2.1.28"
rechts = \notes \relative c' {
\clef treble
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
%}
-\version "2.1.26"
+\version "2.1.28"
upper = \notes \relative c {
\clef "treble"
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Arpeggio stays clear of accidentals and flipped note heads."
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Arpeggios are supported, both cross-staff and broken single staff.
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="No auto beams will be put over (manual) repeat bars."
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes { c8 c-\noBeam c c }
texidoc = "Automatic beaming is also done on tuplets."
}
-\version "2.1.26"
+\version "2.1.28"
\score{
\notes\relative c''{
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Tuplet-spanner should not put (visible) brackets on
}
-\version "2.1.26"
+\version "2.1.28"
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "With balloon texts, objects in the output can be marked,
with lines and explanatory text added."
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes {
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc="A knee is made automatically when a horizontal
beam fits in a gap between note heads that is larger than a predefined
"
}
-\version "2.1.26"
+\version "2.1.28"
\paper { raggedright= ##t }
\score { \notes \relative c'' {
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="Simple beams on middle staffline are allowed to be
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc = "Concave beams should be horizontal. Informally spoken,
-\version "2.1.26"
+\version "2.1.28"
\header{
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Cross staff (kneed) beams do not cause extreme slopes."
}
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Beams can be typeset over fixed distance aligned staves, beam
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Beam Damp
Beams are less steep than the notes they encompass. " }
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="Beamed stems have standard lengths if possible. Quantization is switched off in this example."
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Beams should behave reasonably well, even under extreme circumstances.
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc=" Funky kneed beams with beamlets also work. The beamlets
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "In complex configurations of knee beaming, according to
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Point-symmetric beams should receive the same
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Kneed beams (often happens with cross-staff beams)
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Explicit beams may cross barlines. "
}
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc=" Beams on ledgered notes should always reach the middle staff
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Beams and ties may be entered in postfix notation, separating the
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes \relative c''{
-\version "2.1.26"
+\version "2.1.28"
\header{
-\version "2.1.26"
+\version "2.1.28"
\header
{
texidoc= "Quarter notes may be beamed: the beam is halted momentarily."
texidoc = "The number of beams does not change on a rest."
}
-\version "2.1.26"
+\version "2.1.28"
\score { \notes \relative c, {
\clef bass
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Engraving second intervals is tricky. We used to have problems with seconds
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="Beams in unnatural direction, have shortened stems, but do not look too short."
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc = "Hairy case for beam, chord, and automatic knees."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Automatic beaming works also in ternary time sigs."
}
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Beaming can be also given explicitly."
}
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
#(ly:set-option 'old-relative)
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Breathing signs are available in different tastes: commas (default),
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="Property chordChanges: display chord names only when
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "The property @code{chordNameExceptions} can used
to store a list of special notations for specific chords.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "The layout of the major 7 can be tuned with
@code{majorSevenSymbol}."
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Scripts can also be attached to chord elements."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "
Tremolo repeats can be constructed for short tremolos (total duration smaller than 1/4) too. Only some of the beams are connected to the stems.
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26" \header {
+\version "2.1.28" \header {
texidoc = "Octavation signs may be added to clefs. These
octavation signs may be placed below or above (meaning an octave
-\version "2.1.26"
+\version "2.1.28"
\header{
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Clusters are a device to denote that a complete range of
notes is to be played."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Single head notes may collide. "
}
dots: notes with dots should go to the right, if there could be
confusion to which notes the dots belong."
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes \relative c'' {
<< <a c>2\\ { <b d>4 <b d>4 } >>
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "If collision resolution finds dotted note head must
on the right side."
}
-\version "2.1.26"
+\version "2.1.28"
\paper { raggedright= ##t }
% todo: b2 (up) + b8 down looks strange compared to c2up + b8. (down)
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Note heads in collisions should be merged if
they have the same positions in the extreme note heads.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc =
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "If NoteCollision has merge-differently-dotted = ##t note
texidoc = "When merging heads, the dots are merged too."
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Oppositely stemmed chords, meshing into each other,
are resolved."
#(ly:set-option 'old-relative)
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
In addition to normal collision rules, there is support for polyphony,
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Completion heads are broken across bar lines. This was
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Custodes may be engraved in various styles."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Dots move to the right when a collision with the (up)flag happens."
}
-\version "2.1.26" \header{
+\version "2.1.28" \header{
texidoc=" Noteheads can have dots, and rests too.
}
-\version "2.1.26"
+\version "2.1.28"
drh = \drums { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 }
drl = \drums {\repeat "unfold" 3 {bd4 sn8 bd bd4 << bd ss >> } bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc = "Broken crescendi should be open on one side."
}
-\version "2.1.26"
+\version "2.1.28"
\header {texidoc = "Dynamic letters are kerned, and their weight
matches that of the hairpin signs. The dynamic scripts should be
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc=" Dynamics appear below or above the staff. If multiple
dynamics are linked with (de)crescendi, they should be on the same
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Crescendi may start off-notes, however, they should not collapse into flat lines."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = " Easy-notation (or Ez-notation) prints names in note heads.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "
Figured bass is created by the FiguredBass context which eats
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "With the new chord syntax, it is possible to associate
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Automatic fingering tries to put fingering instructions
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc = "
The line-spanners connects to the Y position of the note on the next line.
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "The magnification can be set for any font. Note
that this does not change variable symbols such as beams or slurs.
" }
-\version "2.1.26"
+\version "2.1.28"
\header {
#(ly:set-option 'old-relative)
-\version "2.1.26"
+\version "2.1.28"
\header{
-\version "2.1.26"
+\version "2.1.28"
\header
{
texidoc = "The autobeamer is not confused by grace notes."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Bar line should come before the grace note."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Grace notes do tricky things with timing. If a measure
\paper { raggedright= ##t }
-\version "2.1.26"
+\version "2.1.28"
\score { \notes\relative c'' { c4 d8[ \grace { e32[ d c d] } e8] e[ e \grace { f16 } e8 e] }}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc="@cindex Grace End
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Grace code should not be confused by nested sequential musics, containing grace notes; practically speaking, this means that the end-bar and measure bar coincide in this example."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Grace code should not be confused by nested sequential musics, containing grace notes; practically speaking, this means that the end-bar and measure bar coincide in this example."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Grace code should not be confused by nested sequential musics, containing grace notes; practically speaking, this means that the end-bar and measure bar coincide in this example."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "In nested syntax, graces are still properly handled."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Also in the nested syntax here, grace notes appear rightly."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Graces notes may have the same duration as the main note."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Grace notes may be put in a @code{partcombine}r."
}
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc = "Stripped version of trip.ly. Staves should be of correct length."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Pieces may begin with grace notes."
}
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc = "Here @code{startGraceMusic} should set @code{no-stem-extend} to
true; the two grace beams should be the same here.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Grace notes in different voices/staves are synchronized."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "There are three different kinds of grace types: the base
grace switches to smaller type, the appoggiatura inserts also a slur, and the
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "When grace notes are entered with unfolded repeats,
line breaks take place before grace notes.
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc ="Hairpin crescendi may be dashed. "
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc =
}
-\version "2.1.26"
+\version "2.1.28"
textFlat = \markup {\smaller \flat}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Instrument names are also printed on partial starting measures."
}
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Staff margins are also markings attached to barlines. They should be
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "Each clef have own accidental placing rules. " }
\score { \notes
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "By setting @code{Staff.keySignature} directly,
key signatures can be set invidually per pitch.
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Key signatures may appear on key changes, even without a barline.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "With the @code{\\lyricsto} mechanism, individual lyric
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc ="Polyphonic rhythms and rests do not disturb
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc= "Lyrics can be set to a melody automatically. Excess lyrics will be
-\version "2.1.26"
+\version "2.1.28"
\header
{
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc= "In lyric extenders, a syllable may be extended over several notes. "}
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "In lyrics, hyphens may be used."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header
{
texidoc = "Melismata are triggered by manual beams."
texidoc = "The note markup function may be used to make metronome
markings. It works for a variety of flag, dot and duration settings."
}
-\version "2.1.26"
+\version "2.1.28"
\score { \notes { c4^\markup {
\note #"1" #1
-\version "2.1.26"
+\version "2.1.28"
\header {texidoc="Markup scripts may be stacked."}
\paper { raggedright = ##t}
\score { \notes { c''^\markup { "a" \column < "1" \bold "2" "3" > } } }
}
-\version "2.1.26" % to be updated
+\version "2.1.28" % to be updated
#(def-markup-command (upcase paper props str) (string?)
"Upcase the string characters. Syntax: \\upcase #\"string\""
}
-\version "2.1.26"
+\version "2.1.28"
%% TODO: should have 2/4 + 5/8 time sig style.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "There is limited support for mensural notation: note head
}
-\version "2.1.26"
+\version "2.1.28"
\score { \notes \relative c'' { \tempo \breve = 100 c1 c1 \tempo 8.. = 50 c1 }
\paper { raggedright = ##t }
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc=" You can write stencil callbacks in Scheme, thus
providing custom glyphs for notation elements. A simple example is
-\version "2.1.26"
+\version "2.1.28"
\header
{
texidoc = "The multimeasure rest is centered exactly between bar lines."
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "There are both long and short intstrument names.
Engraving instrument names should not be confused by the
multimeasure rests. " }
independent on prefatory matter in other staves."
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes << \new Staff { R1 }
texidoc = "By setting texts starting with a multi-measure rest, an
extra spacing column is created. This should not cause problems."
}
-\version "2.1.26"
+\version "2.1.28"
\score {
<<
-\version "2.1.26"
+\version "2.1.28"
\header {
\score { \notes {
\time 3/4
\set Score.skipBars = ##t
- R2._\markup { \center < \musicglyph #"scripts-dfermata" \roman "Ad lib" > }
+ R2._\markup { \center-align < \musicglyph #"scripts-dfermata" \roman "Ad lib" > }
R2.^\fermataMarkup
R2.^"4"
R2.*3_\markup { \roman "a1b2c3" }
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
}
-\version "2.1.26"
+\version "2.1.28"
#(define (notes-to-skip m)
"Convert all stuff with duration (notes, lyrics, bass figures, etc.) to skips.
texts using a similar syntax as @code{\\markup}."
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes {
\fatText
#:super "2"
#:dynamic "sfzp"
#:huge #:line ("A" #:smaller "A" #:smaller #:smaller "A"
- #:smaller #:smaller #:smaller "A")
+ #:smaller #:smaller #:smaller "A")xo
#:sub "alike")
}
\paper {
texidoc = "With the new markup syntax, text may be written in various manners."
}
-\version "2.1.26"
+\version "2.1.28"
\score {
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc=" By default, text is set with empty horizontal dimensions.
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Note heads are flipped on the stem to prevent collisions.
Harmonic heads do not get accidentals or dots."
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes {
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Note head shapes may be set from several choices.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Note head lines (e.g. glissando)
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc=" The number of stafflines of a staff can be set. Ledger
}
-\version "2.1.26"
+\version "2.1.28"
\paper { raggedright = ##t}
"
}
-\version "2.1.26"
+\version "2.1.28"
% . There must be a minimum distance between the octavation line and the
% topmost staff line, taking into account the height of the closing
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc ="The a2 string is printed only on notes (i.e. not on rests),
and only after chords, solo or polyphony."
"
}
-\version "2.1.26"
+\version "2.1.28"
vone =\notes
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\new Staff
vone = \notes \relative a' { d4 r8 d8 d8 r8 d8 r8 d2 ~ d2 ~ d4 }
vtwo = \notes \relative g' { g4. g8 r2 g4 r4 r2 g4 }
-\version "2.1.26"
+\version "2.1.28"
\score {
}
-\version "2.1.26"
+\version "2.1.28"
vone = \notes \relative a' { R1 a2 r4 r a a a a }
vtwo = \notes \relative a' { R1 f4 f4 f4 f f f a a }
"
}
-\version "2.1.26"
+\version "2.1.28"
vone = \notes \relative a' { g2 g g g4 g f' c c( c) c c c ~ c
c2. c4 c
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header
{
texidoc = "The standard piano pedals style comes with Ped symbols.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc="Ordinary slurs should work well with phrasing slur."
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Distances between prefatory items (e.g. clef, bar, etc.)
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Once properties take effect during a single time step only."
}
In this example, all instruments play sounding central C, the target is a instrument in F."
}
-\version "2.1.26"
+\version "2.1.28"
\addquote clarinet \notes {
music may be quoted. "
}
-\version "2.1.26"
+\version "2.1.28"
\addquote bla \notes\relative c' {
fis4 g a b }
with @code{\mark NUMBER}, or with @code{Score.rehearsalMark}."
}
-\version "2.1.26"
+\version "2.1.28"
\score { \notes \relative c'' {
c1 \mark \default
c1 \mark #7
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes \relative c''{
\set Score.markFormatter = #format-mark-numbers
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Measure repeats may be nested with beat repeats."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Within a bar, beat repeats denote that a music snippet should be
played again."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Repeats may be unfolded through the Scheme function @code{unfold-repeats}."
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "When too few alternatives are present, the first
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
texidoc = "Rests under beams are only moved if necessary."
}
-\version "2.1.26"
+\version "2.1.28"
fig = \notes \relative c' {
<a c e>8[ r <c e a> r <e a c> r <a c e>] r |
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Rests should not collide with beams, stems and noteheads. Rests may
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Whole and half rests moving outside the staff should get
ledger lines."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Rests can have pitches--these will be affected by
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\new Staff \notes \relative c' {
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header
{
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Scripts can be stacked. The order is determined by a
priority field, but when objects have the same priority, the input
-\version "2.1.26"
+\version "2.1.28"
\paper { raggedright= ##t }
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
foollilypondbook = "
\score
"
-\version "2.1.26"
+\version "2.1.28"
foollilypondbook = "
\score
"
-\version "2.1.26"
+\version "2.1.28"
foollilypondbook = "
\score
"
-\version "2.1.26"
+\version "2.1.28"
foollilypondbook = "
\score
"
-\version "2.1.26"
+\version "2.1.28"
foollilypondbook = "
\score
"
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "The area underneath an (up) slur is minimised to improve the shape. "
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Slurs behave decently when broken across a linebreak.
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="Slurs should not get confused by augmentation dots. With a lot
of dots, the problems becomes more visible."
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Slurs should look nice and symmetric. The curvature may increase
-\version "2.1.26"
+\version "2.1.28"
\header
{
texidoc ="Slurs may be placed over rest. The slur will avoid colliding with
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc="An extra offset may be added between a slur and staccato(s)."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc="Trend of broken slur with user-overridden stem attachment should also
follow the same vertical direction it would have had in unbroken state."
-\version "2.1.26"
+\version "2.1.28"
\header
{
texidoc = "Symmetric figures should lead to symmetric slurs."
-\version "2.1.26"
+\version "2.1.28"
\header
{
texidoc = "Symmetric figures should lead to symmetric slurs."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Accidentals in different staves do not affect the
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Accidentals do not influence the amount of stretchable space.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Accidentals sticking out to the left
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Downstem notes following a barline are
printed with some extra space. This is an optical correction similar
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Clef changes at the start of a line get much more space
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc ="Broken engraving of a bar at the end of a line does not upset
#(ly:set-option 'old-relative)
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "
A voicelet (a very short voice to get polyphonic chords correct)
should not confuse the spacing engine."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "A clef can be folded below notes in a different staff, if
this does not disrupt the flow of the notes."
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "A clef can be folded below notes in a different staff, if
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Spacing uses the duration of the notes, but disregards
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Grace note spacing. Should it be tuned? "
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "For knees, the spacing correction is such that the
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc = "Concurrent tuplets should be equidistant on all staffs.
}
}
-\version "2.1.26"
+\version "2.1.28"
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Rests get a little less space, since they are narrower.
However, the quarter rest in feta font is relatively wide, causing this
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Notes that are shorter than the common shortest note get a
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Upstem notes before a barline are printed with some extra
-\version "2.1.26"
+\version "2.1.28"
\header{
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "For juxtaposed chords with the same direction, a
slight optical correction is used. It is constant, and works only if
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc ="Space from a normal note (or barline) to a grace note is
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "
When tightly spaced, the spaces between elements (hinterfleisch?)
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Span bars are drawn only between staff bar lines. By setting
bar lines to transparent, they are shown only between systems.
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
}
-\version "2.1.26"
+\version "2.1.28"
\score {
<<
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "The staff is a grob (graphical object) which may be adjusted as well, for example, to have 6 thick lines and a slightly large @code{staff-space}.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Stanza numbers are put left of their lyric. Theyr are aligned in a column."
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
Stem tremolos or rolls are tremolo signs that look like beam segments
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "The size of every system is correctly determined; this
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc =
"
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes \new TabStaff {
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc = "@cindex Tabulature
A sample tablature, with both normal staff and tab.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "The @code{\\tag} command marks music expressions with a
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc= "Text spanners should not repeat start text when broken."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Tie engraver uses @code{busyGrobs} to keep track of
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
When tying chords, the outer slurs point outwards, the inner slurs
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Ties should not collide with dots."
}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Tieing a grace to the to a following grace or main note works."
}
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "In combination with a beam, the bracket of the tuplet
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc="By a manual hack for nested tuplets, an outer tuplet can be moved up."
}
}
-\version "2.1.26"
+\version "2.1.28"
\score {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Tuplets may contain rests. "
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes \relative c' {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "Horizontal tuplet brackets are shifted vertically
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc= "
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc ="Broken volta spanners behave correctly at their left edge in all cases."
on more staves in a score."
}
-\version "2.1.26"
+\version "2.1.28"
vmus = \notes { \repeat volta 2 c1 \alternative { d e } }
-\version "2.1.23"
+\version "2.1.28"
\header {
title = "Screech and boink"
subtitle = "Random complex notation"
-\version "2.1.22"
+\version "2.1.28"
\header {
-\version "2.1.22"
+\version "2.1.28"
\header {
dedication = "dedication"
title = "Title"
-\version "2.1.23"
+\version "2.1.28"
\header {
title = "Song"
subtitle = "(tune)"
-\version "2.1.22"
+\version "2.1.28"
\header {
texidoc = "Lead sheet format: chords with melody."
-\version "2.1.22"
+\version "2.1.28"
\header
{
texidoc = "Popsong format: chords, melody and lyrics."
-\version "2.1.22"
+\version "2.1.28"
\header {
texidoc = "Melody and lyrics."
-\version "2.1.22"
+\version "2.1.28"
\header {
texidoc = "Only a melody."
-\version "2.1.22"
+\version "2.1.28"
\header {
texidoc ="Polyphonic piano music."
-\version "2.1.23"
+\version "2.1.28"
\header {
texidoc ="
Dynamics on a separate line, neatly centered between staffs.
-\version "2.1.23"
+\version "2.1.28"
\header {
texidoc ="Lyrics between two staffs."
-\version "2.1.23"
+\version "2.1.28"
\header {
texidoc ="Classical song format: one staff with melody and lyrics,
and piano accompaniment."
-\version "2.1.22"
+\version "2.1.28"
\header {
texidoc = "Simple piano music."
-\version "2.1.23"
+\version "2.1.28"
\header {
texidoc = "
-\version "2.1.26"
+\version "2.1.28"
%% +.ly: Be the first .ly file for lys-to-tely.py.
%% Better to make lys-to-tely.py include "introduction.texi" or
%% other .texi documents too?
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc= "@cindex make-music Fingering
"
}
-\version "2.1.26"
+\version "2.1.28"
#(define (kill-ambitus grob grob-context apply-context)
(if (memq 'ambitus-interface (ly:grob-property grob 'interfaces))
"
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\context Voice \notes\relative c {
-\version "2.1.26"
+\version "2.1.28"
% TODO: split ancient-font into seperate files; possibly in
% different locations.
\header {
-\version "2.1.26"
+\version "2.1.28"
% TODO: move stuff from ancient-font into here? See comment
% for ancient-font.ly
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Bagpipe Music
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Bars Always
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Bar line lyric only
You can move @code{Bar_engraver} and @code{Span_bar_engraver} to
a different engraving context, if you want, for example, bar lines
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Bar Lines
There a many types of bar lines available.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Bar Number Every Fifth Reset
" }
-\version "2.1.26"
+\version "2.1.28"
\score {
\context Staff \notes \transpose c c' {
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Bar Number Show All
By default, bar numbers are printed only in the first measure. This
}
-\version "2.1.26"
+\version "2.1.28"
wipeNote = {
\once \override NoteHead #'transparent = ##t
-\version "2.1.26"
+\version "2.1.28"
% keep for now, although merging into beam-auto-override is a possibility.
\header {
texidoc = "@cindex Auto Beaming 4/8
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Auto Beaming Override
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc = "@cindex Beaming Presets
There are presets for the @code{auto-beam} engraver in the case of common
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Beam Position Control
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Beam Count
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Beam Dir Functions
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Beam Isknee
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Beam Neutral Direction
When a beam falls in the middle of the staff, the beams point normally
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Beam Over Rests
-\version "2.1.26"
+\version "2.1.28"
% possible rename to invis-notes.ly
% check if other documents call this "blank notes", though. I think
% invisible notes sounds better, but whatever it is, it should be
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Blank Paper Tab
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc="@cindex Blank Paper
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Boxed Stencil
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Capital Letters
The font can be changed to small caps.
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Cautionary Accidentals
Cautinary accidentals are displayed in slurs by default. They can be
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Chord Names German
The english naming of chords (default) can be changed to german
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc= "@cindex Chord Names No Inversions
Since there are several interpretations for recognizing
chord names, the lowest note is the bass note of a chord and the inversion
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Chord Octavation
Appending @code{_8} or @code{^8} to a clef name will
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Clef End of Line
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc = "
@cindex Clef Manual Control
-\version "2.1.26"
+\version "2.1.28"
% Ugh, we need to override some LaTeX titling stuff
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Count Systems
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Crescendi
Crescendi can be printed in a number of different ways.
-\version "2.1.26"
+\version "2.1.28"
% TODO: check to see if this example can be simplified using \small
% or \tiny.
\header { texidoc = "@cindex Cue Notes
@code{caesura}.
" }
-\version "2.1.26"
+\version "2.1.28"
\include "gregorian-init.ly"
-\version "2.1.26"
+\version "2.1.28"
% possible rename to slurs-?
% TODO: find out what drarn means, and if there's an overlap with drarn.ly
\header{
-\version "2.1.26"
+\version "2.1.28"
\header{texidoc="@cindex Drarn
You can attach slurs and ties to noteheads.
" }
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Dynamic Absolute Volume
Absolute dynamics have an effect on MIDI files.
-\version "2.1.26"
+\version "2.1.28"
% probably should be merged into refman.
\header{
texidoc = "@cindex Dynamic Piu Forte
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Embedded Postscript
By inserting the @TeX{} command \embeddedps, you can
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Embedded scm
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc="@cindex Embedded Tex
You can embed Tex commands in your score. "}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc ="In polyphonic notation, many voices can share a staff: In
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "The notation problem, creating a certain symbol,
-\version "2.1.26"
+\version "2.1.28"
% definitely wil be renamed to something.
%{
texidoc = "An alternate method to make bass figures is to use
@code{markup} texts."
}
-\version "2.1.26"
+\version "2.1.28"
nat = \markup { \natural }
sh = \markup { \smaller \raise #0.6 \sharp }
-\version "2.1.26"
+\version "2.1.28"
%possible rename to paper-fill-a4.ly -gp
% candidate for reg -gp
% Han says no, but keeping this comment temporarily so that I don't
-\version "2.1.26"
+\version "2.1.28"
% MERGED: stuff from follow-break.ly to follow-thread.ly
% followVoice: connect note heads with line when thread switches staff
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc="@cindex Force hshift
Horizontal shift (@code{hshift}) can be forced in order to avoid collisions. " }
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Gourlay
-\version "2.1.26"
+\version "2.1.28"
\header {
title = "Gregorian Scripts"
texidoc = "@cindex Gregorian Scripts
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc ="@cindex Artificial Harmonics
-\version "2.1.26"
+\version "2.1.28"
#(define (my-ly-version)
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Horizontal Shift
Notes may be manually horizontally shifted. " }
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc =
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Incipit
This example shows how to make an ``incipit'' to indicate
scordatora tuning of a violin part, by overriding the @code{style} of
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Instrument Name Grandstaff
You can have a name for the whole @code{GrandStaff} in addition to
individual @code{Staff}s. " }
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Ancient Vaticana
Vaticana ligature uses four staff lines, special clef, an notes
-\version "2.1.26"
+\version "2.1.28"
% MERGE with title.ly -gp
%{
-\version "2.1.26"
+\version "2.1.28"
\header {
% shorthand for Skip Lyric
sl = \notes { \skip 4 }
-\version "2.1.26"
+\version "2.1.28"
\score {
<<
\context Voice = "A" \notes {c4 c c c}
-\version "2.1.26"
+\version "2.1.28"
% TODO:
% check with ancient- stuff. rename, merge, something. -gp
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc ="@cindex Ancient Mensural Note Heads
-\version "2.1.26"
+\version "2.1.28"
% candidate for regression. -gp
\header {
texidoc="Converting LilyPond input to MIDI and then again back with
-\version "2.1.26"
+\version "2.1.28"
% possible rename to scheme- or something like that. -gp
\header { texidoc= "@cindex Scheme Manual Accidentals
-\version "2.1.26"
+\version "2.1.28"
% possible rename to scheme- or something like that. -gp
\header { texidoc = "@cindex Scheme Move Text
Objects, like text, can be moved around by using some Scheme code.
-\version "2.1.26"
+\version "2.1.28"
\include "deutsch.ly"
% possible rename to scheme- something. -gp
% TODO: ask if it needs to have so many empty bars in the middle. -gp
-\version "2.1.26"
+\version "2.1.28"
pat = \notes \transpose c c' \repeat unfold 2 {
<< { \context Staff=up {r8 e16 f g e f g } }
-\version "2.1.26"
+\version "2.1.28"
% possible rename to scheme- something. -gp
\header { texidoc = "@cindex Scheme Music Creation
-\version "2.1.26"
+\version "2.1.28"
% possible rename to bar-lines-foo. -gp
\header{ texidoc = "@cindex Bar Lines Remove
-\version "2.1.26"
+\version "2.1.28"
% possible rename to staff-something. -gp
\header{ texidoc = "@cindex Staff Remove
@code{RemoveEmptyStaffContext} take out the unused parts.
" }
-\version "2.1.26"
+\version "2.1.28"
\score {
\notes\relative c''
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc="@cindex Part Combine
In orchestral scores and hymns, voices are traditionally combined into
-\version "2.1.26"
+\version "2.1.28"
% check with invisible-notes or blank-notes. possible rename. -gp
\header{ texidoc = "@cindex Partial Blank
When entering partially typeset music (i.e. for students to be
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc="@cindex Phrasing Slur Height
The @code{PhrasingSlur} can be made higher in order to avoid collision
with other slurs. "
}
-\version "2.1.26"
+\version "2.1.28"
#(define ((futz-alignment-callback distance count) grob axis)
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc="
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc="@cindex Time Signature Multiple
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "
@cindex Preset Extent
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Repeat Manual
By controlling manually the signs and numbers in repeats, an unusual
output can be produced. "
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="
-\version "2.1.26"
+\version "2.1.28"
% possible rename to lyric-repeat or repeat-lyric.
-\version "2.1.26"
+\version "2.1.28"
% candidate for regression. -gp
\header { texidoc = "@cindex Rest Dot Positions
Dots of rests should follow the rest positions. " }
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "@cindex Rests
-\version "2.1.26"
+\version "2.1.28"
% possible rename to scheme-something.
\header { texidoc="@cindex Scheme Reverse Music
Symmetric, or palindromical music can be produced, first, by printing
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Rhythm Exercise
Rythmic exercises may be produced by removing the @code{Clef} engraver,
putting all notes to the same pitch and using transparent staff lines.
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc = "
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Scheme Interactions
Using @code{ly:export}, the result of Scheme expressions can be passed
as LilyPond input. Within a Scheme expression, you can use, define or
% this chart is used in the manual too.
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Script Abbreviations
Some articulations may be entered using an abbreviation.
-\version "2.1.26"
+\version "2.1.28"
% this chart is used in the manual too.
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Script Priority
Relative placements of different script types can be controlled
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Stacked Text Articulation
Text and articulations may be stacked on top of each other. "
-\version "2.1.26"
+\version "2.1.28"
% possible rename. -gp
\header { texidoc="@cindex Seperate Staccato
-\version "2.1.26"
+\version "2.1.28"
\header{
texidoc="@cindex Slur Attachment Override
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc ="@cindex Slur Beautiful
The curvature of a slur is adjusted to stay away from note heads and
-\version "2.1.26"
+\version "2.1.28"
\header {texidoc = "@cindex Slur, dotted
The appearance of slurs may be changed from solid to dotted or dashed.
"
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Slur Minimum Length
By setting the minimum length of a slur, notes are more separated. "
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc="@cindex Slur Ugly
Strange slurs can be produced by setting properties by hand. "
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc="@cindex Smart Transpose
-\version "2.1.26"
+\version "2.1.28"
% more yummy regression goodness. -gp
\header {
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Spanner after break
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc="@cindex Nested Staff Groups
Staffs can be nested in various combinations. Here, @code{StaffGroup}
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header {
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Staff Size
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc ="@cindex Staff Space
By just increasing @code{staff-space} on a staff, you may produce strange
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Stem Cross Staff
The chords which exceptionally cross staves may be produced by increasing
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Stem Extend
Extending stems to the center line may be prevented using @code{no-stem-extend}.
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc = "@cindex Stem Length
The length of stems can be altered. "
-\version "2.1.26"
+\version "2.1.28"
\header {texidoc = "@cindex Tablature hammer
A hammer in tablature can be faked with slurs. "
}
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc = "@cindex Tabulature
Tablature is internally done by overriding the note-head formatting function
-\version "2.1.26"
+\version "2.1.28"
\header {
}
-\version "2.1.26"
+\version "2.1.28"
\score {
\new Staff \notes \relative c'' {
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex text spanner
Text spanners can be used in the similar manner than markings for pedals
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Textscript
There are different fonts and glyphs to be used with @code{\markup} command. "
-\version "2.1.26"
+\version "2.1.28"
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc = "@cindex Tie Sparse
Setting @code{sparseTies} generated only one tie per chord pair. "
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc= "
-\version "2.1.26"
+\version "2.1.28"
% TODO: This file could be old. Ask about it later. -gp
\header { texidoc = "@cindex Time
-\version "2.1.26"
+\version "2.1.28"
% possible rename to bar-something.
\header{ texidoc = "@cindex Bar Length
lilypond-bin -fps title-markup.ly
export GS_LIB=$(pwd)/mf/out:/usr/share/texmf/fonts/type1/bluesky/cm
gs title-markup.ps
-
-
-FIXME: use conditionals in \makeTitle:
-
-#(define (my-ly-version)
- (list-head (ly:version) 3))
-
-#(if (not (defined? 'pieceTagLine))
- (define pieceTagLine (string-append "Jeremie " (numbers->string (my-ly-version)) " was here")))
-
-\header{
-tagline = \pieceTagLine
-texidoc = "
-
%}
sizeTest = \markup {
(font-shape . upright)
(font-size . 2))
- title = "Title String"
+ %dedication = "För my dør Lily"
+ dedication = "For my öòóôõø so dear Lily"
+ title = "Title"
subtitle = "(and (the) subtitle)"
- poet = "poetstring"
- composer = "compozeur"
- instrument = "instrum"
- piece = "stukkie"
+ subsubtitle = "Sub sub title"
+ poet = "Poet"
+ composer = "Composer"
+ texttranslator = "Text Translator"
+ opus = "opus 0"
+ meter = "Meter (huh?)"
+ arranger = "Arranger"
+ instrument = "Instrument"
+ piece = "piece"
+%{
+ makeConditionalTitle = \markup {
+ \column <
+ #(if (defined? 'title)
+ (markup* #:fill-line (#:huge #:bigger #:bigger #:bold title))
+ (markup* ""))
+ #(if (defined? 'subtitle)
+ (markup* #:fill-line ( #:large #:bold subtitle))
+ (markup* ""))
+ #(if (defined? 'subsubtitle)
+ (markup* #:fill-line (subsubtitle))
+ (markup* ""))
+ >
+ }
+%}
makeTitle = \markup {
\column <
- { "<-LEFT" \hspace #30 "centre" \hspace #30 "RIGHT->" }
- " "
- \center < { \huge \bigger \bold \title } >
- " "
- \center <
- \center < { \normalsize \bold \subtitle } >
- %" " \hspace #60 " "
+ %\fill-line #linewidth < \huge \bigger \bold \title >
+ \override #'(baseline-skip . 4) \column <
+ \fill-line < \dedication >
+ \fill-line < \huge\bigger\bigger\bigger\bigger \bold \title >
+ \override #'(baseline-skip . 3) \column <
+ \fill-line < \large\bigger\bigger \bold \subtitle >
+ \fill-line < \bigger\bigger \bold \subsubtitle >
+ >
+ \override #'(baseline-skip . 5) \column <
+ " "
+ >
+ \override #'(baseline-skip . 2.5) \column <
+ \fill-line < \bigger \poet
+ \large\bigger \caps \composer >
+ \fill-line < \bigger \texttranslator
+ \bigger \opus >
+ \fill-line < \bigger \meter
+ \bigger \arranger >
+ " "
+ \fill-line < \large\bigger \instrument >
+ " "
+ \fill-line < \large\bigger \caps \piece " ">
+ >
>
- " "
- " "
- { \left-align { \smaller \upright \instrument }
- \right-align { \upright \composer } }
- " "
- { \left-align { \smaller \caps \piece }
- \right-align { \upright \poet } }
- " "
- >
+ >
}
+
+%{
foe = \sizeTest
- bar = \spaceTest
+ baar = \spaceTest
+%}
}
\score {
\context Staff \notes \relative c' {
- c-\sizeTest % \markup { \center < \roman \caps "foe" > }
- c-\spaceTest
+ c2-\sizeTest c2-\spaceTest \break
+ c2 c2
}
}
-\version "2.1.26"
+\version "2.1.28"
% MERGE with lilypond-
\header {
filename = "title.ly"
-\version "2.1.26"
+\version "2.1.28"
fooBar = \notes { << c''4 \\ g'4 >> }
-\version "2.1.26"
+\version "2.1.28"
\header{ texidoc = "@cindex Transposition
Transposing has also an effect key signature, if it is given using
-\version "2.1.26"
+\version "2.1.28"
\header { texidoc="@cindex Trill
The extended trill may be produced using @code{TextSpanner} with @code{trill}
-\version "2.1.26"
+\version "2.1.28"
\header {
texidoc="@cindex Trills
-\version "2.1.26"
+\version "2.1.28"
% regression. -gp
\header {
-\version "2.1.26"
+\version "2.1.28"
% TODO: huh? what's this file about? -gp
\header { texidoc = "
#(ly:set-option 'old-relative)
-\version "2.1.22"
+\version "2.1.28"
\score {
\notes\context PianoStaff <<
\context Staff = up
#(ly:set-option 'old-relative)
-\version "2.1.22"
+\version "2.1.28"
\score {
\notes\context PianoStaff <<
\context Staff = up
#(ly:set-option 'old-relative)
-\version "2.1.22"
+\version "2.1.28"
\header{
filename = "twinkle-pop.ly"
xtitle = "Ah, vous dirais-je, maman "
#include "font-interface.hh"
#include "warn.hh"
-LY_DEFINE(ly_paper_get_font,"ly:paper-get-font", 2, 0, 0,
- (SCM paper, SCM chain),
- "Return a font metric satisfying the font-qualifiers in the alist chain @var{chain}.\n"
+LY_DEFINE (ly_paper_get_font, "ly:paper-get-font", 2, 0, 0,
+ (SCM paper, SCM chain),
+ "Return a font metric satisfying the font-qualifiers in the alist chain @var{chain}.\n"
"\n"
"The font object represents the metric information of a font. Every font\n"
"that is loaded into LilyPond can be accessed via Scheme. \n"
"An alist chain is a list of alists, containing grob properties.\n")
{
Paper_def *pap = unsmob_paper (paper);
- SCM_ASSERT_TYPE(pap, paper, SCM_ARG1, __FUNCTION__, "paper definition");
+ SCM_ASSERT_TYPE (pap, paper, SCM_ARG1, __FUNCTION__, "paper definition");
- Font_metric*fm = select_font (pap, chain);
- return fm->self_scm();
+ Font_metric *fm = select_font (pap, chain);
+ return fm->self_scm ();
}
+LY_DEFINE (ly_paper_get_number, "ly:paper-get-number", 2, 0, 0,
+ (SCM paper, SCM name),
+ "Return the paper variable @var{name}.")
+{
+ Paper_def *pap = unsmob_paper (paper);
+ SCM_ASSERT_TYPE (pap, paper, SCM_ARG1, __FUNCTION__, "paper definition");
+ return gh_double2scm (pap->get_realvar (name));
+}
bool
wild_compare (SCM field_val, SCM val)
{
}
-
-
Real
Paper_def::get_realvar (SCM s) const
{
-\version "2.1.26"
+\version "2.1.28"
% a3-init.ly
hsize = 296.9 \mm
-\version "2.1.26"
+\version "2.1.28"
% a4.ly
hsize = 210.0 \mm
-\version "2.1.26"
+\version "2.1.28"
% Symbols needed to print accordion music
%
% 2' = T
% Toplevel initialisation file.
-\version "2.1.26"
+\version "2.1.28"
\include "declarations-init.ly"
pitchnames = \pitchnamesCatalan
-\version "2.1.26"
+\version "2.1.28"
% Toplevel initialisation file.
-\version "2.1.26"
+\version "2.1.28"
\include "declarations-init.ly"
-\version "2.1.26"
+\version "2.1.28"
chordmodifiers = #default-chord-modifier-list
#(ly:set-option 'old-relative)
-\version "2.1.26"
+\version "2.1.28"
breve = #(ly:make-duration -1 0)
longa = #(ly:make-duration -2 0 )
maxima = #(ly:make-duration -3 0)
pitchnames = \pitchnamesDeutsch
-\version "2.1.26"
+\version "2.1.28"
-\version "2.1.26"
+\version "2.1.28"
drumPitchNames =
#'((acousticbassdrum . acousticbassdrum)
-\version "2.1.26"
+\version "2.1.28"
%
% declare the standard dynamic identifiers.
pitchnames = \pitchnamesEnglish
-\version "2.1.26"
+\version "2.1.28"
-\version "2.1.26"
+\version "2.1.28"
\translator {
\name Global
pitchnames = \pitchnamesEspanol
-\version "2.1.26"
+\version "2.1.28"
-\version "2.1.26"
+\version "2.1.28"
%
% Running LilyPond on this file generates the documentation
-\version "2.1.26"
+\version "2.1.28"
%
% Running LilyPond on this file generates the short interface doc
-\version "2.1.26"
+\version "2.1.28"
startGraceMusic = \notes {
-\version "2.1.26"
+\version "2.1.28"
%%%%%%%%
%%%%%%%% shortcuts common for all styles of gregorian chant notation
#(define-public midi-debug #f)
-\version "2.1.26"
+\version "2.1.28"
\include "declarations-init.ly"
pitchnames = \pitchnamesItaliano
-\version "2.1.26"
+\version "2.1.28"
-\version "2.1.26"
+\version "2.1.28"
% legal-init.ly
hsize = 8.5 \in
-\version "2.1.26"
+\version "2.1.28"
% letter-init.ly
hsize = 8.5 \in
-\version "2.1.26"
+\version "2.1.28"
\midi {
\tempo 4=60
\include "performer-init.ly"
-\version "2.1.26"
+\version "2.1.28"
%{
common dutch names for notes. es means flat, is means sharp
%}
pitchnames =\pitchnamesNorsk
-\version "2.1.26"
+\version "2.1.28"
-\version "2.1.26"
+\version "2.1.28"
-\version "2.1.26"
+\version "2.1.28"
% JUNKME
%part-paper-init.ly
-\version "2.1.26"
+\version "2.1.28"
%
% setup for Request->Element conversion. Guru-only
% property-init.ly
-\version "2.1.26"
+\version "2.1.28"
stemUp = \override Stem #'direction = #1
stemDown = \override Stem #'direction = #-1
-\version "2.1.26"
+\version "2.1.28"
major = #`(
-\version "2.1.26"
+\version "2.1.28"
dashHat= "marcato"
-\version "2.1.26"
+\version "2.1.28"
startGroup = #(make-span-event 'NoteGroupingEvent START)
stopGroup = #(make-span-event 'NoteGroupingEvent STOP)
pitchnames = \pitchnamesSuomi
-\version "2.1.26"
+\version "2.1.28"
)
pitchnames = \pitchnamesSvenska
-\version "2.1.26"
+\version "2.1.28"
-\version "2.1.26"
+\version "2.1.28"
% tabloid-init.ly
/paper-size { lilypondpaperpapersize } bind def
-% FIXME
-% urg, read from paper block
-% fixed base line skip value, for single line staves
-/base-line-skip lilypondpaperlineheight def
+%% FIXME: base-line-skip is too big, is this RIGHT?
+%% /base-line-skip lilypondpaperlineheight def
+/base-line-skip lilypondpaperlineheight lilypondpaperoutputscale div def
/init-paper {
gsave
%FIXME:
%vsize text-height sub 2 div /top-margin exch def
- 144 2 div /top-margin exch def
+ % 144 2 div /top-margin exch def
+ /top-margin 100 def
hsize line-width sub 2 div /left-margin exch def
grestore
} bind def
(def-markup-command (simple paper props str) (string?)
"A simple text-string; @code{\\markup @{ foo @}} is equivalent with
@code{\\markup @{ \\simple #\"foo\" @}}."
- (let ((toks (string-tokenize str)))
(interpret-markup paper props
- (make-line-markup
- (map make-word-markup toks)))
- ))
+ (make-line-markup
+ (map make-word-markup (string-tokenize str)))))
+(define-public empty-markup
+ (make-simple-markup ""))
+
+;;(def-markup-command (fill-line paper props line-width markups)
+;; (number? markup-list?)
+;; no parser tag -- should make number? markuk-list? thingy
+(def-markup-command (fill-line paper props markups)
+ (markup-list?)
+ "Put @var{markups} in a horizontal line of width @var{line-width}.
+ The markups are spaced/flushed to fill the entire line."
+
+ (let* ((stencils (map (lambda (x) (interpret-markup paper props x))
+ markups))
+ (text-width (apply + (map interval-length
+ (map (lambda (x)
+ (ly:stencil-get-extent x X))
+ stencils))))
+ (word-count (length markups))
+ (word-space (cdr (chain-assoc 'word-space props)))
+ (line-width (cdr (chain-assoc 'linewidth props)))
+ (fill-space (if (< line-width text-width)
+ word-space
+ (/ (- line-width text-width)
+ (if (= word-count 1) 2 (- word-count 1)))))
+ (line-stencils (if (= word-count 1)
+ (map (lambda (x) (interpret-markup paper props x))
+ (list (make-word-markup "")
+ (car markups)
+ (make-word-markup "")))
+ stencils)))
+ (stack-stencil-line fill-space line-stencils)))
+
(define (font-markup qualifier value)
(lambda (paper props arg)
(interpret-markup paper
(prepend-alist-chain qualifier value props)
arg)))
-(define-public empty-markup
- (make-simple-markup ""))
-
(def-markup-command (line paper props args) (markup-list?)
- "Put @var{args} in a horizontal line. The property @code{word-space} determines
-the space between each markup in @var{args}.
-"
+ "Put @var{args} in a horizontal line. The property @code{word-space}
+determines the space between each markup in @var{args}."
(stack-stencil-line
(cdr (chain-assoc 'word-space props))
(map (lambda (m) (interpret-markup paper props m)) args)))
(interpret-markup paper props m1)
(interpret-markup paper props m2)))
-
(def-markup-command (finger paper props arg) (markup?)
"Set the argument as small numbers."
(interpret-markup paper
(cons '((font-size . -4) (font-family . number)) props)
arg))
-
(def-markup-command (fontsize paper props mag arg) (number? markup?)
"This sets the relative font size, eg.
@example
(cdr (chain-assoc 'baseline-skip props))
(map (lambda (x) (interpret-markup paper props x)) args))))
-(def-markup-command (center paper props args) (markup-list?)
+(def-markup-command (center-align paper props args) (markup-list?)
(let* ((mols (map (lambda (x) (interpret-markup paper props x)) args))
(cmols (map (lambda (x) (ly:stencil-align-to! x X CENTER)) mols)))
(stack-lines -1 0.0 (cdr (chain-assoc 'baseline-skip props)) mols)))
(10.0 . #((10.0 . "cmb10")
)))
(#(medium caps roman) .
- (10.0 . #((10.0 . "cmcsc10")
- (12.0 . "cmcsc12"))))
+ (10.0 . #((10.0 . "cmcsc10"))))
(#(* * dynamic) .
(14.0 . #((6.0 . "feta-din6")
(8.0 . "feta-din8")
- #:COMMAND is used instead of \\COMMAND
- #:lines ( ... ) is used instead of { ... }
- - #:center ( ... ) is used instead of \\center < ... >
+ - #:center-align ( ... ) is used instead of \\center-align < ... >
- etc.
Example:
;;;; TODO:
;;;; * special characters, encoding.
;;;; * text setting, kerning.
-;;;; * linewidth
;;;; * font properties
-;;;; * construction/customisation of title markup
+;;;; * customisation of title markup, piece title markup?
;;;; * page layout
;;;; * document output-interface
;; WIP -- stencils from markup? values of output-scopes
(define header-stencil #f)
+(define BASELINE-SKIP 3)
+
+;; /lilypondpaperoutputscale 1.75729901757299 def
+;;/lily-output-units 2.83464 def %% milimeter
+;;/output-scale lilypondpaperoutputscale lily-output-units mul def
+;;
+;; output-scale = 1.75729901757299 * 2.83464 = 4.9813100871731003736
+(define OUTPUT-SCALE 4.98)
+(define TOP-MARGIN 0)
+(define PROPS `(((font-family . roman)
+ (word-space . 1)
+ (baseline-skip . ,BASELINE-SKIP)
+ (font-series . medium)
+ (font-style . roman)
+ (font-shape . upright)
+ (font-size . 0))))
+
;;; helper functions, not part of output interface
(define (escape-parentheses s)
(cons (+ (car a) (car b))
(+ (cdr a) (cdr b))))
+(define LATIN1-ENCODING-ALIST
+ '(("ö" . "oumlaut")
+ ("ò" . "ograve")
+ ("ó" . "oacute")
+ ("ô" . "ocircumflex")
+ ("õ" . "otilde")
+ ("ø" . "oslash")))
+
+(define LATIN1-ENCODING-COMMANDS
+ "/oumlaut { (o) show gsave -1 0 rmoveto (\\177) show grestore } bind def
+/ograve { (o) show gsave -1 0 rmoveto (\\022) show grestore } def
+/oacute { (o) show gsave -1 0 rmoveto (\\023) show grestore } def
+/ocircumflex { (o) show gsave -1 0 rmoveto (^) show grestore } def
+/otilde { (o) show gsave -1 0 rmoveto (~) show grestore } def
+/oslash { (o) show gsave -1 0 rmoveto (\\034) show grestore } def
+")
+
+(define (ps-encoding text)
+ (let ((s (escape-parentheses text)))
+ (define (helper alist-list s)
+ (if (not (pair? alist-list))
+ s
+ (helper (cdr alist-list)
+ (regexp-substitute/global
+ #f (caar alist-list) s
+ 'pre (string-append ") show " (cdar alist-list) " (")
+ 'post))))
+ (helper LATIN1-ENCODING-ALIST s)))
+
;; FIXME: lily-def
(define (ps-string-def prefix key val)
(string-append "/" prefix (symbol->string key) " ("
(string-append "/" key " {" val "} bind def\n")
(string-append "/" key " (" val ") def\n"))))
-
(define (make-title port)
(if header-stencil
(let ((x-ext (ly:stencil-get-extent header-stencil Y))
(y-ext (ly:stencil-get-extent header-stencil X)))
- ;;(display (start-system (interval-length x-ext) (interval-length y-ext))
(display (start-system
- ;; output-scale trouble?
- (/ (interval-length x-ext) 2)
- (/ (interval-length y-ext) 2))
+ (/ (interval-length x-ext) OUTPUT-SCALE)
+ (/ (interval-length y-ext) OUTPUT-SCALE))
port)
(output-stencil port (ly:stencil-get-expr header-stencil) '(0 . 0))
(display (stop-system) port)))
(define (output-scopes paper scopes fields basename)
;; FIXME: customise/generate these
- (let ((props '(((font-family . roman)
- (word-space . 1)
- (baseline-skip . 2)
- (font-series . medium)
- (font-style . roman)
- (font-shape . upright)
- (font-size . 0))))
- (prefix "lilypond")
- (stencils '())
- (baseline-skip 2))
+ (let* ((linewidth (ly:paper-get-number paper 'linewidth))
+ (props (cons (acons 'linewidth linewidth '()) PROPS))
+ (prefix "lilypond")
+ (stencils '()))
(define (scope-entry->string key var)
(let ((val (variable-ref var)))
(apply string-append (module-map scope-entry->string scope)))
(let ((s (string-append (apply string-append (map output-scope scopes)))))
- (set! header-stencil (stack-lines DOWN 0 baseline-skip stencils))
+ (set! header-stencil (stack-lines DOWN 0 BASELINE-SKIP stencils))
+
+ ;; match systems, which are also aligned to center
+ (ly:stencil-align-to! header-stencil Y CENTER)
;; trigger font load
(ly:stencil-get-expr header-stencil)
(numbers->string
(list x y width height blotdiam)) " draw_round_box"))
-(define (symmetric-x-triangle thick w h)
- (string-append
- (numbers->string (list h w thick))
- " draw_symmetric_x_triangle"))
-
(define (start-system width height)
(string-append
"\n" (ly:number->string height)
(define (stop-system)
"}\nstop-system\n")
+(define (symmetric-x-triangle thick w h)
+ (string-append
+ (numbers->string (list h w thick))
+ " draw_symmetric_x_triangle"))
+
(define (text s)
- (string-append "(" (escape-parentheses s) ") show "))
+;; (string-append "(" (escape-parentheses s) ") show "))
+ (string-append "(" (ps-encoding s) ") show "))
;; top-of-file, wtf?
(define (top-of-file)
- (header (string-append "GNU LilyPond (" (lilypond-version) "), ")
- (strftime "%c" (localtime (current-time))))
+ (string-append
+ (header (string-append "GNU LilyPond (" (lilypond-version) "), ")
+ (strftime "%c" (localtime (current-time))))
+ LATIN1-ENCODING-COMMANDS
;;; ugh
- (ps-string-def
- "lilypond" 'tagline
- (string-append "Engraved by LilyPond (" (lilypond-version) ")")))
+ (ps-string-def
+ "lilypond" 'tagline
+ (string-append "Engraved by LilyPond (" (lilypond-version) ")"))))
(define (unknown)
"\n unknown\n")
"""make-music-by-name -> make-music,
new syntax for setting \\arpeggioBracket"""))
+def conv (str):
+ str = re.sub (r'\\center([^-])', '\\center-align\\1', str)
+ return str
+
+conversions.append (((2,1,29), conv,
+ '\\center -> \\center-align'))
+
################################
# END OF CONVERSIONS
################################