-1.3.92.jcn2
+1.3.93.uu1
+==========
+
+* Bugfix: don't crash if there is no volta bracket to end.
+
+* Move offset, dimension callbacks into Scheme. They can be initialized from basicXXXX properties using
+
+ (X-offset-callbacks . (callback1 callback2 .. .))
+ (Y-offset-callbacks . (callback1 callback2 .. .))
+ (X-extent-callback . callback1)
+ (Y-extent-callback . callback1)
+
+* naming: basicXXXProperties -> XXX, some other changes in naming;
+convert-mudela rules added.
+
+* naming: \voiceone -> \voiceOne and related changes. convert-mudela
+rules added
+
+* syntax: \property XXX \pop #'bla -> \property Context.XXX \pop #'bla
+
+* changed aclocal.m4 to have better check for guile version. (Laura Conrad)
+
+* updates for mudela-book (Tom Cato Amundsen)
+
+1.3.93.jcn1
===========
+* Try at nastiest competition piece: input/les-nereides.ly.
+
+* Moved Pedal_engraver to Staff context.
+
+1.3.93
+======
+
* Added some error messages for toplevel and stray string parse errors.
* Don't start more than one slur at a time.
\clef treble;\r
}\r
\r
-\version "1.3.59";\r
+\version "1.3.93";\r
% \include "paper16.ly"\r
\r
flute1 = \notes \relative c'' \context Voice = flute {\r
\grace { [as16 ( bes] } < ) c4 as >
\grace { [as16 ( bes] } < ) c4 as > \bar "||";
\grace { bes16 } as8_"performance" as16 bes as8 g |
- < \context Voice = va { \stemup as32 bes c8. as32 bes c8. }
- \context Voice = vb { \stemdown as16 ~ as8. as16 ~ as8. } >
+ < \context Voice = va { \stemUp as32 bes c8. as32 bes c8. }
+ \context Voice = vb { \stemDown as16 ~ as8. as16 ~ as8. } >
\bar "||";
}
@end mudela
\notes\relative c' {
\clef bass;
< \context Voice = va {
- \stemup
+ \stemUp
r16 e8. () e4 r16 e8. () e4 |
r16 d8. () d4 r16 d8. () d4 }
\context Voice = vb {
- \stemdown
+ \stemDown
c2 c | c c } >
}
>
\time 4/4;
\clef treble;
< \context Voice = rha {
- \stemup
+ \stemUp
r1 | r2 r8 g'8 bes d, |
cis4 d r8 e!16 f g8 f16 e |
f8 g16 a bes8 a16 g a8
}
\context Voice = rhb {
- \stemdown
+ \stemDown
r1 | r | r | r2 s8
}
>
\clef bass;
\key bes \major;
< \context Voice = lha {
- \stemup
+ \stemUp
r8 d es g, fis4 g | r8 a16 bes c8 bes16 a bes4 g |
r8 a16 g f8 g16 a bes8 g e! cis' |
d4. e!8 f
}
\context Voice = lhb {
- \stemdown
+ \stemDown
r1 | r | r | r2 s8
} >
}
\key es \major;
\clef treble;
< \context Voice = rha {
- \stemup
+ \stemUp
es4 d c bes | bes }
\context Voice = rhb {
- \stemdown
+ \stemDown
< bes8 g > as < as f > g < g es > f < d f > es | < g4 es > }
>
}
@mudela[singleline,verbatim]
\score {
\notes \context Staff <
- \context Voice = VA { \stemup f''4^"0" }
- \context Voice = VB {\stemup
+ \context Voice = VA { \stemUp f''4^"0" }
+ \context Voice = VB {\stemUp
\property Voice.horizontalNoteShift = 1 d''4^" 1" }
- \context Voice = VC { \stemup \property
+ \context Voice = VC { \stemUp \property
Voice.horizontalNoteShift = 2 b'4^" 2" }
- \context Voice = VD { \stemdown \property
+ \context Voice = VD { \stemDown \property
Voice.horizontalNoteShift = 1 g'4_"1 " }
- \context Voice = VE { \stemdown e'4_"0" }
+ \context Voice = VE { \stemDown e'4_"0" }
>
}
@end mudela
Set to @code{\free} for free choice of slur direction, set to
@code{\up} to force slurs up, set to @code{\down} to force slurs
down. The shorthands @code{\slurup}@keyindex{slurup},
- @code{\slurdown}@keyindex{slurdown}, and
- @code{\slurboth}@keyindex{slurboth} are available.
-
- @item @code{slurDash}@indexcode{slurDash} @propertytype{number}
- Set to NIL for normal slurs, 1 for dotted slurs, and a
- larger value for dashed slurs. Identifiers
- @code{\slurnormal}@keyindex{slurnormal} and
- @code{\slurdotted}@keyindex{slurdotted} are predefined to set the
- first two settings.
-
-@mudela[verbatim]
- c4( )d
- \property Voice.slurDash = 3
- c ( )e
-@end mudela
+ @code{\slurDown}@keyindex{slurDown}, and
+ @code{\slurBoth}@keyindex{slurBoth} are available.
@item @code{stemLength}@indexcode{stemLength}
Set length of stems. Unit is `@code{staffspace}/2', so
ties. Set to @code{\down} to force them down, @code{\up} to force
them up, or @code{\free} to let LilyPond decide. This can be used
to distinguish between voices on the same staff. The
- @code{\stemdown}@keyindex{stemdown}, @code{\stemup}@keyindex{stemup},
- and @code{\stemboth}@keyindex{stemboth} identifiers set this
+ @code{\stemDown}@keyindex{stemDown}, @code{\stemUp}@keyindex{stemUp},
+ and @code{\stemBoth}@keyindex{stemBoth} identifiers set this
property.
@item @code{\right}@keyindex{right}
Used for setting text alignment property. Is set to 1.
- @item @code{\shiftoff}@keyindex{shiftoff}
+ @item @code{\shiftoff}@keyindex{shiftOff}
Disable horizontal shifting of note heads that collide. Sets the
@code{Voice.horizontalNoteShift} property.
- @item @code{\shifton}@keyindex{shifton}
+ @item @code{\shiftOn}@keyindex{shiftOn}
Enable note heads that collide with other note heads to be
shifted horiztonally. Sets the @code{Voice.horizontalNoteShift}
property.
- @item @code{\slurboth}@keyindex{slurboth}
+ @item @code{\slurBoth}@keyindex{slurBoth}
Allow slurs to be above or below notes. This sets the
@code{Voice.slurVerticalDirection} property.
- @item @code{\slurdown}@keyindex{slurdown}
+ @item @code{\slurDown}@keyindex{slurDown}
Force slurs to be below notes. This sets the
@code{Voice.slurVerticalDirection} property.
- @item @code{\slurup}@keyindex{slurup}
+ @item @code{\slurUp}@keyindex{slurUp}
Force slurs to be above notes. This sets the
@code{Voice.slurVerticalDirection} property.
Allow key signatures do differ in different octaves. This sets
the @code{Staff.keyoctaviation} property.
- @item @code{\stemboth}@keyindex{stemboth}
+ @item @code{\stemBoth}@keyindex{stemBoth}
Allow stems, beams, and slurs to point either upwards or
downwards, decided automatically by LilyPond. This sets the
@code{Voice.verticalDirection} property.
Force stems, beams, and slurs to point down. This sets the
@code{Voice.verticalDirection} property.
- @item @code{\stemup}@keyindex{stemup}
+ @item @code{\stemUp}@keyindex{stemUp}
Force stems, beams and slurs to point up. This sets the
@code{Voice.verticalDirection} property.
viola = \notes \relative c' \context Voice = viola {
<c4-\f g' c>
- \property Voice.verticalDirection = \down g'8. b,16
+ \stemDown g'8. b,16
s1 s2. r4
g
}
oboes = \notes \relative c'' \context Voice = oboe {
- \stemup s4 g8. b,16 c8 r <e'8.-\p g> <f16 a>
+ \stemUp s4 g8. b,16 c8 r <e'8.-\p g> <f16 a>
\grace <e8( g> <d4 f> <c2 e> \times 2/3 { <d8 \< f> <e g> <f a> }
<
{ \times 2/3 { a8 g c } \! c2 }
\context Voice = oboeTwo {
- \stemdown
+ \stemDown
\grace {
- \property Grace.verticalDirection = \down
+ \property Grace.Stem \push #'direction = #-1
[f,16 g] }
f8 e e2
} >
- \stemboth
+ \stemBoth
\grace <c,8( e> <)b8. d8.-\trill> <c16 e> |
[<d ( f> < )f8. a>] <)b,8 d> r [<d16( f> <f8. )a>] <b,8 d> r |
[<c16( e> < )e8. g>] <c8 e,>
}
hoomPah = \notes \transpose c' {
- c8 \translator Staff = top \stemdown
- c'8 \translator Staff = bottom \stemup }
+ c8 \translator Staff = top \stemDown
+ c'8 \translator Staff = bottom \stemUp }
hoomPahHoomPah = { [\hoomPah \hoomPah] }
bassvoices = \notes \relative c' {
c4 g8. b,16
\repeat unfold 4 {\hoomPahHoomPah}
- \stemdown [c8 c'8] r4
+ \stemDown [c8 c'8] r4
<g d'> r4
- < {\stemup r2 <e4 c'> <c8 g'> }
- \context Voice = reallyLow {\stemdown g2 ~ | g4 c8 } >
+ < {\stemUp r2 <e4 c'> <c8 g'> }
+ \context Voice = reallyLow {\stemDown g2 ~ | g4 c8 } >
}
\score {
@code{<} and @code{>} are short hands for @code{\simultaneous @{} and
@code{@}}. So the expression enclosed in @code{<} and @code{>} is a
chord. @code{\f} places a forte symbol under the chord.
+[FIXME]
+
@example
-\property Voice.verticalDirection = \down
+ \property Voice.verticalDirection = \down
@end example
@code{verticalDirection} is a property of the voice context. It
controls the directions of stems, articulations marks and other
symbols.
- If @code{verticalDirection} is set to @code{\down}
+
+If @code{verticalDirection} is set to @code{\down}
(identifier for the integer -1) the stems go down,
@code{\up} (identifier for the integer 1) makes the stems go up.
@example
these notes are indeed processed by precisely one context with
@code{\context}.
@example
-\stemup s4 g8. b,16 c8 r <e'8.-\p g> <f16 a>
+\stemUp s4 g8. b,16 c8 r <e'8.-\p g> <f16 a>
@end example
-@code{\stemup} is an identifier reference. It is shorthand for
+@code{\stemUp} is an identifier reference. It is shorthand for
@code{\property Voice.verticalDirection = \up}. If possible, you
should use predefined identifiers like these for setting properties.
Your input will be less dependent upon the implementation of LilyPond.
mark `@code{\!}'.
@example
\context Voice = oboeTwo @{
-\stemdown
+\stemDown
@end example
We can't share stems with the other voice, so we have to create a new
@code{Voice} context. We give it the name @code{oboeTwo} to distinguish
its own time bookkeeping, and you can make notes, beams, slurs
etc. Here we fiddle with a property and make a beam. The argument of
@code{\grace} is sequential music.
+
@example
-\property Grace.verticalDirection = \down
-[f,16 g] @}
+\property Grace.verticalDirection = \down
+[f,16 g] @}
+ [FIXME]
@end example
Normally, grace notes are always stem up, but in this case, the upper
voice interferes. We set the stems down here.
@end example
This ends the two-part section.
@example
-\stemboth
+\stemBoth
\grace <c,8( e> <)b8. d8.-\trill> <c16 e> |
@end example
-@code{\stemboth} ends the forced stem directions. From here, stems are
+@code{\stemBoth} ends the forced stem directions. From here, stems are
positioned as if it were single part music.
The bass has a little hoom-pah melody to demonstrate parts switching
intuitive to use, but that would not let me plug @code{\transpose}
:-).}.
@example
-c8 \translator Staff = top \stemdown
+c8 \translator Staff = top \stemDown
@end example
We assume that the first note will be put in the lower staff. After
that note we switch to the upper staff with @code{\translator}. To be
`@code{top}'. Stem directions are set to avoid interfering with the
oboe voices.
@example
-c'8 \translator Staff = bottom \stemup @}
+c'8 \translator Staff = bottom \stemUp @}
@end example
Then a note is put on the upper staff, and we switch again. We have
to name the lower staff `@code{bottom}'.
repeated four times; @code{unfold} means that all four repetitions
should be written out.
@example
-\context Voice = reallyLow @{\stemdown g2 ~ | g4 c8 @} >
+\context Voice = reallyLow @{\stemDown g2 ~ | g4 c8 @} >
@end example
After skipping some lines, we see @code{~}. This mark makes ties.
@example
enteredby = "Donat Wullschleger";
}
-\version "1.3.59";
+\version "1.3.93";
\include "paper16.ly";
\include "deutsch.ly";
lefthandfirstvoice = \notes \relative c
\context Voice = upper {
- \voiceone
+ \voiceOne
\key b \major;
\clef bass;
lefthandsecondvoice = \notes \relative c
\context Voice = lower {
- \voicetwo
+ \voiceTwo
r2. |
r4. r4. |
r8. r8. r8. r8. |
-\version "1.3.59";
+\version "1.3.93";
\score{
\notes\relative c'{
- [c16 \stemdown c'' \stemboth c,, d]
- \stemdown [d'' a \stemboth c,, g,]
- \stemup [g c' \stemboth a'' d']
+ [c16 \stemDown c'' \stemBoth c,, d]
+ \stemDown [d'' a \stemBoth c,, g,]
+ \stemUp [g c' \stemBoth a'' d']
}
}
\include "paper20.ly"
-\version "1.3.59";
+\version "1.3.93";
oden = \lyrics{
O |
-\version "1.3.59";
+\version "1.3.93";
one = \notes\relative c{
c'' d e f
}
}
-\version "1.3.59";
+\version "1.3.93";
* organ staff...
%}
-\version "1.3.59";
+\version "1.3.93";
% 13 -- how to type -- where to split -- this more neatly?
\context Staff <
- \context Voice = I \relative c'' { \stemup r4 dis4 e4. e8 ~ |
- \shifton e4 [d8 fis8] \shiftoff gis4 ~ [gis8 fis16 e ] |
+ \context Voice = I \relative c'' { \stemUp r4 dis4 e4. e8 ~ |
+ \shiftOn e4 [d8 fis8] \shiftOff gis4 ~ [gis8 fis16 e ] |
fis4 ~ [fis8 e16 dis] e4 r8 e8 }
- \context Voice = III \relative c'' { \stemup \shifton r4 bis cis \shiftoff cis |
- a' ~ [a16 gis a b] \shifton dis,4 cis ~ |
+ \context Voice = III \relative c'' { \stemUp \shiftOn r4 bis cis \shiftOff cis |
+ a' ~ [a16 gis a b] \shiftOn dis,4 cis ~ |
[cis8 dis16 ais] bis4 cis r8 b }
\context Voice = IV \relative c'' {
- %\stemup
+ %\stemUp
%{
this is a diversion from the Griepenkerl/Keller
edition; a hack to avoid collisions
%}
- \stemdown
- \shifton s4 gis }
+ \stemDown
+ \shiftOn s4 gis }
- \context Voice = II \relative c' { \stemdown
-% \shifton % idem
+ \context Voice = II \relative c' { \stemDown
+% \shiftOn % idem
- r4 fis \shiftoff gis gis |
+ r4 fis \shiftOff gis gis |
a4. cis8 gis2 |
fis4 gis gis r8 e8 }
> |
% 13
\context Staff <
\context Voice = two { r4 }
- \context Voice = one { \stemup s4 dis' cis cis ~ |
+ \context Voice = one { \stemUp s4 dis' cis cis ~ |
[cis8 a d cis] [bis gis] cis4 |
dis2 cis4 r8 cis }
- \context Voice = one { \stemup bis2 }
- \context Voice = three { \stemup \shifton r4 gis ~ [gis8 gis] ~ \stemdown \shiftoff gis4 |
+ \context Voice = one { \stemUp bis2 }
+ \context Voice = three { \stemUp \shiftOn r4 gis ~ [gis8 gis] ~ \stemDown \shiftOff gis4 |
a4. fis8 gis4. a8 ~ |
a4 gis4 gis r8 gis }
-% { \stemup \shifton s4 fis4 e}
+% { \stemUp \shiftOn s4 fis4 e}
% a quick hack to avoid some collisons
- \context Voice = four { \stemdown \shifton s4 fis4 e}
- \context Voice = two { \stemdown s4 dis4 cis4 }
+ \context Voice = four { \stemDown \shiftOn s4 fis4 e}
+ \context Voice = two { \stemDown s4 dis4 cis4 }
> |
%16
}
%15
\context Staff <
- \context Voice = VA { \stemup [b8 fis8] b4 }
- \context Voice = VB { \stemdown fis2 }
+ \context Voice = VA { \stemUp [b8 fis8] b4 }
+ \context Voice = VB { \stemDown fis2 }
>
\context Staff \notes\relative c''<
\context Voice = one { dis2 dis4 |
cis2 cis4 |
b4. [cis8 dis e] }
- \context Voice = three { \stemup \shifton [b8 fis] b2 ~ |
+ \context Voice = three { \stemUp \shiftOn [b8 fis] b2 ~ |
[b8 a!16 gis] a2 ~ |
a4 gis2 }
- \context Voice = two { \stemdown fis2. ~ |
+ \context Voice = two { \stemDown fis2. ~ |
fis ~ |
fis4 e2 }
> |
%15
\context Staff <
- \context Voice = two { \stemdown b2 \stemup ais4 |
+ \context Voice = two { \stemDown b2 \stemUp ais4 |
b2 b4 }
- \context Voice = two { \stemdown s2 e4 |
+ \context Voice = two { \stemDown s2 e4 |
fis2 fis4 }
>
- \stemdown cis2 e4 |
+ \stemDown cis2 e4 |
b4. b8 b4 |
%19
}
-\version "1.3.59";
+\version "1.3.93";
ritme = \notes\transpose c'' {
\time 4/4;
-\version "1.3.70";
+\version "1.3.93";
rh=\property Thread.noteHeadStyle=##f
lh=\property Thread.noteHeadStyle = #'diamond
% su=\property Voice.verticalDirection=#1
% sd=\property Voice.verticalDirection=#-1
-su=\property Voice.basicStemProperties \push #'direction = #1
-sd=\property Voice.basicStemProperties \push #'direction = #-1
+su=\property Voice.Stem \push #'direction = #1
+sd=\property Voice.Stem \push #'direction = #-1
zs=\property Voice.forceHorizontalShift=#0.0
ls=\property Voice.forceHorizontalShift=#-0.6
http://www.Arkkra.com/doc/star.ps
%}
-\version "1.3.59";
+\version "1.3.93";
% TODO:
%
\clef treble;
\property Staff.automaticMelismata = ##t
\context Voice = one \transpose c'' {
- \stemup
+ \stemUp
\$staff1_voice_1
\bar "|.";
}
\context Voice = two \transpose c'' {
- \stemdown
+ \stemDown
\$staff1_voice_2
}
>
\clef bass;
\property Staff.noVoltaBraces = ##t
\context Voice = three {
- \stemup
+ \stemUp
\$staff2_voice_1
}
\context Voice = four {
- \stemdown
+ \stemDown
\$staff2_voice_2
}
>
-
+\version "1.3.93";
\score {
\notes \context PianoStaff <
\context Staff = "up" {
\autochange Staff \relative c' {
[c8 e'] [c' c,,]
- \stemdown
+ \stemDown
c'8 c c g,
g8 d' d d
- \stemup
+ \stemUp
b8 c d e
}
}
+\version "1.3.80";
% bagpipe music.
\header
-\version "1.3.59";
+\version "1.3.93";
\header{
enteredby = "jcn";
-\version "1.3.59";
+\version "1.3.93";
onestaff = \context Staff = foo\notes {
\property Staff.instr = instr
+\version "1.3.93";
\score {
\context Voice \notes\relative c {
c'1:16
- \stemup
+ \stemUp
c4:8 c4:16 [c8:16 c:] [c,8:16 c'':]
- \stemboth
+ \stemBoth
[c,,8:16 c'':]
}
\paper { }
\midi { }
-}
\ No newline at end of file
+}
-\version "1.3.59";
+\version "1.3.93";
\score{
\notes\transpose c'{
\score{
\context PianoStaff <
\context Staff=one \notes\relative c'{
- \stemup [c8 c \translator Staff=two \stemup c c]
+ \stemUp [c8 c \translator Staff=two \stemUp c c]
[c c c c]
\translator Staff=one
- \stemdown [c8 c \translator Staff=two \stemup c c]
+ \stemDown [c8 c \translator Staff=two \stemUp c c]
r2
- \stemdown [c8 c \translator Staff=one \stemdown c c]
+ \stemDown [c8 c \translator Staff=one \stemDown c c]
r2
\translator Staff=two
- \stemup [c8 c \translator Staff=one \stemdown c c]
+ \stemUp [c8 c \translator Staff=one \stemDown c c]
r2
}
\context Staff=two \notes\relative c'{
>
}
-\version "1.3.59";
+\version "1.3.93";
\score{
\notes\relative c''{
-% \stemup
+% \stemUp
% [a16 b b c]
% [c b b a]
-% \stemdown
+% \stemDown
% [c b b a]
% [a b b c]
- \stemup
+ \stemUp
[g16 a b c]
[c b a g]
- \stemdown
+ \stemDown
[d' c b a]
[a b c d]
}
linewidth=-1.;
}
}
+\version "1.3.93";
+\version "1.3.93";
\score{
\notes\relative c''{
[g8 c c,]
[c16 c'' a f]
- \stemup
+ \stemUp
[c,,32 c'' a f]
}
\context Staff=two \notes\relative c'{
\clef bass;
% no knee
- \stemup [c8 \translator Staff=one \stemdown g'16 f]
+ \stemUp [c8 \translator Staff=one \stemDown g'16 f]
s8
s2
}
}
}
-\version "1.3.59";
+\version "1.3.93";
+\version "1.3.93";
\score{
\notes\relative c'{
- \stemup
+ \stemUp
[f8 a' g f]
[c8 g'16 f]
[c8 e16 d]
[a16 b c d]
[d16 c b a]
- \stemdown
+ \stemDown
[c16 b a g]
[g16 a b c]
}
+\version "1.3.93";
\score{
\notes\relative c'{
- \stemup
+ \stemUp
[f8 a' g f]
}
\paper{
TestedFeatures = "beams and beamflags";
}
-\version "1.3.59";
+\version "1.3.93";
\score{
<
\notes\transpose c' {
\time 8/4;
- \stemup [c8 c'' a' f']
- \stemup [c16 c'' a' f']
- \stemup [c32 c'' a' f']
- \stemup [c64 c'' a' f']
- \stemup [c128 c'' a' f']
+ \stemUp [c8 c'' a' f']
+ \stemUp [c16 c'' a' f']
+ \stemUp [c32 c'' a' f']
+ \stemUp [c64 c'' a' f']
+ \stemUp [c128 c'' a' f']
r32
- \stemup [g8 g g g]
- \stemup [g16 g g g]
- \stemup [g32 g g g]
- \stemup [g64 g g g]
- \stemup [g128 g g g]
+ \stemUp [g8 g g g]
+ \stemUp [g16 g g g]
+ \stemUp [g32 g g g]
+ \stemUp [g64 g g g]
+ \stemUp [g128 g g g]
r32
\transpose c{
- \stemboth
+ \stemBoth
[c'8 c'] [b b] [a a] [g g] [f f] [e e]
[c'16 c'] [b b] [a a] [g g] [f f] [e e]
[c'32 c'] [b b] [a a] [g g] [f f] [e e]
\notes {
\transpose c' {
\time 8/4;
- \stemdown [a'8 a, c e]
- \stemdown [a'16 a, c e]
- \stemdown [a'32 a, c e]
- \stemdown [a'64 a, c e]
- \stemdown [a'128 a, c e]
+ \stemDown [a'8 a, c e]
+ \stemDown [a'16 a, c e]
+ \stemDown [a'32 a, c e]
+ \stemDown [a'64 a, c e]
+ \stemDown [a'128 a, c e]
r32}
\transpose c{
- \stemdown [d''8 d'' d'' d'']
- \stemdown [d''16 d'' d'' d'']
- \stemdown [d''32 d'' d'' d'']
- \stemdown [d''64 d'' d'' d'']
- \stemdown [d''128 d'' d'' d'']
+ \stemDown [d''8 d'' d'' d'']
+ \stemDown [d''16 d'' d'' d'']
+ \stemDown [d''32 d'' d'' d'']
+ \stemDown [d''64 d'' d'' d'']
+ \stemDown [d''128 d'' d'' d'']
r32}
\transpose c''{
- \stemboth
+ \stemBoth
[a8 a] [b b] [c' c'] [d' d'] [e' e'] [f' f']
[a16 a] [b b] [c' c'] [d' d'] [e' e'] [f' f']
[a32 a] [b b] [c' c'] [d' d'] [e' e'] [f' f']
-\version "1.3.59";
+\version "1.3.93";
\score {
\notes \relative c' {
\key es \major; \time 3/4;
- < \context Voice = two { \stemdown es4 bes es }
- \context Voice = one { \stemup g4 as g }
+ < \context Voice = two { \stemDown es4 bes es }
+ \context Voice = one { \stemUp g4 as g }
> |
- < \context Voice = two { \stemdown es4 \breathe bes es }
- \context Voice = one { \stemup g4 as g }
+ < \context Voice = two { \stemDown es4 \breathe bes es }
+ \context Voice = one { \stemUp g4 as g }
> |
es8 d es f g4 \breathe |
es8 d \breathe es f g f |
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.3.59";
+\version "1.3.93";
shortlong = \notes{
c4()c( c c |
>
}
-\version "1.3.59";
+\version "1.3.93";
}
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
%{
Would this be acceptable/good enough/convenient for entry?
-\version "1.3.59";
+\version "1.3.93";
\score {
\notes{
+\version "1.3.93";
\score {
\context Voice \notes\relative c {
\relative c'' \context Staff <
\context Voice = one {
\property Staff.collisionMergeDotted = ##t
- \stemup
+ \stemUp
[c8 f g a]
}
\context Voice = two {
- \stemdown c,4. f8
+ \stemDown c,4. f8
}>
}
\paper { }
\midi { }
-}
\ No newline at end of file
+}
copyright = "public domain";
Tested = "test the Collision resolution ";
}
-\version "1.3.59";
+\version "1.3.93";
twovoice = \context Staff \notes <
- \context Voice=i { \stemdown c4 d e f g2~ g4 a [c8 d e f] c2| }
- \context Voice=ii { \stemup g4 f e g ~ g2 g2 c4 g4 g2 }
+ \context Voice=i { \stemDown c4 d e f g2~ g4 a [c8 d e f] c2| }
+ \context Voice=ii { \stemUp g4 f e g ~ g2 g2 c4 g4 g2 }
>
twovoicesteminvert = \context Staff \notes <
% the f and g on 4th beat are exceptionally ugh.
- \context Voice=i { \stemup c4 d e f g2 g4 a | }
- \context Voice=ii { \stemdown g4 f e g g2 g2 }
+ \context Voice=i { \stemUp c4 d e f g2 g4 a | }
+ \context Voice=ii { \stemDown g4 f e g g2 g2 }
>
threevoice = \context Staff \notes <
- \context Voice=i { \stemup g4 f e f g a g2 }
- \context Voice=ii { \stemup \property Voice.horizontalNoteShift = 1 e2 e2 e2 e2 }
- \context Voice=iii { \stemdown c4 d e d c d es }
+ \context Voice=i { \stemUp g4 f e f g a g2 }
+ \context Voice=ii { \stemUp \property Voice.horizontalNoteShift = 1 e2 e2 e2 e2 }
+ \context Voice=iii { \stemDown c4 d e d c d es }
>
chordstest = \context Staff \notes <
\context Voice = i \relative c {
- \stemup e4 dis c f g f a b b
+ \stemUp e4 dis c f g f a b b
}
\context Voice = ii \relative c {
- \stemdown <a4 c> <a4 c> <a4 e'> <a4 c> <e' a> <e a> <e a> <a c> <a d>
+ \stemDown <a4 c> <a4 c> <a4 e'> <a4 c> <e' a> <e a> <e a> <a c> <a d>
}
>
hairyChord = \context Staff \notes\relative c' <
\context Voice=one {
\property Voice.horizontalNoteShift=0
- \stemup
+ \stemUp
e4
}
\context Voice=two {
- \stemup
+ \stemUp
\property Voice.horizontalNoteShift=1
cis
}
\context Voice=three {
\property Voice.horizontalNoteShift=2
- \stemup
+ \stemUp
ais
}
\context Voice=four {
- \stemdown
+ \stemDown
\property Voice.horizontalNoteShift=-1
fis
}
-\version "1.3.59";
+\version "1.3.93";
\score {
+\version "1.3.93";
\score {
\context Voice \notes\relative c'' {
\time 6/8;
\context Staff <
- \context Voice = VA { \stemup f'' <b c> r4. }
- \context Voice = VB { \stemdown b, <a b> r4. }
+ \context Voice = VA { \stemUp f'' <b c> r4. }
+ \context Voice = VB { \stemDown b, <a b> r4. }
>
-\version "1.3.59";
+\version "1.3.93";
%{
Would this be acceptable/good enough/convenient for entry?
}
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
FontBody= \notes\transpose c''{
\bar "|:";
\time 4/4;
- \context Staff < \context Voice = VB { \stemup e'\longa a\breve | }
- \context Voice = VA { \stemdown
+ \context Staff < \context Voice = VB { \stemUp e'\longa a\breve | }
+ \context Voice = VA { \stemDown
c1 \clef "bass"; b,, \clef "violin"; c' a'
c2 \clef "alto"; g c' \clef "violin"; a'
} >
- \stemboth
+ \stemBoth
c4 g c' a' \bar ":|";
a\ppp-\upbow a\pp-\downbow a\p^\turn a\mp^\fermata |
a\mf_\fermata a\f-\stopped a\ff-\open a\fff^\trill|
\clef "bass";
r\longa * 1/4 r\breve *1/2
r1 r2 r4 r8 r16 r32 r64 r128 r128 |
- \context Staff < \context Voice = VA { \stemup r2 c'2 c,,,1 }
- \context Voice = VB {\stemdown r2 c2 r1 }>
- \stemboth
+ \context Staff < \context Voice = VA { \stemUp r2 c'2 c,,,1 }
+ \context Voice = VB {\stemDown r2 c2 r1 }>
+ \stemBoth
\clef "violin";
e8_. g'8-> e16^^ g'16_^
e32 _| g'32^| g''32-\ltoe g''32-\lheel
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.3.59";
+\version "1.3.93";
\include "font-body.ly"
\score{
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.3.59";
+\version "1.3.93";
\include "paper16.ly"
\include "font-body.ly"
gourlay_maxmeasures =5.;
}
}
-\version "1.3.59";
+\version "1.3.93";
+\version "1.3.93";
\score {
\context Voice \notes\relative c {
\context Staff <
\context Voice = VA {
\property Voice.forceHorizontalShift = #0.1
- \stemup
+ \stemUp
\property Voice.horizontalNoteShift=1
<g' d'>
}
\context Voice = VB {
- \stemdown
+ \stemDown
\property Voice.horizontalNoteShift=1
\property Voice.forceHorizontalShift = #-0.1
<bes f'>
linewidth=-1.0;
}
\midi { }
-}
\ No newline at end of file
+}
+\version "1.3.93";
\score {
\notes \relative c'' \context Voice {
- \stemup
+ \stemUp
c'4 () c4
- \slurdown
+ \slurDown
c4 ( )c4
}
\paper { linewidth = -1.0; }
% perhaps the current modifier approach is too simplistic
-\version "1.3.59";
+\version "1.3.93";
gmsus=\notes\relative c \chords{
g1
-\version "1.3.59";
+\version "1.3.93";
%{
\score{
\notes \context Staff \relative c'' <
- \context Voice = VA { \stemup d2 d | d d | d4 d2. | \break c1 }
- \context Voice = VB { \stemdown g4 g g g | \times 2/3 { g2 g2 g2 } | g4. g8 g2 | c1 }
+ \context Voice = VA { \stemUp d2 d | d d | d4 d2. | \break c1 }
+ \context Voice = VB { \stemDown g4 g g g | \times 2/3 { g2 g2 g2 } | g4. g8 g2 | c1 }
>
\paper{
linewidth = 9.\cm;
-\version "1.3.59";
+\version "1.3.93";
zager = \context Staff = zager \notes \relative c'' {
\clef treble;
c1
-\version "1.3.59";
+\version "1.3.93";
voiceOne = \notes \relative c'' {
a1 a a
-\version "1.3.59";
+\version "1.3.93";
toeter_i = \notes\relative c <{
\property Staff.instrument = #"Toeters"
\property Staff.instr = #"Ttr." }
- \context Voice = lower { \stemdown s1*6 }
- \context Voice = upper { \stemup s1*6 }
+ \context Voice = lower { \stemDown s1*6 }
+ \context Voice = upper { \stemUp s1*6 }
\context Voice = together {
c'''4^"toet I" c c c
d d d d
R1
\context Voice = lower {
- \stemdown
+ \stemDown
e4 e e e
}
f f f f
f e d c
c d e f
\property Staff.instr = #"Zag."
- \stemup
+ \stemUp
f e d c
c d e f
f e d c
\skip 1*2;
\translator Staff=zager
- \stemdown
+ \stemDown
c2 g2
a4 b c d
/Mats B
%}
-\version "1.3.59";
+\version "1.3.93";
incipit = \notes\relative c'{
<b1 fis' b d>
\key;
a4. b8 c4 fis |
- gis~ gis8 fis16^\trill ()e b8 c \context Staff<{\voiceone a d}{\voicetwo es,4}>|
+ gis~ gis8 fis16^\trill ()e b8 c \context Staff<{\voiceOne a d}{\voiceTwo es,4}>|
}
BC = \notes\relative c{
-\version "1.3.59";
+\version "1.3.93";
\score {
\notes \relative c''
-\version "1.3.59";
+\version "1.3.93";
blah = \notes {
\context Staff=two \notes\relative c'{
\clef bass;
% no knee
- \stemup [c8 \translator Staff=one \stemdown g'16 f]
+ \stemUp [c8 \translator Staff=one \stemDown g'16 f]
s8
s2
}
}
}
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
\score{
\notes\relative c'{
- [c16 \stemdown c'' \stemboth c,, d]
- \stemdown [d'' a \stemboth c,, g,]
- \stemup [g c' \stemboth a'' d']
+ [c16 \stemDown c'' \stemBoth c,, d]
+ \stemDown [d'' a \stemBoth c,, g,]
+ \stemUp [g c' \stemBoth a'' d']
}
}
copyright = "public domain";
}
-\version "1.3.59";
+\version "1.3.93";
m =\notes \relative c'' {
\property Staff.automaticMelismata = ##t
>
}
-\version "1.3.59";
+\version "1.3.93";
>
}
-\version "1.3.59";
+\version "1.3.93";
copyright = "public domain";
}
-\version "1.3.59";
+\version "1.3.93";
m =\notes \relative c'' {
\property Staff.automaticMelismata = ##t
% * Stanza_number_engraver
% * Automatic melismata on beamed notes
-\version "1.3.59";
+\version "1.3.93";
\include "english.ly"
\header{
-\version "1.3.59";
+\version "1.3.93";
$somewhat_long = \lyrics{
\property Lyrics . textStyle = "roman"
-\version "1.3.59";
+\version "1.3.93";
global = \notes {
s1 | \mark "A";
>
\paper { Gourlay_maxmeaures = 2.; }
}
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
\score { \notes { \time 3/4; \key cis \major;
R2.*15 R2. R2.*7 }
-\version "1.3.59";
+\version "1.3.93";
-voice_one = \notes\transpose c''{ \stemup
+voice_one = \notes\transpose c''{ \stemUp
R1 * 2 | f'4-. r r2 | R1 * 3 |
f'4-. r r2 | R1 * 3 |
es'4-. r r2 | r1 |
}
voice_two = \notes
- { \transpose c' { \stemdown
+ { \transpose c' { \stemDown
R1 * 2 | f'4-. r r2 | R1 * 3 |
f'4-. r r2 | R1 * 3 |
es'4-. r r2 | r1 |
-%
-% Try this file with 1.2.17: it works
-% 1.2 had a different default, and uses textEmptyDimension scalar property
-%
+\version "1.3.93";
+
\score{
\notes\relative c''{
-%%% \property Staff.textNonEmpty=##t
-%%% burp?
- \context Staff \property basicTextScriptProperties \pop #'no-spacing-rods
- \context Staff \property Staff.basicTextScriptProperties \push #'no-spacing-rods = ##f
+ \context Staff \property Staff.TextScript \pop #'no-spacing-rods
+ \context Staff \property Staff.TextScript \push #'no-spacing-rods = ##f
c4_"longlonglonglonglonglong" c4_"text"
}
\paper{
c4 c4 }
\context Thread = TB {
\property Thread.noteHeadStyle = #'mensural
- c'4 \stemdown c
+ c'4 \stemDown c
} >
}
}
}
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
\score{
\notes \transpose c''{
-\version "1.3.59";
+\version "1.3.93";
m = \notes \relative c''{
\context Staff = cor <
\property Staff.instrument = "2 Corni in F"
\property Staff.instr = "Cor."
- \context Voice = corI { \stemup \M }
- \context Voice = corII { \stemdown \M }
+ \context Voice = corI { \stemUp \M }
+ \context Voice = corII { \stemDown \M }
>
\context Staff = trp <
\property Staff.instrument = "2 Trp. in B\\textflat "
\property Staff.instr = "Trp."
- \context Voice = trpI { \stemup \M }
- \context Voice = trpII { \stemdown \M }
+ \context Voice = trpI { \stemUp \M }
+ \context Voice = trpII { \stemDown \M }
>
>
\context StaffGroup = percussion <\context Staff = timpani <
-\version "1.3.59";
+\version "1.3.93";
\score {
+\version "1.3.93";
%{
-Look at ly/engraver.ly for inspiration on which basicXXXXProperties
+Look at ly/engraver.ly for inspiration on which XXXX
there are.
Generally, you can find interesting element properties associated with
setting stem directions by doing.
- \pushproperty #'(basicStemProperties) #'direction #1
+ \pushproperty #'(Stem) #'direction #1
(#-1 if you want down).
You can use identifiers, eg.
- slursUp = \context Voice \pushproperty '(basicSlurProperties)
+ slursUp = \context Voice \pushproperty '(Slur)
#'direction #1
- slursBoth = \context Voice \popproperty '(basicSlurProperties)
+ slursBoth = \context Voice \popproperty '(Slur)
%}
\score { \notes
\relative c' {
c4-.(
- \property Voice.basicDotsProperties \push #'direction = #-1
- \property Voice.basicStemProperties \push #'direction = #-1
+ \property Voice.Dots \push #'direction = #-1
+ \property Voice.Stem \push #'direction = #-1
\property Voice.noteColumnProperties \push #'direction = #-1
- \property Voice.basicStemProperties \push #'direction = #-1
+ \property Voice.Stem \push #'direction = #-1
) c4-. (
) c4-. (
- \property Voice.basicSlurProperties \push #'direction = #-1
+ \property Voice.Slur \push #'direction = #-1
) c4-. (
- \property basicDotsProperties \pop #'direction
- \property basicStemProperties \pop #'direction
- \property basicScriptProperties \pop #'direction
- \property basicTextProperties \pop #'direction
+ \property Dots \pop #'direction
+ \property Stem \pop #'direction
+ \property Script \pop #'direction
+ \property Text \pop #'direction
) c4-. () c4-.
}
\paper {
\translator { \VoiceContext
- basicNoteHeadProperties \push #'font-size = #-2
+ NoteHead \push #'font-size = #-2
}
}
}
r r r r r r r r r r r r r r r r
}
different =< \context Voice = one {
- \stemup
+ \stemUp
\notes \relative c'' {
r8 a e4 a e
}
}
\context Voice = two {
- \stemdown
+ \stemDown
\notes \relative c'' {
r1
}} >
scales = \context Staff \notes <
- \context Voice=i { \stemup r1 r2 r2 \scale c''1 c'2 a'2 \rests }
- \context Voice = ii { \stemdown a'1 a'2 d'2 \rests r1 r2 r2 \scale }
+ \context Voice=i { \stemUp r1 r2 r2 \scale c''1 c'2 a'2 \rests }
+ \context Voice = ii { \stemDown a'1 a'2 d'2 \rests r1 r2 r2 \scale }
>
restsII = \context Staff \notes {
r4 r8
- \context Staff < { \stemup r8 } { \stemdown r8} >
- \context Staff < {\stemup r8} r8 { \stemdown r8} >
- \context Staff < {\stemup r8} r8 r8 { \stemdown r8} >
- \context Staff < {\stemup r} { \stemdown r} >
- \context Staff < {\stemup r} r { \stemdown r} >
- \stemup
+ \context Staff < { \stemUp r8 } { \stemDown r8} >
+ \context Staff < {\stemUp r8} r8 { \stemDown r8} >
+ \context Staff < {\stemUp r8} r8 r8 { \stemDown r8} >
+ \context Staff < {\stemUp r} { \stemDown r} >
+ \context Staff < {\stemUp r} r { \stemDown r} >
+ \stemUp
\transpose c'' { [c''8 r8 c''8 c''8]
[c8 r8 c8 c8]
[c8 r8 r8 c'''8]
- \stemdown
+ \stemDown
[c8 r8 c8 c8]
[c''8 r8 c''8 c''8]
[c'8 r8 r8 c'''8]
}
}
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
blah = \notes{ \transpose c'' {
d' _>_._\fermata _"text"
d'' _>_._\fermata _"text"
- \stemup
+ \stemUp
b,-. c-. d-. e-. f-. g-. a-. b-. c'-.
- \stemdown
+ \stemDown
a-. b-. c'-. d'-. e'-. f'-. g'-. a'-. b'-.
- \stemup
+ \stemUp
b,-> c-> d-> e-> f-> g-> a-> b-> c'->
- \stemup
+ \stemUp
b,---. c---. d---. e---. f---. g---. a---. b---. c'---.
- \stemboth
+ \stemBoth
\time 4/4;
[c8 \< d e \! f][d' \> e' f' \! g']
[c-> \< d-> e-> \! f->][d'-> \> e'-> f'-> \! g'->]
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.3.59";
+\version "1.3.93";
shortlong = \notes{
c4()c( c c |
e( a' a' )e
e( b' b' )e
e( c'' c'' )e
- \stemup
+ \stemUp
e( c' c' )e
e( d' d' )e
e( e' e' )e
e( c'' c'' )e
- \stemboth
+ \stemBoth
e( f' b' )e
e( b' f' )e
e( e'' g' )e
e( g' e'' )e
- \stemup
+ \stemUp
e( d' b )e
e( b d' )e
e( f' c'' )e
}
under = \notes\transpose c'{
- \stemdown
- f'( \stemboth d d \stemdown )f'
- f'( \stemboth c c \stemdown )f'
- f'( \stemboth b, b, \stemdown )f'
- f'( \stemboth a, a, \stemdown )f'
- \stemdown
+ \stemDown
+ f'( \stemBoth d d \stemDown )f'
+ f'( \stemBoth c c \stemDown )f'
+ f'( \stemBoth b, b, \stemDown )f'
+ f'( \stemBoth a, a, \stemDown )f'
+ \stemDown
f'( a a )f'
f'( g g )f'
f'( f f )f'
f'( a, a, )f'
- \stemdown
- f'( \stemboth d b, \stemdown )f'
- f'( \stemboth b, d \stemdown )f'
- f'( \stemboth d, b, \stemdown )f'
- f'( \stemboth b, d, \stemdown )f'
- \stemdown
+ \stemDown
+ f'( \stemBoth d b, \stemDown )f'
+ f'( \stemBoth b, d \stemDown )f'
+ f'( \stemBoth d, b, \stemDown )f'
+ f'( \stemBoth b, d, \stemDown )f'
+ \stemDown
f'( f a )f'
f'( a f )f'
f'( f e, )f'
}
eccentric = \notes\transpose c'{
- \stemup
+ \stemUp
\times 4/7 { f( a' f f f f )f } |
\times 4/7 { f( f f f f a' )f } |
- \stemdown
+ \stemDown
\times 4/7 { e'( c e' e' e' e' )e' } |
\times 4/7 { e'( e' e' e' e' c )e' } |
}
tiltup = \notes\transpose c'{
e( c'' c'' )e'
- \stemup
+ \stemUp
e( c'' c'' )e'
- \stemboth
+ \stemBoth
e( g' e'' )e'
- \stemup
+ \stemUp
e( c'' f )e'
- \stemdown
- f'( \stemboth a, a, \stemdown )f''
- \stemdown
+ \stemDown
+ f'( \stemBoth a, a, \stemDown )f''
+ \stemDown
f'( a, a, )f''
}
tiltdown = \notes\transpose c'{
e'( c'' c'' )e
- \stemup
+ \stemUp
e'( c'' c'' )e
- \stemboth
+ \stemBoth
e'( g' e'' )e
- \stemup
+ \stemUp
e'( c'' f )e
- \stemdown
- f''( \stemboth a, a, \stemdown )f'
- \stemdown
+ \stemDown
+ f''( \stemBoth a, a, \stemDown )f'
+ \stemDown
f''( a, a, )f'
}
blend = \notes\transpose c'{
e( c'' c'' )e
- \stemup
+ \stemUp
f'( c'' c'' )f'
e( c'' c'' )e
- \stemdown
- f'( \stemboth a, a, \stemdown )f'
+ \stemDown
+ f'( \stemBoth a, a, \stemDown )f'
f'( a, a, )f'
- \stemboth
+ \stemBoth
e( c'' c'' )e'
e'( c'' c'' )e
d( d d )d
- \stemdown
+ \stemDown
e( c'' c'' )e'
e'( c'' c'' )e
d( d d )d
}
clipping = \notes\transpose c'{
- \stemboth
+ \stemBoth
c( c''' c''')c
c( c''' c )c''
c''( c c''' )c
- \stemdown
- c( \stemup c,,, c,,, \stemdown )c
- c( \stemup c,,, c \stemdown )c,,
- c,,( \stemup c c,,, \stemdown )c
+ \stemDown
+ c( \stemUp c,,, c,,, \stemDown )c
+ c( \stemUp c,,, c \stemDown )c,,
+ c,,( \stemUp c c,,, \stemDown )c
}
\score{
\score{
\context PianoStaff <
\context Staff=one \notes\relative c'{
- \stemup c4( c \translator Staff=two c )c |
+ \stemUp c4( c \translator Staff=two c )c |
\translator Staff=one
- \stemup c4( c \translator Staff=two c )c |
- \stemup c4( c \translator Staff=one c )c |
+ \stemUp c4( c \translator Staff=two c )c |
+ \stemUp c4( c \translator Staff=one c )c |
\translator Staff=two
- \stemup c4( c \translator Staff=one c )c |
+ \stemUp c4( c \translator Staff=one c )c |
\translator Staff=two
- \stemup c4( \translator Staff=one c c )c |
+ \stemUp c4( \translator Staff=one c c )c |
r2
\translator Staff=two
- \stemup c4( \translator Staff=one c
+ \stemUp c4( \translator Staff=one c
\break
c )c
r2
-% \stemdown c4( \translator Staff=two c c \translator Staff=one )c
- \stemdown d4( \translator Staff=two c c \translator Staff=one )d
+% \stemDown c4( \translator Staff=two c c \translator Staff=one )c
+ \stemDown d4( \translator Staff=two c c \translator Staff=one )d
\translator Staff=two
- \stemup c4( \translator Staff=one c c \translator Staff=two )c
+ \stemUp c4( \translator Staff=one c c \translator Staff=two )c
r1
}
\context Staff=two \notes\relative c'{
>
}
-\version "1.3.59";
+\version "1.3.93";
% test damping
-\version "1.3.59";
+\version "1.3.93";
\score{
\notes\relative c'{
-\version "1.3.59";
+\version "1.3.93";
\score{
\notes{
+\version "1.3.93";
\score {
\context Voice \notes\relative c {
% CASE 3
d''4 ( ) b a ( ) e' \break
- g,( \stemdown ) b \stemboth c ( ) f, \break
+ g,( \stemDown ) b \stemBoth c ( ) f, \break
% no adjusting...
- \stemup [d'8 ( b a] \stemboth ) e' \break
- \stemup [g,8 ( b d] \stemboth ) c \break
+ \stemUp [d'8 ( b a] \stemBoth ) e' \break
+ \stemUp [g,8 ( b d] \stemBoth ) c \break
% still ugly
g4 ( b d ) c \break
%TIES
d ~ b a ~ e' \break
- g, ~ \stemdown b \stemboth c ~ f, \break
+ g, ~ \stemDown b \stemBoth c ~ f, \break
}
linewidth=-1.0;
}
\midi { }
-}
\ No newline at end of file
+}
+
+\version "1.3.93";
\score{
\notes\relative c''{
\time 3/4;
- \slurup
- \stemboth a ( \stemdown a \stemboth ) a a( c )a a( e' )a, a( g' )a,
- \stemup a( e' )a,
+ \slurUp
+ \stemBoth a ( \stemDown a \stemBoth ) a a( c )a a( e' )a, a( g' )a,
+ \stemUp a( e' )a,
\break
- \slurdown
- \stemboth c ( \stemup c \stemboth ) c c ( a ) c c( d, )c' c( f, )c'
- \stemdown c( f, )c'
+ \slurDown
+ \stemBoth c ( \stemUp c \stemBoth ) c c ( a ) c c( d, )c' c( f, )c'
+ \stemDown c( f, )c'
}
\paper{
linewidth = 120.\mm;
\score{
\notes\relative c''{
- \slurup
+ \slurUp
a2 () a\break
- \slurdown
+ \slurDown
a2 () a\break
- \slurup
+ \slurUp
c2 () c\break
- \slurdown
+ \slurDown
c2 () c\break
}
-\version "1.3.59";
+\version "1.3.93";
\score{
\notes\transpose c'{
{ e ~ f }
>
% \context Staff <
-% { \stemup c'8 ~g ~e( ~c~ [c'~ g' e' )c'] c'' ~ c'' c~c }
-% { \stemdown c (e g )c'~( [b a g )d] r2 }
+% { \stemUp c'8 ~g ~e( ~c~ [c'~ g' e' )c'] c'' ~ c'' c~c }
+% { \stemDown c (e g )c'~( [b a g )d] r2 }
% >
{
}
}
-\version "1.3.59";
+\version "1.3.93";
TestedFeatures = "This file tests various spacings";
}
-\version "1.3.59";
+\version "1.3.93";
multipart = \notes \relative c'{
\context StaffGroup <
-\version "1.3.59";
+\version "1.3.93";
nt = \notes { c1 \break c1 c1 }
stuff = \notes \relative c'' <
\context Staff = stone { \nt }
% test staff margin with partial measure.
-\version "1.3.59";
+\version "1.3.93";
\score {
\notes { \property Staff.instrument = "foo" \partial 4; c4 c1 }
-\version "1.3.59";
+\version "1.3.93";
\score {
}
-\version "1.3.59";
+\version "1.3.93";
\property Staff.fontSize = #-1
\property Voice.fontSize = #-1
- \property Voice . dynamicDirection = \up \stemdown
+ \property Voice . dynamicDirection = \up \stemDown
%\key gis \major;
c8 d [e f g a] b c \ff
}
>
\paper { linewidth = -1.; }
}
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
\score{
\context Voice\notes \relative c''{
%%?
a1:4^":4" a:8^":8" c:16^":16" a:32^":32" a^"x" a:^":"
a4:4 c:8 a:16 c:32 a a: a2:
\break
- \stemup
+ \stemUp
a4:32 a'4:64
- \stemdown
+ \stemDown
c,4:32 c,4:64
- \stemboth
+ \stemBoth
c'8:16 c c c
a': a a: a
c,16:32 c: c c a16:32 a: a a
}
-\version "1.3.59";
+\version "1.3.93";
beamintervals = \notes{
\time 7/4;
- \stemup
+ \stemUp
\transpose c'{
[ c8 d ] [ c e ] [ c f ] [ c g ] [ c a ] [ c b ] [ c c' ] |
[ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
}\transpose c''{
[ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
- \stemdown}
+ \stemDown}
\transpose c'''{
[ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
} \transpose c''{
\score{
\notes\transpose c'{
- \stemup
+ \stemUp
\time 17/4;
g,4 a, b, c d e f g a b c' d' e' f' g' a' b' |
- \stemdown
+ \stemDown
b' a' g' f' e' d' c' b a g f e d c b, a, g, |
\beamintervals
\transpose d \beamintervals
instrument= "Violoncello";
}
-\version "1.3.59";
+\version "1.3.93";
% this is an example of extreme dynamics
% the thumb-script is used in cello music to indicate a note that should
% be played with your thumb.
-\version "1.3.59";
+\version "1.3.93";
\score { \notes \relative c'' {
[<a8_\thumb a'8-3(> <)b_\thumb b'-3>
instrument= "Instrument";
}
-\version "1.3.59";
+\version "1.3.93";
\score{
\notes
}
-\version "1.3.59";
+\version "1.3.93";
vOne = \notes \relative c''{
\clef"violin";
}
}
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.70"
+\version "1.3.93"
\score {
\context Voice \notes\relative c'' {
copyright = "public domain";
}
-\version "1.3.59";
+\version "1.3.93";
\include "paper-as5.ly"
+\version "1.3.93";
%
% We'd want to combine the stems, but have two slurs too...
% Looks like the a-due engraver
\score{
\context Staff <
\context Voice=v \notes\relative c''{
- \stemup
+ \stemUp
a4 c4.()g8 a4
}
\context Voice=u \notes\relative c''{
- \stemdown
+ \stemDown
g4 e4.()d8 c4
}
>
\score {
\context Voice \notes\relative c {
% this used to work:
- % <{\voiceone e}
- % {\voicetwo c}>
+ % <{\voiceOne e}
+ % {\voiceTwo c}>
% now we need:
\context Staff
- <{\voiceone e}
- {\voicetwo c}>
+ <{\voiceOne e}
+ {\voiceTwo c}>
- \version "1.3.59";
+ \version "1.3.93";
}
\paper { }
-\version "1.3.59";
+\version "1.3.93";
\score {
\notes <
\score{
<
\context Staff = o \notes\relative c,,, {
- \stemdown [c8 c c c] c4 c4 \break [c8 c c c] c4 c4
+ \stemDown [c8 c c c] c4 c4 \break [c8 c c c] c4 c4
}
\context Lyrics \lyrics{
BLA gag _2 < { BLA gag } { BLA gag la } > _2
}
\context Staff = t \notes\relative c''''' {
- \stemup [c8 c c c] c4 c [c8 c c c] c4 c
+ \stemUp [c8 c c c] c4 c [c8 c c c] c4 c
}
>
\paper{
}
}
-\version "1.3.59";
+\version "1.3.93";
}
}
voicedefault = \notes {
- \property Staff.timeSignatureStyle="C"
- \time 4/4; \key f;
+
+ \time 4/4; \key f \major ;
\tempo 4 = 200;
}
\score{
\paper {
font_normal = 12.;
\translator {
- \StaffContext
+ \StaffContext
+ TimeSignature \push #'style = #"C"
\consists Instrument_name_engraver;
}
}
%}
-\version "1.3.59";
+\version "1.3.93";
praeludiumRight = \notes {
\key e \major;
\clef violin;
% 13 -- how to type -- where to split -- this more neatly?
\context Staff <
- \context Voice = I \relative c'' { \stemup r4 dis4 e4. e8 ~ |
- \shifton e4-.-^^\f [d8 fis8] \shiftoff gis4 ~ [gis8 fis16 e ] |
+ \context Voice = I \relative c'' { \stemUp r4 dis4 e4. e8 ~ |
+ \shiftOn e4-.-^^\f [d8 fis8] \shiftOff gis4 ~ [gis8 fis16 e ] |
fis4 ~ [fis8 e16 dis] e4 r8 e8 }
- \context Voice = III \relative c'' { \stemup \shifton r4 bis cis \shiftoff cis |
- a' ~ [a16 gis a b] \shifton dis,4 cis ~ |
+ \context Voice = III \relative c'' { \stemUp \shiftOn r4 bis cis \shiftOff cis |
+ a' ~ [a16 gis a b] \shiftOn dis,4 cis ~ |
[cis8 dis16 ais] bis4 cis r8 b }
\context Voice = IV \relative c'' {
- \stemdown
- \shifton s4 gis }
+ \stemDown
+ \shiftOn s4 gis }
- \context Voice = II \relative c' { \stemdown
-% \shifton % idem
+ \context Voice = II \relative c' { \stemDown
+% \shiftOn % idem
- r4 fis \shiftoff gis gis |
+ r4 fis \shiftOff gis gis |
a4. cis8 gis2 |
fis4 gis gis r8 e8 }
> |
% 13
\context Staff <
\context Voice = two { r4 }
- \context Voice = one { \stemup s4 dis' cis cis ~ |
+ \context Voice = one { \stemUp s4 dis' cis cis ~ |
\times 4/5
{ [cis8 ( cis
- a \translator Staff = treble \stemdown \shifton d
+ a \translator Staff = treble \stemDown \shiftOn d
)
cis] }
\translator Staff = bass
- \shiftoff
+ \shiftOff
[bis gis] cis4 |
dis2 cis4 r8 cis }
- \context Voice = one { \stemup bis2 }
+ \context Voice = one { \stemUp bis2 }
\context Voice = three {
- \property Voice.basicDynamicLineSpannerProperties \push #'direction = #-1
- \stemup \shifton r4 gis ~ [gis8
+ \property Voice.DynamicLineSpanner \push #'direction = #-1
+ \stemUp \shiftOn r4 gis ~ [gis8
\<
- gis] ~ \stemdown \shiftoff gis4 |
+ gis] ~ \stemDown \shiftOff gis4 |
a4. fis8
\!
gis4. a8 ~ |
a4 gis4 gis r8 gis }
- \context Voice = four { \stemdown \shifton s4 fis4 e}
- \context Voice = two { \stemdown s4 dis4 cis4 }
+ \context Voice = four { \stemDown \shiftOn s4 fis4 e}
+ \context Voice = two { \stemDown s4 dis4 cis4 }
> |
%16
}
%15
\context Staff <
- \context Voice = VA { \stemup [b8 fis8] b4 }
- \context Voice = VB { \stemdown fis2 }
+ \context Voice = VA { \stemUp [b8 fis8] b4 }
+ \context Voice = VB { \stemDown fis2 }
>
\context Staff \notes\relative c''<
\context Voice=one {
- \shiftoff
- \stemup
+ \shiftOff
+ \stemUp
e4
}
\context Voice=two {
- \shifton
- \stemup
+ \shiftOn
+ \stemUp
cis
}
\context Voice=three {
- \shiftonn
- \stemup
+ \shiftOnn
+ \stemUp
ais
}
\context Voice=four {
- \shiftonnn
- \stemup
+ \shiftOnnn
+ \stemUp
fis
}
>
\context Voice = one { dis2 dis4 |
cis2 cis4 |
b4. [cis8 dis e] }
- \context Voice = three { \stemup \shifton [b8 fis] b2 ~ |
+ \context Voice = three { \stemUp \shiftOn [b8 fis] b2 ~ |
[b8 a!16 gis] a2 ~ |
a4 gis2 }
- \context Voice = two { \stemdown fis2. ~ |
+ \context Voice = two { \stemDown fis2. ~ |
fis ~ |
fis4 e2 }
> |
%15
\context Staff <
- \context Voice = one { \stemdown
+ \context Voice = one { \stemDown
\gracetest
- \relative b, < )b2 dis fis a b cis dis> \stemup ais4 |
+ \relative b, < )b2 dis fis a b cis dis> \stemUp ais4 |
b2 b4 }
- \context Voice = two { \stemdown s2 e4 |
+ \context Voice = two { \stemDown s2 e4 |
fis2 fis4 }
>
- \stemboth cis2 [e16( fis a \clef "treble"; b] |
+ \stemBoth cis2 [e16( fis a \clef "treble"; b] |
d'4 ) b8 b8 b4 |
%19
}
\key e \major;
\clef bass;
- %15
- %
- % TODO: the volta typesetting should spread over the complete score.
- %
\repeat "volta" 2 { dis4.-\ltoe } \alternative { e8-\rtoe cis4 } |
b4.-\lheel [cis8-\ltoe dis8-\rtoe e8-\rheel] |
fis4.-\rtoe [e8-\rheel dis8-\rtoe cis8-\ltoe] |
copyright = "public domain";
}
-\version "1.3.59";
+\version "1.3.93";
melodie = \notes\relative c'' {
\clef "violin";
auto beaming, adding lyrics to notes, hyphens
%}
-\version "1.3.59";
+\version "1.3.93";
melody = \notes \relative c'' {
\clef violin;
|| (unison == SCM_BOOL_T && state_ != UNISON
&& daddy_trans_l_->id_str_ == "one")))
{
- text_p_ = new Item (get_property ("basicTextScriptProperties"));
+ text_p_ = new Item (get_property ("TextScript"));
Side_position::set_axis (text_p_, Y_AXIS);
announce_element (text_p_, 0);
void
Align_note_column_engraver::do_creation_processing ()
{
- align_item_p_ = new Item (get_property ("basicGraceAlignItemProperties"));
+ align_item_p_ = new Item (get_property ("GraceAlignment"));
Grace_align_item::set_interface (align_item_p_);
Side_position::set_axis (align_item_p_, X_AXIS);
Side_position::set_direction (align_item_p_, LEFT);
Spanner*
Auto_beam_engraver::create_beam_p ()
{
- Spanner* beam_p = new Spanner (get_property ("basicBeamProperties"));
+ Spanner* beam_p = new Spanner (get_property ("Beam"));
Beam::set_interface (beam_p);
for (int i = 0; i < stem_l_arr_p_->size (); i++)
Spanner*
Axis_group_engraver::get_spanner_p () const
{
- return new Spanner (get_property ("basicVerticalAxisGroupProperties"));
+ return new Spanner (get_property ("VerticalAxisGroup"));
}
void
if (gh_pair_p (dims) && gh_number_p (gh_car (dims))
&& gh_number_p (gh_cdr (dims)))
{
- staffline_p_->set_extent_callback (&Score_element::preset_extent, Y_AXIS);
+ staffline_p_->set_extent_callback (Score_element::preset_extent_proc, Y_AXIS);
staffline_p_->set_elt_property ("extent-Y", dims);
}
Spanner*
Hara_kiri_engraver::get_spanner_p () const
{
- Spanner * sp = new Spanner (get_property ("basicHaraKiriVerticalGroupspannerProperties"));
+ Spanner * sp = new Spanner (get_property ("HaraKiriVerticalGroup"));
Hara_kiri_group_spanner::set_interface (sp);
return sp;
}
{
if (!bar_p_)
{
- bar_p_ = new Item (get_property ("basicBarProperties"));
+ bar_p_ = new Item (get_property ("BarLine"));
SCM gl = get_property ("whichBar");
if (scm_equal_p (gl, bar_p_->get_elt_property ("glyph")) != SCM_BOOL_T)
if (text_p_)
return;
- SCM b = get_property ("basicBarNumberProperties");
+ SCM b = get_property ("BarNumber");
text_p_ = new Item (b);
Side_position::set_axis(text_p_,Y_AXIS);
}
prev_start_req_ = reqs_drul_[START];
- beam_p_ = new Spanner (get_property ("basicBeamProperties"));
+ beam_p_ = new Spanner (get_property ("Beam"));
Beam::set_interface (beam_p_);
SCM smp = get_property ("measurePosition");
{
if (Rest::has_interface (info.elem_l_))
{
- info.elem_l_->add_offset_callback (Beam::rest_collision_callback, Y_AXIS);
+ info.elem_l_->add_offset_callback (Beam::rest_collision_callback_proc, Y_AXIS);
}
else if (Stem::has_interface (info.elem_l_))
{
[Alternatively, stems could set its own directions, according to
their beam, during 'final-pre-processing'.]
*/
-MAKE_SCHEME_CALLBACK(Beam,before_line_breaking);
+MAKE_SCHEME_CALLBACK(Beam,before_line_breaking,1);
SCM
Beam::before_line_breaking (SCM smob)
{
Set elt properties height and y-position if not set.
Adjust stem lengths to reach beam.
*/
-MAKE_SCHEME_CALLBACK(Beam,after_line_breaking);
+MAKE_SCHEME_CALLBACK(Beam,after_line_breaking,1);
SCM
Beam::after_line_breaking (SCM smob)
{
return leftbeams;
}
-MAKE_SCHEME_CALLBACK(Beam,brew_molecule);
+MAKE_SCHEME_CALLBACK(Beam,brew_molecule,1);
SCM
Beam::brew_molecule (SCM smob)
{
rest -> stem -> beam -> interpolate_y_position ()
*/
-Real
-Beam::rest_collision_callback (Score_element *rest, Axis a )
+MAKE_SCHEME_CALLBACK(Beam,rest_collision_callback,2);
+SCM
+Beam::rest_collision_callback (SCM element_smob, SCM axis)
{
+ Score_element *rest = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
+
assert (a == Y_AXIS);
Score_element * st = unsmob_element (rest->get_elt_property ("stem"));
Score_element * stem = st;
if (!stem)
- return 0.0;
+ return gh_double2scm (0.0);
Score_element * beam = unsmob_element (stem->get_elt_property ("beam"));
if (!beam || !Beam::has_interface (beam) || !Beam::visible_stem_count (beam))
- return 0.0;
+ return gh_double2scm (0.0);
// make callback for rest from this.
Real beam_dy = 0;
if (discrete_dist < stafflines+1)
discrete_dist = int (ceil (discrete_dist / 2.0)* 2.0);
- return (-d * discrete_dist);
+ return gh_double2scm (-d * discrete_dist);
}
void
Beam::set_interface (Score_element*me)
{
- Pointer_group_interface g (me, "stems");
- g.set_interface ();
-
/*
why the init? No way to tell difference between default and user
override. */
if (!align_l_)
{
- align_l_ = new Item (get_property ("basicBreakAlignProperties"));
+ align_l_ = new Item (get_property ("BreakAlignment"));
Break_align_interface::set_interface (align_l_);
announce_element (align_l_,0);
SCM edge_sym = ly_symbol2scm ("Left_edge_item");
- Item * edge = new Item (get_property ("leftEdgeBasicProperties"));
+ Item * edge = new Item (get_property ("LeftEdge"));
/*
We must have left-edge in the middle. Instrument-names
TODO: switch off ignoring empty stuff?
*/
- edge->set_extent_callback (Score_element::point_dimension_callback,X_AXIS);
+ edge->set_extent_callback (Score_element::point_dimension_callback_proc, X_AXIS);
align_l_->set_elt_property ("group-center-element", edge->self_scm ());
}
else
{
- group = new Item (get_property ("basicBreakAlignGroupProperties"));
+ group = new Item (get_property ("BreakAlignGroup"));
Axis_group_interface::set_interface (group);
Axis_group_interface::set_axes (group, X_AXIS,X_AXIS);
#include "group-interface.hh"
#include "align-interface.hh"
-MAKE_SCHEME_CALLBACK(Break_align_interface,before_line_breaking);
+MAKE_SCHEME_CALLBACK(Break_align_interface,before_line_breaking,1);
SCM
Break_align_interface::before_line_breaking (SCM smob)
do_alignment (me);
return SCM_UNSPECIFIED;
}
+MAKE_SCHEME_CALLBACK(Break_align_interface,alignment_callback,2);
-Real
-Break_align_interface::alignment_callback (Score_element*c, Axis a)
+SCM
+Break_align_interface::alignment_callback (SCM element_smob, SCM axis)
{
+ Score_element *me = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
+
assert (a == X_AXIS);
- Score_element *par = c->parent_l (a);
+ Score_element *par = me->parent_l (a);
if (par && !to_boolean (par->get_elt_property ("break-alignment-done")))\
{
par->set_elt_property ("break-alignment-done", SCM_BOOL_T);
Break_align_interface::do_alignment (par);
}
- return 0.0;
+ return gh_double2scm (0);
}
-Real
-Break_align_interface::self_align_callback (Score_element *me, Axis a)
+MAKE_SCHEME_CALLBACK(Break_align_interface,self_align_callback,2);
+SCM
+Break_align_interface::self_align_callback (SCM element_smob, SCM axis)
{
+ Score_element *me = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
assert (a == X_AXIS);
Item* item = dynamic_cast<Item*> (me);
me->set_elt_property ("self-alignment-X", gh_int2scm (RIGHT));
}
- return Side_position::aligned_on_self (me, a);
+ return Side_position::aligned_on_self (element_smob, axis);
}
void
Break_align_interface::add_element (Score_element*me, Score_element *toadd)
{
- toadd->add_offset_callback (alignment_callback, X_AXIS);
Axis_group_interface::add_element (me, toadd);
}
Align_interface::set_interface (me);
Align_interface::set_axis (me,X_AXIS);
- me->add_offset_callback (Break_align_interface::self_align_callback, X_AXIS);
+
}
{
if(breathing_sign_req_l_)
{
- SCM b = get_property ("basicBreathingSignProperties");
+ SCM b = get_property ("BreathingSign");
breathing_sign_p_ = new Item (b);
Breathing_sign::set_interface (breathing_sign_p_);
#include "dimensions.hh"
#include "direction.hh"
-
-
-MAKE_SCHEME_CALLBACK(Breathing_sign,brew_molecule);
-
+MAKE_SCHEME_CALLBACK(Breathing_sign,brew_molecule,1);
SCM
Breathing_sign::brew_molecule (SCM smob)
{
return me->lookup_l()->filledbox(b).create_scheme ();
}
-Real
-Breathing_sign::offset_callback (Score_element * b, Axis a)
+MAKE_SCHEME_CALLBACK(Breathing_sign,offset_callback,2);
+SCM
+Breathing_sign::offset_callback (SCM element_smob, SCM axis)
{
- Score_element * me = (Score_element*)b;
+ Score_element *me = unsmob_element (element_smob);
- Direction d = Directional_element_interface::get (b);
+ Direction d = Directional_element_interface::get (me);
if (!d)
{
d = UP;
Real inter_f = Staff_symbol_referencer::staff_space (me)/2;
int sz = Staff_symbol_referencer::line_count (me)-1;
- return inter_f * sz * d;
+ return gh_double2scm ( inter_f * sz * d);
}
void
Breathing_sign::set_interface (Score_element *b)
{
Staff_symbol_referencer::set_interface (b);
- b->add_offset_callback (Breathing_sign::offset_callback,Y_AXIS);
+
}
Chord_name_engraver::create_chord_name ()
{
assert (chord_p_);
- chord_name_p_ = new Item (get_property ("basicChordNameProperties"));
+ chord_name_p_ = new Item (get_property ("ChordName"));
/*
Hmm, why not represent complete chord as list?
((tonic third fifth) (inversion bass))
{
if (repeat_ && !beam_p_)
{
- beam_p_ = new Spanner (get_property ("basicBeamProperties"));
+ beam_p_ = new Spanner (get_property ("Beam"));
Beam::set_interface (beam_p_);
beam_p_->set_elt_property ("chord-tremolo", SCM_BOOL_T);
}
s->set_elt_property ("direction", d);
- if (Rhythmic_req* r = dynamic_cast <Rhythmic_req *> (info.req_l_))
+ if (dynamic_cast <Rhythmic_req *> (info.req_l_))
{
Beam::add_stem (beam_p_, s);
- Moment stem_location = now_mom () -
- start_mom_ + beam_start_location_;
}
else
{
c0_position_i_ -= (int) octave_dir_ * 7;
- SCM basic = ly_symbol2scm ("basicClefItemProperties");
+ SCM basic = ly_symbol2scm ("Clef");
SCM c0 = ly_symbol2scm ("c0-position");
SCM gl = ly_symbol2scm ("glyph");
daddy_trans_l_->execute_single_pushpop_property (basic, gl, SCM_UNDEFINED);
{
int p = int (Staff_symbol_referencer::position_f (item)) + c0_position_i_;
Staff_symbol_referencer::set_position (item,p);
-
}
else if (Key_item::has_interface (item))
{
{
if (!clef_p_)
{
- Item *c= new Item (get_property ("basicClefItemProperties"));
+ Item *c= new Item (get_property ("Clef"));
announce_element (c, clef_req_l_);
Staff_symbol_referencer::set_interface (c);
Staff_symbol_referencer::set_position(clef_p_, clef_position_i_);
if (octave_dir_)
{
- Item * g = new Item (get_property ("basicOctavateEightProperties"));
- Side_position::set_axis (g,Y_AXIS);
+ Item * g = new Item (get_property ("OctavateEight"));
+
Side_position::add_support (g,clef_p_);
g->set_parent (clef_p_, Y_AXIS);
g->set_parent (clef_p_, X_AXIS);
- g->add_offset_callback (Side_position::aligned_on_self, X_AXIS);
- g->add_offset_callback (Side_position::centered_on_parent, X_AXIS);
+
g->set_elt_property ("direction", gh_int2scm (octave_dir_));
octavate_p_ = g;
announce_element (octavate_p_, clef_req_l_);
return ;
if (!col_p_)
{
- col_p_ = new Item (get_property ("basicCollisionProperties"));
+ col_p_ = new Item (get_property ("NoteCollision"));
Axis_group_interface::set_interface (col_p_);
Axis_group_interface::set_axes (col_p_, X_AXIS, Y_AXIS);
{
if (!dotcol_p_)
{
- dotcol_p_ = new Item(get_property ("basicDotColumnProperties"));
+ dotcol_p_ = new Item(get_property ("DotColumn"));
Dot_column::set_interface (dotcol_p_);
Side_position::set_axis (dotcol_p_, X_AXIS);
{
if (!line_spanner_)
{
- line_spanner_ = new Spanner (get_property ("basicDynamicLineSpannerProperties"));
+ line_spanner_ = new Spanner (get_property ("DynamicLineSpanner"));
Side_position::set_axis (line_spanner_, Y_AXIS);
Axis_group_interface::set_interface (line_spanner_);
{
String loud = text_req_l_->text_str_;
- text_p_ = new Item (get_property ("basicDynamicTextProperties"));
+ text_p_ = new Item (get_property ("DynamicText"));
text_p_->set_elt_property ("text", ly_str02scm (loud.ch_C ()));
if (Direction d=text_req_l_->get_direction ())
Directional_element_interface::set (line_spanner_, d);
Axis_group_interface::add_element (line_spanner_, text_p_);
- text_p_->add_offset_callback (Side_position::aligned_on_self,
- Y_AXIS);
announce_element (text_p_, text_req_l_);
}
else
{
current_cresc_req_ = accepted_spanreqs_drul_[START];
- cresc_p_ = new Spanner (get_property ("basicCrescendoProperties"));
+ cresc_p_ = new Spanner (get_property ("Crescendo"));
Crescendo::set_interface (cresc_p_);
cresc_p_->set_elt_property
("grow-direction",
}
Axis_group_interface::add_element (line_spanner_, cresc_p_);
- cresc_p_->set_elt_property ("self-alignment-Y", gh_int2scm (0));
- cresc_p_->add_offset_callback
- (Side_position::aligned_on_self, Y_AXIS);
announce_element (cresc_p_, accepted_spanreqs_drul_[START]);
}
}
return;
}
- extender_p_ = new Spanner (get_property ("basicLyricExtenderProperties"));
- extender_p_->set_extent_callback (Score_element::point_dimension_callback, Y_AXIS);
+ extender_p_ = new Spanner (get_property ("LyricExtender"));
+
Lyric_extender (extender_p_).set_textitem (LEFT, last_lyric_l_);
announce_element (extender_p_, req_l_);
return scm_ilength (elt_l_->get_elt_property (name_.ch_C()));
}
-void
-Group_interface::set_interface ()
-{
- if (!has_interface ())
- {
- }
-}
#include "debug.hh"
#include "item.hh"
-void
-Hara_kiri_group_spanner::set_interface (Score_element*me)
-{
- me->add_offset_callback (force_hara_kiri_callback, Y_AXIS);
- me->set_interface (ly_symbol2scm ("hara-kiri-spanner-interface"));
- me->set_extent_callback (Hara_kiri_group_spanner::y_extent, Y_AXIS);
-}
-Interval
-Hara_kiri_group_spanner::y_extent(Score_element*me, Axis a)
+MAKE_SCHEME_CALLBACK(Hara_kiri_group_spanner,y_extent,2);
+SCM
+Hara_kiri_group_spanner::y_extent (SCM element_smob, SCM scm_axis)
{
+ Score_element *me = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (scm_axis);
+
assert (a == Y_AXIS);
consider_suicide (me);
- return Axis_group_interface::group_extent_callback (me, a);
+ return Axis_group_interface::group_extent_callback (me->self_scm (), scm_axis);
}
-bool
-Hara_kiri_group_spanner::has_interface (Score_element*me)
-{
- return me->has_interface (ly_symbol2scm ("hara-kiri-spanner-interface"));
-}
-
-void
-Hara_kiri_group_spanner::add_interesting_item (Score_element* me,Score_element* n)
-{
- me->add_dependency (n);
- Pointer_group_interface (me, "items-worth-living").add_element (n);
-}
-
void
Hara_kiri_group_spanner::consider_suicide(Score_element*me)
{
We can't rely on offsets and dimensions of elements in a hara-kiri
group. Use a callback to make sure that hara-kiri has been done
before asking for offsets. */
-Real
-Hara_kiri_group_spanner::force_hara_kiri_callback (Score_element *elt, Axis a)
+MAKE_SCHEME_CALLBACK(Hara_kiri_group_spanner,force_hara_kiri_callback,2);
+SCM
+Hara_kiri_group_spanner::force_hara_kiri_callback (SCM element_smob, SCM axis)
{
+ Score_element *me = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
assert (a == Y_AXIS);
- consider_suicide (elt);
- return 0.0;
+ consider_suicide (me);
+ return gh_double2scm (0.0);
}
-Real
-Hara_kiri_group_spanner::force_hara_kiri_in_parent_callback (Score_element*daughter, Axis a)
+MAKE_SCHEME_CALLBACK(Hara_kiri_group_spanner,force_hara_kiri_in_parent_callback,2);
+SCM
+Hara_kiri_group_spanner::force_hara_kiri_in_parent_callback (SCM element_smob, SCM axis)
{
+ Score_element *daughter = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
assert (a == Y_AXIS);
- force_hara_kiri_callback (daughter->parent_l (a), Y_AXIS);
- return 0.0;
+ force_hara_kiri_callback (daughter->parent_l (a)->self_scm (), axis);
+ return gh_double2scm ( 0.0);
}
void
// e->add_offset_callback (force_hara_kiri_in_parent_callback, Y_AXIS);
Axis_group_interface::add_element (me, e);
}
+
+
+void
+Hara_kiri_group_spanner::set_interface (Score_element*me)
+{
+ me->set_interface (ly_symbol2scm ("hara-kiri-group-interface"));
+}
+
+
+bool
+Hara_kiri_group_spanner::has_interface (Score_element*me)
+{
+ return me->has_interface (ly_symbol2scm ("hara-kiri-group-interface"));
+}
+
+void
+Hara_kiri_group_spanner::add_interesting_item (Score_element* me,Score_element* n)
+{
+ me->add_dependency (n);
+ Pointer_group_interface (me, "items-worth-living").add_element (n);
+}
return;
}
- hyphen_p_ = new Spanner (get_property ("basicHyphenSpannerProperties"));
- hyphen_p_->set_extent_callback (Score_element::point_dimension_callback,Y_AXIS);
+ hyphen_p_ = new Spanner (get_property ("LyricHyphen"));
+
Hyphen_spanner (hyphen_p_).set_textitem (LEFT, last_lyric_l_);
announce_element (hyphen_p_, req_l_);
}
int count ();
void add_thing (SCM);
bool has_interface ();
- void set_interface ();
+
};
struct Pointer_group_interface {
Pointer_group_interface (Score_element*);
Pointer_group_interface (Score_element*, String);
int count ();
- void set_interface ();
+
static bool has_interface (Score_element*);
bool has_interface ();
void add_element (Score_element*);
control-points --
-
+
Read-only
=========
thickness --
+ dash -- number representing the length of the dashes.
*/
class Slur
{
public:
static void add_column (Score_element*me,Score_element*col);
- static SCM brew_molecule (SCM);
+ DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM ));
static void set_interface (Score_element*);
static bool has_interface (Score_element*);
static Array<Offset> get_encompass_offset_arr (Score_element*me) ;
static Bezier get_curve (Score_element*me) ;
static Direction get_default_dir (Score_element*me) ;
- static SCM after_line_breaking (SCM);
- static SCM set_spacing_rods (SCM);
+ DECLARE_SCHEME_CALLBACK(after_line_breaking, (SCM ));
+ DECLARE_SCHEME_CALLBACK(set_spacing_rods, (SCM ));
private:
static Real get_first_notecolumn_y (Score_element *me, Direction dir);
static Offset broken_trend_offset (Score_element *me, Direction dir);
{
if (text_)
{
- text_->add_offset_callback (Side_position::centered_on_parent,
- Y_AXIS);
-
typeset_element (text_);
text_ = 0;
}
{
if(!text_)
{
- text_ = new Item (get_property ("basicInstrumentNameProperties"));
+ text_ = new Item (get_property ("InstrumentName"));
text_->set_elt_property ("text", txt);
/*
{
if (!item_p_)
{
- item_p_ = new Item ( get_property ("basicKeyProperties"));
+ item_p_ = new Item ( get_property ("KeySignature"));
item_p_->set_elt_property ("c0-position", gh_int2scm (0));
{
if (!key_item_p_)
{
- key_item_p_ = new Item(get_property ("basicLocalKeyProperties"));
+ key_item_p_ = new Item(get_property ("Accidentals"));
Local_key_item::set_interface (key_item_p_);
Side_position::set_axis (key_item_p_, X_AXIS);
Side_position::set_direction (key_item_p_, LEFT);
{
if (req_l_)
{
- text_p_= new Item (get_property ("basicLyricTextProperties"));
+ text_p_= new Item (get_property ("LyricText"));
text_p_->set_elt_property ("text",
// ly_str02scm ((req_l_->text_str_ + " ").ch_C ()));
ly_str02scm ((req_l_->text_str_).ch_C ()));
- text_p_->add_offset_callback (&Side_position::aligned_on_self,X_AXIS);
+
/*
We can't reach the notehead where we're centered from here. So
we kludge.
- (UGH UGH, pulled amount of space out of thin air value )
+ (UGH UGH, pulled amount of space out of thin air)
*/
text_p_->translate_axis (paper_l()->get_var ("staffspace")*0.66, X_AXIS);
if (text_p_)
return;
- SCM s = get_property ("basicMarkProperties");
+ SCM s = get_property ("RehearsalMark");
text_p_ = new Item (s);
if (busy_span_req_l_ && !mmrest_p_)
{
- mmrest_p_ = new Spanner (get_property ("basicMultiMeasureRestProperties"));
+ mmrest_p_ = new Spanner (get_property ("MultiMeasureRest"));
Multi_measure_rest::set_interface (mmrest_p_);
Staff_symbol_referencer::set_interface (mmrest_p_);
{"notenames", NOTENAMES},
{"notes", NOTES},
{"outputproperty", OUTPUTPROPERTY},
- {"pushproperty", PUSHPROPERTY},
- {"popproperty", POPPROPERTY},
{"push", PUSH},
{"pop", POP},
{"partial", PARTIAL},
return true;
}
- else if (Tonic_req* t = dynamic_cast<Tonic_req*> (m))
+ else if ( dynamic_cast<Tonic_req*> (m))
{
return true;
}
- else if (Inversion_req* i = dynamic_cast<Inversion_req*> (m))
+ else if ( dynamic_cast<Inversion_req*> (m))
{
return true;
}
- else if (Bass_req* b = dynamic_cast<Bass_req*> (m))
+ else if (dynamic_cast<Bass_req*> (m))
{
return true;
}
for (int i=0; i < note_req_l_arr_.size (); i++)
{
- Item *note_p = new Item (get_property ("basicNoteHeadProperties"));
+ Item *note_p = new Item (get_property ("NoteHead"));
Staff_symbol_referencer::set_interface (note_p);
if (note_req_l->duration_.dots_i_)
{
- Item * d = new Item (get_property ("basicDotsProperties"));
-
- Staff_symbol_referencer::set_interface (d);
-
+ Item * d = new Item (get_property ("Dots"));
Rhythmic_head::set_dots (note_p, d);
if (note_req_l->duration_.dots_i_
d->set_elt_property ("dot-count", gh_int2scm (note_req_l->duration_.dots_i_));
d->set_parent (note_p, Y_AXIS);
- d->add_offset_callback (Dots::quantised_position_callback, Y_AXIS);
announce_element (d,0);
dot_p_arr_.push (d);
}
}
if (s.length_i())
{
- Item * t = new Item (get_property ("basicNoteNameProperties"));
+ Item * t = new Item (get_property ("NoteName"));
t->set_elt_property ("text", ly_str02scm ( s.ch_C()));
announce_element (t, req_l_arr_[0]);
texts_.push (t);
%token PARTIAL
%token PENALTY
%token PROPERTY
-%token PUSHPROPERTY POPPROPERTY
%token PUSH POP
%token PT_T
%token RELATIVE
}
| MUSIC_IDENTIFIER { $$ = unsmob_music ($1)->clone (); }
| property_def
-/* | PUSHPROPERTY embedded_scm embedded_scm embedded_scm {
- $$ = new Push_translation_property;
- $$->set_mus_property ("symbols", $2);
- $$->set_mus_property ("element-property", $3);
- $$->set_mus_property ("element-value", $4);
- }
- | POPPROPERTY embedded_scm embedded_scm {
- $$ = new Pop_translation_property;
- $$->set_mus_property ("symbols", $2);
- $$->set_mus_property ("element-property", $3);
- }
-*/
| translator_change
| Simple_music '*' bare_unsigned '/' bare_unsigned {
$$ = $1;
csm-> translator_type_str_ = ly_scm2string ($2);
}
- | PROPERTY STRING POP embedded_scm {
- $$ = new Pop_translation_property;
- $$->set_mus_property ("symbols", scm_string_to_symbol ($2));
- $$->set_mus_property ("element-property", $4);
+ | PROPERTY STRING '.' STRING POP embedded_scm {
+ Pop_translation_property *t = new Pop_translation_property;
+
+ t->set_mus_property ("symbols", scm_string_to_symbol ($4));
+ t->set_mus_property ("element-property", $6);
+
+ Context_specced_music *csm = new Context_specced_music (t);
+ $$ = csm;
+ $$->set_spot (THIS->here_input ());
+
+ csm-> translator_type_str_ = ly_scm2string ($2);
}
;
if (gh_string_p (s))
{
- String propname = String ("basic")+ p->name_ + "PedalProperties";
+ String propname = String (p->name_) + "Pedal";
p->item_p_ = new Item (get_property (propname.ch_C()));
p->item_p_->set_elt_property ("text", s);
- // guh
- Side_position::set_axis (p->item_p_,Y_AXIS);
-
- // todo: init with basic props.
- p->item_p_->add_offset_callback (Side_position::aligned_on_self, X_AXIS);
- p->item_p_->add_offset_callback (Side_position::centered_on_parent, X_AXIS);
announce_element (p->item_p_,
p->req_l_drul_[START]
? p->req_l_drul_[START]
return scm_ilength (elt_l_->get_elt_property (name_.ch_C()));
}
-void
-Pointer_group_interface::set_interface ()
-{
-}
{
e->set_elt_property (elt_prop_sym, val);
- String msg = "Property_engraver is deprecated. Use\n \\property "
- + origin->type_str_
- + ".basicXXXXProperties"
- + " \\push #'"
- + ly_symbol2string (elt_prop_sym)
- + " = #";
- warning (msg);
+ SCM errport = scm_current_error_port ();
+ scm_display (prop_sym, errport);
+ scm_puts (" is deprecated. Use\n \\property ", errport);
+
+ SCM name = e->get_elt_property ("name");
+ scm_puts (origin->type_str_.ch_C(), errport);
+ scm_puts (".", errport);
+
+ scm_display (name, errport);
+ scm_puts(" \\push #'",errport);
+ scm_display (elt_prop_sym,errport);
+ scm_puts ( " = #",errport);
+ if (gh_string_p (val))
+ scm_puts ("\"", errport);
scm_display (val, scm_current_error_port ());
+ if (gh_string_p (val))
+ scm_puts ("\"", errport);
+ scm_puts ("\n", errport);
}
else
if (rest_collision_p_ || note_column_l_arr_.size () < 2)
return;
- rest_collision_p_ = new Item (get_property ("basicRestCollisionProperties"));
+ rest_collision_p_ = new Item (get_property ("RestCollision"));
Rest_collision::set_interface (rest_collision_p_);
announce_element (rest_collision_p_, 0);
for (int i=0; i< note_column_l_arr_.size (); i++)
{
if (rest_req_l_ && !rest_p_)
{
- rest_p_ = new Item (get_property ("basicRestProperties"));
+ rest_p_ = new Item (get_property ("Rest"));
Rhythmic_head::set_interface (rest_p_);
Staff_symbol_referencer::set_interface (rest_p_);
if (rest_req_l_->duration_.dots_i_)
{
- dot_p_ = new Item (get_property ("basicDotsProperties"));
+ dot_p_ = new Item (get_property ("Dots"));
- Staff_symbol_referencer::set_interface (dot_p_);
Rhythmic_head::set_dots (rest_p_, dot_p_);
dot_p_->set_parent (rest_p_, Y_AXIS);
- dot_p_->add_offset_callback (Dots::quantised_position_callback, Y_AXIS);
dot_p_->set_elt_property ("dot-count",
gh_int2scm (rest_req_l_->duration_.dots_i_));
announce_element (dot_p_,0);
{
if (!ncol_p_)
{
- ncol_p_ = new Item (get_property("basicNoteColumnProperties"));
+ ncol_p_ = new Item (get_property("NoteColumn"));
Note_column::set_interface (ncol_p_);
announce_element (ncol_p_, 0);
}
/*
fixme: default should be no callback.
*/
- set_extent_callback (molecule_extent, X_AXIS);
- set_extent_callback (molecule_extent, Y_AXIS);
+ set_extent_callback (molecule_extent_proc, X_AXIS);
+ set_extent_callback (molecule_extent_proc, Y_AXIS) ;
pscore_l_=0;
lookup_l_ =0;
mutable_property_alist_ = SCM_EOL;
smobify_self ();
+
+ dim_cache_[X_AXIS].offset_callbacks_
+ = get_elt_property ("X-offset-callbacks");
+ dim_cache_[Y_AXIS].offset_callbacks_
+ = get_elt_property ("Y-offset-callbacks");
+
+ dim_cache_[X_AXIS].offsets_left_ = scm_ilength (dim_cache_[X_AXIS].offset_callbacks_);
+ dim_cache_[Y_AXIS].offsets_left_ = scm_ilength (dim_cache_[Y_AXIS].offset_callbacks_);
+
+ SCM cb = get_elt_property ("X-extent-callback");
+ if (cb != SCM_EOL)
+ dim_cache_[X_AXIS].dimension_ = cb;
+
+ cb = get_elt_property ("Y-extent-callback");
+ if (cb != SCM_EOL)
+ dim_cache_[Y_AXIS].dimension_ = cb;
}
}
-Interval
-Score_element::molecule_extent (Score_element *s, Axis a)
+MAKE_SCHEME_CALLBACK(Score_element,molecule_extent,2);
+SCM
+Score_element::molecule_extent (SCM element_smob, SCM scm_axis)
{
+ Score_element *s = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (scm_axis);
+
Molecule m = s->get_molecule ();
- return m.extent(a);
+ return ly_interval2scm ( m.extent(a));
}
-Interval
-Score_element::preset_extent (Score_element *s , Axis a)
+MAKE_SCHEME_CALLBACK(Score_element,preset_extent,2);
+
+SCM
+Score_element::preset_extent (SCM element_smob, SCM scm_axis)
{
+ Score_element *s = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (scm_axis);
+
SCM ext = s->get_elt_property ((a == X_AXIS)
? "extent-X"
: "extent-Y");
Real r = gh_scm2double (gh_cdr (ext));
l *= s->paper_l ()->get_var ("staffspace");
r *= s->paper_l ()->get_var ("staffspace");
- return Interval (l, r);
+ return ly_interval2scm (Interval (l, r));
}
- return Interval ();
+ return ly_interval2scm ( Interval ());
}
return lookup_l_;
}
-void
-Score_element::add_processing()
-{
- assert (status_i_ >=0);
- if (status_i_)
- return;
- status_i_ ++;
-
- do_add_processing();
-}
-
void
Score_element::calculate_dependencies (int final, int busy, SCM funcname)
{
}
-void
-Score_element::do_add_processing()
-{
-}
-MAKE_SCHEME_CALLBACK(Score_element,brew_molecule)
+
+MAKE_SCHEME_CALLBACK(Score_element,brew_molecule,1)
/*
ugh.
{
mutable_property_alist_ = SCM_EOL;
immutable_property_alist_ = SCM_EOL;
- set_extent_callback (0, Y_AXIS);
- set_extent_callback (0, X_AXIS);
+
+ set_extent_callback (SCM_EOL, Y_AXIS);
+ set_extent_callback (SCM_EOL, X_AXIS);
for (int a= X_AXIS; a <= Y_AXIS; a++)
{
- dim_cache_[a].off_callbacks_.clear ();
+ dim_cache_[a].offset_callbacks_ = SCM_EOL;
+ dim_cache_[a].offsets_left_ = 0;
}
}
Score_element::get_offset (Axis a) const
{
Score_element *me = (Score_element*) this;
- while (dim_cache_[a].off_callbacks_.size ())
+ while (dim_cache_[a].offsets_left_)
{
- Offset_callback c = dim_cache_[a].off_callbacks_[0];
- me->dim_cache_[a].off_callbacks_.del (0);
- Real r = (*c) (me,a );
+ int l = --me->dim_cache_[a].offsets_left_;
+ SCM cb = scm_list_ref (dim_cache_[a].offset_callbacks_, gh_int2scm (l));
+ SCM retval = gh_call2 (cb, self_scm (), gh_int2scm (a));
+
+ Real r = gh_scm2double (retval);
if (isinf (r) || isnan (r))
{
programming_error (INFINITY_MSG);
}
-Interval
-Score_element::point_dimension_callback (Score_element* , Axis)
+MAKE_SCHEME_CALLBACK(Score_element,point_dimension_callback,2);
+SCM
+Score_element::point_dimension_callback (SCM , SCM )
{
- return Interval (0,0);
+ return ly_interval2scm ( Interval (0,0));
}
bool
Score_element::empty_b (Axis a)const
{
- return !dim_cache_[a].extent_callback_l_;
+ return ! (gh_pair_p (dim_cache_[a].dimension_ ) ||
+ gh_procedure_p (dim_cache_[a].dimension_ ));
}
Interval
Score_element::extent (Axis a) const
{
Dimension_cache * d = (Dimension_cache *)&dim_cache_[a];
- if (!d->extent_callback_l_)
- {
- d->dim_.set_empty ();
- }
- else if (!d->valid_b_)
+ Interval ext ;
+ if (gh_pair_p (d->dimension_))
+ ;
+ else if (gh_procedure_p (d->dimension_))
{
- d->dim_= (*d->extent_callback_l_ ) ((Score_element*)this, a);
- d->valid_b_ = true;
+ /*
+ FIXME: add doco on types, and should typecheck maybe?
+ */
+ d->dimension_= gh_call2 (d->dimension_, self_scm(), gh_int2scm (a));
}
-
- Interval ext = d->dim_;
-
- if (empty_b (a))
+ else
return ext;
+ ext = ly_scm2interval (d->dimension_);
+
SCM extra = get_elt_property (a == X_AXIS
? "extra-extent-X"
: "extra-extent-Y");
}
void
-Score_element::add_offset_callback (Offset_callback cb, Axis a)
+Score_element::add_offset_callback (SCM cb, Axis a)
{
- dim_cache_[a].off_callbacks_.push (cb);
+ if (!has_offset_callback_b (cb, a))
+ {
+ dim_cache_[a].offset_callbacks_ = gh_cons (cb, dim_cache_[a].offset_callbacks_ );
+ dim_cache_[a].offsets_left_ ++;
+ }
}
bool
-Score_element::has_extent_callback_b (Extent_callback cb, Axis a)const
+Score_element::has_extent_callback_b (SCM cb, Axis a)const
{
- return cb == dim_cache_[a].extent_callback_l_;
+ return scm_equal_p (cb, dim_cache_[a].dimension_);
}
bool
Score_element::has_extent_callback_b (Axis a) const
{
- return dim_cache_[a].extent_callback_l_;
+ return gh_procedure_p (dim_cache_[a].dimension_);
}
bool
-Score_element::has_offset_callback_b (Offset_callback cb, Axis a)const
+Score_element::has_offset_callback_b (SCM cb, Axis a)const
{
- for (int i= dim_cache_[a].off_callbacks_.size (); i--;)
- {
- if (dim_cache_[a].off_callbacks_[i] == cb)
- return true;
- }
- return false;
+ return scm_memq (cb, dim_cache_[a].offset_callbacks_) != SCM_BOOL_F;
}
void
-Score_element::set_extent_callback (Dim_cache_callback dc, Axis a)
+Score_element::set_extent_callback (SCM dc, Axis a)
{
- dim_cache_[a].extent_callback_l_ = dc ;
+ dim_cache_[a].dimension_ =dc;
}
-
void
Score_element::set_parent (Score_element *g, Axis a)
{
dim_cache_[a].parent_l_ = g;
}
-MAKE_SCHEME_CALLBACK(Score_element,fixup_refpoint);
+MAKE_SCHEME_CALLBACK(Score_element,fixup_refpoint,1);
SCM
Score_element::fixup_refpoint (SCM smob)
{
Score_element * s = (Score_element*) SCM_CELL_WORD_1(ses);
scm_gc_mark (s->immutable_property_alist_);
scm_gc_mark (s->mutable_property_alist_);
+
+ for (int a =0 ; a < 2; a++)
+ {
+ scm_gc_mark (s->dim_cache_[a].offset_callbacks_);
+ scm_gc_mark (s->dim_cache_[a].dimension_);
+ }
if (s->parent_l (Y_AXIS))
scm_gc_mark (s->parent_l (Y_AXIS)->self_scm ());
bool
Score_element::has_interface (SCM k)
{
- // if (mutable_property_alist_ == SCM_EOL)
- // return false;
-
SCM ifs = get_elt_property (interfaces_sym);
return scm_memq (k, ifs) != SCM_BOOL_F;
{
Global_translator::prepare (w);
- SCM props = get_property (ly_symbol2scm ("basicPaperColumnProperties"));
+ SCM props = get_property (ly_symbol2scm ("PaperColumn"));
set_columns (new Paper_column (props), new Paper_column (props));
command_column_l_->set_elt_property ("when", w.make_scm());
for (int i =0; i < elem_p_arr_.size(); i++)
{
Score_element * elem_p = elem_p_arr_[i];
- elem_p->add_processing ();
-
if (Spanner *s = dynamic_cast <Spanner *> (elem_p))
{
pscore_p_ = new Paper_score;
pscore_p_->paper_l_ = dynamic_cast<Paper_def*>(output_def_l_);
- SCM props = get_property (ly_symbol2scm ("basicLineOfScoreProperties"));
+ SCM props = get_property (ly_symbol2scm ("LineOfScore"));
pscore_p_->typeset_line (new Line_of_score (props));
}
{
if (!scol_p_ && script_l_arr_.size () > 1)
{
- scol_p_ = new Item (get_property ("basicScriptColumnProperties"));
+ scol_p_ = new Item (get_property ("ScriptColumn"));
announce_element (scol_p_, 0);
continue;
}
// todo -> use result of articulation-to-scriptdef directly as basic prop list.
- Score_element *p =new Item (get_property ("basicScriptProperties"));
- Script::set_interface (p);
-
- p->add_offset_callback (Side_position::centered_on_parent, X_AXIS);
-
+ Score_element *p =new Item (get_property ("Script"));
list = gh_cdr (list);
p->set_elt_property ("molecule",
gh_car (list));
list = gh_cdr(list);
bool follow_staff = gh_scm2bool (gh_car (list));
list = gh_cdr(list);
- int relative_stem_dir = gh_scm2int (gh_car (list));
+ SCM relative_stem_dir = gh_car (list);
list = gh_cdr(list);
- int force_dir =gh_scm2int (gh_car (list));
+
+ SCM force_dir = l->get_mus_property ("direction");
+ if (!isdir_b (force_dir))
+ force_dir = gh_car (list);
list = gh_cdr(list);
SCM priority = gh_car (list);
- if (relative_stem_dir)
- p->set_elt_property ("side-relative-direction", gh_int2scm (relative_stem_dir));
+ if (to_dir (relative_stem_dir))
+ p->set_elt_property ("side-relative-direction", relative_stem_dir);
else
- Side_position::set_direction (p,(Direction)force_dir);
-
- if (l->get_direction ())
- Side_position::set_direction (p, l->get_direction ());
+ p->set_elt_property ("direction", force_dir);
+ /*
+ FIXME: should figure this out in relation with basic props!
+ */
SCM axisprop = get_property ("scriptHorizontal");
bool xaxis = to_boolean (axisprop);
Side_position::set_axis (p, xaxis ? X_AXIS : Y_AXIS);
p->set_elt_property ("staff-support", SCM_BOOL_T);
if (!xaxis && follow_staff)
- p->add_offset_callback (Side_position::quantised_position, Y_AXIS);
+ p->add_offset_callback (Side_position::quantised_position_proc, Y_AXIS);
p->set_elt_property ("script-priority", priority);
void
Separating_line_group_engraver::do_creation_processing ()
{
- sep_span_p_ = new Spanner (get_property ("basicSeparatingGroupSpannerProperties"));
+ sep_span_p_ = new Spanner (get_property ("SeparatingGroupSpanner"));
Separating_group_spanner::set_interface (sep_span_p_);
announce_element (sep_span_p_, 0);
sep_span_p_->set_bound (LEFT, unsmob_element (get_property ("currentCommandColumn")));
if (!p_ref_)
{
p_ref_ = new Item
- (get_property ("basicSeparationItemProperties"));
+ (get_property ("SeparationItem"));
if (ib)
p_ref_->set_elt_property ("breakable", SCM_BOOL_T);
#include "debug.hh"
#include "warn.hh"
#include "dimensions.hh"
-
#include "staff-symbol-referencer.hh"
#include "group-interface.hh"
Callback that does the aligning. Puts the element next to the support
*/
-Real
-Side_position::side_position (Score_element *cme, Axis axis)
+MAKE_SCHEME_CALLBACK(Side_position,side_position,2);
+SCM
+Side_position::side_position (SCM element_smob, SCM axis)
{
- Score_element* me = (Score_element*)cme;
- Score_element *common = me->parent_l (axis);
+ Score_element *me = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
+
+ Score_element *common = me->parent_l (a);
SCM support = me->get_elt_property ("side-support-elements");
for (SCM s = support; s != SCM_EOL; s = gh_cdr (s))
{
Score_element * e = unsmob_element (gh_car (s));
if (e)
- common = common->common_refpoint (e, axis);
+ common = common->common_refpoint (e, a);
}
Interval dim;
Score_element * e = unsmob_element ( gh_car (s));
if (e)
{
- Real coord = e->relative_coordinate (common, axis);
+ Real coord = e->relative_coordinate (common, a);
- dim.unite (coord + e->extent (axis));
+ dim.unite (coord + e->extent (a));
}
}
Direction dir = Side_position::get_direction (me);
- Real off = me->parent_l (axis)->relative_coordinate (common, axis);
+ Real off = me->parent_l (a)->relative_coordinate (common, a);
SCM minimum = me->remove_elt_property ("minimum-space");
Real total_off = dim[dir] + off;
if (fabs (total_off) > 100 CM)
programming_error ("Huh ? Improbable staff side dim.");
- return total_off;
+ return gh_double2scm (total_off);
}
/**
callback that centers the element on itself
*/
-Real
-Side_position::aligned_on_self (Score_element *me, Axis ax)
+MAKE_SCHEME_CALLBACK(Side_position,aligned_on_self,2);
+SCM
+Side_position::aligned_on_self (SCM element_smob, SCM axis)
{
+ Score_element *me = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
String s ("self-alignment-");
- s += (ax == X_AXIS) ? "X" : "Y";
+ s += (a == X_AXIS) ? "X" : "Y";
SCM align (me->get_elt_property (s.ch_C()));
if (gh_number_p (align))
{
- Interval ext(me->extent (ax));
+ Interval ext(me->extent (a));
if (ext.empty_b ())
{
programming_error ("I'm empty. Can't align on self");
- return 0.0;
+ return gh_double2scm (0.0);
}
else
{
Real lambda = (0.5 - gh_scm2double (align) / 2.0);
- return - (lambda * ext[LEFT] + (1 - lambda) * ext[RIGHT]);
+ return gh_double2scm (- (lambda * ext[LEFT] + (1 - lambda) * ext[RIGHT]));
}
}
else if (unsmob_element (align))
{
- return - unsmob_element (align)->relative_coordinate (me, ax);
+ return gh_double2scm (- unsmob_element (align)->relative_coordinate (me, a));
}
- return 0.0;
+ return gh_double2scm (0.0);
}
Only rounds when we're inside the staff, as determined by
Staff_symbol_referencer::staff_radius() */
-Real
-Side_position::quantised_position (Score_element *me, Axis )
+MAKE_SCHEME_CALLBACK(Side_position,quantised_position,2);
+SCM
+Side_position::quantised_position (SCM element_smob, SCM )
{
+ Score_element *me = unsmob_element (element_smob);
+
+
Direction d = Side_position::get_direction (me);
if (Staff_symbol_referencer::has_interface (me))
rp += d;
}
- return (rp - p) * Staff_symbol_referencer::staff_space (me) / 2.0;
+ return gh_double2scm ((rp - p) * Staff_symbol_referencer::staff_space (me) / 2.0);
}
- return 0.0;
+ return gh_double2scm (0.0);
}
/*
Position next to support, taking into account my own dimensions and padding.
*/
-Real
-Side_position::aligned_side (Score_element *me, Axis ax)
+MAKE_SCHEME_CALLBACK(Side_position,aligned_side,2);
+SCM
+Side_position::aligned_side (SCM element_smob, SCM axis)
{
+ Score_element *me = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
- Direction d = Side_position ::get_direction (me);
- Real o = side_position (me,ax);
+ Direction d = Side_position::get_direction (me);
+ Real o = gh_scm2double (side_position (element_smob,axis));
- Interval iv = me->extent (ax);
+ Interval iv = me->extent (a);
if (!iv.empty_b ())
{
if (gh_number_p (pad))
o += d *gh_scm2double (pad) ;
}
- return o;
+ return gh_double2scm (o);
}
/*
Position centered on parent.
*/
-Real
-Side_position::centered_on_parent (Score_element * me, Axis a)
+MAKE_SCHEME_CALLBACK(Side_position,centered_on_parent,2);
+SCM
+Side_position::centered_on_parent (SCM element_smob, SCM axis)
{
+ Score_element *me = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
Score_element *him = me->parent_l (a);
- return him->extent (a).center ();
+ return gh_double2scm (him->extent (a).center ());
}
void
Side_position::set_axis (Score_element*me, Axis a)
{
- if (!me->has_offset_callback_b (aligned_side, a))
- me->add_offset_callback (aligned_side, a);
+ me->add_offset_callback (Side_position::aligned_side_proc, a);
}
-
+// ugh. doesn't cactch all variants.
Axis
Side_position::get_axis (Score_element*me)
{
- if (me->has_offset_callback_b (&side_position, X_AXIS)
- || me->has_offset_callback_b (&aligned_side , X_AXIS))
+ if (me->has_offset_callback_b (Side_position::aligned_side_proc, X_AXIS)
+ || me->has_offset_callback_b (Side_position::aligned_side_proc , X_AXIS))
return X_AXIS;
{
// push a new slur onto stack.
// (use temp. array to wait for all slur STOPs)
- Score_element* slur = new Spanner (get_property ("basicSlurProperties"));
+ Score_element* slur = new Spanner (get_property ("Slur"));
Slur::set_interface (slur);
SCM s = get_property ("slurBeginAttachment");
if (gh_symbol_p (s))
void
Spacing_engraver::do_creation_processing ()
{
- spacing_p_ =new Spanner (get_property ("basicSpacingSpannerProperties"));
+ spacing_p_ =new Spanner (get_property ("SpacingSpanner"));
Spacing_spanner::set_interface (spacing_p_);
spacing_p_->set_bound (LEFT, unsmob_element (get_property ("currentCommandColumn")));
announce_element (spacing_p_, 0);
if (bar_l_arr_.size() >= 2 && !spanbar_p_)
{
- spanbar_p_ = new Item (get_property ("basicSpanBarProperties"));
+ spanbar_p_ = new Item (get_property ("SpanBar"));
Span_bar::set_interface (spanbar_p_);
spanbar_p_->set_parent (bar_l_arr_[0], Y_AXIS);
me->add_dependency (b);
}
-Interval
-Span_bar::width_callback (Score_element *se, Axis )
+MAKE_SCHEME_CALLBACK(Span_bar,width_callback,2);
+SCM
+Span_bar::width_callback (SCM element_smob, SCM scm_axis)
{
+ Score_element *se = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (scm_axis);
+ assert (a == X_AXIS);
String gl = ly_scm2string (se->get_elt_property ("glyph"));
/*
*/
Molecule m = Bar::compound_barline (se, gl, 40 PT);
- return m.extent (X_AXIS);
+ return ly_interval2scm ( m.extent (X_AXIS));
}
-MAKE_SCHEME_CALLBACK(Span_bar,before_line_breaking);
+MAKE_SCHEME_CALLBACK(Span_bar,before_line_breaking,1);
SCM
Span_bar::before_line_breaking (SCM smob)
{
return SCM_UNSPECIFIED;
}
-Real
-Span_bar::center_on_spanned_callback (Score_element * me, Axis a)
+MAKE_SCHEME_CALLBACK(Span_bar,center_on_spanned_callback,2);
+SCM
+Span_bar::center_on_spanned_callback (SCM element_smob, SCM axis)
{
+ Score_element *me = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
assert (a == Y_AXIS);
Interval i (get_spanned_interval (me));
we have to translate ourselves to be in the center of the
interval that we span. */
- return i.center ();
+ return gh_double2scm (i.center ());
}
void
Interval
Span_bar::get_spanned_interval (Score_element*me)
{
- return Axis_group_interface::group_extent_callback (me, Y_AXIS);
+ return ly_scm2interval (Axis_group_interface::group_extent_callback (me->self_scm(), gh_int2scm (Y_AXIS)));
}
-MAKE_SCHEME_CALLBACK(Span_bar,get_bar_size);
+MAKE_SCHEME_CALLBACK(Span_bar,get_bar_size,1);
SCM
Span_bar::get_bar_size (SCM smob)
{
{
Bar::set_interface (me);
- Pointer_group_interface(me).set_interface ();
- me->set_extent_callback (width_callback, X_AXIS);
- me->add_offset_callback (center_on_spanned_callback, Y_AXIS);
me->set_interface (ly_symbol2scm ("span-bar-interface"));
- me->set_extent_callback (0, Y_AXIS);
+ me->set_extent_callback (SCM_EOL, Y_AXIS);
}
bool
void
Staff_symbol_engraver::do_creation_processing()
{
- span_p_ = new Spanner (get_property ("basicStaffSymbolProperties"));
+ span_p_ = new Spanner (get_property ("StaffSymbol"));
span_p_->set_bound(LEFT, unsmob_element (get_property ("currentCommandColumn")));
#include "staff-symbol.hh"
#include "paper-def.hh"
-
-
-
-void
-Staff_symbol_referencer::set_interface (Score_element * e)
-{
- if (!gh_number_p (e->get_elt_property ("staff-position")))
- e->set_elt_property ("staff-position", gh_double2scm (0.0));
-
- e->add_offset_callback (callback, Y_AXIS);
-}
-
bool
Staff_symbol_referencer::has_interface (Score_element*e)
{
|| gh_number_p (e->get_elt_property ("staff-position"));
}
-
int
Staff_symbol_referencer::line_count (Score_element*me)
{
/*
should use offset callback!
*/
-Real
-Staff_symbol_referencer::callback (Score_element * sc,Axis )
+MAKE_SCHEME_CALLBACK(Staff_symbol_referencer,callback,2);
+SCM
+Staff_symbol_referencer::callback (SCM element_smob, SCM )
{
- Score_element* me = (Score_element*)sc; // UGH.
+ Score_element *me = unsmob_element (element_smob);
+
- SCM pos = sc->get_elt_property ("staff-position");
+ SCM pos = me->get_elt_property ("staff-position");
Real off =0.0;
if (gh_number_p (pos))
{
- Real space = Staff_symbol_referencer::staff_space (sc);
+ Real space = Staff_symbol_referencer::staff_space (me);
off = gh_scm2double (pos) * space/2.0;
}
me->set_elt_property ("staff-position", gh_double2scm (0.0));
- return off;
+ return gh_double2scm (off);
}
-/*
+ /*
This sets the position relative to the center of the staff symbol.
-
+
The function is hairy, because it can be callled in two situations:
1. There is no staff yet; we must set staff-position
else
{
me->set_elt_property ("staff-position",
- gh_double2scm (p));
+ gh_double2scm (p));
}
- if (me->has_offset_callback_b (callback, Y_AXIS))
+ if (me->has_offset_callback_b (Staff_symbol_referencer::callback_proc, Y_AXIS))
return ;
- me->add_offset_callback (callback, Y_AXIS);
+ me->add_offset_callback (Staff_symbol_referencer::callback_proc, Y_AXIS);
}
/*
return sign (Staff_symbol_referencer::position_f((Score_element*)a) -
Staff_symbol_referencer::position_f((Score_element*)b));
}
+
+
+void
+Staff_symbol_referencer::set_interface (Score_element * e)
+{
+ if (!gh_number_p (e->get_elt_property ("staff-position")))
+ e->set_elt_property ("staff-position", gh_double2scm (0.0));
+
+ e->add_offset_callback (Staff_symbol_referencer::callback_proc, Y_AXIS);
+}
+
{
if(!text_)
{
- text_ = new Item (get_property ("basicStanzaNumberProperties"));
+ text_ = new Item (get_property ("StanzaNumber"));
text_->set_elt_property ("text", txt);
announce_element (text_,0);
}
int duration_log = r->duration_.durlog_i_;
if (!stem_p_)
{
- stem_p_ = new Item (get_property ("basicStemProperties"));
+ stem_p_ = new Item (get_property ("Stem"));
Stem::set_interface (stem_p_);
Staff_symbol_referencer::set_interface(stem_p_);
if (requested_type)
{
- tremolo_p_ = new Item (get_property ("basicStemTremoloProperties"));
+ tremolo_p_ = new Item (get_property ("StemTremolo"));
Stem_tremolo::set_interface (tremolo_p_);
announce_element (tremolo_p_, tremolo_req_l_);
}
}
-MAKE_SCHEME_CALLBACK(Stem,before_line_breaking);
+MAKE_SCHEME_CALLBACK(Stem,before_line_breaking,1);
SCM
Stem::before_line_breaking (SCM smob)
{
return m;
}
-Interval
-Stem::dim_callback (Score_element *se, Axis )
+MAKE_SCHEME_CALLBACK(Stem,dim_callback,2);
+SCM
+Stem::dim_callback (SCM e, SCM )
{
+ Score_element *se = unsmob_element (e);
Interval r (0, 0);
if (unsmob_element (se->get_elt_property ("beam")) || abs (flag_i (se)) <= 2)
; // TODO!
{
r = flag (se).extent (X_AXIS);
}
- return r;
+ return ly_interval2scm ( r);
}
const Real ANGLE = 20* (2.0*M_PI/360.0); // ugh! Should be settable.
-MAKE_SCHEME_CALLBACK(Stem,brew_molecule);
+MAKE_SCHEME_CALLBACK(Stem,brew_molecule,1);
SCM
Stem::brew_molecule (SCM smob)
return mol.create_scheme();
}
-Real
-Stem::off_callback (Score_element * me, Axis)
+MAKE_SCHEME_CALLBACK(Stem,off_callback,2);
+SCM
+Stem::off_callback (SCM element_smob, SCM axis)
{
+ Score_element *me = unsmob_element (element_smob);
+
Real r=0;
if (Score_element * f = first_head (me))
{
Interval head_wid(0, f->extent (X_AXIS).length ());
if (to_boolean (me->get_elt_property ("stem-centered")))
- return head_wid.center ();
+ return gh_double2scm ( head_wid.center ());
Real rule_thick = gh_scm2double (me->get_elt_property ("thickness")) * me->paper_l ()->get_var ("stafflinethickness");
Direction d = get_direction (me);
r = head_wid[d] - d * rule_thick ;
}
- return r;
+ return gh_double2scm (r);
}
void
Stem::set_interface (Score_element*me)
{
- me->set_elt_property ("heads", SCM_EOL);
- me->add_offset_callback ( &Stem::off_callback, X_AXIS);
me->set_interface (ly_symbol2scm ("stem-interface"));
}
void
System_start_delimiter_engraver::do_creation_processing()
{
- delim_ = new Spanner (get_property ("basicSystemStartDelimiterProperties"));
+ delim_ = new Spanner (get_property ("SystemStartDelimiter"));
System_start_delimiter::set_interface (delim_);
delim_->set_bound (LEFT, unsmob_element (get_property ("currentCommandColumn")));
void
System_start_delimiter::set_interface (Score_element*me)
{
- me->set_extent_callback (0, Y_AXIS);
- Pointer_group_interface (me).set_interface();
+ me->set_extent_callback (SCM_EOL, Y_AXIS);
me->set_interface (ly_symbol2scm ("system-start-delimiter-interface"));
}
return me->lookup_l ()->filledbox (Box (Interval(0,w), Interval(-h/2, h/2)));
}
-MAKE_SCHEME_CALLBACK(System_start_delimiter,after_line_breaking);
+MAKE_SCHEME_CALLBACK(System_start_delimiter,after_line_breaking,1);
SCM
System_start_delimiter::after_line_breaking (SCM smob)
}
-MAKE_SCHEME_CALLBACK(System_start_delimiter,brew_molecule);
+MAKE_SCHEME_CALLBACK(System_start_delimiter,brew_molecule,1);
SCM
System_start_delimiter::brew_molecule (SCM smob)
{
Score_element * me = unsmob_element (smob);
- Interval ext = Axis_group_interface::group_extent_callback (me, Y_AXIS);
+ Interval ext = ly_scm2interval (Axis_group_interface::group_extent_callback (me->self_scm(), gh_int2scm (Y_AXIS)));
Real l = ext.length ();
Molecule m;
{
Text_script_req * r = reqs_[i];
- String basic = "basicTextScriptProperties";
+ String basic = "TextScript";
// separate engraver?
if (r->style_str_== "finger")
{
- basic = "basicFingeringProperties";
+ basic = "Fingering";
}
Item *text = new Item (get_property (basic.ch_C()));
-
+ /*
+ FIXME -> need to use basic props.
+ */
SCM axisprop = get_property ("scriptHorizontal");
+
Axis ax = to_boolean (axisprop) ? X_AXIS : Y_AXIS;
Side_position::set_axis (text, ax);
/*
nicely center the scripts.
*/
- text->add_offset_callback (Side_position::aligned_on_self, X_AXIS);
- text->add_offset_callback (Side_position::centered_on_parent, X_AXIS);
+ text->add_offset_callback (Side_position::aligned_on_self_proc, X_AXIS);
+ text->add_offset_callback (Side_position::centered_on_parent_proc, X_AXIS);
}
}
}
- SCM basic = get_property ("basicTieProperties");
+ SCM basic = get_property ("Tie");
SCM sparse = get_property ("sparseTies");
if (to_boolean (sparse))
{
}
else if (tie_p_arr_.size () > 1 && !tie_column_p_)
{
- tie_column_p_ = new Spanner (get_property ("basicTieColumnProperties"));
+ tie_column_p_ = new Spanner (get_property ("TieColumn"));
Tie_column::set_interface (tie_column_p_);
for (int i = tie_p_arr_.size (); i--; )
Tie_column::add_tie (tie_column_p_,tie_p_arr_ [i]);
if (last_time_fraction_ != fr)
{
last_time_fraction_ = fr;
- time_signature_p_ = new Item (get_property ("basicTimeSignatureProperties"));
+ time_signature_p_ = new Item (get_property ("TimeSignature"));
time_signature_p_->set_elt_property ("fraction",fr);
}
if (i < started_span_p_arr_.size () && started_span_p_arr_[i])
continue;
- Spanner* glep = new Spanner (get_property ("basicTupletSpannerProperties"));
+ Spanner* glep = new Spanner (get_property ("TupletBracket"));
Tuplet_spanner::set_interface (glep);
if (i >= started_span_p_arr_.size ())
started_span_p_arr_.push (glep);
void
Vertical_align_engraver::do_creation_processing()
{
- valign_p_ =new Spanner (get_property ("basicVerticalAlignmentProperties"));
- Align_interface::set_interface (valign_p_);
- Align_interface::set_axis (valign_p_,Y_AXIS);
- valign_p_->set_elt_property ("stacking-dir",
- gh_int2scm (DOWN));
-
+ valign_p_ =new Spanner (get_property ("VerticalAlignment"));
valign_p_->set_bound(LEFT,unsmob_element (get_property ("currentCommandColumn")));
announce_element (valign_p_ , 0);
}
bool early_stop = volta_span_p_ && unsmob_moment (l)
&&*unsmob_moment (l) <= now - started_mom_;
- if (end || early_stop)
+ if (end && !volta_span_p_)
+ {
+ warning (_("No volta spanner to end")); // fixme: be more verbose.
+ }
+ else if (end || early_stop)
{
end_volta_span_p_ = volta_span_p_;
volta_span_p_ =0;
volta_span_p_ = 0;
}
- volta_span_p_ = new Spanner (get_property ("basicVoltaBracketProperties"));
+ volta_span_p_ = new Spanner (get_property ("VoltaBracket"));
Volta_spanner::set_interface (volta_span_p_);
announce_element (volta_span_p_,0);
volta_span_p_->set_elt_property ("text", str);
% Toplevel initialisation file.
-\version "1.3.59";
+\version "1.3.93";
\include "declarations.ly"
% Toplevel initialisation file.
-\version "1.3.59";
+\version "1.3.93";
\include "declarations.ly";
-\version "1.3.59";
+\version "1.3.93";
% Toplevel initialisation file.
-\version "1.3.59";
+\version "1.3.93";
\include "declarations.ly"
% Toplevel initialisation file.
-\version "1.3.59";
+\version "1.3.93";
\include "declarations.ly"
-\version "1.3.59";
+\version "1.3.93";
(bss . ( -1 6 2 ))
)
-\version "1.3.59";
+\version "1.3.93";
-%
+
+\version "1.3.93"
+ %
% setup for Request->Element conversion. Guru-only
%
\consists "Rest_collision_engraver";
\consists "Local_key_engraver";
+ \consists "Piano_pedal_engraver";
+
\consistsend "Axis_group_engraver";
%{
\consists "Pitch_squash_engraver";
\consists "Separating_line_group_engraver";
\name RhythmicStaff;
- basicBarProperties \push #'bar-size = #4
- basicVoltaSpannerProperties \push #'minimum-space = #15 % urg, in \pt
- basicVoltaSpannerProperties \push #'padding = #5 % urg, in \pt
- basicStaffSymbolProperties \push #'line-count = #1
+ Bar \push #'bar-size = #4
+ VoltaBracket \push #'minimum-space = #15 % urg, in \pt
+ VoltaBracket \push #'padding = #5 % urg, in \pt
+ StaffSymbol \push #'line-count = #1
% \consists "Repeat_engraver";
\consists "Volta_engraver";
\consists "Stem_engraver";
\consists "Beam_engraver";
\consists "Auto_beam_engraver";
- \include "auto-beam-settings.ly";
\consists "Chord_tremolo_engraver";
\consists "Melisma_engraver";
\consists "A2_engraver";
\consists "Voice_devnull_engraver";
-
- startSustain = #"Ped."
- stopSustain = #"*"
- stopStartSustain = #"*Ped."
- startUnaChorda = #"una chorda"
- stopUnaChorda = #"tre chorde"
- % should make separate lists for stopsustain and startsustain
-
- \consists "Piano_pedal_engraver";
\consists "Script_engraver";
\consists "Script_column_engraver";
\consists "Rhythmic_column_engraver";
\consists "Slur_engraver";
\consists "Auto_beam_engraver";
- \include "auto-beam-settings.ly";
\consists "Align_note_column_engraver";
\consists "Rhythmic_column_engraver";
\consists "Property_engraver";
- basicStemProperties \push #'style = #"grace"
- basicStemProperties \push #'flag-style = #"grace"
- basicStemProperties \push #'stem-length = #6.0
- basicStemProperties \push #'direction = #1
-
- basicNoteHeadProperties \push #'font-size = #-1
- basicStemProperties \push #'font-size = #-1
- basicStemProperties \push #'stem-shorten = #'(0)
- basicBeamProperties \push #'font-size = #-1
- basicTextScriptProperties \push #'font-size = #-1
- basicSlurProperties \push #'font-size = #-1
- basicLocalKeyProperties \push #'font-size = #-1
- basicBeamProperties \push #'beam-thickness = #0.3
- basicBeamProperties \push #'beam-space-function = #(lambda (x) 0.5)
-
- basicStemProperties \push #'lengths = #(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0))
- basicStemProperties \push #'beamed-lengths =
+ Stem \push #'style = #"grace"
+ Stem \push #'flag-style = #"grace"
+ Stem \push #'stem-length = #6.0
+ Stem \push #'direction = #1
+
+ NoteHead \push #'font-size = #-1
+ Stem \push #'font-size = #-1
+ Stem \push #'stem-shorten = #'(0)
+ Beam \push #'font-size = #-1
+ TextScript \push #'font-size = #-1
+ Slur \push #'font-size = #-1
+ Accidentals \push #'font-size = #-1
+ Beam \push #'beam-thickness = #0.3
+ Beam \push #'beam-space-function = #(lambda (x) 0.5)
+
+ Stem \push #'lengths = #(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0))
+ Stem \push #'beamed-lengths =
#'(0.0 2.5 2.0 1.5)
- basicStemProperties \push #'minimum-beamed-lengths
+ Stem \push #'minimum-beamed-lengths
= #(map (lambda (x) (* 0.8 x)) '(0.0 2.5 2.0 1.5))
weAreGraceContext = ##t
\consists "Vertical_align_engraver";
- basicVerticalAlignmentProperties \push #'threshold = #'(12 . 12)
+ VerticalAlignment \push #'threshold = #'(12 . 12)
% \consistsend "Axis_group_engraver";
\name "PianoStaff";
explicitKeySignatureVisibility = #all-visible
scriptDefinitions = #default-script-alist
+
+ startSustain = #"Ped."
+ stopSustain = #"*"
+ stopStartSustain = #"*Ped."
+ startUnaChorda = #"una chorda"
+ stopUnaChorda = #"tre chorde"
+ % should make separate lists for stopsustain and startsustain
+
+
%
% what order to print accs. We could compute this,
% but computing is more work than putting it here.
% distances are given in stafflinethickness (thicknesses) and
% staffspace (distances)
%
- basicBarProperties = #`(
+ BarLine = #`(
(interfaces . (bar-interface staff-bar-interface))
(break-align-symbol . Staff_bar)
(glyph . "|")
(thin-kern . 3.0)
(hair-thickness . 1.6)
(thick-thickness . 6.0)
- (name . "barline")
+ (name . "BarLine")
)
- basicBarNumberProperties = #`(
+ BarNumber = #`(
(molecule-callback . ,Text_item::brew_molecule)
(breakable . #t)
(visibility-lambda . ,begin-of-line-visible)
- (name . "barnumber")
+ (name . "BarNumber")
(padding . 1.0)
(direction . 1)
)
- basicBeamProperties = #basic-beam-properties
- basicBreakAlignProperties = #`(
+ Beam = #basic-beam-properties
+
+ BreakAlignment = #`(
(breakable . #t)
(interfaces . (break-align-interface))
(stacking-dir . 1)
(axes 0)
+ (X-offset-callbacks . (,Break_align_interface::self_align_callback))
(space-alist . ,default-break-align-space-alist)
- (name . "break alignment")
+ (name . "BreakAlignment")
)
- basicBreakAlignGroupProperties = #`(
+
+ BreakAlignGroup = #`(
(interfaces . (axis-group-interface))
(axes . (0))
- (name . "break alignment group")
+ (X-offset-callbacks . (,Break_align_interface::alignment_callback))
+
+ (name . "BreakAlignGroup")
)
- basicBreathingSignProperties = #`(
+
+ BreathingSign = #`(
(interfaces . (breathing-sign-interface))
(break-align-symbol . Breathing_sign)
(breakable . #t )
(molecule-callback . ,Breathing_sign::brew_molecule)
+ (Y-offset-callbacks . (,Breathing_sign::offset_callback))
(visibility-lambda . ,begin-of-line-invisible)
- (name . "breathing sign")
+ (name . "BreathingSign")
)
- basicClefItemProperties = #`(
+
+ Clef = #`(
(interfaces . (clef-interface))
(molecule-callback . ,Score_element::brew_molecule)
(before-line-breaking-callback . ,Clef::before_line_breaking)
(breakable . #t)
(break-align-symbol . Clef_item)
(visibility-lambda . ,begin-of-line-visible)
- (name . "clef")
- )
- basicChordNameProperties = #`(
+ (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+ (name . "Clef")
+ )
+
+ ChordName = #`(
(molecule-callback . ,Chord_name::brew_molecule)
(interfaces . (chord-name-interface))
(after-line-breaking-callback . ,Chord_name::after_line_breaking)
(chord-name-function . ,default-chord-name-function)
- (name . "chord name")
+ (name . "ChordName")
)
- basicCollisionProperties = #`(
+
+ NoteCollision = #`(
(axes 0 1)
(interfaces . (collision-interface))
(note-width . 1.65)
- (name . "note collision")
+ (name . "NoteCollision")
)
- basicCrescendoProperties = #`(
+
+ Crescendo = #`(
(molecule-callback . ,Crescendo::brew_molecule)
(interfaces . (crescendo-interface dynamic-interface))
(thickness . 1.0)
(height . 0.6666)
(dash-thickness . 1.2)
(dash-length . 4.0)
- (name . "crescendo")
+ (name . "Crescendo")
+ (self-alignment-Y . 0)
+ (Y-offset-callbacks . (,Side_position::aligned_on_self))
)
- basicDotColumnProperties = #`(
+
+ DotColumn = #`(
(interfaces . (dot-column-interface axis-group-interface ))
(axes 0 )
- (name . "dot column")
+ (name . "DotColumn")
)
- basicDotsProperties = #`(
+
+ Dots = #`(
(interfaces . (dot-interface))
(molecule-callback . ,Dots::brew_molecule)
(dot-count . 1)
- (name . "augmentation dot")
+ (position . 0.0)
+ (Y-offset-callbacks . (,Dots::quantised_position_callback ,Staff_symbol_referencer::callback))
+
+ (name . "Dots")
)
- basicDynamicTextProperties = #`(
+
+ DynamicText = #`(
(style . "dynamic")
(interfaces . (dynamic-interface))
+ (Y-offset-callbacks . (,Side_position::aligned_on_self))
+
(molecule-callback . ,Text_item::brew_molecule)
(script-priority . 100)
(self-alignment-Y . 0)
- (name . "dynamic text")
+ (name . "DynamicText")
)
- basicDynamicLineSpannerProperties = #`(
+ DynamicLineSpanner = #`(
(interfaces . (dynamic-interface axis-group-interface side-position-interface))
(axes . ( 1))
(padding . 3)
(name . "dynamic alignment")
)
- leftEdgeBasicProperties = #`(
+ LeftEdge = #`(
(break-align-symbol . Left_edge_item)
(breakable . #t)
- (name . "left edge")
+ (name . "LeftEdge")
)
- basicFingeringProperties = #`(
+
+ Fingering = #`(
(interfaces . (finger-interface text-script-interface text-item-interface side-position-interface))
(molecule-callback . ,Text_item::brew_molecule)
(padding . 3.0)
(self-alignment-X . 0)
- (name . "fingering script")
+ (name . "Fingering")
)
- basicGraceAlignItemProperties = #`(
+
+ GraceAlignment = #`(
(interfaces . (axis-group-interface align-interface))
(axes . (0))
(horizontal-space . 1.2)
(padding . 1.0)
(before-line-breaking-callback . ,Grace_align_item::before_line_breaking)
- (name . "grace alignment")
+ (name . "GraceAlignment")
)
- basicHaraKiriVerticalGroupspannerProperties = #`(
- (interfaces . (hara-kiri-interface))
+
+ HaraKiriVerticalGroup = #`(
+ (Y-offset-callbacks . (,Hara_kiri_group_spanner::force_hara_kiri_callback))
+ (Y-extent-callback . ,Hara_kiri_group_spanner::y_extent)
+ (interfaces . (hara-kiri-group-interface))
(axes 1)
- (name . "hara kiri")
+ (name . "HaraKiriVerticalGroup")
)
- basicHyphenSpannerProperties = #`(
+
+ LyricHyphen = #`(
+ (interfaces . (lyric-hyphen-interface))
(thickness . 1.0)
(height . 0.4)
(minimum-length . 0.5)
(molecule-callback . ,Hyphen_spanner::brew_molecule)
- (name . "hyphen")
+ (Y-extent-callback . ,Score_element::point_dimension_callback)
+ (name . "LyricHyphen")
)
- basicInstrumentNameProperties = #`(
+ InstrumentName = #`(
+ (interfaces . (instrument-name-interface))
(breakable . #t)
+ (Y-offset-callbacks . (,Side_position::centered_on_parent))
(molecule-callback . ,Text_item::brew_molecule)
(break-align-symbol . Instrument_name)
(visibility-lambda . ,begin-of-line-visible)
- (name . "instrument name")
+ (name . "InstrumentName")
)
- basicKeyProperties = #`(
- (molecule-callback . ,Key_item::brew_molecule)
+
+ KeySignature = #`(
(interfaces . (key-item-interface))
+ (molecule-callback . ,Key_item::brew_molecule)
(break-align-symbol . Key_item)
(visibility-lambda . ,begin-of-line-visible)
(breakable . #t)
- (name . "key signature")
- )
- basicLocalKeyProperties = #`(
+ (name . "KeySignature")
+ )
+
+ Accidentals = #`(
(molecule-callback . ,Local_key_item::brew_molecule)
(left-padding . 0.2)
(right-padding . 0.4)
(interfaces . (accidentals-interface))
- (name . "accidentals")
+ (name . "Accidentals")
)
- basicLineOfScoreProperties = #`(
+
+ LineOfScore = #`(
(axes . (0 1))
(interfaces . (axis-group-interface))
- (name . "godzilla")
+ (name . "LineOfScore")
)
- basicLyricExtenderProperties = #`(
+
+ LyricExtender = #`(
(interfaces . (lyric-extender-interface))
(molecule-callback . ,Lyric_extender::brew_molecule)
(height . 0.8) ; stafflinethickness;
(right-trim-amount . 0.5)
- (name . "extender line")
+ (Y-extent-callback . ,Score_element::point_dimension_callback)
+ (name . "LyricExtender")
)
- basicLyricTextProperties = #`(
+
+ LyricText = #`(
(interfaces . (lyric-syllable-interface text-item-interface))
(molecule-callback . ,Text_item::brew_molecule)
+ (X-offset-callbacks . (,Side_position::aligned_on_self))
(self-alignment-X . 0)
(non-rhythmic . #t)
(word-space . 0.6)
- (name . "lyric syllable")
+ (name . "LyricText")
)
- basicMarkProperties = #`(
+
+ RehearsalMark = #`(
(interfaces . (mark-interface side-position-interface))
(molecule-callback . ,Text_item::brew_molecule)
(breakable . #t)
(visibility-lambda . ,end-of-line-invisible)
(padding . 4.0)
- (name . "rehearsal mark")
+ (name . "RehearsalMark")
)
- basicMultiMeasureRestProperties = #`(
+
+ MultiMeasureRest = #`(
(interfaces . (multi-measure-rest-interface))
(spacing-procedure . ,Multi_measure_rest::set_spacing_rods)
(molecule-callback . ,Multi_measure_rest::brew_molecule)
(expand-limit . 10)
(padding . 2.0) ; staffspace
(minimum-width . 12.5) ; staffspace
- (name . "multi-measure rest")
+ (name . "MultiMeasureRest")
)
- basicNoteColumnProperties = #`(
+
+ NoteColumn = #`(
(interfaces . (axis-group-interface note-column-interface))
(axes 0 1)
- (name . "note column")
+ (name . "NoteColumn")
)
- basicNoteHeadProperties = #`(
+
+ NoteHead = #`(
(interfaces . (note-head-interface rhythmic-head-interface))
(style . default)
(molecule-callback . ,Note_head::brew_molecule)
- (name . "note head")
+ (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+ (name . "NoteHead")
)
- basicNoteNameProperties = #`(
+
+ NoteName = #`(
(molecule-callback . ,Text_item::brew_molecule)
- (name . "note name")
+ (name . "NoteName")
)
- basicOctavateEightProperties = #`(
+
+ OctavateEight = #`(
(self-alignment-X . 0)
(text . "8")
- (visibility-lambda . ,begin-of-line-visible)
+ (visibility-lambda . ,begin-of-line-visible)
+ (X-offset-callbacks .
+ (,Side_position::centered_on_parent
+ ,Side_position::aligned_on_self
+ ,Side_position::aligned_side
+ ))
(molecule-callback . ,Text_item::brew_molecule)
(style . "italic")
+ (name . "OctavateEight")
)
- basicPaperColumnProperties = #`(
+
+ PaperColumn = #`(
(interfaces . (paper-column-interface axis-group-interface))
(axes 0)
(rank . -1)
+ (name . "PaperColumn")
)
- %% These text props are only used by line-number-engraver...
- basicTextProperties = #`( )
-
- basicRestProperties = #`(
+ Rest = #`(
(interfaces . (rest-interface rhythmic-head-interface))
(after-line-breaking-callback . ,Rest::after_line_breaking)
(molecule-callback . ,Rest::brew_molecule)
(minimum-beam-collision-distance . 1.5)
- (name . "rest")
+ (name . "Rest")
)
- basicRestCollisionProperties = #`(
+ RestCollision = #`(
(interfaces . (rest-collision-interface))
(minimum-distance . 0.75)
- (name . "rest collision")
+ (name . "RestCollision")
)
- basicScriptProperties = #`(
+
+ Script = #`(
(molecule-callback . ,Script::brew_molecule)
(interfaces . (script-interface side-position-interface))
- (name . "script")
+ (X-offset-callbacks . (,Side_position::centered_on_parent))
+ (name . "Script")
)
- basicScriptColumnProperties = #`(
+
+ ScriptColumn = #`(
(before-line-breaking-callback . ,Script_column::before_line_breaking)
- (name . "script column")
+ (name . "ScriptColumn")
)
- basicSlurProperties = #default-basic-slur-properties
- basicSpacingSpannerProperties =#`(
+
+ Slur = #default-basic-slur-properties
+
+ SpacingSpanner =#`(
(spacing-procedure . ,Spacing_spanner::set_springs)
;; assume that notes at least this long are present.
(maximum-duration-for-spacing . ,(make-moment 1 8))
- (name . "spacing spanner")
+ (name . "SpacingSpanner")
)
- basicSpanBarProperties = #`(
+
+ SpanBar = #`(
(interfaces . (bar-interface span-bar-interface))
(break-align-symbol . Staff_bar)
(barsize-procedure . ,Span_bar::get_bar_size)
(molecule-callback . ,Bar::brew_molecule)
(visibility-lambda . ,begin-of-line-invisible)
+ (X-extent-callback . ,Span_bar::width_callback)
+ (Y-offset-callbacks . (,Span_bar::center_on_spanned_callback))
+
(breakable . #t)
(glyph . "|")
(before-line-breaking-callback . ,Span_bar::before_line_breaking)
(thin-kern . 3.0)
(hair-thickness . 1.6)
(thick-thickness . 6.0)
- (name . "cross staff bar-line")
+ (name . "SpanBar")
)
- basicStanzaNumberProperties = #`(
+
+ StanzaNumber = #`(
(breakable . #t)
(molecule-callback . ,Text_item::brew_molecule)
(break-align-symbol . Clef_item)
(visibility-lambda . ,begin-of-line-visible)
- (name . "stanza number")
+ (name . "StanzaNumber")
)
- basicStaffSymbolProperties = #`(
+
+ StaffSymbol = #`(
(interfaces . (staff-symbol-interface ))
(molecule-callback . ,Staff_symbol::brew_molecule)
(staff-space . 1.0)
(line-count . 5 )
- (name . "staff symbol")
+ (name . "StaffSymbol")
)
- basicSystemStartDelimiterProperties = #`(
+
+ SystemStartDelimiter = #`(
(molecule-callback . ,System_start_delimiter::brew_molecule)
(after-line-breaking-callback . ,System_start_delimiter::after_line_breaking)
(collapse-height . 1.0)
(arch-width . 1.5)
(bracket-thick . 0.25)
(bracket-width . 2.0)
- (name . "system start bracket")
+ (name . "SystemStartDelimiter")
)
- basicTextScriptProperties = #`(
+
+ TextScript = #`(
(molecule-callback . ,Text_item::brew_molecule)
(no-spacing-rods . #t)
(interfaces . (text-script-interface text-item-interface side-position-interface))
(padding . 3.0)
- (name . "text script")
+ (name . "TextScript")
)
- basicTieProperties = #`(
+
+ Tie = #`(
(interfaces . (tie-interface))
(molecule-callback . ,Tie::brew_molecule)
(spacing-procedure . ,Tie::set_spacing_rods)
(thickness . 1.2)
(x-gap . 0.2)
(minimum-length . 2.5)
- (name . "tie")
+ (name . "Tie")
)
- basicTieColumnProperties = #`(
+
+ TieColumn = #`(
(after-line-breaking-callback . ,Tie_column::after_line_breaking)
(interfaces . (tie-column-interface))
- (name . "tie column")
+ (name . "TieColumn")
)
- basicTimeSignatureProperties = #`(
+
+ TimeSignature = #`(
(interfaces . (time-signature-interface))
(molecule-callback . ,Time_signature::brew_molecule)
(break-align-symbol . Time_signature)
(visibility-lambda . ,all-visible)
(breakable . #t)
- (name . "time signature")
+ (name . "TimeSignature")
)
- basicTupletSpannerProperties = #`(
+
+ TupletBracket = #`(
(number-gap . 2.0)
(delta-y . 0)
(thick . 1.0)
(after-line-breaking-callback . ,Tuplet_spanner::after_line_breaking)
(molecule-callback . ,Tuplet_spanner::brew_molecule)
(interfaces . (tuplet-spanner-interface))
+ (name "TupletBracket")
)
- basicSostenutoPedalProperties = #`(
+
+ SostenutoPedal = #`(
(molecule-callback . ,Text_item::brew_molecule)
+ (X-offset-callbacks . (,Side_position::aligned_on_self))
+ (Y-offset-callbacks .
+ (,Side_position::aligned_side
+ ,Side_position::centered_on_parent))
+
(style . "italic")
(no-spacing-rods . #t)
(self-alignment-X . 0)
- (name . "sostenuto pedal")
+ (name . "SostenutoPedal")
)
- basicStemProperties = #`(
+
+ Stem = #`(
(interfaces . (stem-interface))
(before-line-breaking-callback . ,Stem::before_line_breaking)
(molecule-callback . ,Stem::brew_molecule)
(stem-shorten . (0.5))
; if stem is on middle line, choose this direction.
(default-neutral-direction . 1)
- (name . "stem")
+ (X-offset-callbacks . (,Stem::off_callback))
+ (name . "Stem")
)
- basicStemTremoloProperties = #`(
+ StemTremolo = #`(
(molecule-callback . ,Stem_tremolo::brew_molecule)
(beam-width . 2.0) ; staff-space
(beam-thickness . 0.42) ; staff-space
(beam-space-function . ,default-beam-space-function)
- (name . "stem tremolo")
+ (name . "StemTremolo")
)
- basicSeparationItemProperties = #`(
+
+ SeparationItem = #`(
(interfaces . (separation-item-interface))
- (name . "separation item")
+ (name . "SeparationItem")
)
- basicSeparatingGroupSpannerProperties = #`(
+
+ SeparatingGroupSpanner = #`(
(interfaces . (separation-spanner-interface))
(spacing-procedure . ,Separating_group_spanner::set_spacing_rods)
- (name . "separation spanner")
+ (name . "SeparatingGroupSpanner")
)
- basicSustainPedalProperties = #`(
+
+ SustainPedal = #`(
(interfaces . (sustain-pedal-interface side-position-interface))
(no-spacing-rods . #t)
(molecule-callback . ,Sustain_pedal::brew_molecule)
(self-alignment-X . 0)
- (name . "sustain pedal")
+ (X-offset-callbacks . (,Side_position::aligned_on_self))
+ (Y-offset-callbacks .
+ (,Side_position::aligned_side
+ ,Side_position::centered_on_parent))
+
+ (name . "SustainPedal")
)
- basicUnaChordaPdealProperties = #`(
+
+ UnaChordaPdeal = #`(
(molecule-callback . ,Text_item::brew_molecule)
(style . "italic")
(no-spacing-rods . #t)
(self-alignment-X . 0)
- (name . "una chorda pedal")
+ (X-offset-callbacks . (,Side_position::aligned_on_self))
+ (Y-offset-callbacks .
+ (,Side_position::aligned_side
+ ,Side_position::centered_on_parent))
+
+ (name . "UnaChordaPedal")
)
- basicVoltaBracketProperties = #`(
+
+ VoltaBracket = #`(
(molecule-callback . ,Volta_spanner::brew_molecule)
(interfaces . (volta-spanner-interface side-position-interface))
(direction . 1)
(thickness . 1.6) ; stafflinethickness
(height . 2.0) ; staffspace;
(minimum-space . 25)
- (name . "volta brace")
+ (name . "VoltaBracket")
)
- basicVerticalAlignmentProperties = #`(
+
+ VerticalAlignment = #`(
(axes 1)
(interfaces . (align-interface axis-group-interface))
- (name . "vertical alignment")
+ (Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (X-extent-callback . #f)
+ (stacking-dir . -1)
+ (name . "VerticalAlignment")
)
- basicVerticalAxisGroupProperties = #`(
+
+ VerticalAxisGroup = #`(
(axes 1)
(interfaces . (axis-group-interface))
- (name . "Y-axis group")
+ (name . "VerticalAxisGroup")
)
+
+
+ \include "auto-beam-settings.ly";
+
}
OrchestralScoreContext= \translator {
% Toplevel initialisation file.
-\version "1.3.59";
+\version "1.3.93";
\include "declarations.ly"
% Toplevel AsciiScript initialisation file.
-\version "1.3.42";
+\version "1.3.93";
\include "declarations-as.ly"
% Toplevel AsciiScript initialisation file.
-\version "1.3.59";
+\version "1.3.93";
\include "declarations-as.ly"
% Toplevel initialisation file.
-\version "1.3.42";
+\version "1.3.93";
\include "declarations.ly"
% Toplevel initialisation file.
-\version "1.3.59";
+\version "1.3.93";
\include "declarations.ly";
% Toplevel initialisation file.
-\version "1.3.68";
+\version "1.3.93";
\include "declarations.ly"
(sidd . ( -1 6 2 ))
)
-\version "1.3.90";
+\version "1.3.93";
-% $Id: norsk.ly,v 1.5 2000/06/16 14:10:51 fred Exp $
+% $Id: norsk.ly,v 1.6 2000/10/08 14:26:55 fred Exp $
%{
-\version "1.3.59";
+\version "1.3.93";
% paper-as5.ly
-\version "1.3.59";
+\version "1.3.93";
paper_as_five = \paper {
staffheight = 5.\char;
% paper-as9.ly
-\version "1.3.59";
+\version "1.3.93";
paper_as_nine = \paper {
staffheight = 9.\char;
% paper11.ly
-\version "1.3.59";
+\version "1.3.93";
paper_eleven = \paper {
staffheight = 11.0\pt;
% paper13.ly
-\version "1.3.59";
+\version "1.3.93";
paper_thirteen = \paper {
staffheight = 13.0\pt;
-\version "1.3.59";
+\version "1.3.93";
paper_sixteen = \paper {
staffheight = 16.0\pt;
% paper20.ly
-\version "1.3.59";
+\version "1.3.93";
paper_twenty = \paper {
staffheight = 20.0\pt;
% paper23.ly
-\version "1.3.59";
+\version "1.3.93";
paper_twentythree = \paper {
staffheight = 23.0\pt;
% paper26.ly
-\version "1.3.59";
+\version "1.3.93";
paper_twentysix = \paper {
staffheight = 26.0\pt;
% property.ly
-\version "1.3.59";
+\version "1.3.93";
-stemup = \property Voice.basicStemProperties \push #'direction = #1
-stemdown = \property Voice.basicStemProperties \push #'direction = #-1
-stemboth= \property basicStemProperties \pop #'direction
+stemUp = \property Voice.Stem \push #'direction = #1
+stemDown = \property Voice.Stem \push #'direction = #-1
+stemBoth= \property Voice.Stem \pop #'direction
-slurup = \property Voice.basicSlurProperties \push #'direction = #1
-slurboth = \property basicSlurProperties \pop #'direction
-slurdown = \property Voice.basicSlurProperties \push #'direction = #-1
-shifton = \property Voice.basicNoteColumnProperties \push #'horizontal-shift = #1
-shiftonn = \property Voice.basicNoteColumnProperties \push #'horizontal-shift = #2
-shiftonnn = \property Voice.basicNoteColumnProperties \push #'horizontal-shift = #3
-shiftoff = \property basicNoteColumnProperties \pop #'horizontal-shift
+slurUp = \property Voice.Slur \push #'direction = #1
+slurBoth = \property Voice.Slur \pop #'direction
+slurDown = \property Voice.Slur \push #'direction = #-1
+shiftOn = \property Voice.NoteColumn \push #'horizontal-shift = #1
+shiftOnn = \property Voice.NoteColumn \push #'horizontal-shift = #2
+shiftOnnn = \property Voice.NoteColumn \push #'horizontal-shift = #3
+shiftOff = \property Voice.NoteColumn \pop #'horizontal-shift
-tieUp = \property Voice.basicTieProperties \push #'direction = #1
-tieDown = \property Voice.basicTieProperties \push #'direction = #-1
-tieBoth = \property basicTieProperties \pop #'direction
+tieUp = \property Voice.Tie \push #'direction = #1
+tieDown = \property Voice.Tie \push #'direction = #-1
+tieBoth = \property Voice.Tie \pop #'direction
cadenzaOn = \property Score.timing = ##f
cadenzaOff = { \property Score.timing = ##t
}
-onevoice = {
- \stemboth
+oneVoice = {
+ \stemBoth
\tieBoth
+ \shiftOff
}
-voiceone = { \stemup
+voiceOne = { \stemUp
\tieUp
}
-voicetwo = { \stemdown
+voiceTwo = { \stemDown
\tieDown
}
-voicethree = {
- \stemup
- \shifton
+voiceThree = {
+ \stemUp
+ \shiftOn
}
-voicefour = {
- \stemdown
- \shifton
+voiceFour = {
+ \stemDown
+ \shiftOn
}
-% ugh, cluttering global namespace...
-
-% ugh2.
-infinity=10000
-%{
-
-slurnormal =
- \property Voice.slurDash = ##f
-
-
-slurdotted =
- \property Voice.slurDash = 1
-
-
-tupletoff =
- \property Voice.tupletVisibility = 0
-
-tupleton =
- \property Voice.tupletVisibility = 3
-%}
+slurDotted = \property Voice.Slur \push #'dash = #1
+slurNoDots = \property Voice.Slur \pop #'dash
tiny =
(hiss . ( -1 6 1 ))
(hississ . ( -1 6 2 ))
)
-\version "1.3.59";
+\version "1.3.93";
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "bassi.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "violoncello.ly"
%% Hopefully, this can be junked when part-combiner+midi+dynamics work ok.
%%
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "clarinetti.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "clarinetto-1.ly"
\include "clarinetto-2.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
clarinettoI = \notes \relative c {
R1 *2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
clarinettoII = \notes \relative c {
R1*2 bes''4-.\ff r r2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
contrabasso = \notes \relative c {
% copied 21 from cello
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "paper16.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "corni.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "corno-1.ly"
\include "corno-2.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
cornoI = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
cornoII = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "fagotti.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "fagotto-1.ly"
\include "fagotto-2.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
fagottoI = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
fagottoII = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "flauti.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "flauto-1.ly"
\include "flauto-2.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
flautoI = \notes \relative c {
R1 *2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
flautoII = \notes \relative c {
R1 *2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
global = \notes {
\time 4/4;
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
oboeI = \notes \relative c'' {
R1*2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
oboeII = \notes \relative c{
R1*2|
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "oboi.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "oboe-1.ly"
\include "oboe-2.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "timpani.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
timpani = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "trombe.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "trombo-1.ly"
\include "trombo-2.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
tromboI = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
tromboII = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
violaI = \notes \relative c {
c'1\ff ~ |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
violaII = \notes \relative c {
c1\ff ~ |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "violi.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "viola-1.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "violino-1.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
violinoI = \notes \relative c {
c'1\ff ~ |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
\include "global.ly"
\include "violino-2.ly"
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
violinoII = \notes \relative c {
c'1\ff ~ |
copyright = "public domain";
}
-\version "1.3.88";
+\version "1.3.93";
violoncello = \notes \relative c {
c1\ff ~ |
under the Gnu Public Licence.
%}
-\version "1.3.59";
+\version "1.3.93";
$voice_one = \notes \relative c' {
a'2 bes4. [c16 bes] | a4 d ~ d c ~ | c b ~ [b8 a] a4 ~|
\clef "G";
\global
\context Staff <
- { \voiceone \$voice_one }
- { \voicetwo \$voice_two }
+ { \voiceOne \$voice_one }
+ { \voiceTwo \$voice_two }
>
}
\context Staff = bass {
Tested Features: cross staff auto beams and slurs, grace notes, no bars
%}
-\version "1.3.59";
+\version "1.3.93";
global = \notes {
\key a \minor;
\context Staff=up <
\global
\context Voice=foo {
- \stemup
- \property Voice.basicScriptProperties \push #'direction = #1
+ \stemUp
+ \property Voice.Script \push #'direction = #1
\melody
}
Tested Features:
%}
-\version "1.3.59";
+\version "1.3.93";
\include "nederlands.ly"
i = \context Staff \notes\relative c''{
\context Voice=i
- \stemup
+ \stemUp
c8.( es16 bes4 ~ | )bes8 r c8.( bes16 | des4 c8. bes16 | c4 ~ ) c8 r |
c4( f,8. as16 | bes4 ~ )bes8 r | f8.( es16 f4 | es )f |
ii = \context Staff \notes\relative c'{
\context Voice=ii
- \stemdown
+ \stemDown
r8 <es as> r <des f> | r <es g> r <es as> | r <f as> r <f as> |
r <es g> r <es g> | r <es as> r <as, des> | r <des f> r <des f> |
r <cis e> r <cis e> | r <b d> r <a d> | r <g b> r <a cis> |
r <a cis> r <a cis> |
- \translator Staff=bass\stemup
+ \translator Staff=bass\stemUp
r <g b> r <fis a> r <fis a> | r <g bes>
- \translator Staff=treble\stemdown
+ \translator Staff=treble\stemDown
r <a c> r <a d> |
r <bes d> r <bes d> | r <g c> r <bes d> | r <c es> r <d g> |
copyright = "public domain";
}
-\version "1.3.59";
+\version "1.3.93";
\include "standchen.ly"
copyright = "public domain";
}
-\version "1.3.59";
+\version "1.3.93";
% fool make-website
% \include "standchen.ly";
Note: Original key f.
%}
-\version "1.3.59";
+\version "1.3.93";
vocalVerse = \notes\relative c''{
\property Voice.dynamicDirection=\up
metre = "6 6. 8 6. D";
}
-\version "1.3.59";
+\version "1.3.93";
sop=\notes \transpose c''{
ees2 ees4 ees4 g2 g2 | c'1.
\clef "treble";
\context Staff <
\global
- { \voiceone \sop }
- { \voicetwo \alt }
+ { \voiceOne \sop }
+ { \voiceTwo \alt }
>
}
\clef "bass";
\context Staff <
\global
- { \voiceone \ten }
- { \voicetwo \bass }
+ { \voiceOne \ten }
+ { \voiceTwo \bass }
>
}
metre = "10 10 . 11 11";
}
-\version "1.3.59";
+\version "1.3.93";
sop = \notes \transpose c''{
f4 | d' bes c' | f2 \bar "||";
\context Staff=top {
\global \clef "G";
\context Staff <
- \notes{\voiceone \sop }
- \notes{\voicetwo \alto }
+ \notes{\voiceOne \sop }
+ \notes{\voiceTwo \alto }
>
}
\context Staff=bottom {
\global \clef "F";
\context Staff <
- \notes{\voiceone \tenor}
- \notes{\voicetwo \bass }
+ \notes{\voiceOne \tenor}
+ \notes{\voiceTwo \bass }
>
}
>
metre = "10 11. 11 11. and refrain";
}
-\version "1.3.59";
+\version "1.3.93";
sop=\notes \relative c'' {
b2 gis4. a8 |b2 e,2 |
\global
\clef "treble";
\context Staff <
- {\voiceone \sop }
- {\voicetwo \alt }
+ {\voiceOne \sop }
+ {\voiceTwo \alt }
>
}
\global
\clef "bass";
\context Staff <
- {\voiceone \ten }
- {\voicetwo \bass }
+ {\voiceOne \ten }
+ {\voiceTwo \bass }
>
}
metre = "8 7 8 7 D";
}
-\version "1.3.59";
+\version "1.3.93";
sop=\notes \relative c'' {
b4 b c d | d c b a | g g a b | b4. a8 a2 |
\clef "G";
\context Staff <
\global
- {\voiceone \sop}
- {\voicetwo \alto}
+ {\voiceOne \sop}
+ {\voiceTwo \alto}
>
}
\clef "F";
\context Staff <
\global
- {\voiceone \tenor}
- {\voicetwo \bass }
+ {\voiceOne \tenor}
+ {\voiceTwo \bass }
>
}
}
-\version "1.3.59";
+\version "1.3.93";
%{
Note: there are other verses, but the three here seem to be
\clef "treble";
\context Staff <
\global
- { \voiceone \sop }
- { \voicetwo \alt }
+ { \voiceOne \sop }
+ { \voiceTwo \alt }
>
}
}
\clef "bass";
\context Staff <
\global
- { \voicethree \ten }
- { \voicefour \bass }
+ { \voiceThree \ten }
+ { \voiceFour \bass }
>
}
}
piece = "Allemande";
}
-\version "1.3.59";
+\version "1.3.93";
global = \notes{
\time 4/4;
[es16 f g8][as,16 g' f es][f g as8][b,16 as' g f] |
%5
\context Staff < {
- \stemup es4~ [es8. c16] d4~ [d8. b16] |
+ \stemUp es4~ [es8. c16] d4~ [d8. b16] |
c4.~ [c16 b] c4~ [c16 c bes as] |
- \stemboth [g c32 d es16 c][g8 as] \stemup bes4~ [bes8 g'~] |
- \stemboth [g16 c,32 d es16 c][a f' c32 d es16] \stemup d4~ [d8 d] |
+ \stemBoth [g c32 d es16 c][g8 as] \stemUp bes4~ [bes8 g'~] |
+ \stemBoth [g16 c,32 d es16 c][a f' c32 d es16] \stemUp d4~ [d8 d] |
[d8 c] r16 [fis g a][es8 d] r16 [g a bes] |
[f8 e] r16 [a bes c][g8 fis] r16 [es d c] |
} {
- \stemdown r16 [b c g][as es f8] r16 [g as f][g d es8~] |
+ \stemDown r16 [b c g][as es f8] r16 [g as f][g d es8~] |
%TODO når du får tak i en til urtekst må denne og neste takt sammenliknes.
[es16 f32 g as16 f][d f8.~][f16 f es d][es8 f] |
s4 r4 r16 [f g d] es8 r |
[d fis g bes~][bes fis g d][es fis g bes~][bes fis g bes] |
[e a, bes fis][g bes a g][fis d es bes][c es d c] |
\context Staff <
- { \stemup [bes8 d'][bes a16 g] g4~ g16 }
- { \stemup s2 s16 d8.~ d16 }
- { \stemdown r8 <g d> <[g d><fis c>] r16 [d16 b8~] b16 }
+ { \stemUp [bes8 d'][bes a16 g] g4~ g16 }
+ { \stemUp s2 s16 d8.~ d16 }
+ { \stemDown r8 <g d> <[g d><fis c>] r16 [d16 b8~] b16 }
>
[es'16 d c] |
%17
[es g'( as, )g][f as'16( g][as g fis )g] |
fis4.~ [fis16 e32 fis][g16 d f es][d c b a] |
\context Staff <
- { \stemup [g8 g'][es d16 c] c4. }
- { \stemdown r8 <g c es> <[g c> <f b>] <es4. g> }
+ { \stemUp [g8 g'][es d16 c] c4. }
+ { \stemDown r8 <g c es> <[g c> <f b>] <es4. g> }
> s8
}
[c8 es][f, as][b, d][es, g] |
[as f][g g'][c, g']
\context Staff <
- { \stemup [c8 d] | es4 }
- { \stemdown c4 ~ | [c8. g32 f] }
+ { \stemUp [c8 d] | es4 }
+ { \stemDown c4 ~ | [c8. g32 f] }
>
- \stemboth [es, f g16 c,32 d es16][g,8. bes32 as][g as bes16 es,32 f g16] |
+ \stemBoth [es, f g16 c,32 d es16][g,8. bes32 as][g as bes16 es,32 f g16] |
%8
[a,8 c][f a][bes8. f''32 es][d es f16 bes,32 c d16] |
[es, g a bes][c d es c][fis, a bes c][d e fis d] |
%16
[g16 a bes c][d8 d,]
\context Staff <
- { \stemup r8 r16 d' g }
- { \stemdown g,4~ g16 }
+ { \stemUp r8 r16 d' g }
+ { \stemDown g,4~ g16 }
>
r16 r8 |
%17
%%
%% Noe liknende skjer også i mellom andre og tredje stemme i takt 28
-\version "1.3.59";
+\version "1.3.93";
global = \notes{
\time 2/4;
c4 b8 |
}
vThree = \context Voice = voiceThree \notes\relative c{
- \stemdown
+ \stemDown
c4 r8 c |
d4 r |
r8 [es f g] |
vOneSwitch = \context Voice = voiceOne \notes{
s2*4
%5
- \stemup s2*17
+ \stemUp s2*17
%22
- \stemdown s16*1
- \stemboth s16*7
+ \stemDown s16*1
+ \stemBoth s16*7
%23
s2*12
%35
- s4 \stemup s4
+ s4 \stemUp s4
s2*3
%39
- \stemboth s2*2
+ \stemBoth s2*2
%41
- \stemup s2*8
+ \stemUp s2*8
%49
- \stemboth s2*3
+ \stemBoth s2*3
%52
- \stemup s2*8
+ \stemUp s2*8
%60
- \stemboth s2
+ \stemBoth s2
%61
- \stemup s2*35
+ \stemUp s2*35
%96
- \stemboth
+ \stemBoth
}
vTwoSwitch = \context Voice = voiceTwo \notes{
- \stemup s2*4
+ \stemUp s2*4
%5
- \stemdown \translator Staff = treble s2*17
+ \stemDown \translator Staff = treble s2*17
%22
- \stemup
+ \stemUp
s2*6
%28
\translator Staff = bass s2*7
%35
- s4 \translator Staff = treble \stemdown s4
+ s4 \translator Staff = treble \stemDown s4
s2*3
%39
- \translator Staff = bass \stemup s2*2
+ \translator Staff = bass \stemUp s2*2
%41
- s4 \translator Staff = treble \stemdown s4
+ s4 \translator Staff = treble \stemDown s4
%42
- s8 \translator Staff = bass \stemup s8*3
+ s8 \translator Staff = bass \stemUp s8*3
%43
- s4 \translator Staff = treble \stemdown s4
+ s4 \translator Staff = treble \stemDown s4
%44
- s8 \translator Staff = bass \stemup s8*3
+ s8 \translator Staff = bass \stemUp s8*3
%45
- \translator Staff = treble \stemdown s2*4
+ \translator Staff = treble \stemDown s2*4
%49
- \stemup \translator Staff = bass s2*3
+ \stemUp \translator Staff = bass s2*3
%52
- s8*1 \stemdown \translator Staff = treble \stemdown s8*3
+ s8*1 \stemDown \translator Staff = treble \stemDown s8*3
s2*7
%60
- \stemup \translator Staff = bass s2
+ \stemUp \translator Staff = bass s2
%61
- \translator Staff = treble \stemdown s2*35
+ \translator Staff = treble \stemDown s2*35
}
vThreeSwitch = \context Voice = voiceThree \notes{
- \stemdown s2*6
+ \stemDown s2*6
%7
- \stemboth s2*21
+ \stemBoth s2*21
%28
- \stemdown s2*7
+ \stemDown s2*7
%35
- s4 \stemboth s4
+ s4 \stemBoth s4
%36
s2*3
%39
- \stemdown s2*7
+ \stemDown s2*7
%46
- \stemboth s2*3
+ \stemBoth s2*3
%49
- \stemdown s2*3
+ \stemDown s2*3
%52
- s4 \stemboth s4
+ s4 \stemBoth s4
s2
%54
s2*2 %HACK evt endre her, sammenlikne med Henle
%56
s2*4
%60
- \stemdown
+ \stemDown
}
\score{
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
global = \notes {
\time 4/4;
}
hoyreOpp = \notes\relative c'' {
- \stemup
+ \stemUp
es4^"Grave adagio" r16 [es d16. es32] f4 r16 [f16 f16. g32] |
[as8. as16] [as16 g32 f g16. d32] es4 r16 [g g16. as32] |
%3
bes4 r16 [bes,16 bes16. c32] [des8. des16]
\context Staff <
- { \stemup e4 }
- { \stemup \property Voice.horizontalNoteShift = 1 [des16 c32 bes c16. g32] }
+ { \stemUp e4 }
+ { \stemUp \property Voice.horizontalNoteShift = 1 [des16 c32 bes c16. g32] }
>
%4
- f4 \stemboth r16 [f g16. as32] \stemup d,4 r16 [d g16. es32] |
+ f4 \stemBoth r16 [f g16. as32] \stemUp d,4 r16 [d g16. es32] |
c4 ~ [c32 es des c des16. f32] [b,16. c32 b16. c32] d4 ~ |
d2 ~ [d16. g,32 a16. b32] [c16. <b32 g> <c16. a> <d32 b>] |
<[es8. c> <es16 c>]
\context Staff <
- { \stemup fis4 }
- { \stemup \property Voice.horizontalNoteShift = 1 [es16 d32 c d16. a32] }
+ { \stemUp fis4 }
+ { \stemUp \property Voice.horizontalNoteShift = 1 [es16 d32 c d16. a32] }
> g2
}
hoyreNed = \notes\relative c'' {
\clef violin;
- \stemdown
+ \stemDown
<c4 g> r16 [c b16. c32] d4 r16 [d d16. es32] |
[f8. f16] f8 r <c4 g> r16 [es16 es16. f32] |
<c4 g' > r16 [g16 g16. as32] [bes8. bes16] bes8 r |
venstreOpp = \notes\relative c' {
\clef bass;
- \stemup
+ \stemUp
<c4 g es> r <b as f d> r |
r <b f d> <c g es> r |
<c g e> r r <c g> |
%5
r16 <[g c,><g16. c,><f32 c>]
\context Staff <
- {\stemup f4~ f}
- {\stemup c4 d}
+ {\stemUp f4~ f}
+ {\stemUp c4 d}
> r16 [f f16. g32] |
%6
[as8. as16]~ [as g32 f g16 d] <es4 c> r |
}
venstreNed = \notes\relative c{
- \stemdown
+ \stemDown
c4 r c r | r c c r | c r r c | c r r16 [c c16. bes32] bes4 |
r16 [bes bes16. as32] as4_"tr" g r16 [d' d16. es32] |
\context Staff <
- { \stemdown \property Voice.horizontalNoteShift = 1 [f8. f16] [b,8. b16] g4 r | }
- { \stemdown s4 g}
+ { \stemDown \property Voice.horizontalNoteShift = 1 [f8. f16] [b,8. b16] g4 r | }
+ { \stemDown s4 g}
>
r g g2
}
[g16^"andante" c32 d es8~] [es16 d32 c es d c b] [c16 g as f] [g c g f] |
[es16 c'32 d es d c16] [g' c, as' c,] [b c d b] g16 r16 r8 |
%10
- \stemup [g'32 f es d c16 bes~] [bes des8 c16]
+ \stemUp [g'32 f es d c16 bes~] [bes des8 c16]
[as'32 g f e f8~] [f32 g as g f es d es] |
[f es d c bes16 as~] [as c8 bes16]
[g'32 f es d es8~] [es32 f g f es d c b]
%12
- \stemboth
+ \stemBoth
[c bes as g f16 es'~] [es d32 c es d c b]
[c d es f g16 c,~] [c b32 c d c b c] |
[as'32 g f e f16 des~] [des c32 des es des c des]
[d c bes a bes d bes g] |
r16 [e'32 fis fis16.-\prall \times 2/3 { e64 fis g] }
\context Staff <
- { \stemup
+ { \stemUp
[bes,32 a g fis g32 bes16.~] [bes16 c32 bes a bes c a] [fis8. g16] }
- { \stemdown s8 g8 ~ g4 d}
+ { \stemDown s8 g8 ~ g4 d}
>
}
%8
[c8 c'] [f, g] [es c] [es g] |
[c as] [es f] [g g,]
- \stemdown \translator Staff = treble r16 [f''16 es d] |
+ \stemDown \translator Staff = treble r16 [f''16 es d] |
%10
[es8 g] [e c] [f as] [f c] |
[d f] [d bes] [es g] [es c] |
- \stemboth \translator Staff = bass [as c] [f as,] [g c] [es g,] |
+ \stemBoth \translator Staff = bass [as c] [f as,] [g c] [es g,] |
[f as] [g f] [es g] [f es] |
%14
[d f] [as c,] [b d] [g d] |
[c16 d32 es f g as bes] [c16 c, c'8~] [c32 c, d es f g as bes][c16 c, c'8~]|
[c c,] [bes bes'] [fis d] [g es] |
\context Staff <
- { \stemup <g4 e> r <d'2 bes g> |
+ { \stemUp <g4 e> r <d'2 bes g> |
cis4~ [cis8. cis16] [d8 c16 bes]
\context Staff <
- { \stemup [a bes c8] }
- { \stemdown a4 } >
+ { \stemUp [a bes c8] }
+ { \stemDown a4 } >
| }
- { \slurdown \stemdown cis,4 r d2( | )d1 \slurboth }
+ { \slurdown \stemDown cis,4 r d2( | )d1 \slurboth }
>
}
%55
[e bes' g f] [e f g as] [g bes g f] |
[e bes' g f] [e g bes des] [c bes as g]|
- [as f' c bes] \stemup [as bes c des] [ c f c bes] |
- [as f' c bes] \stemboth [as bes c des] [c f c bes] |
- [a es' c bes] \stemup [a bes c des] [c es c bes] |
- [a es' c bes] \stemboth [a c es ges] [f es des c] |
+ [as f' c bes] \stemUp [as bes c des] [ c f c bes] |
+ [as f' c bes] \stemBoth [as bes c des] [c f c bes] |
+ [a es' c bes] \stemUp [a bes c des] [c es c bes] |
+ [a es' c bes] \stemBoth [a c es ges] [f es des c] |
%61
[des8 bes c des es des] |
[c as bes c des c] [bes as bes g as bes] |
%78
[f8 f,16 g] [as8 bes c d] |
[es16 d c d] [es8 f g as] |
- [b,16 g' d c] \stemup [b c d es] [d g d c] |
+ [b,16 g' d c] \stemUp [b c d es] [d g d c] |
[b g' d c] [b c d es] [d g d c] |
[b f' d c] [b c d es] [d f d c] |
[b f' d c] [b d f as] [g f es d] |
%84
[es f g es] [c g' f es] [d c bes as] |
- \stemboth [g as bes8~] [bes16 c bes as] [g f e d] |
+ \stemBoth [g as bes8~] [bes16 c bes as] [g f e d] |
[c g' c, bes] [c d e f] [es g c, bes] |
[c g' f e] [f c f g] [as bes c d] | [es d c d] [es8 f16 g] [as8 des,] |
[f b,] [d g,] [g'16 f es d] |
\context Staff <
- { \stemup [es8. c16] c4 ~ [b8.-\prall c16] | c2-\fermata }
- { \stemdown r8 r16 <a16 es> <g2 d> | <g es> }
+ { \stemUp [es8. c16] c4 ~ [b8.-\prall c16] | c2-\fermata }
+ { \stemDown r8 r16 <a16 es> <g2 d> | <g es> }
>
}
allegroTo = \notes\relative c'{
\clef bass;
%30
\context Staff <
- { \stemup <b8 g> r r4 r }
- { \stemdown g,8 r8 r4 r }
+ { \stemUp <b8 g> r r4 r }
+ { \stemDown g,8 r8 r4 r }
>
r2. | r2. |
\clef treble; r8 [c16 d] [es8 f] [g as] |
[c c,] r16 [d''16 es f][es8 d] | [c c,] r16 [as' bes c][bes8 as] |
[g c,] r16 [d' e f][e8 d] | [c c,] r16 [d e f][e8 c]
%57
- [f f,] \stemdown \translator Staff = treble r16 [g'' as bes][as8 g] |
- [f \stemboth \translator Staff = bass f,] r16 [des'16 es f][es8 des] |
- [c f,] \stemdown \translator Staff = treble r16 [g' a bes][a8 g] |
- [f \stemdown \translator Staff = bass f,] \stemboth r16 [g a bes][a8 f] |
+ [f f,] \stemDown \translator Staff = treble r16 [g'' as bes][as8 g] |
+ [f \stemBoth \translator Staff = bass f,] r16 [des'16 es f][es8 des] |
+ [c f,] \stemDown \translator Staff = treble r16 [g' a bes][a8 g] |
+ [f \stemDown \translator Staff = bass f,] \stemBoth r16 [g a bes][a8 f] |
[bes16 c des8~][des16 c bes as][g f g bes] |
%62
[as bes c8~][c16 bes as g][f e f as] |
[as f' as, g][f c' des g,][a es' f b,]
%79
[c f es d][c g' as d,][es b' c f,] |
- [g8 g,] \stemdown \translator Staff = treble r16 [a'' b c][b8 a] |
+ [g8 g,] \stemDown \translator Staff = treble r16 [a'' b c][b8 a] |
[g \translator Staff = bass g,] \translator Staff = treble
r16 [es' f g][f8 es] |
- [d \stemboth \translator Staff = bass g,] r16 [a b c][b8 a] |
- [g8 g,] \stemdown \translator Staff = treble r8 [g''16 f][es d c b] |
- [c8 \stemboth \translator Staff = bass c,16 d][es8 f g as] |
+ [d \stemBoth \translator Staff = bass g,] r16 [a b c][b8 a] |
+ [g8 g,] \stemDown \translator Staff = treble r8 [g''16 f][es d c b] |
+ [c8 \stemBoth \translator Staff = bass c,16 d][es8 f g as] |
[bes16 as g as][bes8 c des g,] |
%86
[bes e,][g c,][c'16 bes as g] | as4~ [as16 bes as g][f g as f] |
-\version "1.3.59";
+\version "1.3.93";
$global_i = \notes{
\time 12/8;
-\version "1.3.59";
+\version "1.3.93";
$global_ii = \notes{
\time 4/4;
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
\include "global-i.ly"
\include "violoncello-i.ly";
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
\include "global-ii.ly"
\include "violoncello-ii.ly";
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
% {
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
$violino_i = \notes\relative c'' {
\property Voice.beamAutoEnd = "3/8"
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
$violino_ii = \notes\relative c''{
R1*8 |
\$violino_ii
\$global_ii
>
-\version "1.3.59";
+\version "1.3.93";
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
% {
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
% {
\include "violino-i.ly";
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
% {
\include "violino-i.ly";
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
$violoncello_i = \notes\relative c{
\property Voice.beamAutoEnd = "3/8"
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
$violoncello_ii = \notes\relative c{
r2 a'2|c e,| f8(e)d2 e8()fis| g a bes2 a8()gis|
copyright = "Public Domain";
}
-\version "1.3.59";
+\version "1.3.93";
% {
-\version "1.3.59";
+\version "1.3.93";
lowstaff = \translator "Staff" = "lower"
<f4 d b4>
r4
- \stemboth
- \stemup
+ \stemBoth
+ \stemUp
r16 g,, b d
- [ f \upstaff \stemdown g16 b d ] |
- \stemup b
- \lowstaff \stemdown
+ [ f \upstaff \stemDown g16 b d ] |
+ \stemUp b
+ \lowstaff \stemDown
[ g b d ] f
\upstaff
[ g16 b d ] b
[ g b d ]
- \stemup
+ \stemUp
% urg, below translator change affects previous beam too!?
% howto separate translator command from previous beam end?
\upstaff f g b f |
- \stemboth
+ \stemBoth
e c' g f e c' g e
d c' f, e d b' f d |
c b' e, d c a' e c
b d b g as f g d
es fis a c
<
- { \stemup r c8 b16 }
- \context Voice=ii { \stemdown d,8 f }
+ { \stemUp r c8 b16 }
+ \context Voice=ii { \stemDown d,8 f }
>
- \stemboth |
+ \stemBoth |
<c1 g e>
\bar "|.";
}
g'-\mordent g, g'-\mordent g, |
g' r s s | s s s s \clef "bass"; |
<
- { \stemup g1 ~ g ~ g ~ g ~ g ~ g ~ g }
- \context Voice=ii { \stemdown g,1 ~ g ~ g ~ g ~ g ~ g ~ g }
+ { \stemUp g1 ~ g ~ g ~ g ~ g ~ g ~ g }
+ \context Voice=ii { \stemDown g,1 ~ g ~ g ~ g ~ g ~ g ~ g }
>
<c,1 c,>
\bar "|.";
-\version "1.3.59";
+\version "1.3.93";
upper = \context Staff \notes\relative c{
\context Voice=i
\property Voice . textStyle = "italic"
<d2 c a>
r4
<d c a>
- < { \stemup [d8 g, 8 b d] }
- \context Voice = ii < \stemdown b g >
+ < { \stemUp [d8 g, 8 b d] }
+ \context Voice = ii < \stemDown b g >
>
<b4 g>
c2
r4
<
- { \stemup c ~ c8}
- \context Voice=ii { \stemdown <e,4 a> ~ <e8 a> }
+ { \stemUp c ~ c8}
+ \context Voice=ii { \stemDown <e,4 a> ~ <e8 a> }
>
- \stemboth
+ \stemBoth
d, fis a fis d c' a |
b g b d b g f'! d |
e g, c e c g g' e |
lower = \context Staff \notes\relative c{
\context Voice=i
<
- { \stemup c1 ~ | c ~ | c }
- \context Voice=ii { \stemdown c,1 ~ | c ~ | c }
+ { \stemUp c1 ~ | c ~ | c }
+ \context Voice=ii { \stemDown c,1 ~ | c ~ | c }
>
- \stemboth |
+ \stemBoth |
r8 c e g e c c' e, |
fis d fis a fis d d' fis, |
g2 r4 g |
%}
-\version "1.3.59";
+\version "1.3.93";
upper = \notes \transpose c'' {
}
-\version "1.3.59";
+\version "1.3.93";
upper = \context Staff \notes\relative c
\context Voice=i {
a gis fis e d' b |
<
{
- \stemup
+ \stemUp
\property Voice . textStyle = "roman"
c4-\mordent^"(\\textsharp)" r r |
c4-\mordent^"(\\textsharp)" r r
\property Voice . textStyle = "italic"
}
- \context Voice=ii { \stemdown a4 r r | a4 r r }
+ \context Voice=ii { \stemDown a4 r r | a4 r r }
> |
- \stemboth
+ \stemBoth
a'8 es d c bes a |
g fis e! d c' a |
%15
f d f a d g, |
<
{
- \stemup
+ \stemUp
% ... textnatural
% cis8-\prall e8-"poco cresc." cis a e' cis
cis8-\prall e8 cis a e' cis
}
- \context Voice=ii { \stemdown a4 }
+ \context Voice=ii { \stemDown a4 }
>
- \stemboth
+ \stemBoth
a8 e' cis a bes! a |
g e' cis g e' cis |
g e' cis g a g |
d a' f d cis d |
e g e bes g' e |
bes g' e cis a g' |
- f16 d c bes \stemup a s16 s8 s4 |
+ f16 d c bes \stemUp a s16 s8 s4 |
% ugh
% s1 |
s4 s4 s4 |
%40
- s4 s16 [d16 f a] \stemdown [d, f a] \stemup d |
- \stemboth
+ s4 s16 [d16 f a] \stemDown [d, f a] \stemUp d |
+ \stemBoth
f a f d f d b d gis, b a gis |
% arpeggio
<g'!4. e a,> a8
< f4 d a > ~
[f8 e]
- < { \stemup
+ < { \stemUp
e4.^\prall d8
}
- \context Voice=ii { \stemdown cis2 }
+ \context Voice=ii { \stemDown cis2 }
>
- \stemboth
+ \stemBoth
d8 c! a d bes g |
%45
c a fis bes g e |
cis, r r |
cis cis' cis, |
d s16
- \stemdown
+ \stemDown
[g'16 f e] f a d, f |
- a, \stemup [d c bes]
- a \stemdown [ g f e] d f a d |
- \stemup
+ a, \stemUp [d c bes]
+ a \stemDown [ g f e] d f a d |
+ \stemUp
[f a]
- \stemdown
+ \stemDown
[d, f] a s s8 s4-"*" |
- \stemboth
+ \stemBoth
% ugh whole rest has duration of one bar
R2. |
% r4 r r |
}
-\version "1.3.59";
+\version "1.3.93";
one = \context Staff \notes\relative c{
\context Voice=i
\skip 1; |
- \stemup
+ \stemUp
r4 d''2 cis4 |
- \stemboth
+ \stemBoth
d16 a' g f e f cis d
e8.-\mordent f16 d8.-\prall cis16 |
- \stemup
+ \stemUp
cis4 ~ cis16 a d8 ~ d4 a |
%5
b2 ~ b4 a ~ |
- a16 a \stemup g! f g4 ~ g f ~ |
+ a16 a \stemUp g! f g4 ~ g f ~ |
f16 a g f e16 g8. ~ g16 g f e d f8. ~ |
f16 f e d b'4 a g |
\context Voice=ii
r16 d'' c bes a bes f g
a8.-\mordent bes16 g8.-\prall f16 |
- \stemdown
+ \stemDown
f2 e2 |
- \translator Staff=lower \stemup
+ \translator Staff=lower \stemUp
r4 a, bes b |
- \translator Staff=upper \stemdown
+ \translator Staff=upper \stemDown
r16 b' a g f8. f16 e2 ~ |
%5
e2 ~ e4 ~ e16 e f! d |
three = \context Staff \notes\relative c{
\context Voice=iii
- \stemup
+ \stemUp
f2 e |
- \stemboth
+ \stemBoth
d16 d' c bes a bes f g
a8.-\mordent bes16
g8.-\prall f16 |
f2 g4 gis |
a2 ~ a16 a g f e f c d |
%5
- e8.-\mordent f16 d8.-\prall c16 \stemboth c4. d8 |
- \stemdown
+ e8.-\mordent f16 d8.-\prall c16 \stemBoth c4. d8 |
+ \stemDown
e4 ~ e16 f e d cis a b cis d e f d |
\property Voice . textStyle = "finger"
bes!2 a ~ |
four = \context Staff \notes\relative c{
\context Voice=iv
- \stemdown
+ \stemDown
d2 cis |
\skip 1*2; |
\skip 4*3;
- \translator Staff=upper \stemup \property Voice.horizontalNoteShift = 1
+ \translator Staff=upper \stemUp \property Voice.horizontalNoteShift = 1
c''4 |
%5
a gis ~ gis16 gis fis e
\skip 4*1;
- \translator Staff=lower \stemdown \property Voice.horizontalNoteShift = 0
- \stemup
+ \translator Staff=lower \stemDown \property Voice.horizontalNoteShift = 0
+ \stemUp
b2 a |
g a4. gis16 a |
gis2 < g8 cis,> <f d> e4 |
d4. fis16 g r16 bes8. ~ bes4 |
%10
- \stemdown
+ \stemDown
d,1
}
-\version "1.3.59";
+\version "1.3.93";
\include "allemande-urtext.ly";
allemande_a = \context Staff \notes \relative c {
\context Voice=i
- \stemup
+ \stemUp
a'16 |
- a8 bes16()a \stemboth
+ a8 bes16()a \stemBoth
g()f e()d d()cis d()e a,8 bes16()g |
- f( a )d f, e8 cis' \stemup d8. e16 \stemboth f g a bes! |
+ f( a )d f, e8 cis' \stemUp d8. e16 \stemBoth f g a bes! |
%3
- \stemup c8 d16()es \stemboth d()c bes()a c()bes a()g d'8. f,16 |
+ \stemUp c8 d16()es \stemBoth d()c bes()a c()bes a()g d'8. f,16 |
e( g )bes d c()bes a()g bes()a g()f
< f8. a> <f16 a > |
% urg fix
- b f( e )d e cis' d cis \stemup d8. e16 \stemboth
+ b f( e )d e cis' d cis \stemUp d8. e16 \stemBoth
f( e d)e |
%6
d( c b )c b( a gis)a gis8-\prall fis16()e e' c( a )g |
- \stemup e' a, f d d f d b \stemboth
+ \stemUp e' a, f d d f d b \stemBoth
gis( b e )gis b d c b |
%8
c( a f )e d( f e )d gis8.-\trill()a16 b d e, d |
% urg
- c e a d \stemup b8.-\trill a16 a8 s4 s8 \stemboth |
+ c e a d \stemUp b8.-\trill a16 a8 s4 s8 \stemBoth |
%10
- d,!16 gis( a b a gis fis )e \stemup e8 f16()e \stemboth
+ d,!16 gis( a b a gis fis )e \stemUp e8 f16()e \stemBoth
d()c b()a |
- \stemup d8 e16()f \stemboth e d c b
- \stemup d'16()b c()a \stemboth e8 gis |
+ \stemUp d8 e16()f \stemBoth e d c b
+ \stemUp d'16()b c()a \stemBoth e8 gis |
a,8. cis16 e g! f! e f a d gis, [ a8. ]
%13
- e16 \stemup e8. f16 \stemboth
+ e16 \stemUp e8. f16 \stemBoth
g!()e f()a cis,( d )e bes a8.-\trill()g16 |
f a'(f)d g b,()cis a' g(f e)d fis d()es c( |
%15
)bes g'(a, )g fis a d c' bes(fis)g bes d()a bes()g |
es(d)es g c()a bes()g d c d g bes()fis g()es |
%17
- c(bes)c bes' a(c)es g, \stemup fis8-\trill g16 a \stemboth
+ c(bes)c bes' a(c)es g, \stemUp fis8-\trill g16 a \stemBoth
d,8 es16 c |
- bes d g bes, d,8 fis' \stemup g8. a16 \stemboth bes d g, f |
+ bes d g bes, d,8 fis' \stemUp g8. a16 \stemBoth bes d g, f |
%19
- \stemup e8.-\trill f16 \stemboth g e c bes
+ \stemUp e8.-\trill f16 \stemBoth g e c bes
a()f' g,()f e g'( a )bes |
bes( a g )f
a()e f()d bes d(f)a d()a bes()g |
%23
cis(e g!)bes e()a, bes()g f()cis d()gis, a8 cis! |
% knee
- \stemup d,16 \stemboth d''(c!)a bes!(g)e cis' d a f d d,8.
+ \stemUp d,16 \stemBoth d''(c!)a bes!(g)e cis' d a f d d,8.
}
allemande_b = \notes \relative c {
\context Voice=ii
- \stemdown
+ \stemDown
s16 |
% <d'8 g' f'> s8 s2. |
<f8 g, d> s8 s2. |
s1 |
f!16 s16*3 b, s16*3 s2 |
s1 |
- \slurdown
+ \slurDown
s4 e [dis8 ~ dis32 e( fis gis] [a b c d! c b c )a] |
- \slurboth
+ \slurBoth
%10
s2 <a8 c,> s8 s4 |
<b8 gis,> s8 s4 <e,8 a,> s8 s4 |
>
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
\include "allemande-urtext.ly";
-\version "1.3.59";
+\version "1.3.93";
\include "courante-urtext.ly";
\context Voice=i
d'16 |
d a f a d, f g a bes a bes g |
- \stemup <g4 a> s4 \stemboth g16 f g e |
+ \stemUp <g4 a> s4 \stemBoth g16 f g e |
% urg, a good case for mean-distance-beam-dir-algorithm!
f d e c! bes(a)bes a' g f e d |
%4
cis e a,(b cis d e f )g bes-- a e |
f a d,( e f g a bes )c bes-- d c |
- \stemup <c4 f,> ~ < c16 f,> bes a g \stemboth f()es d()es |
+ \stemUp <c4 f,> ~ < c16 f,> bes a g \stemBoth f()es d()es |
%7
d bes(a)bes d bes e! bes f' bes, g' bes, |
e, g c d e f g a bes a bes g |
e'16
%17
e cis a cis e, f g a bes()g cis()g |
- \stemup d'4 ~ d16 a d e f d a c! \stemboth |
+ \stemUp d'4 ~ d16 a d e f d a c! \stemBoth |
b16 f(d)f g, d' f g b f d' f, |
%20
e g c, d e f g a bes! d c g |
- \stemup a s16*3 s4 s4
- d, ~ d16 e! f g \stemboth a bes c d |
+ \stemUp a s16*3 s4 s4
+ d, ~ d16 e! f g \stemBoth a bes c d |
%23
e, bes a g a f' g,()f c g' f' e |
f a bes a g f e f g e f d |
courante_b = \notes \relative c {
\context Voice=ii
- \stemdown
+ \stemDown
s16 |
s2. |
%2
f'4 s s |
s2.*2
%21
- \slurup
+ \slurUp
f16 c'(bes a g f es d )es c' f, es |
- \slurboth
+ \slurBoth
bes4 s s
s2.*9
s2 s8.
\$courante_b
>
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
\include "courante-urtext.ly";
-\version "1.3.59";
+\version "1.3.93";
\include "gigue-urtext.ly";
f4-\trill a8 | b,()g' cis, | d f16( c bes )a | g8()es' a, |
bes d16( a g )f | e!8()cis' bes' a g16( f e)d |
%15
- \stemup e(f g e f)d \stemboth e8()a, c'! |
- \stemup c16(d es c d)a bes8 r bes |
+ \stemUp e(f g e f)d \stemBoth e8()a, c'! |
+ \stemUp c16(d es c d)a bes8 r bes |
bes16(c d bes c)g a8 r a |
%21
b16()c d()b c()a | d()e f()d e()c | b()c d()b c()a | e'4 gis,8 |
%27
a()b c()a d()b |
a()b c()a d()b |
- f'8 e16()d c()b \stemboth |
+ f'8 e16()d c()b \stemBoth |
e,, e''(d)c b()gis | a f(e)d e()cis | a4
%33
c'!8 |
%45
as(g)as fis g es' | d,8 g fis | g16 es(d)c d()bes | g4 bes'8
% what about this?
- \stemup\stemdown e,!16(f)g e f d\stemboth
+ \stemUp\stemDown e,!16(f)g e f d\stemBoth
c(d e) c d bes | a(bes)c a bes g | f4 a'8
% what about this?
- \stemup\stemdown d,16(e)f d e c\stemboth bes(c)d bes c a
+ \stemUp\stemDown d,16(e)f d e c\stemBoth bes(c)d bes c a
g16(a)bes g a f | e4 g'8
%57
a,16(b cis d)e g-. | f(g a cis )d f, | e(f g a)bes d,-. |
cis(d)e a, bes g
- \stemup
+ \stemUp
d'()e f()d g()e |
%62
d()e f()d g()e |
d()e f()d g()e |
d()e f()d g()e |
- \stemboth
+ \stemBoth
cis bes'(a g f)e | f, a' g f e cis |
%67
d bes a g a f | d a' d e f d |
- \stemup es()f g()es f()d | g()a bes()g a()f es()f g()es f()d |
+ \stemUp es()f g()es f()d | g()a bes()g a()f es()f g()es f()d |
%72
- cis'4 \stemboth d16()c | bes(a g f e)d | cis(b a g f)e | d f a d f a |
+ cis'4 \stemBoth d16()c | bes(a g f e)d | cis(b a g f)e | d f a d f a |
d4
}
gigue_b = \context Staff \notes \relative c {
\context Voice=ii
- \stemdown
+ \stemDown
s8
s4.*14
a4. | s d | d8 g, d' | e4. | f8 f, f' |
%33
s8
s4.*16
- \stemup bes4 s8
+ \stemUp bes4 s8
s4. s s
- a8 s4 \stemdown
+ a8 s4 \stemDown
s4.*7
<a,8 f> s s g s s a s s bes s s
s4.*4
\$gigue_b
>
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
\include "gigue-urtext.ly";
-\version "1.3.59";
+\version "1.3.93";
\include "menuetto-urtext.ly";
}
\repeat "volta" 2 {
\skip 2.*1;
- \slurdotted
+ \slurDotted
\skip 2.*14;
\emptyText
s2._"Fine"
}
\repeat "volta" 2 {
\skip 2.*1;
- \slurdotted
+ \slurDotted
\skip 2.*14;
\emptyText
s2._"Menuetto I da Capo"
menuetto_i_b = \context Staff \notes \relative c {
\context Voice = ii
- \stemdown
+ \stemDown
\skip 2.*1; |
<e8 c> \skip 8*5; |
\skip 2.*1; |
a,8 \skip 8*5; |
\skip 2.*1; |
e'8 \skip 8*5; |
- \stemboth
+ \stemBoth
s2.*2 |
s2.
g8 \skip 8*5; |
% UGH, fix this like in sarabande
menuetto_i_a_voice_urg = \notes{
\context Voice = i
- \skip 2.*1; \stemup
- \skip 2.*1; \stemboth
- \skip 2.*1; \stemup
- \skip 2.*1; \stemboth
- \skip 2.*1; \stemup
- \skip 2.*1; \stemboth
- \skip 2.*3; \stemup
- \skip 2.*1; \stemup
+ \skip 2.*1; \stemUp
+ \skip 2.*1; \stemBoth
+ \skip 2.*1; \stemUp
+ \skip 2.*1; \stemBoth
+ \skip 2.*1; \stemUp
+ \skip 2.*1; \stemBoth
+ \skip 2.*3; \stemUp
+ \skip 2.*1; \stemUp
\skip 2.*3;
- \skip 4*2; \stemboth
- \skip 4*2; \stemup
- \skip2.*1; \stemup
- \skip 4*2; \stemboth
- \skip2.*1; \stemup
- \skip 2.*1; \stemboth
- \skip 2*1; \stemup
+ \skip 4*2; \stemBoth
+ \skip 4*2; \stemUp
+ \skip2.*1; \stemUp
+ \skip 4*2; \stemBoth
+ \skip2.*1; \stemUp
+ \skip 2.*1; \stemBoth
+ \skip 2*1; \stemUp
\skip 4*1;
- \skip 2.*4; \stemboth
+ \skip 2.*4; \stemBoth
\skip 2.*1;
}
menuetto_i_b_voice_urg = \notes{
\context Voice=ii
- \stemdown
+ \stemDown
% urg urg, huh?
- \skip 2.*8; \stemdown
+ \skip 2.*8; \stemDown
}
menuetto_i_b_voice_urg_urg = \notes<
d8( cis )b cis a g |
% ugh, forcing knee
% Lily's not yet smart enough to decide for herself.
- \stemup fis \stemboth d''( cis b a )g |
+ \stemUp fis \stemBoth d''( cis b a )g |
b( a g fis e )d |
%7
cis d g4 fis8( g16 )a |
- <\stemdown a,2. \stemup e'> |
- \stemboth
+ <\stemDown a,2. \stemUp e'> |
+ \stemBoth
cis4^\prall e8( d cis )b |
cis4 g, cis' |
fis,8()a d4 fis |
d2.
}
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
\include "menuetto-urtext.ly";
\clef violin;
\skip 2.*1;
} \repeat "volta" 2 {
- \slurdotted
+ \slurDotted
\skip 2.*3;
\clef alto;
\skip 2.*11;
\skip 2.*8;
} \repeat "volta" 2 {
\skip 2.*1;
- \slurdotted
+ \slurDotted
\skip 2.*14;
\emptyText
s2._"Menuetto I da Capo"
-\version "1.3.59";
+\version "1.3.93";
\include "prelude-urtext.ly";
e cis b cis a b cis d e d e cis |
%47
d b a b f gis b cis d cis d b |
- \stemup <cis4^\fermata e,> \stemboth r r |
+ \stemUp <cis4^\fermata e,> \stemBoth r r |
bes16 g fis g es g d g es g bes d, |
cis-- e! g a bes8. a16 g fis g e' |
%51
d bes a g fis-- a c! es d c bes a |
bes g fis g es g d g es g bes d, |
%54
- \stemup g'8. f16
- e!16 d cis b a g f e \stemboth |
+ \stemUp g'8. f16
+ e!16 d cis b a g f e \stemBoth |
d-- a' d e f e d c! bes! a g f |
e-- a cis e g f e d cis b a g |
f a d f a d, f a d bes! c! a |
g, d' g a bes g fis g es' g, d' g, |
- \stemup <cis2. g> | <d f,> | <d e,> | <cis e,> | <d f,>
+ \stemUp <cis2. g> | <d f,> | <d e,> | <cis e,> | <d f,>
}
prelude_b = \notes \relative c {
\context Voice=ii
- \stemdown
+ \stemDown
s2.*47
%48
g4 s2 |
\$prelude_b
>
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
\include "prelude-urtext.ly";
-\version "1.3.59";
+\version "1.3.93";
\include "sarabande-urtext.ly";
sarabande_a = \context Staff \notes \relative c {
\context Voice=i
- \stemup d8. e16 e4.-\trill d16 e |
- f4. \stemboth e8 d c |
+ \stemUp d8. e16 e4.-\trill d16 e |
+ f4. \stemBoth e8 d c |
[bes g'] f e16(f g a bes)d, |
cis4.-\trill b8 a g |
% copy bar 1, half bar 2
- \stemup d'8. e16 f4.-\trill d16 e |
+ \stemUp d'8. e16 f4.-\trill d16 e |
%5
- f4. \stemboth d8 e f |
+ f4. \stemBoth d8 e f |
g bes16()a c()bes a()g d'8 f, |
- \stemup e4.-\trill \stemboth d8 c bes |
+ \stemUp e4.-\trill \stemBoth d8 c bes |
%8
- \stemup f' g16()a a4. g16()f |
+ \stemUp f' g16()a a4. g16()f |
g8 a16()bes bes4. c16()d |
% 11
- \stemboth e,8 f c, g' f' e |
+ \stemBoth e,8 f c, g' f' e |
f4 f,2 |
- \stemup a'4 a4.-\trill bes8 |
- c bes16 a \stemboth fis8.-\trill es16 d8 c |
+ \stemUp a'4 a4.-\trill bes8 |
+ c bes16 a \stemBoth fis8.-\trill es16 d8 c |
bes g' a, fis' es' d |
%16
- \stemup bes4.-\trill \stemboth a8 g f! |
+ \stemUp bes4.-\trill \stemBoth a8 g f! |
e bes a f' g a |
d, as g es' f g |
cis, bes' a g16 f e!8 f16 d |
cis8 e16 a a,8. g'16 f8()e |
%21
- \stemup d e16()f f4. e16()d |
+ \stemUp d e16()f f4. e16()d |
e8 f16()g g4. a16()bes |
a8 cis16 d d,8 e16 f32 g f8-\trill e16()d |
d4 d,16 a'( b cis d e f )g |
%25
a(b c)b c4. b16()a |
b cis d cis d4. e16()f |
- \stemboth d(cis)d f, a,8 e' d' cis |
+ \stemBoth d(cis)d f, a,8 e' d' cis |
d4 d,,2 |
}
sarabande_b = \context Staff \notes \relative c {
\context Voice=ii
- \stemdown
+ \stemDown
% dispute
% d4 a2 |
% this avoids the clash bug
\$sarabande_b
>
-\version "1.3.59";
+\version "1.3.93";
-\version "1.3.59";
+\version "1.3.93";
\include "sarabande-urtext.ly";
%{
TODO: use autobeaming.
%}
-\version "1.3.59";
+\version "1.3.93";
tenor =
\context Voice = tenor \notes \relative c' {
\clef "violin";
- \stemdown
+ \stemDown
r8 [c8 d e] [f8. g32 f] [e8 a] |
[d, g] ~ [g16 a g f] [e f e d] [c d c b ] |
[a 8 fis'] g4 ~ [g8 fis16 e] [f8 d] |
[e fis] [g8. a32 g] [fis8 b e, a] ~ |
[a16 b a gis] [fis8 f!] [e d] ~ [d16 e fis gis] |
[a gis a b] [gis fis gis a] b8 r8 r4 |
- r8 [c,8 d e] \stemup [f8. g32 f] [e8 a] |
+ r8 [c,8 d e] \stemUp [f8. g32 f] [e8 a] |
%% 15
- [d, g] ~ [g16 a g f] e8 \stemdown [e fis g] ~ |
+ [d, g] ~ [g16 a g f] e8 \stemDown [e fis g] ~ |
[g8 fis] [gis8 a] ~ [a g! a b] |
- \stemboth
+ \stemBoth
[c8. d32 c ] [b8 e ] [a, d ] ~ [d 16 e d c ] |
[b8 g' cis, d ] [e cis d e ] |
- \stemdown a,8 r8 r e [fis g] \stemboth [a8. b32 a] |
+ \stemDown a,8 r8 r e [fis g] \stemBoth [a8. b32 a] |
%% 20
- [g8 c fis, b] ~ [b16 c b a] \stemdown [g fis e d] \stemboth |
- e4 \stemdown d ~ [d16 a' g f!] [e g f! a] |
+ [g8 c fis, b] ~ [b16 c b a] \stemDown [g fis e d] \stemBoth |
+ e4 \stemDown d ~ [d16 a' g f!] [e g f! a] |
g4 ~ [g16 a bes8] c 4 [d 8 g,] |
- \stemboth g4. f8 ~ [f e] d4 |
- \stemdown e8 a4 g8 ~ [g8 f g a] |
+ \stemBoth g4. f8 ~ [f e] d4 |
+ \stemDown e8 a4 g8 ~ [g8 f g a] |
%% 25
[bes8. c32 b] [a8 d ] [g, c ] ~ [c 16 d c bes] |
[a bes a g] [f g f e] d4 ~ [d8. g16] |
soprane =
\context Voice = sop \notes \relative c' {
- \stemup
+ \stemUp
r1 |
r2 r8 [g'8 a b] |
[c8. d32 c ] [b8 e ] [a, d ] ~ [d 16 e d c ] |
\clef "bass";
- \stemup
+ \stemUp
r1 |
r |
r |
\clef "bass";
- \stemdown
+ \stemDown
r1 |
r |
r |
% It would be nice to squeeze this onto two pages, but I am not sure
% if it would work with US paper.
-\version "1.3.59";
+\version "1.3.93";
dux = \context Voice=two \notes \relative c''{
- \voicetwo
+ \voiceTwo
\clef violin;
r8 c16 b c8 g as c16 b c8 d |
as4 r8 a bes bes16 a bes8 f |
g4 r8 g as as g f |
r8
- \translator Staff = bass \stemup
+ \translator Staff = bass \stemUp
as, bes c r8 as16 g as8 f8 |
bes8 c bes as bes g f es |
f des' c bes c as g f |
g8
g'16 fis g8 c,
es \translator Staff = treble
- \stemboth
- \stemdown
+ \stemBoth
+ \stemDown
g16 fis! g8 a |
d, g16 fis g8 a! c,16 d es4 d16 c | % forced accident!
bes8 r8 r16 d e fis g a bes8 ~ bes16 e, f g |
as f'16 es f8 a,8 bes g'16 f g8 b, |
%%20
c16 f \translator Staff = bass
- \stemboth \stemup
+ \stemBoth \stemUp
es d c bes! as g
f8 \translator Staff = treble
- \stemboth \stemdown
+ \stemBoth \stemDown
as' g f |
es d es f b, c d b |
c4 r8 e8 f f16 e f8 c |
comes = \context Voice=one \notes \relative c'' {
- \voiceone
+ \voiceOne
R1 |
R1 |
r8 g'16 fis g8 c, es g16 fis g8 a |
f f16 e f8 c8 d4 r8 d |
es8 es16 d es8 bes c es16 d es8 f |
bes, es16 d es8 f as,16 bes c4 bes16 as |
- \stemboth g16 es f g as bes c d es d c d es f g a |
+ \stemBoth g16 es f g as bes c d es d c d es f g a |
bes f, g as bes c d e f es d es f g a b |
%%15
- \stemup c8 b16 a g f! es d c8 es d c |
+ \stemUp c8 b16 a g f! es d c8 es d c |
bes a bes c fis,! g a fis | % forced accident
g8 d'16 c d8 r8 r8 e16 d e8 r8 |
r fis16 e fis8 r r g,16 f g8 r8 |
c16 d es8~ es16 a, bes c d es f8~ f16 b, c d |
%%20
% es8 r r e f f, es! d | % -> \classic_accidentals
- es8 r r e \stemboth \stemdown f f, es! d \stemboth |
+ es8 r r e \stemBoth \stemDown f f, es! d \stemBoth |
r as' g f g f16 es f8 g |
c16 d es d c bes as g f bes' as g f es d c |
bes c d c bes as g f es as' g f es d c bes |
d c g' g,
%%30
\context Staff=bass <
- {\stemup c2 ~ | c1 ~ | c1 }
- \context Voice=four {\stemdown c,2 ~ | c1 ~ | c1 }
+ {\stemUp c2 ~ | c1 ~ | c1 }
+ \context Voice=four {\stemDown c,2 ~ | c1 ~ | c1 }
>
}
lastupdated = "1999/Oct/14";
}
-\version "1.3.59";
+\version "1.3.93";
% should do programmable input.
soprane =
\time 4/4;
\clef "violin";
- \stemup
+ \stemUp
r8 [g16 c'] [e' g c' e'] r8 [g16 c'] [e' g c' e'] |
r8 [a16 d'] [f' a d' f'] r8 [a16 d'] [f' a d' f'] |
r8 [g16 d'] [f' g d' f'] r8 [g16 d'] [f' g d' f'] |
r8 [e16 g] [c' e g c'] r8 [e16 g] [c' e g c'] |
r8 [e16 g] [c' e g c'] r8 [e16 g] [c' e g c'] }
% Tenor
- \context Voice = dVoice {\stemdown
+ \context Voice = dVoice {\stemDown
r16 e8. ~ e4 r16 e8. ~ e4 |
r16 d8. ~ d4 r16 d8. ~ d4 |
r16 d8. ~ d4 r16 d8. ~ d4 |
\clef "bass";
- \stemdown
+ \stemDown
c'2 c' |
c' c' |
b b |
%% 10
\context Staff <
\context Voice = Alt
- {\stemup
+ {\stemUp
r16 a8. ~ a4 r16 a8. ~ a4 |
r16 b8. ~ b4 r16 b8. ~ b4 |
r16 bes8. ~ bes4 r16 bes8. ~ bes4 |
c1 ||}
\context Voice = Bass
- {\stemdown
+ {\stemDown
d2 d |
g g |
g g |
definition below. --MB
%}
-\version "1.3.59";
+\version "1.3.93";
global = \notes {
\property StaffGroup.timeSignatureStyle = "old"
(de-uglify-parameters . ( 1.5 0.8 -2.0))
(details . ((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5) (beautiful . 0.5)))
(y-free . 0.75)
- (name . "slur")
+ (name . "Slur")
)
)
if 1:
def conv (str):
-# if re.search ('latexheaders *= *"\\\\input ',str):
-# sys.stderr.write ('\nHello???')
str = re.sub (r'latexheaders *= *"\\\\input ',
'latexheaders = "',
str)
conversions.append ((1,3,68), conv, 'latexheaders = "\\input global" -> latexheaders = "global"')
+
+################ TODO: lots of other syntax change should be done here as well
+
+
+
+if 1:
+ def conv (str):
+ str = re.sub ('basicCollisionProperties', 'NoteCollision', str)
+ str = re.sub ('basicVoltaSpannerProperties' , "VoltaBracket", str)
+ str = re.sub ('basicKeyProperties' , "KeySignature", str)
+
+ str = re.sub ('basicClefItemProperties' ,"Clef", str)
+
+
+ str = re.sub ('basicLocalKeyProperties' ,"Accidentals", str)
+ str = re.sub ('basicMarkProperties' ,"Accidentals", str)
+ str = re.sub ('basic([A-Za-z_]+)Properties', '\\1', str)
+ return str
+
+ conversions.append ((1,3,92), conv, 'basicXXXProperties -> XXX')
+
+if 1:
+ def conv (str):
+ str = re.sub ('\\\\stemup', '\\\\stemUp', str)
+ str = re.sub ('\\\\stemdown', '\\\\stemDown', str)
+ str = re.sub ('\\\\stemboth', '\\\\stemBoth', str)
+ str = re.sub ('\\\\slurup', '\\\\slurUp', str)
+ str = re.sub ('\\\\slurboth', '\\\\slurBoth', str)
+ str = re.sub ('\\\\slurdown', '\\\\slurDown', str)
+ str = re.sub ('\\\\slurdotted', '\\\\slurDotted', str)
+ str = re.sub ('\\\\slurnormal', '\\\\slurNoDots', str)
+
+ str = re.sub ('\\\\shiftoff', '\\\\shiftOff', str)
+ str = re.sub ('\\\\shifton', '\\\\shiftOn', str)
+ str = re.sub ('\\\\shiftonn', '\\\\shiftOnn', str)
+ str = re.sub ('\\\\shiftonnn', '\\\\shiftOnnn', str)
+
+ str = re.sub ('\\\\onevoice', '\\\\oneVoice', str)
+ str = re.sub ('\\\\voiceone', '\\\\voiceOne', str)
+ str = re.sub ('\\\\voicetwo', '\\\\voiceTwo', str)
+ str = re.sub ('\\\\voicethree', '\\\\voiceThree', str)
+ str = re.sub ('\\\\voicefour', '\\\\voiceFour', str)
+
+ return str
+
+ conversions.append ((1,3,93), conv,
+ 'property definiton case (eg. onevoice -> oneVoice)')
+
+
+
+
############################