-1.3.40.jcn4
-===========
-
-* More windows distribution changes:
-
1.3.40.jcn3
===========
* input/test: Removed stale AutoStaffSwitch examples.
-* mutopia/E.Saite: Fixed gnossiene-4, doing \autochange. Removed stale
-copy of gnossiene-4.
-
-1.3.40.jcn2
-===========
+* mutopia/E.Saite: Fixed gnossiene-4, doing \autochange. Removed
+stale copy of gnossiene-4.
* buildscripts/make-cygwin-cross.sh: Made some small .zip package fixes.
-* make/lilypond.spec.in: Made some bugfixes for _prefix.
+* make/lilypond.spec.in: Made some bugfixes for _prefix, preparations
+for cross-building to Cygwin.
-1.3.40.jcn1
+* buildscripts/make-cygwin-cross.sh: Now using rpm packages.
+
+1.3.40.hwn2
===========
-* make/lilypond.spec.in: Preparations for cross-building to Cygwin.
+* added \property XXXMinimumVerticalExtent, \property XXXExtraVerticalExtent
-* buildscripts/make-cygwin-cross.sh: Now using rpm packages.
+* New_chord_tremolo_engraver: make tremolo beams from
+
+ \repeat "tremolo" NUMBER <Music-expression>
+
+Removed support for "old-style" tremolos.
+
+* Add a convert-mudela function for the conversion "\key A;" to "\key a;
+
+* Read \property measurePosition within the engraver code, instead of
+looking up the Timing_translator.
+
+* star-spangled-banner.ly: add Bar_engraver to LyricsVoice
+
+* Changed all .fly and .sly files to .ly files. Propose to dump .fly
+and .sly.
+
+1.3.40
+======
1.3.39.jbr1
===========
* Don't fix up reference points for originals of broken
spanners. Fixes spurious "orphaned score-element" warnings.
-2000-03-24 <janneke@gnu.org>
-
* buildscripts/make-cygwin-cross.sh: Use rx-1.5 instead of regex (Jeffrey).
* scm/lily.scm: Fixed check for Windows: by default don't use scm regex.
shifted dots. (Wanske p. 186) In case of chords, all dots should be in
a column. The dots go along as rests are shifted to avoid collisions.
-@mudelafile{dots.fly}
+@mudelafile{dots.ly}
Multiple measure rests do not collide with barlines and clefs. They
are not expanded when you set @code{Score.skipBars}. Although the
as half notes cannot appear in a regular beam, and should reach the
stems.
-@mudelafile{chord-tremolo.sly}
+@mudelafile{chord-tremolo.ly}
Beams, stems and noteheads often have communication troubles, since
the two systems for y dimensions (1 unit = staffspace, 1 unit = 1
on the middle staff line. Of course stem-direction is down for high
notes, and up for low notes.
-@mudelafile{stem-direction.sly}
+@mudelafile{stem-direction.ly}
Similarly, if @code{stem_default_neutral_direction} is set to @code{-1}.
The staccato dot (and all scripts with follow-into-staff set), must
not be on staff lines.
-@mudelafile{staccato-pos.sly}
+@mudelafile{staccato-pos.ly}
@section Grace notes
second staff line. This does not hold for grace note beams.
Override with @code{noStemExtend}.
-@mudelafile{beam-position.sly}
+@mudelafile{beam-position.ly}
Slurs should look nice and symmetric. The curvature may increase
only to avoid noteheads, and as little as possible.
semi-unfolded. Unfolded repeats are fully written out. Semi unfolded
repeats have the body written and all alternatives sequentially.
Folded repeats have the body written and all alternatives
-simultaneously. If the number of alternatives is larger than the
+simultaneo.ly. If the number of alternatives is larger than the
repeat count, the excess alternatives are ignored. If the number of
alternatives is smaller, the first alternative is multiplied to get to
the number of repeats.
adjusted. Barlines also are adjusted.
-@mudelafile{number-staff-lines.fly}
+@mudelafile{number-staff-lines.ly}
@section Spacing
In a limited number of cases, LilyPond corrects for optical spacing
effects. In this example, space for opposite pointed stems is adjusted
-@mudelafile{stem-spacing.sly}
+@mudelafile{stem-spacing.ly}
If there are accidentals in the music, we add space, but the space
between note and accidentals is less than between the notes with the
layout. The style ``1'', gives single number signatures for all
signatures.
%
-\mu delafile{time.fly}
+\mu delafile{time.ly}
@end ignore
@bye
DVI_FILES = $(addprefix $(outdir)/,$(DOC_FILES:.doc=.dvi) $(TELY_FILES:.tely=.dvi))
-EXTRA_DIST_FILES= $(DOC_FILES) $(DATA_FILES) $(wildcard *.itexi *.itely)
-
+EXTRA_DIST_FILES= $(DOC_FILES) $(DATA_FILES) $(wildcard *.itexi *.itely)
+
HTML_FILES = $(addprefix $(outdir)/, $(TELY_FILES:.tely=.html))
PS_FILES = $(DVI_FILES:.dvi=.ps) $(OUTDOC_FILES:.doc=.ps) $(OUTTEX_FILES:.tex=.ps)
# urg
default:
-GENHTMLS = engraving colorado glossary computer-notation
-OUTGENHTMLS = $(addprefix $(outdir)/, $(GENHTMLS:%=%.html))
-
local-WWW: $(HTML_FILES) $(datafiles) $(PS_GZ_FILES)
$(PYTHON) $(step-bindir)/ls-latex.py --title 'User documentation' \
$(DOC_FILES) $(TEX_FILES) $(TELY_FILES) \
-\input ruled
\input texinfo
@setfilename glossary.info
@item thirty-second note
I: biscroma, F: triple croche, UK: demisemiquaver, D:
-Zweiunddrei@ss{}igstel, Zweiunddrei@ss{}igstelnote, NL: 32e noot, DK:
-toogtredivtedelsnode, S: trettiotv@aa{}ondelsnot, N: .
+Zweiunddrei@ss{}igstel, Zweiunddrei@ss{}igstelnote, NL:
+twee-endertigste noot, DK: toogtredivtedelsnode, S:
+trettiotv@aa{}ondelsnot, N: .
@w{@ar{}@strong{note value}}
\property Score.barNonAuto = ##t
\property Voice.textStyle = "large"
\notes\relative c' {
- e2:32_"a" f:32 [ e8:16 f:16 g:16 a:16 ] s4 [:32 e1_"b" g]
-}
+ e2:32_"a" f:32 [ e8:16 f:16 g:16 a:16 ] s4 \repeat "tremolo" 16 { e32_"b" g }
+}
@end mudela
@item triad
When invoked with a filename that has no extension, LilyPond will try
-adding `@file{.ly}' as an extension first, then `@file{.fly}' and
-finally `@file{.sly}' extension. If the filename ends with
-`@file{.fly}', LilyPond processes the file as music using
-`@file{init.fly}'. In this case, LilyPond does something like:
-
-@quotation
-
-@example
-\score @{
- \notes\relative c @{
-1 \input "yourfile.fly"
- @}
- \paper@{@}
- \midi@{@}
-@}
-@end example
-
-@end quotation
-
-The result of `@file{.sly}' is similar except that a single unjustified
-line is produced.
+adding `@file{.ly}' as an extension first.
If you invoke LilyPond with a file `@file{foo.}@var{ext}' that doesn't
have the `@file{.ly}' extension, then LilyPond will look for a file
environment.
You can also use @code{mudelafile} (on a separate line, FIXME), to
-include another file. Files with name ending with @code{.sly}
+include another file.
@section Fontsize options You can use all lilypond fontsizes in
mudela-book. The default 16pt fontsize is probably to big to be
Merge noteheads in collisions, even if they have a different number of
dots. This normal notation for polyphonic guitar music.
-@mudelafile[verbatim]{force-hshift.sly}
+@mudelafile[verbatim]{force-hshift.ly}
[FIXME: this should be moved]
Beaming can be generated automatically; see section XREF-autobeam [FIXME].
+[OUTDATED, FIXME]
+
To place tremolo marks
@cindex tremolo beams
between two notes, begin
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=3
-PATCH_LEVEL=40
-MY_PATCH_LEVEL=jcn4
+PATCH_LEVEL=41
+MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
cd $NATIVE_PREFIX/src/redhat/BUILD
-mkdir -p $distdir
rm -f $distdir/$CYGWIN_DLL.gz
cd $distdir && cp -f $PREFIX/bin/$CYGWIN_DLL . && gzip -f $CYGWIN_DLL
rm -f $www/setup.zip
cd $www && zip setup.zip lily-w32 $distbase/* $dist_rpms
-
-mkdir -p zip
-for i in guile-1 rpm lilypond; do
-
-done
## First, let's just see if we can find Guile at all.
echo $ac_n "checking "for guile-config"""... $ac_c" 1>&6
echo "configure:2666: checking "for guile-config"" >&5
- for guile_config in guile-config $build-guile-config; do
+ for guile_config in guile-config $target-guile-config $build-guile-config; do
echo "$ac_t"""$guile_config"" 1>&6
if ! $guile_config --version > /dev/null 2>&1 ; then
echo "configure: warning: "cannot execute $guile_config"" 1>&2
+++ /dev/null
-c' d e f g a b c
-
-% A simple scale in Mudela.
-%
-% Type:
-%
-% ly2dvi example-1
-% xdvi example-1 # or your dvi viewer here
-%
-% For more elaborate examples see twinkle.ly, input/* and mutopia/*.
-%
-% A docmument on Mudela is under construction: Documentation/tex/mudela.doc
-% (available as .ps from the website too).
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ c' d e f g a b c
+
+ % A simple scale in Mudela.
+ %
+ % Type:
+ %
+ % ly2dvi example-1
+ % xdvi example-1 # or your dvi viewer here
+ %
+ % For more elaborate examples see twinkle.ly, input/* and mutopia/*.
+ %
+ % A docmument on Mudela is under construction: Documentation/tex/mudela.doc
+ % (available as .ps from the website too).
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-a''2 ~ c4( [e8 )e] [a,16 a a a]
-
-% Some beamed and slurred notes of different taste in Mudela.
-%
-% Type:
-%
-% ly2dvi example-2
-% xdvi example-2 # or your dvi viewer here
-%
-% For more elaborate examples see twinkle.ly, input/* and mutopia/*.
-%
-% A docmument on Mudela is under construction: Documentation/tex/mudela.doc
-% (available as .ps from the website too).
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ a''2 ~ c4( [e8 )e] [a,16 a a a]
+
+ % Some beamed and slurred notes of different taste in Mudela.
+ %
+ % Type:
+ %
+ % ly2dvi example-2
+ % xdvi example-2 # or your dvi viewer here
+ %
+ % For more elaborate examples see twinkle.ly, input/* and mutopia/*.
+ %
+ % A docmument on Mudela is under construction: Documentation/tex/mudela.doc
+ % (available as .ps from the website too).
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
}
\translator {
\LyricsContext
+ }
+ \translator {
+ \LyricsVoiceContext
\consists "Bar_engraver";
+
}
}
\midi {}
+++ /dev/null
-\time 3/4;
-cisis'' cisis! cisis? |
-cis cis! cis? |
-c c! c? |
-ces ces! ces? |
-ceses ceses! ceses? |
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ \time 3/4;
+ cisis'' cisis! cisis? |
+ cis cis! cis? |
+ c c! c? |
+ ces ces! ces? |
+ ceses ceses! ceses? |
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ c''4 c4 cis4 cis [c8 c \clef "bass"; f,, f]
+
+ }
+ \paper {
+ linewidth=-1.0;
+ }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-c''4 c4 cis4 cis [c8 c \clef "bass"; f,, f]
+++ /dev/null
-\time 4/4;
-g''1 a2 b4. c8
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ \time 4/4;
+ g''1 a2 b4. c8
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-\time 4/4;
-g''1 a2 b4. c8
-\repeat "volta" 2 { a4 b c d } \alternative { { c c c c } { d2 d4 [d8 d] } }
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ \time 4/4;
+ g''1 a2 b4. c8
+ \repeat "volta" 2 { a4 b c d } \alternative { { c c c c } { d2 d4 [d8 d] } }
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-c'1:16
-\stemup
-c4:8 c4:16 [c8:16 c:] [c,8:16 c'':]
-\stemboth
-[c,,8:16 c'':]
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ c'1:16
+ \stemup
+ c4:8 c4:16 [c8:16 c:] [c,8:16 c'':]
+ \stemboth
+ [c,,8:16 c'':]
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-% beam-control.fly
-
-% from upper staffline (position 4) to centre (position 0)
-\property Voice.beamVerticalPosition = #4
-\property Voice.beamHeight = #-4
-[c'8 c]
-
-% from center to one above centre (position 2)
-\property Voice.beamVerticalPosition = #0
-\property Voice.beamHeight = #2
-[c c]
-
-% normal beam-algorithm
-\property Voice.beamHeight = ##f
-\property Voice.beamVerticalPosition = ##f
-[c e] [e c]
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ % beam-control.fly
+
+ % from upper staffline (position 4) to centre (position 0)
+ \property Voice.beamVerticalPosition = #4
+ \property Voice.beamHeight = #-4
+ [c'8 c]
+
+ % from center to one above centre (position 2)
+ \property Voice.beamVerticalPosition = #0
+ \property Voice.beamHeight = #2
+ [c c]
+
+ % normal beam-algorithm
+ \property Voice.beamHeight = ##f
+ \property Voice.beamVerticalPosition = ##f
+ [c e] [e c]
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ [b''16 a]
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-% beams should look the same
- [d''8 d d] [d g d]
- c c
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ % beams should look the same
+ [d''8 d d] [d g d]
+ c c
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ [f8 f] [f64 f] \grace { [f8 e8] }
+ \property Voice.noStemExtend = ##t
+ [f8 f]
+
+ }
+ \paper {
+ linewidth=-1.0;
+ }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-[f8 f] [f64 f] \grace { [f8 e8] }
-\property Voice.noStemExtend = ##t
-[f8 f]
+++ /dev/null
-[c''16 b] [a b]
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ [c''16 b] [a b]
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ \repeat "tremolo" 8 { c16 d16 }
+ \repeat "tremolo" 4 { c16 d16 }
+ }
+ \paper {
+ linewidth=-1.0;
+ }
+ \midi { }
+}
+++ /dev/null
-[:16 c'1 d]
-[:8 c2 d]
-[:16 c4 d]
-[:32 c16 d]
-[:32 c16 d]
-[:16 c8 d]
c c c c
% coda-klugde: let volta span only one bar
\property Staff.voltaSpannerDuration = #(make-moment 1 1)
- \repeat semi 5 { d d d d }
+ \repeat "volta" 5 { d d d d }
\alternative { { e e e e f f f f }
{ g g g g } }
}
+++ /dev/null
-
-\relative c'' \context Staff <
-\context Voice = one {
- \property Staff.collisionMergeDotted = ##t
- \stemup
- [c8 f g a]
-}
-\context Voice = two {
- \stemdown c,4. f8
-
-}>
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+ \relative c'' \context Staff <
+ \context Voice = one {
+ \property Staff.collisionMergeDotted = ##t
+ \stemup
+ [c8 f g a]
+ }
+ \context Voice = two {
+ \stemdown c,4. f8
+
+ }>
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-\time 6/8;
-d''4. b <b4. c d e> <f g a b>
-<g b d> <c, g' d' a'>
-
-
-\context Staff <
- \context Voice = VA { \stemup f'' <b c> r4. }
- \context Voice = VB { \stemdown b, <a b> r4. }
->
-
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ \time 6/8;
+ d''4. b <b4. c d e> <f g a b>
+ <g b d> <c, g' d' a'>
+
+
+ \context Staff <
+ \context Voice = VA { \stemup f'' <b c> r4. }
+ \context Voice = VB { \stemdown b, <a b> r4. }
+ >
+
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-c''4 \p c \ff c^\ff
-\property Voice.dynamicPadding = 10
-c \p \< \! c \ff\> c \!c-\p
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ c''4 \p c \ff c^\ff
+ \property Voice.dynamicPadding = 10
+ c \p \< \! c \ff\> c \!c-\p
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+ \context Staff <
+ \context Voice = VA {
+ \property Voice.forceHorizontalShift = #0.1
+ \stemup
+ \property Voice.horizontalNoteShift=1
+ <g' d'>
+ }
+
+ \context Voice = VB {
+ \stemdown
+ \property Voice.horizontalNoteShift=1
+ \property Voice.forceHorizontalShift = #-0.1
+ <bes f'>
+ }
+ >
+
+ }
+ \paper {
+ linewidth=-1.0;
+ }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-
-\context Staff <
- \context Voice = VA {
- \property Voice.forceHorizontalShift = #0.1
- \stemup
- \property Voice.horizontalNoteShift=1
- <g' d'>
- }
-
- \context Voice = VB {
- \stemdown
- \property Voice.horizontalNoteShift=1
- \property Voice.forceHorizontalShift = #-0.1
- <bes f'>
- }
->
+++ /dev/null
-
-c4 \grace { [d16 d16] }
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+ c4 \grace { [d16 d16] }
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-
-\context Staff <
- \context Voice =VA {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = 0 g'' }
- \context Voice =VB {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = 1 e }
- \context Voice =VC {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = 2 c }
- \context Voice =VD {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = 3 a }
- \context Voice =VE {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = 4 f }
->
-
-
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+ \context Staff <
+ \context Voice =VA {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = 0 g'' }
+ \context Voice =VB {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = 1 e }
+ \context Voice =VC {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = 2 c }
+ \context Voice =VD {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = 3 a }
+ \context Voice =VE {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = 4 f }
+ >
+
+
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
- [c8 c16 c16]
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ [c8 c16 c16]
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-% test noStemExtend
-\context Staff <
- \context Voice = "a" {
- f2 f8 g a b
- \property Voice.noStemExtend = ##t
- f2 f8 g a b
- }
- \context Voice = "b" {
- c''2 c8 b a g
- \property Voice.noStemExtend = ##t
- c2 c8 b a g
- }
->
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ % test noStemExtend
+ \context Staff <
+ \context Voice = "a" {
+ f2 f8 g a b
+ \property Voice.noStemExtend = ##t
+ f2 f8 g a b
+ }
+ \context Voice = "b" {
+ c''2 c8 b a g
+ \property Voice.noStemExtend = ##t
+ c2 c8 b a g
+ }
+ >
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ \context Staff \notes\relative c''<
+ \context Voice=one {
+ \property Voice.horizontalNoteShift=0
+ \property Voice.verticalDirection=1
+ e4
+ }
+ \context Voice=two {
+ \property Voice.verticalDirection=1
+ \property Voice.horizontalNoteShift=1
+ cis
+ }
+ \context Voice=three {
+ \property Voice.horizontalNoteShift=2
+ \property Voice.verticalDirection=1
+ ais
+ }
+ \context Voice=four {
+ \property Voice.verticalDirection=-1
+ \property Voice.horizontalNoteShift=-1
+ fis
+ }
+ >
+
+
+ }
+ \paper {
+ linewidth=-1.0;
+ }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-\context Staff \notes\relative c''<
- \context Voice=one {
- \property Voice.horizontalNoteShift=0
- \property Voice.verticalDirection=1
- e4
- }
- \context Voice=two {
- \property Voice.verticalDirection=1
- \property Voice.horizontalNoteShift=1
- cis
- }
- \context Voice=three {
- \property Voice.horizontalNoteShift=2
- \property Voice.verticalDirection=1
- ais
- }
- \context Voice=four {
- \property Voice.verticalDirection=-1
- \property Voice.horizontalNoteShift=-1
- fis
- }
->
-
+++ /dev/null
-
-c' c c c | g' g g g \property Staff . numberOfStaffLines = 3
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+ c' c c c | g' g g g \property Staff . numberOfStaffLines = 3
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-\context Voice=VoiceOne
-\property Voice.graceFraction = #(make-moment 1 4)
-\grace c8 d4 d d d d
-\property Voice.graceFraction = #(make-moment 1 2)
-\grace { e16 f e f } d4 d d d d
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ \context Voice=VoiceOne
+ \property Voice.graceFraction = #(make-moment 1 4)
+ \grace c8 d4 d d d d
+ \property Voice.graceFraction = #(make-moment 1 2)
+ \grace { e16 f e f } d4 d d d d
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-c8 c c ~ c c c c ~ c ~ c ~ c c c
-%\grace { d16 c16 d16 } c8
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ c8 c c ~ c c c c ~ c ~ c ~ c c c
+ %\grace { d16 c16 d16 } c8
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
<
\context Staff \notes\relative c'{
c d e f
- \repeat semi 2 { g a b c }
+ \repeat "volta" 2 { g a b c }
\alternative { { c b a g } { f e d c } }
}
\context Lyrics \lyrics {
+++ /dev/null
-c'' d e f | \repetitions1*3 |
-\time 3/4;
-g4 a b | R2.*2 |
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ c'' d e f | \repetitions1*3 |
+ \time 3/4;
+ g4 a b | R2.*2 |
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-
-% no alts.
-\score { \notes\context Staff\relative c'' {
-\repeat semi 3 { c^"3$\\times$ 0alt" d }
-% less alts than body
-\repeat semi 4 { c^"4$\\times$ 2alt" d } \alternative { e f }
-% more alts than body
-\repeat semi 2 { c^"2$\\times$ 3alt" d } \alternative { e f g }
-}}
-
+++ /dev/null
-r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
-\property Staff.restStyle = "mensural"
-\emptyText
-r\longa^"restStyle = \"mensural\"" r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
-
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
+ \property Staff.restStyle = "mensural"
+ \emptyText
+ r\longa^"restStyle = \"mensural\"" r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
+
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-% sharp-major
-% c g d a e b fis cis
-
-\key c;
-c' d e f g a b c
-
-\key g;
-g a b c d e fis g
-
-\key d;
-d, e fis g a b cis d
-
-\key a;
-a b cis d e fis gis a
-
-\key e;
-e, fis gis a b cis dis e
-
-\key b;
-b cis dis e fis gis ais b
-
-\key fis;
-fis, gis ais b cis dis eis fis
-
-\key cis;
-cis, dis eis fis gis ais bis cis
-
-% sharp-minor
-% a e b fis cis gis dis ais
-
-\key a\minor;
-a b c d e f gis a
-
-\key e\minor;
-e, fis g a b c dis e
-
-\key b\minor;
-b cis d e fis g ais b
-
-\key fis\minor;
-fis, gis a b cis d eis fis
-
-\key cis\minor;
-cis, dis e fis gis a bis cis
-
-\key gis\minor;
-gis ais b cis dis e fisis gis
-
-\key dis\minor;
-dis, eis fis gis ais b cisis dis
-
-\key ais\minor;
-ais bis cis dis eis fis gisis ais
-
-% flat-major
-% c f bes es as des ges ces
-
-\key f;
-f, g a bes c d e f
-
-\key bes;
-bes, c d es f g a bes
-
-\key es;
-es,, f g as bes c d es
-
-\key as;
-as, bes c des es f g as
-
-\key des;
-des,, es f ges as bes c des
-
-\key ges;
-ges, as bes ces des es f ges
-
-\key ces;
-ces,, des es fes ges as bes ces
-
-% flat-minor
-% a d g c f bes es as
-
-\key d\minor;
-d, e f g a bes cis d
-
-\key g\minor;
-g, a bes c d es fis g
-
-\key c\minor;
-c,, d es f g as b c
-
-\key f\minor;
-f, g as bes c des e f
-
-\key bes\minor;
-bes, c des es f ges a bes
-
-\key es\minor;
-es,, f ges as bes ces d es
-
-\key as\minor;
-as, bes ces des es fes g as
-
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ % sharp-major
+ % c g d a e b fis cis
+
+ \key c;
+ c' d e f g a b c
+
+ \key g;
+ g a b c d e fis g
+
+ \key d;
+ d, e fis g a b cis d
+
+ \key a;
+ a b cis d e fis gis a
+
+ \key e;
+ e, fis gis a b cis dis e
+
+ \key b;
+ b cis dis e fis gis ais b
+
+ \key fis;
+ fis, gis ais b cis dis eis fis
+
+ \key cis;
+ cis, dis eis fis gis ais bis cis
+
+ % sharp-minor
+ % a e b fis cis gis dis ais
+
+ \key a\minor;
+ a b c d e f gis a
+
+ \key e\minor;
+ e, fis g a b c dis e
+
+ \key b\minor;
+ b cis d e fis g ais b
+
+ \key fis\minor;
+ fis, gis a b cis d eis fis
+
+ \key cis\minor;
+ cis, dis e fis gis a bis cis
+
+ \key gis\minor;
+ gis ais b cis dis e fisis gis
+
+ \key dis\minor;
+ dis, eis fis gis ais b cisis dis
+
+ \key ais\minor;
+ ais bis cis dis eis fis gisis ais
+
+ % flat-major
+ % c f bes es as des ges ces
+
+ \key f;
+ f, g a bes c d e f
+
+ \key bes;
+ bes, c d es f g a bes
+
+ \key es;
+ es,, f g as bes c d es
+
+ \key as;
+ as, bes c des es f g as
+
+ \key des;
+ des,, es f ges as bes c des
+
+ \key ges;
+ ges, as bes ces des es f ges
+
+ \key ces;
+ ces,, des es fes ges as bes ces
+
+ % flat-minor
+ % a d g c f bes es as
+
+ \key d\minor;
+ d, e f g a bes cis d
+
+ \key g\minor;
+ g, a bes c d es fis g
+
+ \key c\minor;
+ c,, d es f g as b c
+
+ \key f\minor;
+ f, g as bes c des e f
+
+ \key bes\minor;
+ bes, c des es f ges a bes
+
+ \key es\minor;
+ es,, f ges as bes ces d es
+
+ \key as\minor;
+ as, bes ces des es fes g as
+
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-%c''4^|^.^"foo"^"klap"
-c''4^|^.^"foo"^"klap"^"puk"^\fermata^\stopped
-c4_|_._"foo"_"klap"_"puk"_\fermata_\stopped
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ %c''4^|^.^"foo"^"klap"
+ c''4^|^.^"foo"^"klap"^"puk"^\fermata^\stopped
+ c4_|_._"foo"_"klap"_"puk"_\fermata_\stopped
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-% to see the magic: uncomment size stuff in init/paper20.ly
-
-c'4 c4
-
-\property Voice.fontsize= -2
-b16 * 1 / 2 (
-\property Voice.fontsize= 0 )
-g4 *31/32
-
-a a g2
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ % to see the magic: uncomment size stuff in init/paper20.ly
+
+ c'4 c4
+
+ \property Voice.fontsize= -2
+ b16 * 1 / 2 (
+ \property Voice.fontsize= 0 )
+ g4 *31/32
+
+ a a g2
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ % CASE 3
+ d''4 ( ) b a ( ) e' \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
+
+ % still ugly
+ g4 ( b d ) c \break
+
+ %TIES
+ d ~ b a ~ e' \break
+ g, ~ \stemdown b \stemboth c ~ f, \break
+
+
+ }
+ \paper {
+ linewidth=-1.0;
+ }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-% CASE 3
-d''4 ( ) b a ( ) e' \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
-
-% still ugly
-g4 ( b d ) c \break
-
-%TIES
-d ~ b a ~ e' \break
-g, ~ \stemdown b \stemboth c ~ f, \break
-
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+ e''4-. f-. d-.
+ c,-. b-. c'''-. d-.
+
+ }
+ \paper {
+ linewidth=-1.0;
+ }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-
-e''4-. f-. d-.
-c,-. b-. c'''-. d-.
\score{
\notes\relative c{
- \include "stem-direction.sly";
+ b''4 ~ b8()b8 e4 e,
}
\paper{
stem_default_neutral_direction=-1.0;
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ b''4 ~ b8()b8 e4 e,
+
+ }
+ \paper {
+ linewidth=-1.0;
+ }
+ \midi { }
+}
+++ /dev/null
-b''4 ~ b8()b8 e4 e,
+++ /dev/null
-
-g''4 \property Voice.stemLength = #14 g4 \property Voice.stemLength = #3 g4 g,,4
-
+\score {
+ \context Voice \notes\relative c {
+
+ g''4 \property Voice.stemLength = #14 g4 \property Voice.stemLength = #3 g4 g,,4
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+ \time 12/4; c''4 c c c a f' f, a
+
+ }
+ \paper {
+ linewidth=-1.0;
+ }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-
-\time 12/4; c''4 c c c a f' f, a
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+ \context Voice {
+ \property Voice.sparseTies = ##t
+ c'' <c e g> ~ <c e g> }
+
+ }
+ \paper {
+ linewidth=-1.0;
+ }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-
-\context Voice {
-\property Voice.sparseTies = ##t
-c'' <c e g> ~ <c e g> }
+++ /dev/null
-\property Staff.textEmptyDimension = 1
-\property Voice.textEmptyDimension = 1
-\property Staff.timeSignatureStyle = "C"
-\time 1/1;
-c''1^"timeSignatureStyle = \"C\""
-\time 2/2;
-c1
-\time 2/4;
-c2
-\time 3/4;
-c2.
-\time 4/4;
-c1
-\time 5/4;
-c2. c2
-\time 6/4;
-c1.
-\time 3/2;
-c1.
-\time 7/4;
-c1 c2.
-\time 8/4;
-c\breve
-\time 9/4;
-c2. c2. c2.
-\break
-\property Staff.timeSignatureStyle = "old"
-\time 1/1;
-c1^"timeSignatureStyle = \"old\""
-\time 2/2;
-c1
-\time 2/4;
-c2
-\time 3/4;
-c2.
-\time 4/4;
-c1
-\time 5/4;
-c2. c2
-\time 6/4;
-c1.
-\time 3/2;
-c1.
-\time 7/4;
-c1 c2.
-\time 8/4;
-c\breve
-\time 9/4;
-c2. c2. c2.
-\time 6/8;
-c2.
-\time 9/8;
-c4. c4. c4.
-\break
-\property Staff.timeSignatureStyle = ""
-\time 1/1;
-c1^"timeSignatureStyle = \"\""
-\time 2/2;
-c1
-\time 2/4;
-c2
-\time 3/4;
-c2.
-\time 4/4;
-c1
-\time 5/4;
-c2. c2
-\time 6/4;
-c1.
-\time 3/2;
-c1.
-\time 7/4;
-c1 c2.
-\time 8/4;
-c\breve
-\time 9/4;
-c2. c2. c2.
-\break
-\property Staff.timeSignatureStyle = "1"
-\time 1/1;
-c1^"timeSignatureStyle = \"1\""
-\time 2/2;
-c1
-\time 2/4;
-c2
-\time 3/4;
-c2.
-\time 4/4;
-c1
-\time 5/4;
-c2. c2
-\time 6/4;
-c1.
-\time 3/2;
-c1.
-\time 7/4;
-c1 c2.
-\time 8/4;
-c\breve
-\time 9/4;
-c2. c2. c2.
-\break
-\property Staff.textalignment = \center
-\property Staff.timeSignatureStyle = "old9/8"
-\time 1/1;
-c1^"old9/8"
-\property Staff.timeSignatureStyle = "old6/8"
-\time 1/1;
-c1^"old6/8"
-\property Staff.timeSignatureStyle = "old6/8alt"
-\time 1/1;
-c1^"old6/8alt"
-\property Staff.timeSignatureStyle = "old9/4"
-\time 1/1;
-c1^"old9/4"
-\property Staff.timeSignatureStyle = "old6/4"
-\time 1/1;
-c1^"old6/4"
-\property Staff.timeSignatureStyle = "old3/2"
-\time 1/1;
-c1^"old3/2"
-\property Staff.timeSignatureStyle = "old4/4"
-\time 1/1;
-c1^"old4/4"
-\property Staff.timeSignatureStyle = "old2/2"
-\time 1/1;
-c1^"old2/2"
-\property Staff.timeSignatureStyle = "old2/4"
-\time 1/1;
-c1^"old2/4"
-\property Staff.timeSignatureStyle = "old4/8"
-\time 1/1;
-c1^"old4/8"
-\property Staff.timeSignatureStyle = "C4/4"
-\time 1/1;
-c1^"C4/4"
-\property Staff.timeSignatureStyle = "C2/2"
-\time 1/1;
-c1^"C2/2"
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ \property Staff.textEmptyDimension = 1
+ \property Voice.textEmptyDimension = 1
+ \property Staff.timeSignatureStyle = "C"
+ \time 1/1;
+ c''1^"timeSignatureStyle = \"C\""
+ \time 2/2;
+ c1
+ \time 2/4;
+ c2
+ \time 3/4;
+ c2.
+ \time 4/4;
+ c1
+ \time 5/4;
+ c2. c2
+ \time 6/4;
+ c1.
+ \time 3/2;
+ c1.
+ \time 7/4;
+ c1 c2.
+ \time 8/4;
+ c\breve
+ \time 9/4;
+ c2. c2. c2.
+ \break
+ \property Staff.timeSignatureStyle = "old"
+ \time 1/1;
+ c1^"timeSignatureStyle = \"old\""
+ \time 2/2;
+ c1
+ \time 2/4;
+ c2
+ \time 3/4;
+ c2.
+ \time 4/4;
+ c1
+ \time 5/4;
+ c2. c2
+ \time 6/4;
+ c1.
+ \time 3/2;
+ c1.
+ \time 7/4;
+ c1 c2.
+ \time 8/4;
+ c\breve
+ \time 9/4;
+ c2. c2. c2.
+ \time 6/8;
+ c2.
+ \time 9/8;
+ c4. c4. c4.
+ \break
+ \property Staff.timeSignatureStyle = ""
+ \time 1/1;
+ c1^"timeSignatureStyle = \"\""
+ \time 2/2;
+ c1
+ \time 2/4;
+ c2
+ \time 3/4;
+ c2.
+ \time 4/4;
+ c1
+ \time 5/4;
+ c2. c2
+ \time 6/4;
+ c1.
+ \time 3/2;
+ c1.
+ \time 7/4;
+ c1 c2.
+ \time 8/4;
+ c\breve
+ \time 9/4;
+ c2. c2. c2.
+ \break
+ \property Staff.timeSignatureStyle = "1"
+ \time 1/1;
+ c1^"timeSignatureStyle = \"1\""
+ \time 2/2;
+ c1
+ \time 2/4;
+ c2
+ \time 3/4;
+ c2.
+ \time 4/4;
+ c1
+ \time 5/4;
+ c2. c2
+ \time 6/4;
+ c1.
+ \time 3/2;
+ c1.
+ \time 7/4;
+ c1 c2.
+ \time 8/4;
+ c\breve
+ \time 9/4;
+ c2. c2. c2.
+ \break
+ \property Staff.textalignment = \center
+ \property Staff.timeSignatureStyle = "old9/8"
+ \time 1/1;
+ c1^"old9/8"
+ \property Staff.timeSignatureStyle = "old6/8"
+ \time 1/1;
+ c1^"old6/8"
+ \property Staff.timeSignatureStyle = "old6/8alt"
+ \time 1/1;
+ c1^"old6/8alt"
+ \property Staff.timeSignatureStyle = "old9/4"
+ \time 1/1;
+ c1^"old9/4"
+ \property Staff.timeSignatureStyle = "old6/4"
+ \time 1/1;
+ c1^"old6/4"
+ \property Staff.timeSignatureStyle = "old3/2"
+ \time 1/1;
+ c1^"old3/2"
+ \property Staff.timeSignatureStyle = "old4/4"
+ \time 1/1;
+ c1^"old4/4"
+ \property Staff.timeSignatureStyle = "old2/2"
+ \time 1/1;
+ c1^"old2/2"
+ \property Staff.timeSignatureStyle = "old2/4"
+ \time 1/1;
+ c1^"old2/4"
+ \property Staff.timeSignatureStyle = "old4/8"
+ \time 1/1;
+ c1^"old4/8"
+ \property Staff.timeSignatureStyle = "C4/4"
+ \time 1/1;
+ c1^"C4/4"
+ \property Staff.timeSignatureStyle = "C2/2"
+ \time 1/1;
+ c1^"C2/2"
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-
-
-% \property Score. measurePosition = #(make-moment -1 4)
-\partial 4;
-c''4 c4 c4 c2 c1
-\cadenzaOn [c8 d e f] [g a b c b c b c]
-\cadenzaOff
-c4 c4 c4 c4
-\property Score. measureLength = #(make-moment 5 4)
-
-c1 c4
-c1 c4
-c4 c4
-\property Score. measurePosition = #(make-moment -3 8)
-b8 b b
-c4 c1
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+
+ % \property Score. measurePosition = #(make-moment -1 4)
+ \partial 4;
+ c''4 c4 c4 c2 c1
+ \cadenzaOn [c8 d e f] [g a b c b c b c]
+ \cadenzaOff
+ c4 c4 c4 c4
+ \property Score. measureLength = #(make-moment 5 4)
+
+ c1 c4
+ c1 c4
+ c4 c4
+ \property Score. measurePosition = #(make-moment -3 8)
+ b8 b b
+ c4 c1
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-% btw: this is not how transposing is done in mudela,
-% this is a transposing performer, i.e. for midi-output only
-\property Staff.transposing = 0 c
-\property Staff.transposing = 2 c
-\property Staff.transposing = 4 c
-\property Staff.transposing = 5 c
-\property Staff.transposing = 7 c
-\property Staff.transposing = 9 c
-\property Staff.transposing = 11 c
-\property Staff.transposing = 12 c
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ % btw: this is not how transposing is done in mudela,
+ % this is a transposing performer, i.e. for midi-output only
+ \property Staff.transposing = 0 c
+ \property Staff.transposing = 2 c
+ \property Staff.transposing = 4 c
+ \property Staff.transposing = 5 c
+ \property Staff.transposing = 7 c
+ \property Staff.transposing = 9 c
+ \property Staff.transposing = 11 c
+ \property Staff.transposing = 12 c
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-
-\times 2/3 { c''8 c c }
-\times 2/3 { c8 c'' c,, }
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+
+ \times 2/3 { c''8 c c }
+ \times 2/3 { c8 c'' c,, }
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-\property Voice.textEmptyDimension = 1
-\property Voice.textScriptPadding = 10
-\property Voice.tupletVisibility = 0
-\times2/3{c'4^"tupletVisibility = 0" d e} \times2/3{[f8 g a]}
- \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 1
-\times2/3{c,4^"tupletVisibility = 1" d e} \times2/3{[f8 g a]}
- \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 2
-\times2/3{c,4^"tupletVisibility = 2" d e} \times2/3{[f8 g a]}
- \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 3
-\times2/3{c,4^"tupletVisibility = 3" d e} \times2/3{[f8 g a]}
- \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 4
-\times2/3{c,4^"tupletVisibility = 4" d e} \times2/3{[f8 g a]}
- \times2/3{b16 c d} c8 | \break
-
-\property Voice.tupletDirection = \down
-\property Voice.tupletVisibility = 0
-\times2/3{c,4^"tupletDirection = down" d e}
- \times2/3{[[f8 g a]]} \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 1
-\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 2
-\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 3
-\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 4
-\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |\break
-
-\property Voice.tupletDirection = \up
-\property Voice.tupletVisibility = 0
-\times2/3{c,4^"tupletDirection = up" d e}
- \times2/3{[[f8 g a]]} \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 1
-\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 2
-\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 3
-\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
-\property Voice.tupletVisibility = 4
-\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ \property Voice.textEmptyDimension = 1
+ \property Voice.textScriptPadding = 10
+ \property Voice.tupletVisibility = 0
+ \times2/3{c'4^"tupletVisibility = 0" d e} \times2/3{[f8 g a]}
+ \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 1
+ \times2/3{c,4^"tupletVisibility = 1" d e} \times2/3{[f8 g a]}
+ \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 2
+ \times2/3{c,4^"tupletVisibility = 2" d e} \times2/3{[f8 g a]}
+ \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 3
+ \times2/3{c,4^"tupletVisibility = 3" d e} \times2/3{[f8 g a]}
+ \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 4
+ \times2/3{c,4^"tupletVisibility = 4" d e} \times2/3{[f8 g a]}
+ \times2/3{b16 c d} c8 | \break
+
+ \property Voice.tupletDirection = \down
+ \property Voice.tupletVisibility = 0
+ \times2/3{c,4^"tupletDirection = down" d e}
+ \times2/3{[[f8 g a]]} \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 1
+ \times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 2
+ \times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 3
+ \times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 4
+ \times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |\break
+
+ \property Voice.tupletDirection = \up
+ \property Voice.tupletVisibility = 0
+ \times2/3{c,4^"tupletDirection = up" d e}
+ \times2/3{[[f8 g a]]} \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 1
+ \times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 2
+ \times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 3
+ \times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
+ \property Voice.tupletVisibility = 4
+ \times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-% this used to work:
-% <{\voiceone e}
-% {\voicetwo c}>
-
-% now we need:
-\context Staff
-<{\voiceone e}
-{\voicetwo c}>
-
-
-\version "1.0.21";
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ % this used to work:
+ % <{\voiceone e}
+ % {\voicetwo c}>
+
+ % now we need:
+ \context Staff
+ <{\voiceone e}
+ {\voicetwo c}>
+
+
+ \version "1.0.21";
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
+++ /dev/null
-% Test of prima/secunda volta brackets in conjunction with
-% line breaks and special bars.
-
-c' d e f |
-\repeat "volta" 2 { g a b c }
-\alternative { { c b a g a g a g} { f e d c } }
-\repeat "volta" 2 { g a b c }
-\alternative { { c b a g \break a g a g} { f e d c } }
-c' d e f |
-\repeat "volta" 2 { g a b c }
-\alternative { { c b a g \break a g a g \break a b a b } { f e d c } }
-c' d e f |
-\repeat "volta" 2 { g a b c }
-\alternative { { c b a g } { f e d c \break a g a g} }
-c' d e f |
-\repeat "volta" 2 { g a b c }
-\alternative { { c b a g a g a g} { f e d c \bar "|.";} }
--- /dev/null
+\score {
+ \context Voice \notes\relative c {
+ % Test of prima/secunda volta brackets in conjunction with
+ % line breaks and special bars.
+
+ c' d e f |
+ \repeat "volta" 2 { g a b c }
+ \alternative { { c b a g a g a g} { f e d c } }
+ \repeat "volta" 2 { g a b c }
+ \alternative { { c b a g \break a g a g} { f e d c } }
+ c' d e f |
+ \repeat "volta" 2 { g a b c }
+ \alternative { { c b a g \break a g a g \break a b a b } { f e d c } }
+ c' d e f |
+ \repeat "volta" 2 { g a b c }
+ \alternative { { c b a g } { f e d c \break a g a g} }
+ c' d e f |
+ \repeat "volta" 2 { g a b c }
+ \alternative { { c b a g a g a g} { f e d c \bar "|.";} }
+
+ }
+ \paper { }
+ \midi { }
+}
\ No newline at end of file
ADD_THIS_TRANSLATOR (Auto_beam_engraver);
+
+/*
+ TODO: remove all references to Timing_engraver; should read properties.
+
+ */
Auto_beam_engraver::Auto_beam_engraver ()
{
stem_l_arr_p_ = 0;
Auto_beam_engraver::consider_end_and_begin (Moment test_mom)
{
if (!timer_l_)
- return;
+ return;
int num;
int den;
void
Axis_group_engraver::do_removal_processing ()
{
- String name = daddy_grav_l ()->type_str_ + "VerticalExtent";
- SCM dims = get_property (name);
+ String type = daddy_grav_l ()->type_str_ ;
+ SCM dims = get_property (type + "VerticalExtent");
if (gh_pair_p (dims) && gh_number_p (gh_car (dims))
&& gh_number_p (gh_cdr (dims)))
staffline_p_->dim_cache_[Y_AXIS]->set_extent_callback (&Score_element::preset_extent);
staffline_p_->set_elt_property ("extent-Y", dims);
}
+
+ dims = get_property (type + "MinimumVerticalExtent");
+ if (gh_pair_p (dims) && gh_number_p (gh_car (dims))
+ && gh_number_p (gh_cdr (dims)))
+ staffline_p_->set_elt_property ("minimum-extent-Y", dims);
+
+ dims = get_property (type + "ExtraVerticalExtent");
+ if (gh_pair_p (dims) && gh_number_p (gh_car (dims))
+ && gh_number_p (gh_cdr (dims)))
+ staffline_p_->set_elt_property ("extra-extent-Y", dims);
+
staffline_p_->set_bound(RIGHT,get_staff_info().command_pcol_l ());
typeset_element (staffline_p_);
do_post_move_processing();
}
-
-
-
void
Bar_engraver::create_bar ()
{
(c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
#include "bar-number-engraver.hh"
-#include "timing-translator.hh"
-#include "timing-engraver.hh"
#include "engraver-group-engraver.hh"
#include "text-item.hh"
+#include "moment.hh"
Bar_number_engraver::Bar_number_engraver()
{
void
Bar_number_engraver::do_process_music ()
{
- Translator *tr = daddy_grav_l ()->get_simple_translator ("Timing_engraver");
- Timing_translator *time = dynamic_cast<Timing_translator*>(tr);
-
// todo include (&&!time->cadenza_b_ )
SCM bn = get_property("currentBarNumber");
-
+ SCM smp = get_property ("measurePosition");
+ Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+
if (gh_number_p (bn) &&
- !time->measure_position () && now_mom () > Moment (0))
+ !mp && now_mom () > Moment (0))
{
create_items (0);
(c) 1998--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "timing-engraver.hh"
#include "engraver-group-engraver.hh"
#include "beam-engraver.hh"
#include "musical-request.hh"
#include "beam.hh"
#include "stem.hh"
#include "warn.hh"
-#include "timing-translator.hh"
#include "beaming.hh"
#include "score-engraver.hh"
prev_start_req_ = reqs_drul_[START];
beam_p_ = new Beam;
- Translator * t = daddy_grav_l ()->get_simple_translator ("Timing_engraver");
- Timing_engraver *timer = dynamic_cast<Timing_engraver*> (t);
- beam_start_location_ = (t) ? timer->measure_position () : Moment (0);
+ SCM smp = get_property ("measurePosition");
+ Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+
+ beam_start_location_ = mp;
beam_start_mom_ = now_mom();
beam_info_p_ = new Beaming_info_list;
-/*
- chord-tremolo-engraver.cc -- implement Chord_tremolo_engraver
-
+/*
+ new-chord-tremolo-engraver.cc -- implement Chord_tremolo_engraver
+
source file of the GNU LilyPond music typesetter
+
+ (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
- (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
- Jan Nieuwenhuizen <janneke@gnu.org>
-*/
-
-#include "timing-translator.hh"
-#include "stem.hh"
+#include "engraver.hh"
#include "beam.hh"
+#include "repeated-music.hh"
+#include "stem.hh"
+#include "note-head.hh"
+#include "engraver-group-engraver.hh"
#include "musical-request.hh"
-#include "misc.hh"
#include "warn.hh"
-#include "score-engraver.hh"
-#include "engraver.hh"
-#include "drul-array.hh"
-#include "timing-engraver.hh"
-#include "beaming.hh"
+#include "misc.hh"
/**
- Generate a beam tremolo. Eat stems.
+ This acknowledges repeated music with "tremolo" style. It typesets
+ a beam.
+
+ TODO:
+
+ - perhaps use engraver this to steer other engravers? That would
+ create dependencies between engravers, which is bad.
+
+ - create dots if appropriate.
- UGH. Derive me from Beam_engraver.
-
*/
+
class Chord_tremolo_engraver : public Engraver
{
+ void typeset_beam ();
public:
VIRTUAL_COPY_CONS(Translator);
-
-
Chord_tremolo_engraver();
+protected:
+ Repeated_music * repeat_;
+ /// moment (global time) where beam started.
+ Moment start_mom_;
+ Moment stop_mom_;
+
+ /// location within measure where beam started.
+ Moment beam_start_location_;
+
+ int note_head_i_;
+
+ Beam * beam_p_;
+ Beam * finished_beam_p_;
+
protected:
virtual void do_removal_processing();
virtual void do_process_music();
virtual void acknowledge_element (Score_element_info);
virtual void do_pre_move_processing();
virtual void do_post_move_processing();
-
-private:
- void typeset_beam ();
- Drul_array<Chord_tremolo_req*> reqs_drul_;
- Chord_tremolo_req* prev_start_req_;
- Beam* beam_p_;
- Beam* finished_beam_p_;
-
- /// location within measure where beam started.
- Moment beam_start_location_;
-
- /// moment (global time) where beam started.
- Moment beam_start_mom_;
- Beaming_info_list * beam_info_p_;
- Beaming_info_list * finished_beam_info_p_;
};
-ADD_THIS_TRANSLATOR (Chord_tremolo_engraver);
-
-Chord_tremolo_engraver::Chord_tremolo_engraver ()
+Chord_tremolo_engraver::Chord_tremolo_engraver()
{
- reqs_drul_[LEFT] = reqs_drul_[RIGHT] = 0;
- beam_p_ = 0;
- finished_beam_p_ = 0;
- prev_start_req_ = 0;
- finished_beam_info_p_=0;
- beam_info_p_ =0;
+ beam_p_ = finished_beam_p_ = 0;
+ repeat_ =0;
+ note_head_i_ = 0;
}
bool
-Chord_tremolo_engraver::do_try_music (Music* m)
+Chord_tremolo_engraver::do_try_music (Music * m)
{
- if (Chord_tremolo_req* b = dynamic_cast <Chord_tremolo_req *> (m))
+ Repeated_music * rp = dynamic_cast<Repeated_music*> (m);
+ if (rp && rp->type_ == "tremolo" && !repeat_)
{
- Direction d = b->span_dir_;
- if (reqs_drul_[d] && !reqs_drul_[d]->equal_b (b))
- return false;
+ Moment l = rp->body_length_mom ();
+ repeat_ = rp;
+ start_mom_ = now_mom ();
+ stop_mom_ = start_mom_ + l;
- if ((d == STOP) && !beam_p_)
- {
- m->warning (_ ("can't find start of chord tremolo"));
- return false;
- }
-
- reqs_drul_[d] = b;
+ // ugh. should generate dots, triplet beams.
+ note_head_i_ = l.den () <? 4;
return true;
}
-
return false;
}
void
Chord_tremolo_engraver::do_process_music ()
{
- if (reqs_drul_[STOP])
- {
- if (!beam_p_)
- reqs_drul_[STOP]->warning (_ ("can't find start of chord tremolo"));
-
- prev_start_req_ = 0;
-
- finished_beam_p_ = beam_p_;
- beam_p_ = 0;
-
- finished_beam_info_p_ = beam_info_p_;
- beam_info_p_ = 0;
- }
-
- if (beam_p_)
- {
- Score_engraver * e = 0;
- Translator * t = daddy_grav_l ();
- for (; !e && t; t = t->daddy_trans_l_)
- {
- e = dynamic_cast<Score_engraver*> (t);
- }
-
- if (!e)
- programming_error ("No score engraver!");
- else
- e->forbid_breaks ();
- }
-
- if (reqs_drul_[START])
+ if (repeat_ && !beam_p_)
{
- if (beam_p_)
- {
- reqs_drul_[START]->warning (_ ("already have a chord tremolo"));
- return;
- }
-
- prev_start_req_ = reqs_drul_[START];
-
beam_p_ = new Beam;
beam_p_->set_elt_property ("chord-tremolo", SCM_BOOL_T);
- Translator * t = daddy_grav_l ()->get_simple_translator ("Timing_engraver");
- Timing_engraver *timer = dynamic_cast<Timing_engraver*> (t);
- beam_start_location_ = (t) ? timer->measure_position () : Moment (0);
- beam_start_mom_ = now_mom();
- beam_info_p_ = new Beaming_info_list;
-
- announce_element (Score_element_info (beam_p_, reqs_drul_[LEFT]));
- }
-}
-void
-Chord_tremolo_engraver::do_post_move_processing ()
-{
- reqs_drul_ [START] = 0;
+
+ SCM smp = get_property ("measurePosition");
+ Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+ beam_start_location_ = mp;
+ announce_element (Score_element_info (beam_p_, repeat_));
+ }
}
void
-Chord_tremolo_engraver::do_pre_move_processing ()
+Chord_tremolo_engraver::do_removal_processing ()
{
typeset_beam ();
+ if (beam_p_)
+ {
+ repeat_->warning (_ ("unterminated chord tremolo"));
+ finished_beam_p_ = beam_p_;
+ typeset_beam ();
+ }
}
void
{
if (finished_beam_p_)
{
- finished_beam_info_p_->beamify ();
- finished_beam_p_->set_beaming (finished_beam_info_p_);
typeset_element (finished_beam_p_);
finished_beam_p_ = 0;
- delete finished_beam_info_p_;
- finished_beam_info_p_ =0;
-
- reqs_drul_[STOP] = 0;
}
}
-void
-Chord_tremolo_engraver::do_removal_processing ()
-{
- typeset_beam ();
- if (beam_p_)
- {
- prev_start_req_->warning (_ ("unterminated chord tremolo"));
- finished_beam_p_ = beam_p_;
- finished_beam_info_p_ = beam_info_p_;
- typeset_beam ();
- }
-}
void
Chord_tremolo_engraver::acknowledge_element (Score_element_info info)
{
if (Stem* s = dynamic_cast<Stem *> (info.elem_l_))
{
- int type_i = prev_start_req_->type_i_;
- s->set_elt_property ("duration-log", gh_int2scm (intlog2 (type_i) - 2));
-
- s->set_beaming (s->flag_i (), LEFT);
- s->set_beaming ( s->flag_i (), RIGHT);
+ int f = s->flag_i ();
+ f = (f > 2) ? f - 2 : 1;
+ s->set_beaming (f, LEFT);
+ s->set_beaming (f, RIGHT);
/*
URG: this sets the direction of the Stem s.
Stem:: type_i () ->first_head ()->get_direction () ->
directional_element (me).set (d);
-
+
+
+ don't understand this comment.
+ --hwn.
*/
SCM d = s->get_elt_property ("direction");
if (s->type_i () != 1)
{
beam_p_->add_stem (s);
Moment stem_location = now_mom () -
- beam_start_mom_ + beam_start_location_;
- beam_info_p_->add_stem (stem_location,
- (r->duration_.durlog_i_ - 2) >? 1);
+ start_mom_ + beam_start_location_;
}
else
{
::warning (s);
}
}
+ if (Note_head *nh = dynamic_cast<Note_head*> (info.elem_l_))
+ {
+ nh->set_elt_property ("duration-log", gh_int2scm (intlog2 (note_head_i_)));
+ }
+ }
+}
+
+
+void
+Chord_tremolo_engraver::do_post_move_processing ()
+{
+ if (beam_p_ && stop_mom_ == now_mom ())
+ {
+ finished_beam_p_ = beam_p_;
+
+ repeat_ = 0;
+ beam_p_ = 0;
}
}
+
+void
+Chord_tremolo_engraver::do_pre_move_processing ()
+{
+ typeset_beam ();
+}
+
+ADD_THIS_TRANSLATOR(Chord_tremolo_engraver);
+
Beaming_info ();
};
+/*
+ Generate beaming given durations of notes. Beam uses this to
+ set_beaming () for each of its stems.
+*/
struct Beaming_info_list
{
Array<Beaming_info> infos_;
struct Chord_name;
struct Chord_name_engraver;
struct Chord_tremolo_engraver;
-struct Chord_tremolo_req;
struct Clef_change_req;
struct Clef_engraver;
struct Clef_item;
};
+Moment * unsmob_moment (SCM);
+
IMPLEMENT_ARITHMETIC_OPERATOR (Moment, / );
IMPLEMENT_ARITHMETIC_OPERATOR (Moment, + );
IMPLEMENT_ARITHMETIC_OPERATOR (Moment, * );
public:
VIRTUAL_COPY_CONS(Music);
};
-/**
- Start / stop a tremolo beam. */
-class Chord_tremolo_req : public Span_req
-{
-public:
- VIRTUAL_COPY_CONS (Music);
-
- Chord_tremolo_req ();
- virtual void do_print () const;
-
- int type_i_;
-};
/**
Helping req to signal start of a melisma from within a context, and
Scope *default_header_p_;
-
- // JUNKME
- int chord_tremolo_type_i_;
-
int fatal_error_i_;
Sources * source_l_;
int error_level_i_;
My_lily_lexer * lexer_p_;
bool ignore_version_b_;
-
-
Input here_input() const;
void remember_spot();
/// The duration of this piece of music
virtual Moment length_mom () const;
-
+ Moment body_length_mom () const;
Moment alternatives_length_mom () const;
void print() const;
void
Local_key_engraver::do_process_music()
{
- if (time_trans_l_ && !time_trans_l_->measure_position ())
+
+ SCM smp = get_property ("measurePosition");
+ Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+
+ if (!mp)
{
if (!to_boolean (get_property ("noResetKey")) && key_grav_l_)
local_key_= key_grav_l_->key_;
#include "multi-measure-rest.hh"
#include "paper-column.hh"
#include "engraver-group-engraver.hh"
-#include "timing-translator.hh"
#include "bar.hh"
#include "staff-symbol-referencer.hh"
#include "engraver.hh"
#include "moment.hh"
/**
+ The name says it all: make multi measure rests
*/
class Multi_measure_rest_engraver : public Engraver
{
if (busy_span_req_l_ && !mmrest_p_)
{
- Translator * tr = daddy_grav_l()->get_simple_translator ("Timing_engraver"); // ugh
- Timing_translator * time = dynamic_cast<Timing_translator*> (tr);
-
mmrest_p_ = new Multi_measure_rest;
Staff_symbol_referencer_interface si (mmrest_p_);
si.set_interface ();
announce_element (Score_element_info (mmrest_p_, busy_span_req_l_));
start_measure_i_
- = gh_scm2int (time->get_property ("currentBarNumber"));
+ = gh_scm2int (get_property ("currentBarNumber"));
}
}
void
Multi_measure_rest_engraver::do_pre_move_processing ()
{
- Moment now (now_mom ());
- Translator * tr = daddy_grav_l()->get_simple_translator ("Timing_engraver"); // ugh
- Timing_translator * time = dynamic_cast<Timing_translator*> (tr);
+ SCM smp = get_property ("measurePosition");
+ Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
- if (mmrest_p_ && (now >= start_moment_)
- && !time->measure_position ()
+ if (mmrest_p_ && (now_mom () >= start_moment_)
+ && !mp
&& (scm_ilength (mmrest_p_->get_elt_property ("columns")) >= 2))
{
typeset_element (mmrest_p_);
void
Multi_measure_rest_engraver::do_post_move_processing ()
{
- Translator * tr = daddy_grav_l()->get_simple_translator ("Timing_engraver"); // ugh
- Timing_translator * time = dynamic_cast<Timing_translator*> (tr);
-
Moment now (now_mom ());
-
- if (mmrest_p_ && !time->measure_position ())
+
+
+ SCM smp = get_property ("measurePosition");
+ Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+
+ if (mmrest_p_ && !mp)
{
lastrest_p_ = mmrest_p_;
- int cur = gh_scm2int (time->get_property ("currentBarNumber"));
+ int cur = gh_scm2int (get_property ("currentBarNumber"));
lastrest_p_->set_elt_property ("measure-count",
gh_int2scm (cur - start_measure_i_));
mmrest_p_ = 0;
span_dir_ = CENTER;
}
-Chord_tremolo_req::Chord_tremolo_req ()
-{
- type_i_ = 0;
-}
-
-void
-Chord_tremolo_req::do_print () const
-{
-#ifndef NPRINT
- DEBUG_OUT << type_i_;
-#endif
-}
-
void
Text_script_req::do_print () const
{
{
source_l_ = source_l;
lexer_p_ = 0;
- chord_tremolo_type_i_ = 0;
default_duration_.durlog_i_ = 2;
error_level_i_ = 0;
default_duration_ = *d;
}
-void
-My_lily_parser::set_chord_tremolo (int type_i)
-{
- chord_tremolo_type_i_ = type_i;
-}
-
-
-
-
// junk me
Simultaneous_music *
My_lily_parser::get_chord (Musical_pitch tonic,
+++ /dev/null
-#if 0
-/*
- new-chord-tremolo-engraver.cc -- implement New_chord_tremolo_engraver
-
- source file of the GNU LilyPond music typesetter
-
- (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- */
-
-
-
-class New_chord_tremolo_engraver : public Engraver
-{
-public:
- VIRTUAL_COPY_CONS(Translator);
- New_chord_tremolo_engraver();
-protected:
-
- virtual bool do_try_music (Music *);
- virtual void do_process_music ();
-};
-
-New_chord_tremolo_engraver::New_chord_tremolo_engraver()
-{
-}
-
-bool
-New_chord_tremolo_engraver::do_try_music (Music * m)
-{
- if (dynamic_cast<Repeated_music*> (m))
- {
-
- }
-}
-
-#endif
Real real;
Request * request;
- /* We use SCMs to do strings, because it saves us the trouble of
+ /* We use SCMs to do strings, because it saves us the trouble of
deleting them. Let's hope that a stack overflow doesnt trigger a move
of the parse stack onto the heap. */
SCM scm;
b->span_type_str_ = "beam";
$$ =b;
}
- | '[' ':' unsigned {
- // JUNKME
- if (!is_duration_b ($3))
- THIS->parser_error (_f ("not a duration: %d", $3));
- else
- THIS->set_chord_tremolo ($3);
-
- Chord_tremolo_req* a = new Chord_tremolo_req;
- a->span_dir_ = START;
- // urg
- a->type_i_ = THIS->chord_tremolo_type_i_;
- $$=a;
- }
| ']' {
- /* URG
- */
- if (!THIS->chord_tremolo_type_i_)
- {
- Span_req*b= new Span_req;
- b->span_dir_ = STOP;
- b->span_type_str_ = "beam";
- $$ = b;
- }
- else
- {
- Chord_tremolo_req* a = new Chord_tremolo_req;
- a->span_dir_ = STOP;
- a->type_i_ = THIS->chord_tremolo_type_i_;
-
- // JUNKME.
- THIS->set_chord_tremolo (0);
- $$ = a;
- }
+ Span_req*b= new Span_req;
+ b->span_dir_ = STOP;
+ b->span_type_str_ = "beam";
+ $$ = b;
}
| BREATHE {
$$ = new Breathing_sign_req;
a->articulation_str_ = ly_scm2string ($2);
a->set_spot (THIS->here_input ());
$$ = a;
-
}
;
n->pitch_ = *$1;
n->duration_ = *$4;
- /*
- URG, JUNKTHIS!
- */
- if (THIS->chord_tremolo_type_i_)
- {
- if (n->duration_.plet_b ())
- // urg, burp. what nonsense / silly implementation
- THIS->parser_error (_ ("can't put stem tremolo on tuplet"));
- else
- n->duration_.set_plet (1, 2);
- }
+
n->cautionary_b_ = $3 % 2;
n->forceacc_b_ = $2 % 2 || n->cautionary_b_;
}
Moment
-Repeated_music::length_mom () const
+Repeated_music::body_length_mom () const
{
- Moment m =0;
- if (fold_b_)
- {
- if (repeat_body_p_)
- m += repeat_body_p_->length_mom ();
- }
- else
+ Moment m = 0;
+ if (repeat_body_p_)
{
- Moment beg = (repeat_body_p_) ? repeat_body_p_->length_mom () : Rational(0);
- if (!volta_fold_b_)
- beg *= Rational (repeats_i_);
- m += beg;
+ m = repeat_body_p_->length_mom ();
+ if (!fold_b_ && !volta_fold_b_)
+ m *= Rational (repeats_i_);
}
-
- m += alternatives_length_mom ();
return m;
}
+Moment
+Repeated_music::length_mom () const
+{
+ return body_length_mom () + alternatives_length_mom ();
+}
+
Score_element::extent (Axis a) const
{
Dimension_cache const * d = dim_cache_[a];
+ Interval ext = d->get_dim ();
- return d->get_dim ();
+
+ SCM extra = get_elt_property (a == X_AXIS ? "extra-extent-X"
+ : "extra-extent-Y");
+
+
+ /*
+ signs ?
+ */
+ Real s = paper_l ()->get_var ("staffspace");
+ if (gh_pair_p (extra))
+ {
+ ext[BIGGER] += s * gh_scm2double (gh_cdr (extra));
+ ext[SMALLER] += s * gh_scm2double (gh_car (extra));
+ }
+
+ extra = get_elt_property (a == X_AXIS
+ ? "minimum-extent-X"
+ : "minimum-extent-Y");
+ if (gh_pair_p (extra))
+ {
+ ext.unite (Interval (s * gh_scm2double (gh_car (extra)),
+ s * gh_scm2double (gh_cdr (extra))));
+
+ }
+
+ return ext;
}
Staff_group_bar_engraver::acknowledge_element (Score_element_info i)
{
Base_span_bar_engraver::acknowledge_element (i);
+
+ /*
+ UGH. This has to go into the backend.
+ */
if (Span_bar * b = dynamic_cast<Span_bar *> (i.elem_l_))
{
SCM gl = b->get_elt_property ("glyph");
#include "score-element-info.hh"
#include "multi-measure-rest.hh"
-
-
ADD_THIS_TRANSLATOR(Timing_engraver);
-
void
Timing_engraver::do_post_move_processing( )
{
#include "global-translator.hh"
#include "multi-measure-rest.hh"
+/*
+ TODO: change the rest of lily, so communication with
+ Timing_translator is only done through properties. This means the
+ class declaration can go here. */
+
bool
Timing_translator::do_try_music (Music*r)
{
\consists "Beam_engraver";
\consists "Auto_beam_engraver";
\include "auto-beam-settings.ly";
- \consists "Chord_tremolo_engraver";
+ \consists "Chord_tremolo_engraver";
\consists "Melisma_engraver";
textScriptPadding = #3.0
\consists "Text_engraver";
LyricsContext = \translator {
\type "Engraver_group_engraver";
\name Lyrics;
- \consists Vertical_align_engraver;%need this for getting folded repeats right.
+ \consists Vertical_align_engraver; %need this for getting folded repeats right.
Generic_property_list = #generic-lyrics-properties
\consists "Property_engraver";
\consistsend "Axis_group_engraver";
\maininput
}
\paper {
- linewidth=-1.0;
+
% indent = 0.0;
}
\midi{ }
Begin3
Title: LilyPond
-Version: 1.3.40
-Entered-date: 28MAR00
+Version: 1.3.41
+Entered-date: 30MAR00
Description:
Keywords: music notation typesetting midi fonts engraving
Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
janneke@gnu.org (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 1000k lilypond-1.3.40.tar.gz
+ 1000k lilypond-1.3.41.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 1000k lilypond-1.3.40.tar.gz
+ 1000k lilypond-1.3.41.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 1.3.40
+Version: 1.3.41
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.40.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.41.tar.gz
Summary: A program for printing sheet music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
-# get Packager from (undocumented?) ~/.rpmmacros!
-# Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
# Icon: lilypond-icon.gif
BuildRoot: /tmp/lilypond-install
Prereq: tetex
%prep
%setup
%build
-./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --disable-optimise --enable-shared
+#./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --disable-optimise --enable-shared
+%{configure} --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared
make all
-ln -s /usr/share/texmf/fonts/tfm/public/cm/ tfm
+ln -s %{_prefix}/share/texmf/fonts/tfm/public/cm/ tfm
# urg
# %build documentation
mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc
strip lily/out/lilypond midi2ly/out/midi2ly
-make prefix="$RPM_BUILD_ROOT/usr" install
-# gzip -9fn $RPM_BUILD_ROOT/usr/info/* || true
+make prefix="$RPM_BUILD_ROOT%{_prefix}" install
+# gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* || true
-mkdir -p $RPM_BUILD_ROOT/etc/profile.d
-cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT/etc/profile.d/lilypond.sh
-cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT/etc/profile.d/lilypond.csh
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d
+cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh
+cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.csh
# urg
#%install documentation
touch /tmp/.lilypond-install
rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install
-# /sbin/install-info /usr/info/lilypond.info.gz /usr/info/dir || true
+# /sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true
%preun
if [ $1 = 0 ]; then
- true # /sbin/install-info --delete /usr/info/lilypond.info.gz /usr/info/dir || true
+ true # /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true
fi
# hairy to hook it in (possibly non-existing) emacs
%doc mudela-mode.el
-/usr/bin/abc2ly
-/usr/bin/convert-mudela
-/usr/bin/mudela-book
-/usr/bin/ly2dvi
-/usr/bin/lilypond
-/usr/bin/midi2ly
-/usr/man/man1/midi2ly.1
-/usr/man/man1/lilypond.1
-/usr/man/man1/mudela-book.1
-/usr/man/man1/ly2dvi.1
-/usr/man/man1/convert-mudela.1
-/usr/share/lilypond/
-/usr/share/locale/*/LC_MESSAGES/lilypond.mo
-/etc/profile.d/lilypond.*
+%{_prefix}/bin/abc2ly
+%{_prefix}/bin/convert-mudela
+%{_prefix}/bin/mudela-book
+%{_prefix}/bin/ly2dvi
+%{_prefix}/bin/lilypond
+%{_prefix}/bin/midi2ly
+%{_prefix}/man/man1/midi2ly.1
+%{_prefix}/man/man1/lilypond.1
+%{_prefix}/man/man1/mudela-book.1
+%{_prefix}/man/man1/ly2dvi.1
+%{_prefix}/man/man1/convert-mudela.1
+%{_prefix}/share/lilypond/
+%{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo
+# urg?
+%{_prefix}/../etc/profile.d/lilypond.*
%files documentation
# this gets too messy...
depth = ..
-SUBDIRS = J.S.Bach Coriolan F.Schubert D.Zipoli Hymns L.Mozart E.Satie
+SUBDIRS = J.S.Bach Coriolan F.Schubert D.Zipoli Hymns E.Satie
examples=
LOCALSTEPMAKE_TEMPLATES=mutopia
+++ /dev/null
-#
-
-depth = ../..
-
-examples=
-LOCALSTEPMAKE_TEMPLATES=mutopia
-
-include $(depth)/make/stepmake.make
-
-
+++ /dev/null
-\header{
-filename="Sinfonia.ly";
-title="Sinfonia";
-subtitle="G major";
-composer="Leopold Mozart";
-arranger="(1719-1787)";
-copyright="public domain";
-enteredby="Maarten Storm";
-
-}
-
-
-global = \notes{
- \key G;
- \time 2/4;
- s2*4 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*6 \bar ":|"; \break
- \bar "|:"; s2*6 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*5 \break
- s2*4 \break
- s2*5 \bar ":|";
-
-%fine
-}
-
-tempi = \notes{
- \property Voice.textStyle = "large"
- s8^"Allegro"
-
-}
-
-dynamics = \notes{
- \context Voice=i
- s16\f s8. s4 | s2*17
- s8\p s4. | s8\f s4. | s2*4
- s8\p s4. | s8\f s4. | s2*29
- s8\p s4. | s2 |
- s8\f s4. | s2 | s8\p s4. | s2 | s8\f s4. | s2*47
- s16 s16\p s4. | s2 |
- s16 s16\f s4. |
- s16 s16\p s4. |
- s16 s16\f s4. |
-}
-
-
-violinoi = \notes \relative c'{
- \context Voice=i
- \clef "violin";
- \stemup
- [<g8 d' b' g'> g'' g g] \stemboth | [g16 a b a] [g a b a] |
- \stemup [<g,,8 d' b' g'> g'' g g] \stemboth | [g16 a b a] [g a b a] |
-%5
- \stemup [<g,,8 d' b' g'> g'' g g] \stemboth | [g16 d c b] [a g fis g] |
- [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
- [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
-%11
- [fis g a b] [c a g fis] | [g a b c] [d b a g] |
- [a b c d] [e c b a] | [b c d c] [d b a g] |
-%15
- [fis g a g] [fis e d c] | [b a g8] r4 |
- \stemup [<g8 d' b' g'> g'' g g] \stemboth |
- \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} |
- \times 2/3 {[g'8 d c]} \times 2/3 {[b a g]} |
-%20
- \times 2/3 {[f' d c]} \times 2/3 {[b a g]} |
- \stemup [<c,8 e c' e> e' e e] | <c,2 e c' e> |
- [<a8 e' cis' a'> a'' a a] \stemboth |
- \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} |
- \times 2/3 {[a' e d]} \times 2/3 {[cis b a]} |
-%26
- \times 2/3 {[g' e d] [cis b a]} |
- \stemup [<d,8 a' fis'> fis' fis fis] \stemboth|
- <d,2 a' fis'> | \times 2/3 {[b'8 c d]} \times 2/3 {[e fis g]} |
- \times 2/3 {[g fis g]} \times 2/3 {[b, a g]} |
- \times 2/3 {[a b cis]} \times 2/3 {[d e fis]} |
-%32
- \times 2/3 {[fis e fis]} \times 2/3 {[a, g fis]} |
- \times 2/3 {[g a b]} \times 2/3 {[cis d e]} |
- \times 2/3 {[e d e]} \times 2/3 {[g, fis e]} |
-%35
- [fis16 d e d] [e d e d] | [g d e d] [e d e d] |
- [a' d, e d] [e d e d] | [b' d, e d] [e d e d] |
- [cis' a b a] [b a b a] | [d a b a] [b a b a] |
- [e' a, b a] [a b a b] | [fis' a, b a] [a b a b] |
-%43
- \times 2/3 {[g'8 b a]} \times 2/3 {[g fis e]} |
- \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} |
- \times 2/3 {[g, b a]} \times 2/3 {[g fis e]} |
- \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} |
-%47
- [b''16 g fis e] [a fis e d] | [g e d cis] [fis d cis b] | gis,2 |
-%50
- a4 g'! | [fis16 fis e d] e4 | d d' | r8 r16 gis,16 a4 |
- r8 [fis g! a] | d,2
- [d'8 e f a,] | [gis a] r4 |
- \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 |
-%60
- [c'8 d e g,?] | [fis g] r4 |
- \times 2/3 {[d8 a' c]} \times 2/3 {[b a b]} | [b a] r4 |
-%64 : reprise
- \stemup [<g,8 d' b' g'> g'' g g] | \stemdown [g16 a b a] [g a b a] |
- \stemup [<g,,8 d' b' g'> g'' g g] | \stemdown [g16 a b a] [g a b a] |
- \stemup [<g,,8 d' b' g'> g'' g g] | \stemboth [g16 d c b] [a g fis g] |
-%70
- [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
- [fis g a g] [fis e d c] | [b a g8] r4 |
- \stemup [<g8 d' b' g'> g'' g g] \stemboth |
- \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} |
- \times 2/3 {[f d c]} \times 2/3 {[b a g]} | [e' c] r4 |
-%78
- \stemup [<a8 e' cis' a'> a'' a a] \stemboth |
- \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} |
- \times 2/3 {[g e d]} \times 2/3 {[cis b a]} | [fis' d] r4 |
- \times 2/3 {[e'8 fis g]} \times 2/3 {[a b c]} |
- \times 2/3 {[c b c]} \times 2/3 {[e, d c]} |
- \times 2/3 {[d e fis]} \times 2/3 {[g a b]} |
- \times 2/3 {[b a b]} \times 2/3 {[d, c b]} |
- \times 2/3 {[c d e]} \times 2/3 {[fis g a]} |
- \times 2/3 {[a g a]} \times 2/3 {[c, b a]} |
-%88
- [b16 g a g] [a g a g] | [c g a g] [a g a g] | [d' g, a g] [a g a g] |
- [e' g, a g] [a g a g] | [fis' d e d] [e d e d] | [g d e d] [e d e d] |
- [a' d, e d] [e d e d] | [b' d, e d] [e d e d] |
-%96
- \times 2/3 {[c'8 e, d]} \times 2/3 {[c b a]} |
- \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} |
- \stemup \times 2/3 {[d c' c]} \times 2/3 {[c b a]} \stemboth |
- \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} |
-%100
- [e'16 c b a] [d b a g] | [c a g fis] [b g fis e] | cis2 | d4 c'! |
- [b16 b a g] a4^\trill | g g' |
-%106
- r8 r16 cis,, d4 | r8 [b c? d] | [g,16 g'' g g] g4:16 |
- [fis16 g a g] [fis e d c] | [b g' g g] g4:16 |
- [fis16 g a g] [fis e d c] | [b g' g, a] a4^\trill |
- [b16 g' g, a] a4^\trill | [b16 g' g, a] a4^\trill | [g8 d] g,4
-%fine
-
-}
-
-violinoii = \notes \relative c'{
- \context Voice=i
- \clef "violin";
- \stemup [<g8 d' b' g'> g'' g g] \stemboth | [b,16 c d c] [b c d c] |
- \stemup [<g,8 d' b' g'> g'' g g] \stemboth | [b,16 c d c] [b c d c] |
-%5
- \stemup [<g,8 d' b' g'> g'' g g] \stemboth | [g16 d c b] [a g fis g] |
- [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
- [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
-%11
- [fis g a b] [c a g fis] | [g a b c] [d b a g] |
- [a b c d] [e c b a] | [b c d c] [d b a g] |
-%15
- [fis g a g] [fis e d c] | [b a g8] r4 |
- \stemup [<g8 d' b' g'> g'' g g] \stemboth |
- \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} |
- \times 2/3 {[g'8 d c]} \times 2/3 {[b a g]} |
- \times 2/3 {[f' d c]} \times 2/3 {[b a g]} |
-%21
- \stemup [<c,8 e c' e> e' e e] | <c,2 e c' e> |
- [<a8 e' cis' a'> a'' a a] \stemboth |
- \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} |
- \times 2/3 {[a' e d]} \times 2/3 {[cis b a]} |
-%26
- \times 2/3 {[g' e d]} \times 2/3 {[cis b a]} |
- \stemup [<d, a' fis'> fis' fis fis] \stemboth |
- <d,2 a' fis'> | \times 2/3 {[b'8 c d]} \times 2/3 {[e fis g]} |
- \times 2/3 {[g fis g]} \times 2/3 {[b, a g]} |
- \times 2/3 {[a b cis]} \times 2/3 {[d e fis]} |
-%32
- \times 2/3 {[fis e fis]} \times 2/3 {[a, g fis]} |
- \times 2/3 {[g a b]} \times 2/3 {[cis d e]} |
- \times 2/3 {[e d e]} \times 2/3 {[g, fis e]}
-%35
- [fis16 d e d] [e d e d] | [g d e d] [e d e d] |
- [a' d, e d] [e d e d] | [b' d, e d] [e d e d] |
- [cis' a b a] [b a b a] | [d a b a] [b a b a] |
- [e' a, b a] [a b a b] | [fis' a, b a] [a b a b] |
-%43
- \times 2/3 {[g'8 b a]} \times 2/3 {[g fis e]} |
- \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} |
- \times 2/3 {[g, b a]} \times 2/3 {[g fis e]} |
- \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} |
-%47
- [b''16 g fis e] [a fis e d] | [g e d cis] [fis d cis b] | gis,2 |
-%50
- a4 g'! | [fis16 fis e d] e4 | d d' | r8 r16 g,16 a4 |
- r8 [fis g! a] | d,2
- f4 r8 f | [e-. ~ e-.] r4 |
- \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 |
-%60
- e'4 r8 e | [d-. ~ d-.] r4 |
- \times 2/3 {[d8 a' c]} \times 2/3 {[b a b]} | [b a] r4 |
-%64 : reprise
- \stemup [<g,8 d' b' g'> g'' g g] \stemboth | [b,16 c d c] [b c d c] |
- \stemup [<g,8 d' b' g'> g'' g g] \stemboth | [b,16 c d c] [b c d c] |
- \stemup [<g,8 d' b' g'> g'' g g] \stemboth | [g16 d c b] [a g fis g] |
-%70
- [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
- [fis g a g] [fis e d c] | [b a g8] r4 |
- \stemup [<g8 d' b' g'> g'' g g] \stemboth |
- \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} |
- \times 2/3 {[f d c]} \times 2/3 {[b a g]} | [e' c] r4 |
-%78
- \stemup [<a8 e' cis' a'> a'' a a] \stemboth |
- \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} |
- \times 2/3 {[g e d]} \times 2/3 {[cis b a]} | [fis' d] r4 |
- \times 2/3 {[e'8 fis g]} \times 2/3 {[a b c]} |
- \times 2/3 {[c b c]} \times 2/3 {[e, d c]} |
- \times 2/3 {[d e fis]} \times 2/3 {[g a b]} |
- \times 2/3 {[b a b]} \times 2/3 {[d, c b]} |
- \times 2/3 {[c d e]} \times 2/3 {[fis g a]} |
- \times 2/3 {[a g a]} \times 2/3 {[c, b a]} |
-%88
- [b16 g a g] [a g a g] | [c g a g] [a g a g] | [d' g, a g] [a g a g] |
- [e' g, a g] [a g a g] | [fis' d e d] [e d e d] | [g d e d] [e d e d] |
- [a' d, e d] [e d e d] | [b' d, e d] [e d e d] |
-%96
- \times 2/3 {[c'8 e, d]} \times 2/3 {[c b a]} |
- \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} |
- \stemup \times 2/3 {[d c' c]} \times 2/3 {[c b a]} \stemboth |
- \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} |
-%100
- [e'16 c b a] [d b a g] | [c a g fis] [b g fis e] | cis2 | d4 c'! |
- [b16 b a g] a4^\trill | g g' |
-%106
- r8 r16 cis,, d4 | r8 [b c? d] | [g,16 g'' g g] g4:16 |
- [fis16 g a g] [fis e d c] | [b g' g g] g4:16 |
- [fis16 g a g] [fis e d c] | [b g' g, a] a4^\trill |
- [b16 g' g, a] a4^\trill | [b16 g' g, a] a4^\trill | [g8 d] g,4
-%fine
-
-}
-
-viola = \notes \relative c'{
- \context Voice=i
- \clef "alto";
- [b16 c d c] [b c d c] | [b8 b b b] |
- [b16 c d c] [b c d c] | [b8 b b b] |
-%5
- [b16 c d c] [b c d c] | b4 r |
- r8 [e g a] | [d, b b d] | [g, e' g a] |
-%10
- [d, b d e] | [a, fis'16 g] [a fis e d] |
- [d8 d d d] | r [a' a a] | [d, b d e] |
- [a, d d a] | [g16 g' fis e] [d c b a] |
- [g b d c] [b c d c] | b4 r | d d | d d |
-%21
- [e16 f? g f] [e f g f] | [g8 e e d] |
- [cis16 d e d] [cis d e d] | cis4 r |
-%25
- e e | e e | [fis16 g a g] [fis g a g] |
- [fis8 fis a a] | d,4 b | b g' | cis,? a |
- a fis' b, g' | a a, |
-%35
- [a8 fis' fis fis] | r [g g g] | r [a a a] |
- r [b, b b] | r [cis cis cis] | r [d d d] | r [e e e] |
- r [fis fis fis] |
-%43
- \times 2/3 {[e g fis]} \times 2/3 {[e fis g]} | fis4 r |
- \times 2/3 {[e8 g fis]} \times 2/3 {[e fis g]} | fis4 r |
-%47
- [d8 g d fis] | r [e a, d] | r b [b cis16 d] |
- [e8 d e cis] | [d d d cis] | d4 d' | r8 r16 gis, a4 |
- r8 [fis8 g! a] | d,2
- [d8 d d d] | [d c!] r4 |
- \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 |
-%60
- [c8\p c c c] | [c b] r4 | [a8 fis e g] | [g fis] r4 |
-%64 : reprise
- [b,16 c d c] [b c d c] | [b8 b b b] |
- [b16 c d c] [b c d c] | [b8 b b b] |
-%68
- [b16 c d c] [b c d c] | b4 r |
- r8 [e g a] | [d b] r e | [a, a a a] |
-%73
- [g16 b c d] [e fis g a] | [b c d c] [b c d c] | b4 r |
- d, d | g, r | [cis16 d e d] [cis d e d] | cis 4 r |
-%80
- e4 e | [a,8 fis'16 g] [fis8 d] |
- g,4 e' | e c' | fis, d | d b' | e, c | c d |
-%88
- [d8 b b b] | r [c c c] | r [d d d] | r [e e e] | r [fis fis fis] |
- r [g g g] | r [a a a] | r [b b b] |
-%96
- \times 2/3 {[a c b]} \times 2/3 {[a b c]} | b4 r |
- \times 2/3 {[a,8 a g]} \times 2/3 {[a b c]} |
- b4 r | [g8 c g b] | r [a' d, g] | r e [e fis16 g] | [a8 g a fis] |
-%104
- g8 g4 fis8 | g4 g | r8 r16 cis, d4 | r8 [b c? d] | [g, b d e] |
- [a, a a' a] | [d, b d e] | [a, a a' a] | [d, d e d] | [d d e d] |
- [d g g fis] | [g d] g,4
-%fine
-
-}
-
-bassocontinuo = \notes \relative c'{
- \context Voice=i
- \clef "bass";
- [g16 a b a] [g a b a] | [g8 g, g g'] |
- [g16 a b a] [g a b a] | [g8 g, g g'] |
-%5
- [g16 a b a] [g a b a] | [g8 g,] r4 |
- [c'8 c,] [e fis] | [g g g b,] |
- [c c] [e fis] | [g g b c] |
-%11
- [d d d c] | [b b b b] | [fis fis fis fis] |
- [g g b c] | [d fis, fis fis] | [g16 g fis e] [d c b a] |
-%17
- [g g' b a] [g a b a] | g4 r | b, b | b b |
-%21
- [c16 d e d] [c d e d] | [c8 e' c a] | [a16 b cis b] [a b cis b]
- a4 r | cis, cis | cis cis |
-%27
- [d16 e fis e] [d e fis e] | [d8 d fis fis] | g4 g |
- e e | fis fis | d d | e e | cis cis |
-%35
- d2:8 | e2:8 | fis2:8 | g2:8 | a2:8 | b2:8 | [cis8 cis,? cis cis] |
- d2:8 | cis4 cis | d r | cis cis | d r |
-%47
- g8 r fis r | e r d r | r [e e d] | [cis b cis a] | [d fis g a] |
- d,4 d' | r8 r16 gis, a4 | r8 [fis g! a] | d,2
- r2 | r |
- \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 |
-%60
- r2 | r |
- [f'8 d g g,] | [d' d'] [d16 c b a] |
-%64 : reprise
- [g16 a b a] [g a b a] | [g8 g, g g'] |
- [g16 a b a] [g a b a] | [g8 g, g g'] |
-%68
- [g16 a b a] [g a b a] | g4 r |
- [c8 c,] [e fis] | [g g b, c] | [e fis fis fis] |
-%73
- [g16 g, a b] [c d e fis] | [g a b a] [g a b a] | g4 r |
- b, b | [c8 c'16 d] [e d cis b] | [a b cis b] [a b cis b] |
-%79
- a4 r | cis,4 cis | [d8 d'16 e] [d8 b] |
- c4 c | a a | b b | g g | a a | fis fis | g2:8 | a2:8 |
-%90
- [b8 b, b b] | c2:8 | d2:8 | e2:8 | fis2:8 | g2:8 |
- fis4 fis | g r | fis fis | g r | c8 r b r | a r g r |
- r [a a g] | [fis e fis d] | [g, b c d] | g,4 g' |
-%106
- r8 r16 cis, d4 | r8 [b c? d] | [g, g' b c] | [d fis, fis fis] |
- [g g, b c] | [d fis fis fis] | [g b, c d] | [g, b c d] |
- [g, b c d] | [g d] g,4
-%fine
-}
-
-
-\score{
- \context StaffGroup <
- \context Staff = i < %\tempi
- \global \dynamics \violinoi >
- \context Staff = ii < \global \dynamics \violinoii >
- \context Staff = iii < \global \dynamics \viola >
- \context Staff = iv < \global \dynamics \bassocontinuo >
- >
- \header{
- piece="I. Allegro";
- }
- \paper{
- \translator { \OrchestralScoreContext }
- }
- \midi{ \tempo 4 = 100; }
-}
-
-\version "1.3.4";
import sys
import __main__
import getopt
-from string import *
+import string
import re
import time
return s
def str_to_tuple (s):
- return tuple (map (atoi, split (s,'.')))
+ return tuple (map (string.atoi, string.split (s,'.')))
def tup_to_str (t):
- return join (map (lambda x: '%s' % x, list (t)), '.')
+ return string.join (map (lambda x: '%s' % x, list (t)), '.')
def version_cmp (t1, t2):
for x in [0,1,2]:
conversions.append ((1,3,38), conv, '\musicalpitch { a b c } -> #\'(a b c)')
+if 1:
+ def conv (str):
+ def replace (match):
+ return '\\key %s;' % string.lower (match.group (1))
+
+ str = re.sub ("\\\\key ([^;]+);", replace, str)
+ return str
+
+ conversions.append ((1,3,39), conv, '\\key A ; ->\\key a;')
+
+if 1:
+ def conv (str):
+ if re.search ('\\[:',str):
+ sys.stderr.write ('\nNot smart enough to convert to new tremolo format')
+ return str
+
+ conversions.append ((1,3,41), conv,
+ '[:16 c4 d4 ] -> \repeat "tremolo" 2 { c16 d16 }')
############################
return conversions[-1][0]
def do_conversion (infile, from_version, outfile, to_version):
-
conv_list = get_conversions (from_version, to_version)
sys.stderr.write ('Applying conversions: ')