From 462ddeacef82187d5b85eb92c167f08561ad311a Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 30 Mar 2000 11:05:01 +0200 Subject: [PATCH] release: 1.3.41 =========== * mutopia/Coriolan/violino-2.ly: Bugfix: wrong pitch. * input/test: Removed stale AutoStaffSwitch examples. * 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, preparations for cross-building to Cygwin. * buildscripts/make-cygwin-cross.sh: Now using rpm packages. 1.3.40.h --- CHANGES | 42 ++- Documentation/regression-test.tely | 18 +- Documentation/user/GNUmakefile | 7 +- Documentation/user/glossary.tely | 10 +- Documentation/user/invoking.itexi | 22 +- Documentation/user/mudela-book.tely | 2 +- Documentation/user/properties.itely | 2 +- Documentation/user/refman.itely | 2 + VERSION | 4 +- buildscripts/make-cygwin-cross.sh | 6 - configure | 2 +- input/example-1.fly | 13 - input/example-1.ly | 20 ++ input/example-2.fly | 13 - input/example-2.ly | 20 ++ input/star-spangled-banner.ly | 4 + input/test/accid.fly | 6 - input/test/accid.ly | 13 + input/test/accidental-spacing.ly | 10 + input/test/accidental-spacing.sly | 1 - input/test/as.fly | 2 - input/test/as.ly | 9 + input/test/as1.fly | 3 - input/test/as1.ly | 10 + input/test/ass-extra-voice.ly | 0 input/test/auto-staff-switch.ly | 0 input/test/beam-abbrev.fly | 5 - input/test/beam-abbrev.ly | 12 + input/test/beam-control.fly | 16 - input/test/beam-control.ly | 23 ++ input/test/beam-dir.fly | 1 - input/test/beam-dir.ly | 8 + input/test/beam-length.fly | 3 - input/test/beam-length.ly | 10 + input/test/beam-position.ly | 12 + input/test/beam-position.sly | 3 - input/test/beam-slope.fly | 1 - input/test/beam-slope.ly | 8 + input/test/chord-tremolo.ly | 10 + input/test/chord-tremolo.sly | 6 - input/test/coda-kludge.ly | 2 +- input/test/collision-merge-dotted.fly | 11 - input/test/collision-merge-dotted.ly | 18 + input/test/dots.fly | 10 - input/test/dots.ly | 17 + input/test/dynamics.fly | 3 - input/test/dynamics.ly | 10 + input/test/force-hshift.ly | 25 ++ input/test/force-hshift.sly | 16 - input/test/grace-end.fly | 2 - input/test/grace-end.ly | 9 + input/test/harmonics.ly | 7 + input/test/hshift.fly | 10 - input/test/hshift.ly | 17 + input/test/multi-slope.fly | 1 - input/test/multi-slope.ly | 8 + input/test/no-stem-extend.fly | 13 - input/test/no-stem-extend.ly | 20 ++ input/test/note-shift.ly | 32 ++ input/test/note-shift.sly | 23 -- input/test/number-staff-lines.fly | 2 - input/test/number-staff-lines.ly | 9 + input/test/perform-grace.fly | 5 - input/test/perform-grace.ly | 12 + input/test/perform-tie.fly | 2 - input/test/perform-tie.ly | 9 + input/test/repeat.ly | 2 +- input/test/repeatbar.fly | 3 - input/test/repeatbar.ly | 10 + input/test/reps.ly | 10 - input/test/rests.fly | 5 - input/test/rests.ly | 12 + input/test/scales.fly | 102 ------ input/test/scales.ly | 109 ++++++ input/test/script-column.fly | 3 - input/test/script-column.ly | 10 + input/test/sizes.fly | 10 - input/test/sizes.ly | 17 + input/test/slur-follow-music.ly | 24 ++ input/test/slur-follow-music.sly | 15 - input/test/staccato-pos.ly | 12 + input/test/staccato-pos.sly | 3 - input/test/stem-direction-down.ly | 2 +- input/test/stem-direction.ly | 10 + input/test/stem-direction.sly | 1 - input/test/stem-length.fly | 2 - input/test/stem-length.ly | 10 +- input/test/stem-spacing.ly | 11 + input/test/stem-spacing.sly | 2 - input/test/tie-sparse.ly | 13 + input/test/tie-sparse.sly | 4 - input/test/time.fly | 139 -------- input/test/time.ly | 146 ++++++++ input/test/timing.fly | 16 - input/test/timing.ly | 23 ++ input/test/transposing.fly | 10 - input/test/transposing.ly | 17 + input/test/tuplet-2.fly | 3 - input/test/tuplet-2.ly | 10 + input/test/tuplet.fly | 43 --- input/test/tuplet.ly | 50 +++ input/test/updown.fly | 11 - input/test/updown.ly | 18 + input/test/volta.fly | 17 - input/test/volta.ly | 24 ++ lily/auto-beam-engraver.cc | 7 +- lily/axis-group-engraver.cc | 15 +- lily/bar-engraver.cc | 3 - lily/bar-number-engraver.cc | 13 +- lily/beam-engraver.cc | 9 +- lily/chord-tremolo-engraver.cc | 236 ++++++------- lily/include/beaming.hh | 4 + lily/include/lily-proto.hh | 1 - lily/include/moment.hh | 2 + lily/include/musical-request.hh | 12 - lily/include/my-lily-parser.hh | 6 - lily/include/repeated-music.hh | 2 +- lily/local-key-engraver.cc | 6 +- lily/multi-measure-rest-engraver.cc | 29 +- lily/musical-request.cc | 13 - lily/my-lily-parser.cc | 10 - lily/new-chord-tremolo-engraver.cc | 37 -- lily/parser.yy | 51 +-- lily/repeated-music.cc | 26 +- lily/score-element.cc | 28 +- lily/span-score-bar-engraver.cc | 4 + lily/timing-engraver.cc | 3 - lily/timing-translator.cc | 5 + ly/engraver.ly | 4 +- ly/init.sly | 2 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 54 +-- mutopia/E.Satie/gnossienne-4-autochange.ly | 0 mutopia/GNUmakefile | 2 +- mutopia/L.Mozart/GNUmakefile | 10 - mutopia/L.Mozart/sinfonia.ly | 386 --------------------- scripts/convert-mudela.py | 25 +- 137 files changed, 1203 insertions(+), 1391 deletions(-) delete mode 100644 input/example-1.fly create mode 100644 input/example-1.ly delete mode 100644 input/example-2.fly create mode 100644 input/example-2.ly delete mode 100644 input/test/accid.fly create mode 100644 input/test/accid.ly create mode 100644 input/test/accidental-spacing.ly delete mode 100644 input/test/accidental-spacing.sly delete mode 100644 input/test/as.fly create mode 100644 input/test/as.ly delete mode 100644 input/test/as1.fly create mode 100644 input/test/as1.ly delete mode 100644 input/test/ass-extra-voice.ly delete mode 100644 input/test/auto-staff-switch.ly delete mode 100644 input/test/beam-abbrev.fly create mode 100644 input/test/beam-abbrev.ly delete mode 100644 input/test/beam-control.fly create mode 100644 input/test/beam-control.ly delete mode 100644 input/test/beam-dir.fly create mode 100644 input/test/beam-dir.ly delete mode 100644 input/test/beam-length.fly create mode 100644 input/test/beam-length.ly create mode 100644 input/test/beam-position.ly delete mode 100644 input/test/beam-position.sly delete mode 100644 input/test/beam-slope.fly create mode 100644 input/test/beam-slope.ly create mode 100644 input/test/chord-tremolo.ly delete mode 100644 input/test/chord-tremolo.sly delete mode 100644 input/test/collision-merge-dotted.fly create mode 100644 input/test/collision-merge-dotted.ly delete mode 100644 input/test/dots.fly create mode 100644 input/test/dots.ly delete mode 100644 input/test/dynamics.fly create mode 100644 input/test/dynamics.ly create mode 100644 input/test/force-hshift.ly delete mode 100644 input/test/force-hshift.sly delete mode 100644 input/test/grace-end.fly create mode 100644 input/test/grace-end.ly create mode 100644 input/test/harmonics.ly delete mode 100644 input/test/hshift.fly create mode 100644 input/test/hshift.ly delete mode 100644 input/test/multi-slope.fly create mode 100644 input/test/multi-slope.ly delete mode 100644 input/test/no-stem-extend.fly create mode 100644 input/test/no-stem-extend.ly create mode 100644 input/test/note-shift.ly delete mode 100644 input/test/note-shift.sly delete mode 100644 input/test/number-staff-lines.fly create mode 100644 input/test/number-staff-lines.ly delete mode 100644 input/test/perform-grace.fly create mode 100644 input/test/perform-grace.ly delete mode 100644 input/test/perform-tie.fly create mode 100644 input/test/perform-tie.ly delete mode 100644 input/test/repeatbar.fly create mode 100644 input/test/repeatbar.ly delete mode 100644 input/test/reps.ly delete mode 100644 input/test/rests.fly create mode 100644 input/test/rests.ly delete mode 100644 input/test/scales.fly create mode 100644 input/test/scales.ly delete mode 100644 input/test/script-column.fly create mode 100644 input/test/script-column.ly delete mode 100644 input/test/sizes.fly create mode 100644 input/test/sizes.ly create mode 100644 input/test/slur-follow-music.ly delete mode 100644 input/test/slur-follow-music.sly create mode 100644 input/test/staccato-pos.ly delete mode 100644 input/test/staccato-pos.sly create mode 100644 input/test/stem-direction.ly delete mode 100644 input/test/stem-direction.sly delete mode 100644 input/test/stem-length.fly create mode 100644 input/test/stem-spacing.ly delete mode 100644 input/test/stem-spacing.sly create mode 100644 input/test/tie-sparse.ly delete mode 100644 input/test/tie-sparse.sly delete mode 100644 input/test/time.fly create mode 100644 input/test/time.ly delete mode 100644 input/test/timing.fly create mode 100644 input/test/timing.ly delete mode 100644 input/test/transposing.fly create mode 100644 input/test/transposing.ly delete mode 100644 input/test/tuplet-2.fly create mode 100644 input/test/tuplet-2.ly delete mode 100644 input/test/tuplet.fly create mode 100644 input/test/tuplet.ly delete mode 100644 input/test/updown.fly create mode 100644 input/test/updown.ly delete mode 100644 input/test/volta.fly create mode 100644 input/test/volta.ly delete mode 100644 lily/new-chord-tremolo-engraver.cc delete mode 100644 mutopia/E.Satie/gnossienne-4-autochange.ly delete mode 100644 mutopia/L.Mozart/GNUmakefile delete mode 100644 mutopia/L.Mozart/sinfonia.ly diff --git a/CHANGES b/CHANGES index 4602714b1a..08e060e31d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,8 +1,3 @@ -1.3.40.jcn4 -=========== - -* More windows distribution changes: - 1.3.40.jcn3 =========== @@ -10,22 +5,39 @@ * 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 + +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 =========== @@ -55,8 +67,6 @@ XXXVerticalExtent, so hard code the size of a vertical group. * Don't fix up reference points for originals of broken spanners. Fixes spurious "orphaned score-element" warnings. -2000-03-24 - * 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. diff --git a/Documentation/regression-test.tely b/Documentation/regression-test.tely index 0a4cd198cf..dc4a9de032 100644 --- a/Documentation/regression-test.tely +++ b/Documentation/regression-test.tely @@ -41,7 +41,7 @@ should go up, but in case of multiple parts, the down stems have down 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 @@ -78,7 +78,7 @@ leave a gap. Chord tremolo beams on half notes are not ambiguous, 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 @@ -88,7 +88,7 @@ Stems, beams, ties and slurs should behave similarly, when placed 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}. @@ -99,7 +99,7 @@ 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 @@ -136,7 +136,7 @@ counting from the note head side, should never be lower than the 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. @@ -196,7 +196,7 @@ LilyPond has three modes for repeats: folded, unfolded and 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. @@ -248,14 +248,14 @@ numberOfStaffLines. Ledger lines both on note heads and rests are 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 @@ -349,7 +349,7 @@ with style ``old'', 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and layout. The style ``1'', gives single number signatures for all signatures. % -\mu delafile{time.fly} +\mu delafile{time.ly} @end ignore @bye diff --git a/Documentation/user/GNUmakefile b/Documentation/user/GNUmakefile index 7e2ea57cbe..ad61134692 100644 --- a/Documentation/user/GNUmakefile +++ b/Documentation/user/GNUmakefile @@ -9,8 +9,8 @@ DOC_FILES = $(wildcard *.doc) 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) @@ -28,9 +28,6 @@ ps: $(PS_FILES) # 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) \ diff --git a/Documentation/user/glossary.tely b/Documentation/user/glossary.tely index c7de116fcc..05bc8056b9 100644 --- a/Documentation/user/glossary.tely +++ b/Documentation/user/glossary.tely @@ -1,4 +1,3 @@ -\input ruled \input texinfo @setfilename glossary.info @@ -2399,8 +2398,9 @@ I: terza, F: tierce, D: Terz, NL: terts, DK: terts, S: ters, N: . @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}} @@ -2531,8 +2531,8 @@ a @w{@ar{}@strong{chord}}, usually in the distance of a third \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 diff --git a/Documentation/user/invoking.itexi b/Documentation/user/invoking.itexi index f6d5f1d08a..c8c6775965 100644 --- a/Documentation/user/invoking.itexi +++ b/Documentation/user/invoking.itexi @@ -48,27 +48,7 @@ code and named output. 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 diff --git a/Documentation/user/mudela-book.tely b/Documentation/user/mudela-book.tely index 37299dc14e..8b8509d582 100644 --- a/Documentation/user/mudela-book.tely +++ b/Documentation/user/mudela-book.tely @@ -191,7 +191,7 @@ be no empty lines between the normal text and the mudela 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 diff --git a/Documentation/user/properties.itely b/Documentation/user/properties.itely index 36dbac92da..3804e11ab8 100644 --- a/Documentation/user/properties.itely +++ b/Documentation/user/properties.itely @@ -166,7 +166,7 @@ c''16 \property Staff.fontSize = -2 c''16 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] diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 3862e3ad4d..2827b4b0f8 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -1038,6 +1038,8 @@ Some more elaborate constructions: Beaming can be generated automatically; see section XREF-autobeam [FIXME]. +[OUTDATED, FIXME] + To place tremolo marks @cindex tremolo beams between two notes, begin diff --git a/VERSION b/VERSION index 94147ca39b..7c8fb20926 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ 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. diff --git a/buildscripts/make-cygwin-cross.sh b/buildscripts/make-cygwin-cross.sh index aebce867e7..e6277959e0 100644 --- a/buildscripts/make-cygwin-cross.sh +++ b/buildscripts/make-cygwin-cross.sh @@ -407,7 +407,6 @@ done 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 @@ -488,8 +487,3 @@ done 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 diff --git a/configure b/configure index c17460b7f1..9a27b70761 100755 --- a/configure +++ b/configure @@ -2663,7 +2663,7 @@ echo "configure:2645: checking for TeX TFM directory" >&5 ## 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 diff --git a/input/example-1.fly b/input/example-1.fly deleted file mode 100644 index 14388733da..0000000000 --- a/input/example-1.fly +++ /dev/null @@ -1,13 +0,0 @@ -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). diff --git a/input/example-1.ly b/input/example-1.ly new file mode 100644 index 0000000000..839690d4c7 --- /dev/null +++ b/input/example-1.ly @@ -0,0 +1,20 @@ +\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 diff --git a/input/example-2.fly b/input/example-2.fly deleted file mode 100644 index 5cb034ba20..0000000000 --- a/input/example-2.fly +++ /dev/null @@ -1,13 +0,0 @@ -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). diff --git a/input/example-2.ly b/input/example-2.ly new file mode 100644 index 0000000000..982027eb40 --- /dev/null +++ b/input/example-2.ly @@ -0,0 +1,20 @@ +\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 diff --git a/input/star-spangled-banner.ly b/input/star-spangled-banner.ly index e25e162a3d..87bbd5595c 100644 --- a/input/star-spangled-banner.ly +++ b/input/star-spangled-banner.ly @@ -168,7 +168,11 @@ handLyrics = \notes \context GrandStaff < } \translator { \LyricsContext + } + \translator { + \LyricsVoiceContext \consists "Bar_engraver"; + } } \midi {} diff --git a/input/test/accid.fly b/input/test/accid.fly deleted file mode 100644 index d7a7775c42..0000000000 --- a/input/test/accid.fly +++ /dev/null @@ -1,6 +0,0 @@ -\time 3/4; -cisis'' cisis! cisis? | -cis cis! cis? | -c c! c? | -ces ces! ces? | -ceses ceses! ceses? | diff --git a/input/test/accid.ly b/input/test/accid.ly new file mode 100644 index 0000000000..fb00fbc50e --- /dev/null +++ b/input/test/accid.ly @@ -0,0 +1,13 @@ +\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 diff --git a/input/test/accidental-spacing.ly b/input/test/accidental-spacing.ly new file mode 100644 index 0000000000..19d07f138b --- /dev/null +++ b/input/test/accidental-spacing.ly @@ -0,0 +1,10 @@ +\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 diff --git a/input/test/accidental-spacing.sly b/input/test/accidental-spacing.sly deleted file mode 100644 index 8d7bb18d8b..0000000000 --- a/input/test/accidental-spacing.sly +++ /dev/null @@ -1 +0,0 @@ -c''4 c4 cis4 cis [c8 c \clef "bass"; f,, f] diff --git a/input/test/as.fly b/input/test/as.fly deleted file mode 100644 index 22030059a3..0000000000 --- a/input/test/as.fly +++ /dev/null @@ -1,2 +0,0 @@ -\time 4/4; -g''1 a2 b4. c8 diff --git a/input/test/as.ly b/input/test/as.ly new file mode 100644 index 0000000000..3aa062eec9 --- /dev/null +++ b/input/test/as.ly @@ -0,0 +1,9 @@ +\score { + \context Voice \notes\relative c { + \time 4/4; + g''1 a2 b4. c8 + + } + \paper { } + \midi { } +} \ No newline at end of file diff --git a/input/test/as1.fly b/input/test/as1.fly deleted file mode 100644 index bd2a54a980..0000000000 --- a/input/test/as1.fly +++ /dev/null @@ -1,3 +0,0 @@ -\time 4/4; -g''1 a2 b4. c8 -\repeat "volta" 2 { a4 b c d } \alternative { { c c c c } { d2 d4 [d8 d] } } diff --git a/input/test/as1.ly b/input/test/as1.ly new file mode 100644 index 0000000000..cd66621667 --- /dev/null +++ b/input/test/as1.ly @@ -0,0 +1,10 @@ +\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 diff --git a/input/test/ass-extra-voice.ly b/input/test/ass-extra-voice.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/test/auto-staff-switch.ly b/input/test/auto-staff-switch.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/test/beam-abbrev.fly b/input/test/beam-abbrev.fly deleted file mode 100644 index e65abb3444..0000000000 --- a/input/test/beam-abbrev.fly +++ /dev/null @@ -1,5 +0,0 @@ -c'1:16 -\stemup -c4:8 c4:16 [c8:16 c:] [c,8:16 c'':] -\stemboth -[c,,8:16 c'':] diff --git a/input/test/beam-abbrev.ly b/input/test/beam-abbrev.ly new file mode 100644 index 0000000000..117b13e7eb --- /dev/null +++ b/input/test/beam-abbrev.ly @@ -0,0 +1,12 @@ +\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 diff --git a/input/test/beam-control.fly b/input/test/beam-control.fly deleted file mode 100644 index 761628da71..0000000000 --- a/input/test/beam-control.fly +++ /dev/null @@ -1,16 +0,0 @@ -% 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] diff --git a/input/test/beam-control.ly b/input/test/beam-control.ly new file mode 100644 index 0000000000..0c27c6b744 --- /dev/null +++ b/input/test/beam-control.ly @@ -0,0 +1,23 @@ +\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 diff --git a/input/test/beam-dir.fly b/input/test/beam-dir.fly deleted file mode 100644 index a5fcefbb8e..0000000000 --- a/input/test/beam-dir.fly +++ /dev/null @@ -1 +0,0 @@ -[b''16 a] diff --git a/input/test/beam-dir.ly b/input/test/beam-dir.ly new file mode 100644 index 0000000000..3b431ef15b --- /dev/null +++ b/input/test/beam-dir.ly @@ -0,0 +1,8 @@ +\score { + \context Voice \notes\relative c { + [b''16 a] + + } + \paper { } + \midi { } +} \ No newline at end of file diff --git a/input/test/beam-length.fly b/input/test/beam-length.fly deleted file mode 100644 index 5c7d7a7ffa..0000000000 --- a/input/test/beam-length.fly +++ /dev/null @@ -1,3 +0,0 @@ -% beams should look the same - [d''8 d d] [d g d] - c c diff --git a/input/test/beam-length.ly b/input/test/beam-length.ly new file mode 100644 index 0000000000..c408e64b2c --- /dev/null +++ b/input/test/beam-length.ly @@ -0,0 +1,10 @@ +\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 diff --git a/input/test/beam-position.ly b/input/test/beam-position.ly new file mode 100644 index 0000000000..2d912fd9e3 --- /dev/null +++ b/input/test/beam-position.ly @@ -0,0 +1,12 @@ +\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 diff --git a/input/test/beam-position.sly b/input/test/beam-position.sly deleted file mode 100644 index 86136e69a7..0000000000 --- a/input/test/beam-position.sly +++ /dev/null @@ -1,3 +0,0 @@ -[f8 f] [f64 f] \grace { [f8 e8] } -\property Voice.noStemExtend = ##t -[f8 f] diff --git a/input/test/beam-slope.fly b/input/test/beam-slope.fly deleted file mode 100644 index 216b300dbc..0000000000 --- a/input/test/beam-slope.fly +++ /dev/null @@ -1 +0,0 @@ -[c''16 b] [a b] diff --git a/input/test/beam-slope.ly b/input/test/beam-slope.ly new file mode 100644 index 0000000000..90316d2ea4 --- /dev/null +++ b/input/test/beam-slope.ly @@ -0,0 +1,8 @@ +\score { + \context Voice \notes\relative c { + [c''16 b] [a b] + + } + \paper { } + \midi { } +} \ No newline at end of file diff --git a/input/test/chord-tremolo.ly b/input/test/chord-tremolo.ly new file mode 100644 index 0000000000..66d118991b --- /dev/null +++ b/input/test/chord-tremolo.ly @@ -0,0 +1,10 @@ +\score { + \context Voice \notes\relative c { + \repeat "tremolo" 8 { c16 d16 } + \repeat "tremolo" 4 { c16 d16 } + } + \paper { + linewidth=-1.0; + } + \midi { } +} diff --git a/input/test/chord-tremolo.sly b/input/test/chord-tremolo.sly deleted file mode 100644 index 88cc140de0..0000000000 --- a/input/test/chord-tremolo.sly +++ /dev/null @@ -1,6 +0,0 @@ -[:16 c'1 d] -[:8 c2 d] -[:16 c4 d] -[:32 c16 d] -[:32 c16 d] -[:16 c8 d] diff --git a/input/test/coda-kludge.ly b/input/test/coda-kludge.ly index 80920b1240..ea590a55eb 100644 --- a/input/test/coda-kludge.ly +++ b/input/test/coda-kludge.ly @@ -32,7 +32,7 @@ Hi, 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 } } } diff --git a/input/test/collision-merge-dotted.fly b/input/test/collision-merge-dotted.fly deleted file mode 100644 index bbf4f4d9fc..0000000000 --- a/input/test/collision-merge-dotted.fly +++ /dev/null @@ -1,11 +0,0 @@ - -\relative c'' \context Staff < -\context Voice = one { - \property Staff.collisionMergeDotted = ##t - \stemup - [c8 f g a] -} -\context Voice = two { - \stemdown c,4. f8 - -}> diff --git a/input/test/collision-merge-dotted.ly b/input/test/collision-merge-dotted.ly new file mode 100644 index 0000000000..b3a2f455d4 --- /dev/null +++ b/input/test/collision-merge-dotted.ly @@ -0,0 +1,18 @@ +\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 diff --git a/input/test/dots.fly b/input/test/dots.fly deleted file mode 100644 index 262501b822..0000000000 --- a/input/test/dots.fly +++ /dev/null @@ -1,10 +0,0 @@ -\time 6/8; -d''4. b - - - -\context Staff < - \context Voice = VA { \stemup f'' r4. } - \context Voice = VB { \stemdown b, r4. } -> - diff --git a/input/test/dots.ly b/input/test/dots.ly new file mode 100644 index 0000000000..fca6280b39 --- /dev/null +++ b/input/test/dots.ly @@ -0,0 +1,17 @@ +\score { + \context Voice \notes\relative c { + \time 6/8; + d''4. b + + + + \context Staff < + \context Voice = VA { \stemup f'' r4. } + \context Voice = VB { \stemdown b, r4. } + > + + + } + \paper { } + \midi { } +} \ No newline at end of file diff --git a/input/test/dynamics.fly b/input/test/dynamics.fly deleted file mode 100644 index 01bbcd6633..0000000000 --- a/input/test/dynamics.fly +++ /dev/null @@ -1,3 +0,0 @@ -c''4 \p c \ff c^\ff -\property Voice.dynamicPadding = 10 -c \p \< \! c \ff\> c \!c-\p diff --git a/input/test/dynamics.ly b/input/test/dynamics.ly new file mode 100644 index 0000000000..cd8b8d8a9f --- /dev/null +++ b/input/test/dynamics.ly @@ -0,0 +1,10 @@ +\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 diff --git a/input/test/force-hshift.ly b/input/test/force-hshift.ly new file mode 100644 index 0000000000..a80f05eae9 --- /dev/null +++ b/input/test/force-hshift.ly @@ -0,0 +1,25 @@ +\score { + \context Voice \notes\relative c { + + \context Staff < + \context Voice = VA { + \property Voice.forceHorizontalShift = #0.1 + \stemup + \property Voice.horizontalNoteShift=1 + + } + + \context Voice = VB { + \stemdown + \property Voice.horizontalNoteShift=1 + \property Voice.forceHorizontalShift = #-0.1 + + } + > + + } + \paper { + linewidth=-1.0; + } + \midi { } +} \ No newline at end of file diff --git a/input/test/force-hshift.sly b/input/test/force-hshift.sly deleted file mode 100644 index ebe65f9617..0000000000 --- a/input/test/force-hshift.sly +++ /dev/null @@ -1,16 +0,0 @@ - -\context Staff < - \context Voice = VA { - \property Voice.forceHorizontalShift = #0.1 - \stemup - \property Voice.horizontalNoteShift=1 - - } - - \context Voice = VB { - \stemdown - \property Voice.horizontalNoteShift=1 - \property Voice.forceHorizontalShift = #-0.1 - - } -> diff --git a/input/test/grace-end.fly b/input/test/grace-end.fly deleted file mode 100644 index 14bcf26415..0000000000 --- a/input/test/grace-end.fly +++ /dev/null @@ -1,2 +0,0 @@ - -c4 \grace { [d16 d16] } diff --git a/input/test/grace-end.ly b/input/test/grace-end.ly new file mode 100644 index 0000000000..d61b1047b7 --- /dev/null +++ b/input/test/grace-end.ly @@ -0,0 +1,9 @@ +\score { + \context Voice \notes\relative c { + + c4 \grace { [d16 d16] } + + } + \paper { } + \midi { } +} \ No newline at end of file diff --git a/input/test/harmonics.ly b/input/test/harmonics.ly new file mode 100644 index 0000000000..1a8eb47295 --- /dev/null +++ b/input/test/harmonics.ly @@ -0,0 +1,7 @@ +\score { + \context Voice \notes\relative c { + + } + \paper { } + \midi { } +} \ No newline at end of file diff --git a/input/test/hshift.fly b/input/test/hshift.fly deleted file mode 100644 index a6ea6b9de6..0000000000 --- a/input/test/hshift.fly +++ /dev/null @@ -1,10 +0,0 @@ - -\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 } -> - - diff --git a/input/test/hshift.ly b/input/test/hshift.ly new file mode 100644 index 0000000000..44fc980698 --- /dev/null +++ b/input/test/hshift.ly @@ -0,0 +1,17 @@ +\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 diff --git a/input/test/multi-slope.fly b/input/test/multi-slope.fly deleted file mode 100644 index 3e63dd367f..0000000000 --- a/input/test/multi-slope.fly +++ /dev/null @@ -1 +0,0 @@ - [c8 c16 c16] diff --git a/input/test/multi-slope.ly b/input/test/multi-slope.ly new file mode 100644 index 0000000000..1cea6506b3 --- /dev/null +++ b/input/test/multi-slope.ly @@ -0,0 +1,8 @@ +\score { + \context Voice \notes\relative c { + [c8 c16 c16] + + } + \paper { } + \midi { } +} \ No newline at end of file diff --git a/input/test/no-stem-extend.fly b/input/test/no-stem-extend.fly deleted file mode 100644 index 9b0cd4570a..0000000000 --- a/input/test/no-stem-extend.fly +++ /dev/null @@ -1,13 +0,0 @@ -% 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 - } -> diff --git a/input/test/no-stem-extend.ly b/input/test/no-stem-extend.ly new file mode 100644 index 0000000000..2f43ce8586 --- /dev/null +++ b/input/test/no-stem-extend.ly @@ -0,0 +1,20 @@ +\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 diff --git a/input/test/note-shift.ly b/input/test/note-shift.ly new file mode 100644 index 0000000000..c81ae2efe3 --- /dev/null +++ b/input/test/note-shift.ly @@ -0,0 +1,32 @@ +\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 diff --git a/input/test/note-shift.sly b/input/test/note-shift.sly deleted file mode 100644 index 645baea08b..0000000000 --- a/input/test/note-shift.sly +++ /dev/null @@ -1,23 +0,0 @@ -\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 - } -> - diff --git a/input/test/number-staff-lines.fly b/input/test/number-staff-lines.fly deleted file mode 100644 index 92a96187cf..0000000000 --- a/input/test/number-staff-lines.fly +++ /dev/null @@ -1,2 +0,0 @@ - -c' c c c | g' g g g \property Staff . numberOfStaffLines = 3 diff --git a/input/test/number-staff-lines.ly b/input/test/number-staff-lines.ly new file mode 100644 index 0000000000..d1d42d05af --- /dev/null +++ b/input/test/number-staff-lines.ly @@ -0,0 +1,9 @@ +\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 diff --git a/input/test/perform-grace.fly b/input/test/perform-grace.fly deleted file mode 100644 index 1927d3f3a4..0000000000 --- a/input/test/perform-grace.fly +++ /dev/null @@ -1,5 +0,0 @@ -\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 diff --git a/input/test/perform-grace.ly b/input/test/perform-grace.ly new file mode 100644 index 0000000000..39a88c14fe --- /dev/null +++ b/input/test/perform-grace.ly @@ -0,0 +1,12 @@ +\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 diff --git a/input/test/perform-tie.fly b/input/test/perform-tie.fly deleted file mode 100644 index 5bd1eca9aa..0000000000 --- a/input/test/perform-tie.fly +++ /dev/null @@ -1,2 +0,0 @@ -c8 c c ~ c c c c ~ c ~ c ~ c c c -%\grace { d16 c16 d16 } c8 diff --git a/input/test/perform-tie.ly b/input/test/perform-tie.ly new file mode 100644 index 0000000000..7ec02e5e6a --- /dev/null +++ b/input/test/perform-tie.ly @@ -0,0 +1,9 @@ +\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 diff --git a/input/test/repeat.ly b/input/test/repeat.ly index 2c1d01c951..489fc8e238 100644 --- a/input/test/repeat.ly +++ b/input/test/repeat.ly @@ -2,7 +2,7 @@ < \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 { diff --git a/input/test/repeatbar.fly b/input/test/repeatbar.fly deleted file mode 100644 index 0829b73d29..0000000000 --- a/input/test/repeatbar.fly +++ /dev/null @@ -1,3 +0,0 @@ -c'' d e f | \repetitions1*3 | -\time 3/4; -g4 a b | R2.*2 | diff --git a/input/test/repeatbar.ly b/input/test/repeatbar.ly new file mode 100644 index 0000000000..4631d472e9 --- /dev/null +++ b/input/test/repeatbar.ly @@ -0,0 +1,10 @@ +\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 diff --git a/input/test/reps.ly b/input/test/reps.ly deleted file mode 100644 index 58d03f8cc8..0000000000 --- a/input/test/reps.ly +++ /dev/null @@ -1,10 +0,0 @@ - -% 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 } -}} - diff --git a/input/test/rests.fly b/input/test/rests.fly deleted file mode 100644 index b1a6fb6419..0000000000 --- a/input/test/rests.fly +++ /dev/null @@ -1,5 +0,0 @@ -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 - diff --git a/input/test/rests.ly b/input/test/rests.ly new file mode 100644 index 0000000000..a52025ae07 --- /dev/null +++ b/input/test/rests.ly @@ -0,0 +1,12 @@ +\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 diff --git a/input/test/scales.fly b/input/test/scales.fly deleted file mode 100644 index d53b627070..0000000000 --- a/input/test/scales.fly +++ /dev/null @@ -1,102 +0,0 @@ -% 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 - diff --git a/input/test/scales.ly b/input/test/scales.ly new file mode 100644 index 0000000000..d31e9ca81d --- /dev/null +++ b/input/test/scales.ly @@ -0,0 +1,109 @@ +\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 diff --git a/input/test/script-column.fly b/input/test/script-column.fly deleted file mode 100644 index 381c5fbcfd..0000000000 --- a/input/test/script-column.fly +++ /dev/null @@ -1,3 +0,0 @@ -%c''4^|^.^"foo"^"klap" -c''4^|^.^"foo"^"klap"^"puk"^\fermata^\stopped -c4_|_._"foo"_"klap"_"puk"_\fermata_\stopped diff --git a/input/test/script-column.ly b/input/test/script-column.ly new file mode 100644 index 0000000000..13f8b4207b --- /dev/null +++ b/input/test/script-column.ly @@ -0,0 +1,10 @@ +\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 diff --git a/input/test/sizes.fly b/input/test/sizes.fly deleted file mode 100644 index 78258d2dc6..0000000000 --- a/input/test/sizes.fly +++ /dev/null @@ -1,10 +0,0 @@ -% 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 diff --git a/input/test/sizes.ly b/input/test/sizes.ly new file mode 100644 index 0000000000..420decf0b9 --- /dev/null +++ b/input/test/sizes.ly @@ -0,0 +1,17 @@ +\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 diff --git a/input/test/slur-follow-music.ly b/input/test/slur-follow-music.ly new file mode 100644 index 0000000000..b710ab9361 --- /dev/null +++ b/input/test/slur-follow-music.ly @@ -0,0 +1,24 @@ +\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 diff --git a/input/test/slur-follow-music.sly b/input/test/slur-follow-music.sly deleted file mode 100644 index bc28469520..0000000000 --- a/input/test/slur-follow-music.sly +++ /dev/null @@ -1,15 +0,0 @@ -% 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 - diff --git a/input/test/staccato-pos.ly b/input/test/staccato-pos.ly new file mode 100644 index 0000000000..a6a3489511 --- /dev/null +++ b/input/test/staccato-pos.ly @@ -0,0 +1,12 @@ +\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 diff --git a/input/test/staccato-pos.sly b/input/test/staccato-pos.sly deleted file mode 100644 index aed9dc91de..0000000000 --- a/input/test/staccato-pos.sly +++ /dev/null @@ -1,3 +0,0 @@ - -e''4-. f-. d-. -c,-. b-. c'''-. d-. diff --git a/input/test/stem-direction-down.ly b/input/test/stem-direction-down.ly index 3834e272bd..fb331e9674 100644 --- a/input/test/stem-direction-down.ly +++ b/input/test/stem-direction-down.ly @@ -1,6 +1,6 @@ \score{ \notes\relative c{ - \include "stem-direction.sly"; + b''4 ~ b8()b8 e4 e, } \paper{ stem_default_neutral_direction=-1.0; diff --git a/input/test/stem-direction.ly b/input/test/stem-direction.ly new file mode 100644 index 0000000000..800185c33e --- /dev/null +++ b/input/test/stem-direction.ly @@ -0,0 +1,10 @@ +\score { + \context Voice \notes\relative c { + b''4 ~ b8()b8 e4 e, + + } + \paper { + linewidth=-1.0; + } + \midi { } +} diff --git a/input/test/stem-direction.sly b/input/test/stem-direction.sly deleted file mode 100644 index 70df9e2cfb..0000000000 --- a/input/test/stem-direction.sly +++ /dev/null @@ -1 +0,0 @@ -b''4 ~ b8()b8 e4 e, diff --git a/input/test/stem-length.fly b/input/test/stem-length.fly deleted file mode 100644 index 00718bc104..0000000000 --- a/input/test/stem-length.fly +++ /dev/null @@ -1,2 +0,0 @@ - -g''4 \property Voice.stemLength = #14 g4 \property Voice.stemLength = #3 g4 g,,4 diff --git a/input/test/stem-length.ly b/input/test/stem-length.ly index 8b13789179..ca1aec2324 100644 --- a/input/test/stem-length.ly +++ b/input/test/stem-length.ly @@ -1 +1,9 @@ - +\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 diff --git a/input/test/stem-spacing.ly b/input/test/stem-spacing.ly new file mode 100644 index 0000000000..9c391a6142 --- /dev/null +++ b/input/test/stem-spacing.ly @@ -0,0 +1,11 @@ +\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 diff --git a/input/test/stem-spacing.sly b/input/test/stem-spacing.sly deleted file mode 100644 index 0d92baf57f..0000000000 --- a/input/test/stem-spacing.sly +++ /dev/null @@ -1,2 +0,0 @@ - -\time 12/4; c''4 c c c a f' f, a diff --git a/input/test/tie-sparse.ly b/input/test/tie-sparse.ly new file mode 100644 index 0000000000..a3b30ae2dc --- /dev/null +++ b/input/test/tie-sparse.ly @@ -0,0 +1,13 @@ +\score { + \context Voice \notes\relative c { + + \context Voice { + \property Voice.sparseTies = ##t + c'' ~ } + + } + \paper { + linewidth=-1.0; + } + \midi { } +} \ No newline at end of file diff --git a/input/test/tie-sparse.sly b/input/test/tie-sparse.sly deleted file mode 100644 index cbfc70dbb4..0000000000 --- a/input/test/tie-sparse.sly +++ /dev/null @@ -1,4 +0,0 @@ - -\context Voice { -\property Voice.sparseTies = ##t -c'' ~ } diff --git a/input/test/time.fly b/input/test/time.fly deleted file mode 100644 index 4517587b14..0000000000 --- a/input/test/time.fly +++ /dev/null @@ -1,139 +0,0 @@ -\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" diff --git a/input/test/time.ly b/input/test/time.ly new file mode 100644 index 0000000000..e9cae53f81 --- /dev/null +++ b/input/test/time.ly @@ -0,0 +1,146 @@ +\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 diff --git a/input/test/timing.fly b/input/test/timing.fly deleted file mode 100644 index e73d89a6cb..0000000000 --- a/input/test/timing.fly +++ /dev/null @@ -1,16 +0,0 @@ - - -% \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 diff --git a/input/test/timing.ly b/input/test/timing.ly new file mode 100644 index 0000000000..cd8ba855c4 --- /dev/null +++ b/input/test/timing.ly @@ -0,0 +1,23 @@ +\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 diff --git a/input/test/transposing.fly b/input/test/transposing.fly deleted file mode 100644 index 1af11261b2..0000000000 --- a/input/test/transposing.fly +++ /dev/null @@ -1,10 +0,0 @@ -% 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 diff --git a/input/test/transposing.ly b/input/test/transposing.ly new file mode 100644 index 0000000000..3c2ebc2478 --- /dev/null +++ b/input/test/transposing.ly @@ -0,0 +1,17 @@ +\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 diff --git a/input/test/tuplet-2.fly b/input/test/tuplet-2.fly deleted file mode 100644 index d68567193b..0000000000 --- a/input/test/tuplet-2.fly +++ /dev/null @@ -1,3 +0,0 @@ - -\times 2/3 { c''8 c c } -\times 2/3 { c8 c'' c,, } diff --git a/input/test/tuplet-2.ly b/input/test/tuplet-2.ly new file mode 100644 index 0000000000..7e8b18c46d --- /dev/null +++ b/input/test/tuplet-2.ly @@ -0,0 +1,10 @@ +\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 diff --git a/input/test/tuplet.fly b/input/test/tuplet.fly deleted file mode 100644 index d9962ad89a..0000000000 --- a/input/test/tuplet.fly +++ /dev/null @@ -1,43 +0,0 @@ -\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 | diff --git a/input/test/tuplet.ly b/input/test/tuplet.ly new file mode 100644 index 0000000000..68e2768fd3 --- /dev/null +++ b/input/test/tuplet.ly @@ -0,0 +1,50 @@ +\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 diff --git a/input/test/updown.fly b/input/test/updown.fly deleted file mode 100644 index 0acf70455b..0000000000 --- a/input/test/updown.fly +++ /dev/null @@ -1,11 +0,0 @@ -% this used to work: -% <{\voiceone e} -% {\voicetwo c}> - -% now we need: -\context Staff -<{\voiceone e} -{\voicetwo c}> - - -\version "1.0.21"; diff --git a/input/test/updown.ly b/input/test/updown.ly new file mode 100644 index 0000000000..f21e78a109 --- /dev/null +++ b/input/test/updown.ly @@ -0,0 +1,18 @@ +\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 diff --git a/input/test/volta.fly b/input/test/volta.fly deleted file mode 100644 index d761f5b389..0000000000 --- a/input/test/volta.fly +++ /dev/null @@ -1,17 +0,0 @@ -% 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 "|.";} } diff --git a/input/test/volta.ly b/input/test/volta.ly new file mode 100644 index 0000000000..443f79dfde --- /dev/null +++ b/input/test/volta.ly @@ -0,0 +1,24 @@ +\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 diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index 5ee092ad59..26ef80cf7e 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -19,6 +19,11 @@ 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; @@ -52,7 +57,7 @@ void Auto_beam_engraver::consider_end_and_begin (Moment test_mom) { if (!timer_l_) - return; + return; int num; int den; diff --git a/lily/axis-group-engraver.cc b/lily/axis-group-engraver.cc index d6f881d6fc..5da70fe929 100644 --- a/lily/axis-group-engraver.cc +++ b/lily/axis-group-engraver.cc @@ -37,8 +37,8 @@ Axis_group_engraver::get_spanner_p () const 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))) @@ -46,6 +46,17 @@ Axis_group_engraver::do_removal_processing () 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_); diff --git a/lily/bar-engraver.cc b/lily/bar-engraver.cc index b3f07bf587..c138d6c3c3 100644 --- a/lily/bar-engraver.cc +++ b/lily/bar-engraver.cc @@ -23,9 +23,6 @@ Bar_engraver::Bar_engraver() do_post_move_processing(); } - - - void Bar_engraver::create_bar () { diff --git a/lily/bar-number-engraver.cc b/lily/bar-number-engraver.cc index c334d087ee..53d4cf4766 100644 --- a/lily/bar-number-engraver.cc +++ b/lily/bar-number-engraver.cc @@ -6,12 +6,10 @@ (c) 1997--2000 Han-Wen Nienhuys */ - #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() { @@ -24,14 +22,13 @@ 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(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); diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index cb65aa5863..075af92ed9 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -6,14 +6,12 @@ (c) 1998--2000 Han-Wen Nienhuys */ -#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" @@ -91,9 +89,10 @@ Beam_engraver::do_process_music () 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 (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; diff --git a/lily/chord-tremolo-engraver.cc b/lily/chord-tremolo-engraver.cc index 769ec5a3fc..291133c50e 100644 --- a/lily/chord-tremolo-engraver.cc +++ b/lily/chord-tremolo-engraver.cc @@ -1,38 +1,56 @@ -/* - 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 + + */ - (c) 1997--2000 Han-Wen Nienhuys - Jan Nieuwenhuizen -*/ - -#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(); @@ -40,122 +58,60 @@ protected: 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 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 (m)) + Repeated_music * rp = dynamic_cast (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 () 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 (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 (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 @@ -163,29 +119,11 @@ Chord_tremolo_engraver::typeset_beam () { 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) @@ -194,11 +132,10 @@ Chord_tremolo_engraver::acknowledge_element (Score_element_info info) { if (Stem* s = dynamic_cast (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. @@ -206,7 +143,10 @@ Chord_tremolo_engraver::acknowledge_element (Score_element_info info) 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) @@ -220,9 +160,7 @@ Chord_tremolo_engraver::acknowledge_element (Score_element_info info) { 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 { @@ -233,6 +171,32 @@ Chord_tremolo_engraver::acknowledge_element (Score_element_info info) ::warning (s); } } + if (Note_head *nh = dynamic_cast (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); + diff --git a/lily/include/beaming.hh b/lily/include/beaming.hh index cb0b455a5c..06dd19f451 100644 --- a/lily/include/beaming.hh +++ b/lily/include/beaming.hh @@ -24,6 +24,10 @@ struct Beaming_info Beaming_info (); }; +/* + Generate beaming given durations of notes. Beam uses this to + set_beaming () for each of its stems. +*/ struct Beaming_info_list { Array infos_; diff --git a/lily/include/lily-proto.hh b/lily/include/lily-proto.hh index 1b85d39f98..8f0e8c956f 100644 --- a/lily/include/lily-proto.hh +++ b/lily/include/lily-proto.hh @@ -61,7 +61,6 @@ struct Chord; 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; diff --git a/lily/include/moment.hh b/lily/include/moment.hh index 17835b3e95..615928a62c 100644 --- a/lily/include/moment.hh +++ b/lily/include/moment.hh @@ -28,6 +28,8 @@ struct Moment : public Rational }; +Moment * unsmob_moment (SCM); + IMPLEMENT_ARITHMETIC_OPERATOR (Moment, / ); IMPLEMENT_ARITHMETIC_OPERATOR (Moment, + ); IMPLEMENT_ARITHMETIC_OPERATOR (Moment, * ); diff --git a/lily/include/musical-request.hh b/lily/include/musical-request.hh index 9fbbd284cd..b70763d9b8 100644 --- a/lily/include/musical-request.hh +++ b/lily/include/musical-request.hh @@ -176,19 +176,7 @@ class Melisma_req : public Span_req 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 diff --git a/lily/include/my-lily-parser.hh b/lily/include/my-lily-parser.hh index 7c93a9a15b..3ea7db50a7 100644 --- a/lily/include/my-lily-parser.hh +++ b/lily/include/my-lily-parser.hh @@ -42,18 +42,12 @@ public: 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(); diff --git a/lily/include/repeated-music.hh b/lily/include/repeated-music.hh index 7d572eb766..4f373f5958 100644 --- a/lily/include/repeated-music.hh +++ b/lily/include/repeated-music.hh @@ -66,7 +66,7 @@ public: /// 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; diff --git a/lily/local-key-engraver.cc b/lily/local-key-engraver.cc index 2641421cca..2051672ebe 100644 --- a/lily/local-key-engraver.cc +++ b/lily/local-key-engraver.cc @@ -220,7 +220,11 @@ Local_key_engraver::acknowledge_element (Score_element_info info) 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_; diff --git a/lily/multi-measure-rest-engraver.cc b/lily/multi-measure-rest-engraver.cc index de6975998a..6a49f50a54 100644 --- a/lily/multi-measure-rest-engraver.cc +++ b/lily/multi-measure-rest-engraver.cc @@ -10,13 +10,13 @@ #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 { @@ -109,28 +109,24 @@ Multi_measure_rest_engraver::do_process_music () if (busy_span_req_l_ && !mmrest_p_) { - Translator * tr = daddy_grav_l()->get_simple_translator ("Timing_engraver"); // ugh - Timing_translator * time = dynamic_cast (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 (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_); @@ -155,15 +151,16 @@ Multi_measure_rest_engraver::do_pre_move_processing () 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 (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; diff --git a/lily/musical-request.cc b/lily/musical-request.cc index 192ea5d48e..cdcda7ac01 100644 --- a/lily/musical-request.cc +++ b/lily/musical-request.cc @@ -159,19 +159,6 @@ Span_req::Span_req () 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 { diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc index 0991ef79fc..233f910ca6 100644 --- a/lily/my-lily-parser.cc +++ b/lily/my-lily-parser.cc @@ -27,7 +27,6 @@ My_lily_parser::My_lily_parser (Sources * source_l) { source_l_ = source_l; lexer_p_ = 0; - chord_tremolo_type_i_ = 0; default_duration_.durlog_i_ = 2; error_level_i_ = 0; @@ -99,15 +98,6 @@ My_lily_parser::set_last_duration (Duration const *d) 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, diff --git a/lily/new-chord-tremolo-engraver.cc b/lily/new-chord-tremolo-engraver.cc deleted file mode 100644 index 3be0740ffe..0000000000 --- a/lily/new-chord-tremolo-engraver.cc +++ /dev/null @@ -1,37 +0,0 @@ -#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 - - */ - - - -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 (m)) - { - - } -} - -#endif diff --git a/lily/parser.yy b/lily/parser.yy index dab130bfa0..8f3762b595 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -98,7 +98,7 @@ print_mudela_versions (ostream &os) 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; @@ -951,39 +951,11 @@ shorthand_command_req: 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; @@ -1143,7 +1115,6 @@ verbose_request: a->articulation_str_ = ly_scm2string ($2); a->set_spot (THIS->here_input ()); $$ = a; - } ; @@ -1417,17 +1388,7 @@ simple_element: 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_; diff --git a/lily/repeated-music.cc b/lily/repeated-music.cc index 2ff126ea33..bf6b9908d5 100644 --- a/lily/repeated-music.cc +++ b/lily/repeated-music.cc @@ -112,23 +112,21 @@ Repeated_music::alternatives_length_mom () const } 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 (); +} + diff --git a/lily/score-element.cc b/lily/score-element.cc index 342270343c..8da3d235a0 100644 --- a/lily/score-element.cc +++ b/lily/score-element.cc @@ -510,8 +510,34 @@ Interval 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; } diff --git a/lily/span-score-bar-engraver.cc b/lily/span-score-bar-engraver.cc index 4e717788a0..dc71a0ea17 100644 --- a/lily/span-score-bar-engraver.cc +++ b/lily/span-score-bar-engraver.cc @@ -57,6 +57,10 @@ void 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 (i.elem_l_)) { SCM gl = b->get_elt_property ("glyph"); diff --git a/lily/timing-engraver.cc b/lily/timing-engraver.cc index f74a9be590..c88e521412 100644 --- a/lily/timing-engraver.cc +++ b/lily/timing-engraver.cc @@ -12,11 +12,8 @@ #include "score-element-info.hh" #include "multi-measure-rest.hh" - - ADD_THIS_TRANSLATOR(Timing_engraver); - void Timing_engraver::do_post_move_processing( ) { diff --git a/lily/timing-translator.cc b/lily/timing-translator.cc index 4ef6f4df26..9cec28f42b 100644 --- a/lily/timing-translator.cc +++ b/lily/timing-translator.cc @@ -14,6 +14,11 @@ #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) { diff --git a/ly/engraver.ly b/ly/engraver.ly index 571ca885ed..8e6f1f58b3 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -134,8 +134,8 @@ VoiceContext = \translator { \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"; @@ -254,7 +254,7 @@ LyricsVoiceContext= \translator{ 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"; diff --git a/ly/init.sly b/ly/init.sly index afe59cc20e..294bdad3bd 100644 --- a/ly/init.sly +++ b/ly/init.sly @@ -10,7 +10,7 @@ \maininput } \paper { - linewidth=-1.0; + % indent = 0.0; } \midi{ } diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 43244df65b..910db32fad 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ 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 diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 33e8cda142..996e225846 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,13 +1,11 @@ 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 # Icon: lilypond-icon.gif BuildRoot: /tmp/lilypond-install Prereq: tetex @@ -31,9 +29,10 @@ The documentation of LilyPond, both in HTML and PostScript. %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 @@ -48,12 +47,12 @@ rm -rf $RPM_BUILD_ROOT 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 @@ -68,11 +67,11 @@ tar -cf - input/ | tar -C out/examples/ -xf- || true 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 @@ -80,20 +79,21 @@ 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... diff --git a/mutopia/E.Satie/gnossienne-4-autochange.ly b/mutopia/E.Satie/gnossienne-4-autochange.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/mutopia/GNUmakefile b/mutopia/GNUmakefile index a01958d459..8d76d57397 100644 --- a/mutopia/GNUmakefile +++ b/mutopia/GNUmakefile @@ -2,7 +2,7 @@ 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 diff --git a/mutopia/L.Mozart/GNUmakefile b/mutopia/L.Mozart/GNUmakefile deleted file mode 100644 index 2d7fc58cf0..0000000000 --- a/mutopia/L.Mozart/GNUmakefile +++ /dev/null @@ -1,10 +0,0 @@ -# - -depth = ../.. - -examples= -LOCALSTEPMAKE_TEMPLATES=mutopia - -include $(depth)/make/stepmake.make - - diff --git a/mutopia/L.Mozart/sinfonia.ly b/mutopia/L.Mozart/sinfonia.ly deleted file mode 100644 index 6024061e03..0000000000 --- a/mutopia/L.Mozart/sinfonia.ly +++ /dev/null @@ -1,386 +0,0 @@ -\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 - [ g'' g g] \stemboth | [g16 a b a] [g a b a] | - \stemup [ g'' g g] \stemboth | [g16 a b a] [g a b a] | -%5 - \stemup [ 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 [ 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 [ e' e e] | | - [ 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 [ fis' fis fis] \stemboth| - | \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'' g g] | \stemdown [g16 a b a] [g a b a] | - \stemup [ g'' g g] | \stemdown [g16 a b a] [g a b a] | - \stemup [ 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 [ 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 [ 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 [ g'' g g] \stemboth | [b,16 c d c] [b c d c] | - \stemup [ g'' g g] \stemboth | [b,16 c d c] [b c d c] | -%5 - \stemup [ 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 [ 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 [ e' e e] | | - [ 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 [ fis' fis fis] \stemboth | - | \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'' g g] \stemboth | [b,16 c d c] [b c d c] | - \stemup [ g'' g g] \stemboth | [b,16 c d c] [b c d c] | - \stemup [ 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 [ 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 [ 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"; diff --git a/scripts/convert-mudela.py b/scripts/convert-mudela.py index 8c2e6891ac..d64dfcddb9 100644 --- a/scripts/convert-mudela.py +++ b/scripts/convert-mudela.py @@ -20,7 +20,7 @@ import os import sys import __main__ import getopt -from string import * +import string import re import time @@ -81,10 +81,10 @@ def gulp_file(f): 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]: @@ -438,6 +438,24 @@ if 1: 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 }') ############################ @@ -452,7 +470,6 @@ def latest_version (): 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: ') -- 2.39.2