From 68a168bff1fec7f8011b2afa82d4fc89182c4bf7 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 5 Apr 2001 00:11:57 +0200 Subject: [PATCH] release: 1.3.146 ============ * Make and ly2dvi fixes. * Made feta-timesig C a bit rounder. * Included flat autogenerated list of grob interfaces into refman. * Moved Rest_engraver to ThreadContext. * Documentation updates. * Bugfix: package-diff: remove all out-?.* dirs. * Preliminary tutorial fixes. * Ly2dvi: - keep .dvi output when making .ps. - name latex wrapper for foo.ly: foo.latex - keep .tex and .latex output if latex fails - keep .dvi output if dvips fails - replaced --outdir option with --output=FILE option, where FILE may include directories - enhancements and fixes * Typo fix: clean-fonts * Bugfixes: lilypond-login.sh * Tutorial and refman fixes (Mats) 1.3.145.h --- CHANGES | 38 +- Documentation/topdocs/INSTALL.texi | 15 + Documentation/topdocs/index.tely | 2 +- Documentation/user/GNUmakefile | 17 +- .../{convertors.itely => converters.itely} | 121 ++- Documentation/user/development.itexi | 2 +- Documentation/user/glossary.tely | 254 +++--- Documentation/user/lilypond.tely | 6 +- Documentation/user/ly2dvi.itexi | 1 + Documentation/user/preface.itely | 9 +- Documentation/user/refman.itely | 163 ++-- Documentation/user/tutorial.itely | 843 +++++++++--------- GNUmakefile.in | 10 +- INSTALL.txt | 12 + NEWS | 2 +- ROADMAP | 4 +- VERSION | 4 +- buildscripts/GNUmakefile | 8 +- input/ascii-art/as-email.ly | 7 +- input/ascii-art/asciiscript5.ly | 3 +- input/ascii-art/asciiscript9.ly | 3 +- input/ascii-art/r-as.ly | 1 + input/ascii-art/standchen-as5.ly | 15 +- input/ascii-art/standchen-as9.ly | 15 +- input/ascii-art/twinkle-as5.ly | 23 +- input/bugs/lyrics-bar.ly | 45 + input/example-3.ly | 3 +- input/just-friends.ly | 27 +- input/les-nereides.ly | 83 +- input/mutopia-header.ly | 45 +- input/opus-130.ly | 27 +- input/praeludium-fuga-E.ly | 39 +- input/regression/accidental-single-double.ly | 7 +- input/regression/accidental.ly | 5 +- input/regression/allfontstyle.ly | 7 +- input/regression/arpeggio-collision.ly | 5 +- input/regression/arpeggio.ly | 5 +- input/regression/auto-beam-bar.ly | 9 +- input/regression/auto-change.ly | 7 +- input/regression/auto-isknee.ly | 7 +- input/regression/auto-knee.ly | 5 +- input/regression/bar-number.ly | 5 +- input/regression/bar-scripts.ly | 11 +- input/regression/beam-cross-staff.ly | 5 +- input/regression/beam-extreme.ly | 7 +- input/regression/beam-length.ly | 3 +- input/regression/beam-position.ly | 5 +- input/regression/beaming.ly | 3 +- input/regression/between-systems.ly | 3 +- input/regression/break.ly | 5 +- input/regression/breathing-sign.ly | 7 +- input/regression/chord-changes.ly | 5 +- input/regression/chord-names.ly | 3 +- input/regression/chord-tremolo.ly | 7 +- input/regression/clefs.ly | 31 +- input/regression/collisions.ly | 13 +- input/regression/dots.ly | 5 +- input/regression/dynamics-broken-hairpin.ly | 5 +- input/regression/dynamics-line.ly | 5 +- input/regression/dynamics-unbound-hairpin.ly | 5 +- input/regression/easy-notation.ly | 5 +- input/regression/generic-output-property.ly | 9 +- input/regression/generic-property-override.ly | 5 +- input/regression/glissando.ly | 7 +- input/regression/grace.ly | 5 +- input/regression/hairpin-ending.ly | 5 +- input/regression/hara-kiri-short.ly | 11 +- input/regression/key-signature-scordatura.ly | 3 +- input/regression/keys.ly | 13 +- input/regression/lyric-combine.ly | 15 +- input/regression/lyric-phrasing.ly | 5 +- input/regression/lyrics-bar.ly | 13 +- input/regression/lyrics-multi-stanza.ly | 9 +- input/regression/mensural.ly | 3 +- input/regression/mm-rests2.ly | 5 +- input/regression/molecule-hacking.ly | 11 +- input/regression/multi-measure-rest.ly | 8 +- input/regression/non-empty-text.ly | 5 +- input/regression/note-head-style.ly | 50 +- input/regression/note-line.ly | 9 +- input/regression/number-staff-lines.ly | 3 +- input/regression/percent-repeat.ly | 5 +- input/regression/phrasing-slur.ly | 7 +- input/regression/repeat-fold.ly | 3 +- input/regression/repeat-line-break.ly | 3 +- input/regression/repeat-unfold.ly | 3 +- .../repeat-volta-skip-alternatives.ly | 1 + input/regression/repeat-volta.ly | 3 +- input/regression/rest-collision.ly | 3 +- input/regression/rest-ledger.ly | 3 +- input/regression/rest.ly | 7 +- input/regression/size11.ly | 5 +- input/regression/size13.ly | 3 +- input/regression/size16.ly | 3 +- input/regression/size20.ly | 3 +- input/regression/size23.ly | 3 +- input/regression/size26.ly | 3 +- input/regression/slur-attachment.ly | 7 +- input/regression/slur-broken-trend.ly | 9 +- input/regression/slur-cross-staff.ly | 5 +- input/regression/slur-nice.ly | 7 +- input/regression/slur-symmetry-1.ly | 5 +- input/regression/slur-symmetry.ly | 5 +- input/regression/spacing-loose.ly | 9 +- input/regression/spacing-natural.ly | 9 +- input/regression/spacing-tight.ly | 9 +- input/regression/staccato-pos.ly | 5 +- input/regression/staff-margin.ly | 11 +- input/regression/stanza-number.ly | 13 + input/regression/stem-direction-down.ly | 5 +- input/regression/stem-direction.ly | 5 +- input/regression/stem-spacing.ly | 7 +- input/regression/stem-tremolo.ly | 3 +- input/regression/tie-accidental.ly | 9 +- input/regression/tie-chord.ly | 3 +- input/regression/tie-dots.ly | 11 +- input/regression/tie.ly | 7 +- input/regression/triplets.ly | 11 +- input/regression/tup.ly | 5 +- input/regression/volta-broken-left-edge.ly | 13 +- input/rhythm.ly | 31 +- input/scarlatti-paper.ly | 5 +- input/scarlatti-test.ly | 25 +- input/star-spangled-banner.ly | 45 +- input/test/Cc-chords.ly | 25 + input/test/absolute-volume.ly | 3 +- input/test/ac-extra-voice.ly | 21 +- input/test/accid.ly | 3 +- input/test/accidental-spacing.ly | 5 +- input/test/add-text-script.ly | 3 +- input/test/american-chords.ly | 3 +- input/test/ancient-font.ly | 81 +- input/test/as.ly | 3 +- input/test/as1.ly | 3 +- input/test/as2.ly | 7 +- input/test/auto-beam-4-8.ly | 3 +- input/test/auto-beam-override.ly | 3 +- input/test/auto-beam-triplet.ly | 3 +- input/test/auto-beam.ly | 29 +- input/test/bagpipe.ly | 17 +- input/test/banter-chords.ly | 11 +- input/test/bar-lines.ly | 15 +- input/test/bar-script-visibility.ly | 3 +- input/test/beam-abbrev.ly | 1 + input/test/beam-chord.ly | 3 +- input/test/beam-control.ly | 1 + input/test/beam-count.ly | 3 +- input/test/beam-damp.ly | 3 +- input/test/beam-dir-function.ly | 5 +- input/test/beam-dir-functions.ly | 7 +- input/test/beam-dir.ly | 1 + input/test/beam-isknee.ly | 5 +- input/test/beam-neutral-direction.ly | 3 +- input/test/beam-pos.ly | 11 +- input/test/beam-position.ly | 3 +- input/test/beam-quanting.ly | 1 + input/test/beam-rest.ly | 5 +- input/test/beam-slope.ly | 3 +- input/test/beam-suspect.ly | 3 +- input/test/beam-trend.ly | 3 +- input/test/beam-urg.ly | 3 +- input/test/beamed-slur-endings.ly | 5 +- input/test/beams.ly | 15 +- input/test/boxed-molecule.ly | 3 +- input/test/broken-thread-line.ly | 5 +- input/test/broken.ly | 11 +- input/test/caps.ly | 5 +- input/test/chord-changes.ly | 5 +- input/test/chord-inversion.ly | 7 +- input/test/chord-table.ly | 9 +- input/test/chords.ly | 41 +- input/test/clef-8-syntax.ly | 5 +- input/test/coda-kludge.ly | 3 +- input/test/collision-merge-dotted.ly | 1 + input/test/coriolan-margin.ly | 25 +- input/test/crescendi.ly | 3 +- input/test/crescendo-text.ly | 3 +- input/test/cue-notes.ly | 15 +- input/test/custos.ly | 3 +- input/test/default-neutral-dir.ly | 5 +- input/test/defaultbars.ly | 1 + input/test/different-time-signatures.ly | 7 +- input/test/diverse-spacing.ly | 5 +- input/test/drarn-slurs.ly | 5 +- input/test/drarn.ly | 5 +- input/test/drums.ly | 24 +- input/test/dynamic-dir.ly | 1 + input/test/embedded-postscript.ly | 5 +- input/test/embedded-scm.ly | 1 + input/test/embedded-tex.ly | 3 +- input/test/equaliser.ly | 21 +- input/test/explicit.ly | 3 +- input/test/extra-staff.ly | 3 +- input/test/fake-grace.ly | 1 + input/test/figured-bass.ly | 3 +- input/test/fill-a4.ly | 15 +- input/test/fingering.ly | 3 +- input/test/follow-thread.ly | 8 +- input/test/font-body.ly | 35 +- input/test/font11.ly | 15 +- input/test/font13.ly | 15 +- input/test/font16.ly | 15 +- input/test/font20.ly | 15 +- input/test/font26.ly | 15 +- input/test/force-hshift.ly | 3 +- input/test/gmsusd.ly | 1 + input/test/gourlay.ly | 3 +- input/test/grace-end.ly | 1 + input/test/hara-kiri-switch.ly | 7 +- input/test/hara-kiri.ly | 13 +- input/test/hshift.ly | 1 + input/test/hymn.ly | 5 +- input/test/improv.ly | 25 +- input/test/incipit.ly | 27 +- input/test/instrument-name-grandstaff.ly | 7 +- input/test/instrument-name-mmrest.ly | 3 +- input/test/instrument-name.ly | 5 +- input/test/jazz-chords.ly | 1 + input/test/key-clefs.ly | 31 +- input/test/keys2.ly | 1 + input/test/knee-mult.ly | 5 +- input/test/knee.ly | 1 + input/test/lines.ly | 5 +- input/test/ly2dvi-testpage.ly | 41 +- input/test/lyric-extender.ly | 1 + input/test/lyric-hyphen.ly | 1 + input/test/lyric-phrasing.ly | 17 +- input/test/lyrics.ly | 1 + input/test/manual-clef.ly | 3 +- input/test/manual-volta.ly | 1 + input/test/mark.ly | 15 +- input/test/markup.ly | 3 +- input/test/maximum-rest-count.ly | 3 +- input/test/memory.ly | 3 +- input/test/metronome.ly | 3 +- input/test/mmrest-collision.ly | 9 +- input/test/monstrous.ly | 3 +- input/test/move-mark.ly | 9 +- input/test/move-notehead.ly | 3 +- input/test/move-specific-text.ly | 3 +- input/test/multi-slope.ly | 1 + input/test/music-creation.ly | 3 +- input/test/nested-groups.ly | 16 +- input/test/no-bar-lines.ly | 5 +- input/test/no-staff.ly | 9 +- input/test/no-stem-extend.ly | 1 + input/test/note-chords.ly | 3 +- input/test/note-shift.ly | 3 +- input/test/notemode-chords.ly | 3 +- input/test/orchestalpart.ly | 1 + input/test/orchestscore.ly | 9 +- input/test/ossia.ly | 3 +- input/test/ottava.ly | 3 +- input/test/part-combine-moments.ly | 45 +- input/test/part-combine-score.ly | 79 +- input/test/part-combine-staff.ly | 45 +- input/test/part-combine.ly | 11 +- input/test/partial-blank.ly | 5 +- input/test/pedal.ly | 5 +- input/test/perform-grace.ly | 1 + input/test/perform-tie.ly | 1 + input/test/repeat.ly | 1 + input/test/rests.ly | 1 + input/test/reverse-music.ly | 5 +- input/test/rhythmic-staff.ly | 7 +- input/test/scales-greek.ly | 43 +- input/test/scales.ly | 61 +- input/test/script-horizontal.ly | 9 +- input/test/scripts.ly | 3 +- input/test/short-part-combine.ly | 1 + input/test/simple-slur-endings.ly | 5 +- input/test/sleur.ly | 13 +- input/test/slur-area.ly | 3 +- input/test/slur-attachment-override.ly | 5 +- input/test/slur-attachment.ly | 3 +- input/test/slur-broken-cross-staff.ly | 7 +- input/test/slur-broken.ly | 5 +- input/test/slur-damping.ly | 1 + input/test/slur-dash.ly | 5 +- input/test/slur-follow-music.ly | 3 +- input/test/slur-mininum.ly | 5 +- input/test/slur-positions.ly | 3 +- input/test/slur-proof.ly | 5 +- input/test/slur-symmetry-2.ly | 5 +- input/test/slur-symmetry-3.ly | 5 +- input/test/slur-ugly.ly | 9 +- input/test/slurs.ly | 33 +- input/test/smart-transpose.ly | 5 +- input/test/solo-a2.ly | 7 +- input/test/spacing-2.ly | 17 +- input/test/spacing.ly | 13 +- input/test/span-bars.ly | 1 + input/test/stacked-scripts.ly | 3 +- input/test/staff-bracket.ly | 7 +- input/test/staff-container.ly | 17 +- input/test/staff-line-leading.ly | 1 + input/test/staff-margin-partial.ly | 5 +- input/test/staff-side-slur.ly | 7 +- input/test/staff-size.ly | 5 +- input/test/stem-centered.ly | 1 + input/test/stem-extend.ly | 5 +- input/test/stem-length.ly | 1 + input/test/stem.ly | 15 +- input/test/system-start-brace.ly | 1 + input/test/system-start-bracket.ly | 1 + input/test/tab-staff.ly | 11 +- input/test/tchaikovsky.ly | 25 +- input/test/test-german-chords.ly | 1 + input/test/text-spanner.ly | 1 + input/test/textscript.ly | 1 + input/test/thumb.ly | 7 +- input/test/tie-broken.ly | 9 +- input/test/tie-sparse.ly | 15 +- input/test/time.ly | 117 +-- input/test/timing.ly | 3 +- input/test/title.ly | 29 +- input/test/transposing.ly | 1 + input/test/transposition.ly | 35 +- input/test/tuplet-rest.ly | 3 +- input/test/tuplet-spanner-duration.ly | 3 +- input/test/tuplet.ly | 1 + input/test/two-key.ly | 7 +- input/test/two-slurs.ly | 3 +- input/test/uniform-breaking.ly | 7 +- input/test/vertical-align.ly | 1 + input/test/vertical-extent.ly | 14 +- input/test/vertical-text.ly | 1 + input/test/voice-switch.ly | 7 +- input/test/volta-start.ly | 13 +- input/test/volta.ly | 13 +- input/test/warnings.ly | 5 +- input/trip.ly | 48 +- input/tutorial/flowing.ly | 10 +- input/tutorial/galuppi.ly | 4 +- input/tutorial/menuet.ly | 14 +- input/tutorial/miniatures.ly | 36 +- input/tutorial/os-flute-2.ly | 19 +- input/tutorial/os-music.ly | 18 +- input/tutorial/os-score.ly | 34 +- input/tutorial/sammartini.ly | 86 +- input/tutorial/singing-saw.ly | 2 +- input/tutorial/test.ly | 2 +- input/twinkle-pop.ly | 23 +- input/twinkle.ly | 23 +- lily/lexer.ll | 10 +- lily/my-lily-lexer.cc | 1 + lily/parser.yy | 124 +-- lily/stanza-number-engraver.cc | 39 +- lily/stem.cc | 27 +- lily/system-start-delimiter.cc | 8 +- lily/text-item.cc | 2 +- ly/a4.ly | 5 +- ly/accordion-defs.ly | 1 + ly/book-fragment.ly | 8 +- ly/book-init.ly | 4 +- ly/catalan.ly | 2 +- ly/center-fragment.ly | 10 +- ly/center.ly | 6 +- ly/chord-modifiers.ly | 5 +- ly/declarations.ly | 23 +- ly/deutsch.ly | 4 +- ly/drumpitch.ly | 6 +- ly/dynamic-scripts.ly | 1 + ly/english.ly | 7 +- ly/engraver.ly | 396 ++++---- ly/fragment.ly | 10 +- ly/generate-documentation.ly | 1 + ly/generate-interface-doc.ly | 5 + ly/generic-paper.ly | 7 +- ly/german-chords.ly | 1 + ly/init-as.fly | 10 +- ly/init.fly | 2 +- ly/init.ly | 4 +- ly/init.sly | 4 +- ly/italiano.ly | 2 +- ly/key.ly | 1 + ly/ledger.ly | 5 +- ly/legal.ly | 5 +- ly/letter.ly | 5 +- ly/midi.ly | 5 +- ly/nederlands.ly | 1 + ly/norsk.ly | 6 +- ly/paper-as5.ly | 10 +- ly/paper-as9.ly | 8 +- ly/paper.ly | 15 +- ly/paper11.ly | 6 +- ly/paper13.ly | 6 +- ly/paper16.ly | 6 +- ly/paper20.ly | 6 +- ly/paper23.ly | 6 +- ly/paper26.ly | 6 +- ly/params-as.ly | 13 +- ly/params.ly | 19 +- ly/part-paper.ly | 3 +- ly/performer.ly | 145 +-- ly/property.ly | 6 +- ly/scale-definitions.ly | 1 + ly/script.ly | 1 + ly/spanners.ly | 9 +- ly/svenska.ly | 2 +- make/lilypond-vars.make | 2 +- make/lilypond.spec.in | 2 + make/ly-rules.make | 8 + make/ly.make | 9 +- make/mutopia-rules.make | 7 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 6 +- mf/feta-bolletjes.mf | 19 +- mf/feta-generic.mf | 4 +- mf/feta-timesig.mf | 23 +- midi2ly/lilypond-item.cc | 6 +- midi2ly/lilypond-voice.cc | 4 +- mutopia/E.Satie/petite-ouverture-a-danser.ly | 50 +- mutopia/F.Schubert/standchen.ly | 86 +- mutopia/J.S.Bach/pa.ly | 86 +- mutopia/J.S.Bach/wtk1-fugue1.ly | 40 +- mutopia/J.S.Bach/wtk1-fugue2.ly | 50 +- mutopia/J.S.Bach/wtk1-prelude1.ly | 36 +- scm/chord-name.scm | 752 ++++++++++------ scm/documentation-lib.scm | 12 +- scm/generate-interface-doc.scm | 52 ++ scm/output-lib.scm | 8 +- scripts/abc2ly.py | 44 +- scripts/convert-ly.py | 29 +- scripts/etf2ly.py | 8 +- scripts/lilypond-book.py | 7 +- scripts/ly2dvi.py | 13 +- scripts/mup2ly.py | 22 +- scripts/musedata2ly.py | 4 +- scripts/pmx2ly.py | 2 +- stepmake/bin/package-diff.py | 11 +- 431 files changed, 4020 insertions(+), 3218 deletions(-) rename Documentation/user/{convertors.itely => converters.itely} (68%) create mode 100644 input/bugs/lyrics-bar.ly create mode 100644 input/regression/stanza-number.ly create mode 100644 input/test/Cc-chords.ly create mode 100644 ly/generate-interface-doc.ly create mode 100644 scm/generate-interface-doc.scm diff --git a/CHANGES b/CHANGES index 2416e132ff..4f8acd2e6f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,19 @@ -1.3.145.jcn1 + +1.3.145.jcn2 ============ +* Make and ly2dvi fixes. + +* Made feta-timesig C a bit rounder. + +* Included flat autogenerated list of grob interfaces into refman. + +* Moved Rest_engraver to ThreadContext. + +* Documentation updates. + +* Bugfix: package-diff: remove all out-?.* dirs. + * Preliminary tutorial fixes. * Ly2dvi: @@ -18,10 +31,29 @@ * Tutorial and refman fixes (Mats) - -1.3.144.jcn4 +1.3.145.hwn1 ============ +* Bugfix: LyricsVoice.stz property now works. + +* Remove sem-colons from lilypond syntax. + +* Removed a grammar ambiguity: '-' DIGIT (fingering, only possible in \notes) +now can not be interpreted as a negative number. + + +1.3.145.rz1 +=========== + +* Stem/notehead attach bug fixed (still probs with mensural head and + other head on same stem) + +* Minor font changes + + +1.3.145 +======= + * Build fixes for icon, this fixes 'rpm' target. Tried to reinclude in rpm using (.png and) .xpm, but latest LinuxPPC release's rpm (3.0.6) Icon: tag handling is broken. diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index 340221e642..c4a9e3b078 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -368,6 +368,21 @@ mailing your problems. If you find bugs, please send bug reports to Bugs that are not fault of LilyPond are documented here. +@unnumbered NetBSD + +@itemize @bullet +@item The flex precompiled in NetBSD-1.4.2 is broken. +Download flex-2.5.4a, build, install. + +@item The configuration of Gcc (egcs-2.91.60 19981201 (egcs-1.1.1 +release)) does not include @file{/usr/pkg} paths. Configure using: +@example + +CFLAGS='-I /usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure + +@end example + +@end itemize @unnumbered Solaris: diff --git a/Documentation/topdocs/index.tely b/Documentation/topdocs/index.tely index 3b31902770..2272a4f2f4 100644 --- a/Documentation/topdocs/index.tely +++ b/Documentation/topdocs/index.tely @@ -28,7 +28,7 @@ this: @lilypond[fragment,verbatim] -\relative c'' { \key c \minor; r8 c16 b c8 g as c16 b c8 d | g,4 } +\relative c'' { \key c \minor r8 c16 b c8 g as c16 b c8 d | g,4 } @end lilypond The output looks very good: the font and the layout algorithms were diff --git a/Documentation/user/GNUmakefile b/Documentation/user/GNUmakefile index 442e550b07..d36ffe5d6d 100644 --- a/Documentation/user/GNUmakefile +++ b/Documentation/user/GNUmakefile @@ -115,14 +115,27 @@ local-clean: rm -f fonts.aux fonts.log feta*.tfm feta*.*pk rm -rf $(outdir)/lilypond $(outdir)/lilypond-internals -# when cross-compiling, we don't have lilypond +$(outdir)/lilypond.nexi: $(outdir)/interfaces.itexi +$(outdir)/lilypond.texi: $(outdir)/interfaces.itexi + +# Rules for the automatically generated documentation +# When cross-compiling, we don't have lilypond, so we fake ifneq ($(CROSS),yes) -$(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi: +dummy: +$(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi: dummy cd $(outdir) && ../$(depth)/$(builddir)/lily/$(outconfbase)/lilypond ../$(src-depth)/ly/generate-documentation -ln $(outdir)/lilypond-internals.texi $(outdir)/lilypond-internals.nexi + +$(outdir)/interfaces.itexi: dummy + cd $(outdir) && ../$(depth)/$(builddir)/lily/$(outconfbase)/lilypond ../$(src-depth)/ly/generate-interface-doc + else + $(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi: touch $@ touch $(outdir)/$(*F).nexi + +$(outdir)/interfaces.itexi: + cp dummy-interfaces.itexi $@ endif diff --git a/Documentation/user/convertors.itely b/Documentation/user/converters.itely similarity index 68% rename from Documentation/user/convertors.itely rename to Documentation/user/converters.itely index 6e41604b78..84077b7130 100644 --- a/Documentation/user/convertors.itely +++ b/Documentation/user/converters.itely @@ -10,6 +10,7 @@ * abc2ly:: * pmx2ly:: * musedata2ly:: +* mup2ly:: @end menu @node midi2ly @@ -32,15 +33,15 @@ robust midi2ly. MIDI is also a de facto standard format for exporting music from other programs, so this capability may come in useful when you want to import -files from a program that has no convertor for its native format. +files from a program that has no converter for its native format. @subsection Invoking midi2ly @example - midi2ly [options] midi-file + midi2ly [OPTION]... MIDI-FLIE @end example -@unnumberedsec Options +@unnumberedsubsec Options @table @code @item -b, --no-quantify, @@ -72,13 +73,20 @@ files from a program that has no convertor for its native format. Assume no double dotted notes. @end table + +Report bugs to @email{bug-gnu-music@@gnu.org}. + + +Written by @email{Jan Nieuwenhuizen, janneke@@gnu.org}. + + @node etf2ly @section etf2ly ETF (Enigma Transport Format) is a format used by Coda Music Technology's Finale product. This program will convert part of an ETF -file to a ready-to-use lilypond file. +file to a ready-to-use LilyPond file. @subsection Invoking etf2ly Usage: @@ -89,7 +97,7 @@ Usage: Convert ETF to LilyPond. -Options: +@unnumberedsubsec Options @table @code @item -h,--help this help @@ -100,12 +108,14 @@ version information @end table -Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}. +@refbugs + +Known: articulation scripts are buggy. Empty measures confuse etf2ly. +Report bugs to @email{bug-gnu-music@@gnu.org}. +Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}. -@subsection Bugs -Known: articulation scripts are buggy. Empty measures confuse etf2ly. Report bugs to @email{bug-gnu-music@@gnu.org}. @node abc2ly @@ -114,6 +124,7 @@ Report bugs to @email{bug-gnu-music@@gnu.org}. ABC is a fairly simple ASCII based format. It is described at @uref{http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt}. +@subsection Invoking abc2ly @example abc2ly [OPTION]... ABC-FILE @@ -121,7 +132,7 @@ ABC is a fairly simple ASCII based format. It is described at Convert ABC to LilyPond. -Options: +@unnumberedsubsec Options @table @code @item -h,--help this help @@ -131,12 +142,17 @@ set output filename to FILE version information @end table -@subsection Bugs +@refbugs The ABC standard is not very "standard". For extended features (eg. polyphonic music) different conventions exist. +Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}. + + +Report bugs to @email{bug-gnu-music@@gnu.org}. + @node pmx2ly @section pmx2ly @@ -145,13 +161,16 @@ PMX is a Musixtex preprocessor written by Don Simons, see Report bugs to @email{bug-gnu-music@@gnu.org}. +@subsection Invoking pmx2ly + @example pmx2ly [OPTION]... PMX-FILE @end example Convert PMX to LilyPond. -Options: +@unnumberedsubsec Options + @table @code @item -h,--help this help @@ -161,36 +180,35 @@ set output filename to FILE version information @end table +Report bugs to @email{bug-gnu-music@@gnu.org}. + +Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}. + @node musedata2ly @section musedata2ly -PMX is a Musixtex preprocessor written by Don Simons, see -@uref{http://www.gmd.de/Misc/Music/musixtex/software/pmx/}. + Musedata (@uref{http://www.musedata.org/}) is an electronic library of +classical music scores, currently comprising about 800 composition +dating from 1700 to 1825. The music is encoded in so-called Musedata +format +(@uref{http://www.ccarh.org/publications/books/beyondmidi/online/musedata}). +musedata2ly converts a set of musedata files to one .ly file, and will +include a \header field if a .ref file is supplied -Report bugs to @email{bug-gnu-music@@gnu.org}. +@subsection Invoking musedata2ly @example musedata2ly [OPTION]... MUSEDATA-FILE @end example -Convert Musedata to LilyPond. Musedata (@uref{http://www.musedata.org/}) -is an electronic library of classical music scores, currently comprising -about 800 composition dating from 1700 to 1825. The music is encoded in -so-called Musedata format -(@uref{http://www.ccarh.org/publications/books/beyondmidi/online/musedata}). -musedata2ly converts a set of musedata files to one .ly file, and will -include a \header field if a .ref file is supplied - -Report bugs to @email{bug-gnu-music@@gnu.org}. - -Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}. +Convert Musedata to LilyPond. +@unnumberedsubsec Options -Options: @table @code @item -h,--help -this help +print help @item -o,--output=@var{file} set output filename to @var{file} @item -v,--version @@ -200,5 +218,54 @@ version information @var{REFFILE} @end table +Report bugs to @email{bug-gnu-music@@gnu.org}. + +Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}. + + +@node mup2ly +@section mup2ly + +MUP (Music Publisher) is a shareware music notation program by Arkkra +Enterprises. It is also the name of the input format. Mup2ly will +convert part of a Mup file to a ready-to-use LilyPond file. + +@subsection Invoking mup2ly + +@example + mup2ly [OPTION]... MUP-FILE +@end example + +Convert Mup to LilyPond. + +@unnumberedsubsec Options + +@table @code +@item -d,--debug +show what constructs are not converted, but skipped. +@item D, --define=@var{NAME}[=@code{EXP}] +define macro @var{NAME} with opt expansion @code{EXP} +@item -E,--pre-process +only run the pre-processor +@item -h,--help +print help +@item -o,--output=FILE +write output to @var{FILE} +@item -v,--version +version information +@item -w,--warranty +print warranty and copyright. Mup2ly comes with absolutlely @strong{NO WARRANTY}. +@end table + + +@refbugs + +Currently, only plain notes (pitches, durations), voices and staffs are +converted. + +Written by @email{Jan Nieuwenhuizen,janneke@@gnu.org}, based on pmx2ly. + +Report bugs to @email{bug-gnu-music@@gnu.org}. + diff --git a/Documentation/user/development.itexi b/Documentation/user/development.itexi index b7a994b97c..99b1da6958 100644 --- a/Documentation/user/development.itexi +++ b/Documentation/user/development.itexi @@ -568,7 +568,7 @@ There are also numerous other interesting projects that are more or less related to LilyPond @itemize @bullet -@item Writing convertors, eg. from NIFF and MIDI (we tried writing one with +@item Writing converters, eg. from NIFF and MIDI (we tried writing one with limited success: midi2ly, included with lilypond.) We found that writing them in Python is the easiest. diff --git a/Documentation/user/glossary.tely b/Documentation/user/glossary.tely index 604aa0f67a..fde9aad3ef 100644 --- a/Documentation/user/glossary.tely +++ b/Documentation/user/glossary.tely @@ -153,17 +153,17 @@ the duration of the long a. is proportionate to that of the main note. %\property Voice.textNonEmpty = ##f \property Voice.TextScript \set #'font-style = #'large \notes\relative c'' { -\key d \major; -\time 4/4; +\key d \major +\time 4/4 r { \property Grace.Stem \override #'flag-style = ##f \grace g16 } fis8 e16 fis { \property Grace.Stem \override #'flag-style = ##f \grace a16 } -g8 fis16 g | a4 \bar "||"; } +g8 fis16 g | a4 \bar "||" } \notes\relative c'' { - r g16 () fis e fis a () g fis g | a4 \bar "||"; } + r g16 () fis e fis a () g fis g | a4 \bar "||" } @end lilypond An appoggiatura may have more notes preceding the main note. @@ -174,15 +174,15 @@ An appoggiatura may have more notes preceding the main note. \emptyText \property Voice.TextScript \set #'font-style = #'large \notes\relative c'' { - \key as \major; - \time 2/4; + \key as \major + \time 2/4 \grace { bes16 } as8_"notation" as16 bes as8 g | \grace { [as16 ( bes] } < ) c4 as > - \grace { [as16 ( bes] } < ) c4 as > \bar "||"; + \grace { [as16 ( bes] } < ) c4 as > \bar "||" \grace { bes16 } as8_"performance" as16 bes as8 g | < \context Voice = va { \stemUp as32 bes c8. as32 bes c8. } \context Voice = vb { \stemDown as16 ~ as8. as16 ~ as8. } > - \bar "||"; + \bar "||" } @end lilypond @@ -195,12 +195,12 @@ Akkord, NL: gebroken akoord, DK: arpeggio, akkordbrydning, S: arpeggio, N: @lilypond[13pt,eps] \notes \context PianoStaff < \context Staff = SA \relative c'' { - \time 4/4; - \clef treble; + \time 4/4 + \clef treble r8 g16 c e g, c e r8 g,16 c e g, c e | - r8 a,16 d f a, d f r8 a,16 d f a, d f \bar "||"; } + r8 a,16 d f a, d f r8 a,16 d f a, d f \bar "||" } \context Staff = SB \relative c' { - \clef bass; + \clef bass < \context Voice = va { \stemUp r16 e8. () e4 r16 e8. () e4 | @@ -306,11 +306,11 @@ start of the music. @ @lilypond[13pt,eps] -\key g \major; -\time 4/4; -\notes\relative c'' { g4 c b a | g1 \bar "||";} -\time 3/8; -\notes\relative c'' { g8 d' c | b c a | g4. \bar "||";} +\key g \major +\time 4/4 +\notes\relative c'' { g4 c b a | g1 \bar "||"} +\time 3/8 +\notes\relative c'' { g8 d' c | b c a | g4. \bar "||"} @end lilypond @item bind @@ -327,15 +327,15 @@ orchestral or choral score. @lilypond[13pt,eps] \notes\context GrandStaff < - \relative c''\context Staff = SA { \clef treble; g4 e c2 } - \relative c \context Staff = SB { \clef bass; c1 \bar "|."; } > + \relative c''\context Staff = SA { \clef treble g4 e c2 } + \relative c \context Staff = SB { \clef bass c1 \bar "|." } > @end lilypond @lilypond[13pt,eps] \context StaffGroup < -% \property StaffGroup.minVerticalAlign = 12 - \notes\relative c'' \context Staff = SA { \clef treble; g4 e c2 } - \notes\relative c \context Staff = SB { \clef bass; c1 \bar "|."; } > +% \property StaffGroup.minVerticalAlign = #12 + \notes\relative c'' \context Staff = SA { \clef treble g4 e c2 } + \notes\relative c \context Staff = SB { \clef bass c1 \bar "|." } > @end lilypond @item brass @@ -384,11 +384,11 @@ lines. \property Score.LyricText \set #'font-style = #'large \addlyrics \context Staff \notes\relative c' { - \clef soprano; c1 - \clef mezzosoprano; c - \clef alto; c - \clef tenor; c - \clef baritone; c + \clef soprano c1 + \clef mezzosoprano c + \clef alto c + \clef tenor c + \clef baritone c } \context Lyrics \lyrics { Soprano Mezzosoprano Alto Tenor Baritone @@ -441,7 +441,7 @@ chords are denoted open chords \property Score.barNonAuto = ##t \property Voice.textNonEmpty = ##t \property Voice.TextScript \set #'font-style = #'large -\time 4/4; +\time 4/4 \notes\relative c'' { @@ -516,8 +516,8 @@ Melody moving in the narrow steps of the scale; @ @lilypond[13pt,eps] -\key g \major; \time 4/4; -\notes\relative c'' { g4 g g a | b2 a | g4 b a a | g1 \bar "||"; } +\key g \major \time 4/4 +\notes\relative c'' { g4 g g a | b2 a | g4 b a a | g1 \bar "||" } @end lilypond @item consonance @@ -550,9 +550,9 @@ composition methods. \property Score.TimeSignature \override #'style = #'C2/2 \notes\context PianoStaff < \context Staff = SA \relative c' { - \key bes \major; - \time 4/4; - \clef treble; + \key bes \major + \time 4/4 + \clef treble < \context Voice = rha { \stemUp r1 | r2 r8 g'8 bes d, | @@ -566,8 +566,8 @@ composition methods. > } \context Staff = SB \relative c' { - \clef bass; - \key bes \major; + \clef bass + \key bes \major < \context Voice = lha { \stemUp r8 d es g, fis4 g | r8 a16 bes c8 bes16 a bes4 g | @@ -605,8 +605,8 @@ abbreviation "cresc.". @ @lilypond[13pt,eps] -\key g \major; \time 4/4; -\notes\relative c'' { g4 \< a b c | \! d1 \bar "|."; } +\key g \major \time 4/4 +\notes\relative c'' { g4 \< a b c | \! d1 \bar "|." } @end lilypond @item cue-notes @@ -637,8 +637,8 @@ frequently near the beginning marked by a sign: @lilypond[13pt,eps] \property Voice.TextScript \set #'font-style = #'large -\key g \major; \time 4/4; -\notes\relative c'' { d1 | g,4^\segno a b c | b a g2_"d.s." \bar "|."; } +\key g \major \time 4/4 +\notes\relative c'' { d1 | g,4^\segno a b c | b a g2_"d.s." \bar "|." } @end lilypond @item decrescendo @@ -651,8 +651,8 @@ or the abbreviation "decresc.". @ @lilypond[13pt,eps] -\context Staff \notes\relative c'' {\key g \major; \time 4/4; - d4 \> c b a | \! g1 \bar "|."; } +\context Staff \notes\relative c'' {\key g \major \time 4/4 + d4 \> c b a | \! g1 \bar "|." } @end lilypond @item descending interval @@ -864,11 +864,11 @@ scale. Opposite of @ar{}@strong{conjunct movement}. @ @lilypond[13pt,eps] -\key a \major; -\time 4/4; +\key a \major +\time 4/4 \notes\relative c' { - \partial 8; e8 | a4. gis8 b a e cis | - fis2 d4. \bar "||"; } + \partial 8 e8 | a4. gis8 b a e cis | + fis2 d4. \bar "||" } @end lilypond @item dissonant interval; dissonance @@ -1055,16 +1055,16 @@ octave lower (for example on double bass @w{@ar{}@strong{strings}}). \property Lyrics.LyricText \set #'font-style = #'large \addlyrics \notes\relative c { -% \clef "F3"; - \clef varbaritone; +% \clef "F3" + \clef varbaritone f1 - \clef bass; + \clef bass f1 - \clef subbass; + \clef subbass f1 - \clef "F^8"; + \clef "F^8" f1 - \clef "F_8"; + \clef "F_8" f1 } \context Lyrics \lyrics { @@ -1083,9 +1083,9 @@ Prolonged note or rest of indefinite duration. @lilypond[13pt,eps] -\time 4/4; +\time 4/4 \notes\relative c'' { -a4 b c2^\fermata \bar "|."; } +a4 b c2^\fermata \bar "|." } @end lilypond @item fifth @@ -1192,13 +1192,13 @@ that). \property Lyrics.LyricText \set #'font-style = #'large \addlyrics \notes\relative c'' { - \clef french; + \clef french g1 - \clef treble; + \clef treble g - \clef "G^8"; + \clef "G^8" g - \clef "G_8"; + \clef "G_8" g } \context Lyrics \lyrics { @@ -1260,15 +1260,15 @@ section. @ar{}@w{}@strong{functional harmony} @lilypond[13pt,eps] \notes\context PianoStaff < \context Staff = SA \relative c'' { - \time 4/4; - \clef treble; - \partial 4; < c4 g e > | < c a f > < b g d > < c2 g e > } + \time 4/4 + \clef treble + \partial 4 < c4 g e > | < c a f > < b g d > < c2 g e > } \property Lyrics.LyricText \set #'font-style = #'large \addlyrics \context Staff = SB \relative c { - \clef bass; - \partial 4; c4 | f, g c2 - \bar "|."; } + \clef bass + \partial 4 c4 | f, g c2 + \bar "|." } \context Lyrics \lyrics { T S D T } > @end lilypond @@ -1405,9 +1405,9 @@ The difference between an interval and an octave. \property Score.barNonAuto = ##t \property Score.TextScript \set #'font-style = #'large \context Staff \notes\relative c'' { - < g1_"second" a > s < g'_"seventh" a, > s \bar "||"; - < g,_"third" b > s < g'_"sixth" b, > s \bar "||"; - < g,_"fourth" c > s < g'_"fifth" c, > s \bar "||"; + < g1_"second" a > s < g'_"seventh" a, > s \bar "||" + < g,_"third" b > s < g'_"sixth" b, > s \bar "||" + < g,_"fourth" c > s < g'_"fifth" c, > s \bar "||" } @end lilypond @@ -1478,10 +1478,10 @@ unlike @emph{leggiero} or @emph{non-legato} (b), @emph{portato} (c) and \property Lyrics.LyricText \set #'font-style = #'large \addlyrics \notes\relative c'' { - c4( d )e \bar "||"; - c4-- d-- e-- \bar "||"; - c4-.( d-. )e-. \bar "||"; - c4-. d-. e-. \bar "||"; + c4( d )e \bar "||" + c4-- d-- e-- \bar "||" + c4-.( d-. )e-. \bar "||" + c4-. d-. e-. \bar "||" } \context Lyrics \lyrics { a "" "" b "" "" c "" "" d } @end lilypond @@ -1580,25 +1580,25 @@ one speaks of @emph{duple} (2/2, 2/4, 2/8), @emph{triple} (3/2, 3/4, 3/8) or @lilypond[13pt,eps] \notes\relative c'' { - \time 3/4; - \key f \major; - c es d | c bes8 a bes4 | c es d | c2 \bar "||";} + \time 3/4 + \key f \major + c es d | c bes8 a bes4 | c es d | c2 \bar "||"} @end lilypond @lilypond[13pt,eps] \notes\relative c' { - \time 6/8; - \key f \major; + \time 6/8 + \key f \major f8 f f f a16 g a f | - c'8 c c c e16 d e c \bar "||";} + c'8 c c c e16 d e c \bar "||"} @end lilypond @lilypond[13pt,eps] \notes\relative c'' { - \time 5/4; - \key g \major; + \time 5/4 + \key g \major d4 b8 g b d d c a4 | - g8 g16 g g8 g16 g g8 fis16 g a8 fis16 e d4 \bar "||";} + g8 g16 g g8 g16 g g8 fis16 g a8 fis16 e d4 \bar "||"} @end lilypond @item metronome @@ -1634,9 +1634,9 @@ First C below the 440 Hz A. \property Score.barNonAuto = ##t \property Staff.Clef \set #'full-size-change = ##t \notes\relative c' { - \clef bass; c1 s - \clef alto; c s - \clef treble; c s + \clef bass c1 s + \clef alto c s + \clef treble c s } @end lilypond @@ -1685,9 +1685,9 @@ subject. \emptyText \property Voice.TextScript \set #'font-style = #'large \notes\relative c'' { - \time 4/4; - \key g \major; - \partial 8; g16_"------" fis | + \time 4/4 + \key g \major + \partial 8 g16_"------" fis | g8 d16_"------" c d8 g16 fis g8 b,16 a b8 g'16 fis | g8 g,16 a b8 cis d16 s } @@ -1793,9 +1793,9 @@ half. Another dot adds yet a fourth of the duration. \emptyText \property Voice.TextScript \set #'font-style = #'large \notes\relative c'' { - \time 4/4; - g4._"pointed" g8 g2 | g4 () g8 g g2 \bar "||"; - g4.._"double pointed" g16 g2 | g4 () g8 () g16 g g2 \bar "||"; } + \time 4/4 + g4._"pointed" g8 g2 | g4 () g8 g g2 \bar "||" + g4.._"double pointed" g16 g2 | g4 () g8 () g16 g g2 \bar "||" } @end lilypond Alternatively note values may be subdivided by other ratios. Most common is @@ -1809,14 +1809,14 @@ frequently used. \property Voice.TextScript \set #'font-style = #'large \emptyText \notes\relative c'' { - \time 4/4; - \times 2/3 {g8_"triplets" g g} g4 g8 g g4 \bar "||"; - \times 2/5 {g8_"quintuplets" g g g g} g4 g8 g g4 \bar "||"; - \time 3/4; + \time 4/4 + \times 2/3 {g8_"triplets" g g} g4 g8 g g4 \bar "||" + \times 2/5 {g8_"quintuplets" g g g g} g4 g8 g g4 \bar "||" + \time 3/4 \times 3/2 {g4_"duplets" g} | - g4 g g \bar "||"; + g4 g g \bar "||" \times 6/4 {g8_"quadruplets" g g g} | - g8 g g g g4 \bar "||";} + g8 g g g g4 \bar "||"} @end lilypond @ @@ -1847,8 +1847,8 @@ the upper note is played first. \emptyText \property Voice.TextScript \set #'font-style = #'large \notes\relative c'' { - c2._"pre-1850" b4\trill | c1 \bar "||"; - c2._"post-1850" b4\trill | c1 \bar "||"; + c2._"pre-1850" b4\trill | c1 \bar "||" + c2._"post-1850" b4\trill | c1 \bar "||" } } \notes\relative c'' { @@ -1869,9 +1869,9 @@ Other frequently used ornaments are the @emph{turn}, the @emph{mordent} and the \emptyText \property Voice.TextScript \set #'font-style = #'large \notes\relative c'' { - a4_"turn" b\turn c2 \bar "||"; - g4_"mordent" a b\mordent a \bar "||"; - e'4_"prall" d\prall c2 \bar "||"; + a4_"turn" b\turn c2 \bar "||" + g4_"mordent" a b\mordent a \bar "||" + e'4_"prall" d\prall c2 \bar "||" } } \notes\relative c'' { @@ -2014,11 +2014,11 @@ the same @w{@ar{}@strong{signature}}. \property Score.barNonAuto = ##t \property Voice.TextScript \set #'font-style = #'large \notes\relative c' { - \key es \major; + \key es \major es1_"e flat major" f g as bes c d es - \bar "||"; s16 - \key es \major; - c,1_"c minor" d es f g a! b! c \bar "||"; + \bar "||" s16 + \key es \major + c,1_"c minor" d es f g a! b! c \bar "||" } @end lilypond @@ -2029,8 +2029,8 @@ gen@-ta@-gel@-se, S: repris, N: . @ @lilypond[13pt,eps] -\key g \major; -\time 4/4; +\key g \major +\time 4/4 \notes\relative c'' { \repeat volta 2 {g4 g d' d | e e d2 | c4 c b b | a a g2 } } @@ -2084,7 +2084,7 @@ sub@-do@-mi@-nant (S) and V = dominant (D). \emptyText \property Score.barNonAuto = ##t \property Lyrics.LyricText \set #'font-style = #'large -%\property Lyrics.minVerticalAlign = 8 +%\property Lyrics.minVerticalAlign = #8 \addlyrics \notes\relative c' { c1 d e f g a b c } @@ -2243,12 +2243,12 @@ notehead. @ @lilypond[13pt,eps] -\key d \major; -\time 4/4; +\key d \major +\time 4/4 \notes\relative c'' { - \partial 8; a8 | + \partial 8 a8 | d4-\staccato cis-\staccato b-\staccato cis-\staccato | - d2. \bar "||"; } + d2. \bar "||" } @end lilypond @item staff @@ -2348,9 +2348,9 @@ the underlaying (normal) pulse and the actual (abnormal) rhythm. @lilypond[13pt,eps] \emptyText \property Voice.TextScript \set #'font-style = #'large -\time 4/4; +\time 4/4 \notes\relative c' { - \partial 4; + \partial 4 d8 dis | e c'4 e,8 c'4 e,8 c' ( | ) c2 } @@ -2434,9 +2434,9 @@ with figures designating the chief @w{@ar{}@strong{interval}}s and @lilypond[13pt,eps] \context GrandStaff < \notes\relative c'' { - \time 4/4; - \key es \major; - \clef treble; + \time 4/4 + \key es \major + \clef treble < \context Voice = rha { \stemUp es4 d c bes | bes } @@ -2447,11 +2447,11 @@ with figures designating the chief @w{@ar{}@strong{interval}}s and } \property Voice.TextScript \set #'font-style = #'large \property Lyrics.LyricText \set #'font-style = #'Large - \property Lyrics.minVerticalAlign = 6 + \property Lyrics.minVerticalAlign = #6 \addlyrics \notes\relative c' { - \clef bass; - \key es \major; + \clef bass + \key es \major es8 c () c bes () bes as () as g16 f | es4 } \context Lyrics \lyrics { @@ -2508,13 +2508,13 @@ Shifting a melody up or down in pitch, while keeping the same relative pitches. @lilypond[13pt,eps] \context Staff { - \time 3/4; + \time 3/4 \notes\relative c'' { - \key g \major; - d4 g,8 a b c | d4 g, g | e' c8 d e fis | g4 g, g \bar "|."; } + \key g \major + d4 g,8 a b c | d4 g, g | e' c8 d e fis | g4 g, g \bar "|." } \transpose bes\relative c'' { - \key g \major; - d4 g,8 a b c | d4 g, g | e' c8 d e fis | g4 g, g \bar "|."; } + \key g \major + d4 g,8 a b c | d4 g, g | e' c8 d e fis | g4 g, g \bar "|." } } @end lilypond @@ -2608,11 +2608,11 @@ line. @w{@ar{}@strong{measure}} @w{@ar{}@strong{meter}} @ @lilypond[13pt,eps] -\key f \major; -\time 4/4; +\key f \major +\time 4/4 \notes\relative c' { - \partial 4; f4 | bes4. a8 bes4 c | - bes () a g f | bes4. a8 bes4 c | f,2. \bar "||"; } + \partial 4 f4 | bes4. a8 bes4 c | + bes () a g f | bes4. a8 bes4 c | f,2. \bar "||" } @end lilypond @item voice diff --git a/Documentation/user/lilypond.tely b/Documentation/user/lilypond.tely index 96f3ae35b6..1c88efb334 100644 --- a/Documentation/user/lilypond.tely +++ b/Documentation/user/lilypond.tely @@ -79,7 +79,8 @@ this and other documentation. * Conversion tools:: Converting to lilypond source format. * lilypond-book:: Interleaving text with music. * Internals:: How it all works. -* Literature:: additional reading +* Literature:: Additional reading +* Full Grob interface list:: Generated list of all Grob properties. * Index of internals:(lilypond-internals). Auto generated detailed documentation. * Index:: Unified index. * Function Index:: Function index. @@ -102,8 +103,9 @@ this and other documentation. @mbinclude ly2dvi.itexi @mbinclude convert-ly.itexi @mbinclude lilypond-book.itely -@mbinclude convertors.itely +@mbinclude converters.itely @mbinclude literature.itely +@mbinclude interfaces.itexi @c FIXME: Index has two alphabetically sorted lists @code vs plain? @node Index diff --git a/Documentation/user/ly2dvi.itexi b/Documentation/user/ly2dvi.itexi index a1613ad5f4..abb6dc2f2b 100644 --- a/Documentation/user/ly2dvi.itexi +++ b/Documentation/user/ly2dvi.itexi @@ -115,6 +115,7 @@ read from the @code{\paper} block, if set. @subsection Environment variables +@table @code @item LANG selects the language for the warning messages of Ly2dvi and LilyPond. @end table diff --git a/Documentation/user/preface.itely b/Documentation/user/preface.itely index 9211d00fa3..20a85a9ce3 100644 --- a/Documentation/user/preface.itely +++ b/Documentation/user/preface.itely @@ -22,10 +22,11 @@ flexibility and good documentation. We hope you will have as much fun in using LilyPond as we have when hacking it. This manual was written to help you learn LilyPond, but as you might -imagine, we don't have much to learn about it. Therefore, we can't -really judge whether the manual is clear for a newbie, but maybe you -can! So, should you find any part of the manual vague or outdated, -please tell us your suggestions: if you don't, we'll never know. +imagine, we ourselves don't have much to learn about it. Therefore, +we can't really judge whether the manual is clear for a newbie, but +maybe you can! So, should you find any part of the manual vague or +outdated, please tell us your suggestions: if you don't, we'll never +know. Han-Wen and Jan diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index e7a3d60a7f..c1bf8f60a1 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -235,7 +235,7 @@ r1 r2 r4 r8 r16 r32 r64 r64 @lilypond[] \score { \notes \relative c'' { - a\longa a\breve \autoBeamOff + a\breve \autoBeamOff a1 a2 a4 a8 a16 a32 a64 a64 r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r64 @@ -243,10 +243,10 @@ r1 r2 r4 r8 r16 r32 r64 r64 \paper { \translator { \StaffContext - \remove "Clef_engraver"; - \remove "Staff_symbol_engraver"; - \remove "Time_signature_engraver"; - \consists "Pitch_squash_engraver"; + \remove "Clef_engraver" + \remove "Staff_symbol_engraver" + \remove "Time_signature_engraver" + \consists "Pitch_squash_engraver" } } } @@ -443,7 +443,7 @@ Rests are entered like notes, with note name `@code{r}'. The grob is @example - \skip @var{duration} @code{;} + \skip @var{duration} s@var{duration} @end example @cindex @code{\skip} @@ -476,7 +476,7 @@ printed. The shorthand is only available in Note and Chord mode. Changing the key signature is done with the @code{\key} command. @example - @code{\key} @var{pitch} @var{type} @code{;} + @code{\key} @var{pitch} @var{type} @end example @cindex @code{\minor} @@ -581,7 +581,7 @@ Editio XXX.'' The time signature is changed by the @code{\time} command. Syntax: @example - \time @var{numerator}@code{/}@var{denominator} @code{;} + \time @var{numerator}@code{/}@var{denominator} @end example Internally, this is a shortcut for doing @example @@ -645,7 +645,7 @@ achieve the same effect. @cindex repeat bars @example - \bar @var{bartype}; + \bar @var{bartype} @end example This is a shortcut for doing @@ -671,7 +671,7 @@ automatically: at the start of a measure it is set to override default measure bars. @code{whichBar} can also be set directly, using @code{\property} or -@code{\bar ; }. These settings take precedence over automatic @code{whichBar} +@code{\bar }. These settings take precedence over automatic @code{whichBar} settings. @code{Bar_engraver} creates @code{BarLine} grobs. @@ -843,7 +843,7 @@ durations, ie, you'll have to specify manual beams to get: @lilypond[fragment,singleline,relative] \property Voice.autoBeamSettings \override #'(end * * * *) = #(make-moment 3 8) - \time 12/8; c'8 c c c16 c c c c c [c c c c] c8 c c4 + \time 12/8 c'8 c c c16 c c c c c [c c c c] c8 c c4 @end lilypond It is not possible to specify beaming parameters that act differently in @@ -994,7 +994,7 @@ indicate a musical sentence. It is entered using @code{\(} and @code{\)}. @lilypond[fragment,verbatim,center,relative] - \time 6/4; c''\((d)e f(e)\)d + \time 6/4 c''\((d)e f(e)\)d @end lilypond Typographically, the phrasing slur behaves almost exactly like a normal @@ -1124,8 +1124,8 @@ name of the corresponding symbol appearing underneath. } > \paper { - linewidth = 5.875\in; - indent = 0.0; + linewidth = 5.875\in + indent = 0.0 } } @end lilypond @@ -1482,7 +1482,7 @@ the specified number of repeats. @lilypond[fragment,verbatim] \context Staff { \relative c' { - \partial 4; + \partial 4 \repeat volta 3 { e | c2 d2 | e2 f2 | } \alternative { { g4 g g } { a | a a a a | b2. } } } @@ -1624,7 +1624,7 @@ are squashed, and the staff itself looks has a single staff line: @lilypond[fragment,relative ] \context RhythmicStaff { - \time 4/4; + \time 4/4 c4 e8 f g2 | r4 g r2 | g1:32 | r1 | } @end lilypond @@ -1671,7 +1671,7 @@ over rests to switch rests in advance. \autochange Staff \context Voice = VA < \relative c' { g4 a b c d r4 a g } > } \context Staff = "down" { - \clef bass; + \clef bass s1*2 } > } @end lilypond @@ -1755,7 +1755,7 @@ to the chords in both staffs, and set \context PianoStaff < \property PianoStaff.connectArpeggios = ##t \context Voice = one { } - \context Voice = other { \clef bass; } + \context Voice = other { \clef bass } > @end lilypond @@ -1790,7 +1790,7 @@ can be printed automatically. This is enabled if the property \translator Staff=two b2 a } - \context Staff=two {\clef bass; \skip 1*2;} + \context Staff=two {\clef bass \skip 1*2 } > @end lilypond @@ -1855,7 +1855,7 @@ interpreted as melismata. Lyric syllables must be interpreted within a @lilypond[verbatim,singleline] \addlyrics \notes \relative c' { - \time 7/4; + \time 7/4 \property Staff.automaticMelismata = ##t d'2 c4 b2 a2 b2 c4 b4 () a4 g2 } @@ -1970,7 +1970,7 @@ identity is @code{duet}, and the identities of the LyricsVoices are @lilypond[singleline,verbatim] \score { \addlyrics - \notes \relative c'' \context Voice = duet { \time 3/4; + \notes \relative c'' \context Voice = duet { \time 3/4 g2 e4 a2 f4 g2. } \lyrics \context Lyrics < \context LyricsVoice = "duet-1" { @@ -2266,9 +2266,9 @@ problems in orchestral music. @cindex @code{Mark_engraver} @example - \mark @var{unsigned}; - \mark @var{string}; - \mark ; + \mark @var{unsigned} + \mark @var{string} + \mark \default @end example With this command, you can print a rehearsal mark above the system. You @@ -2278,11 +2278,11 @@ incremented. @lilypond[fragment,verbatim] \relative c'' { - c1 \mark "A2"; - c1 \mark ; - c1 \mark ; - c1 \mark "12"; - c1 \mark #'(music "scripts-segno") ; + c1 \mark "A2" + c1 \mark \default + c1 \mark \default + c1 \mark "12" + c1 \mark #'(music "scripts-segno") c1 } @end lilypond @@ -2312,7 +2312,7 @@ used, for the next ones @code{instr} is used. \property Staff.instrument = "ploink " { c''4 } } \paper { \translator { \StaffContext - \consists "Instrument_name_engraver"; } } } + \consists "Instrument_name_engraver" } } } @end lilypond This requires that you add the @code{Instrument_name_engraver} to the @@ -2330,7 +2330,7 @@ complicated instrument names: c'' 4 } \paper { \translator { \StaffContext - \consists "Instrument_name_engraver"; } } } + \consists "Instrument_name_engraver" } } } @end lilypond @@ -2364,11 +2364,11 @@ will print flats. @lilypond[fragment,verbatim] \context Staff { - \clef "F"; - { \key e \major; c d e f } - \clef "G"; - \transpose des'' { \key e \major; c d e f } - \transpose cis'' { \key e \major; c d e f } + \clef "F" + { \key e \major c d e f } + \clef "G" + \transpose des'' { \key e \major c d e f } + \transpose cis'' { \key e \major c d e f } } @end lilypond @@ -2407,7 +2407,7 @@ Lily will not expand empty measures, and the appropriate number is added automatically. @lilypond[fragment,verbatim] - \time 3/4; R2.*2 \property Score.skipBars = ##t R2.*17 R2.*4 + \time 3/4 R2.*2 \property Score.skipBars = ##t R2.*17 R2.*4 @end lilypond Currently, there is no way to condense multiple rests into a single @@ -2525,7 +2525,7 @@ line. \context Staff = SB { c4 d e f \break R1 } > \paper { - linewidth = 6.\cm ; + linewidth = 6.\cm \translator { \HaraKiriStaffContext } } } @@ -2551,8 +2551,8 @@ performance, thus enhancing readability of a score. \paper { \translator { \StaffContext - \consists Custos_engraver; - Custos \override #'style = #'mensural; + \consists Custos_engraver + Custos \override #'style = #'mensural } } } @@ -2575,8 +2575,8 @@ are @code{vaticana}, @code{medicaea}, @code{hufnagel} and \paper @{ \translator @{ \StaffContext - \consists Custos_engraver; - Custos \override #'style = #'mensural; + \consists Custos_engraver + Custos \override #'style = #'mensural @} @} @end example @@ -2999,7 +2999,7 @@ marking: a1^#`((rows (font-relative-size . -1)) ,dotted-eight-note " = 64") } \paper { - linewidth = -1.; + linewidth = -1. \translator{ \ScoreContext TextScript \override #'font-shape = #'upright @@ -3046,7 +3046,7 @@ unblanknotes = { \score { \notes\relative c'' { - \time 6/4; + \time 6/4 a b c b \blanknotes c \unblanknotes d } } @@ -3057,13 +3057,13 @@ Some grobs require a special treatment. Rhythm exercise: make staff invisible and squash pitches: @lilypond[singleline,verbatim] \score { - \notes { \time 3/4; c4 c c8 c | c4 c c8 c } + \notes { \time 3/4 c4 c c8 c | c4 c c8 c } \paper { \translator { \StaffContext - \remove Staff_symbol_engraver; - \consists Pitch_squash_engraver; - \remove Clef_engraver; + \remove Staff_symbol_engraver + \consists Pitch_squash_engraver + \remove Clef_engraver } } } @@ -3080,7 +3080,7 @@ Some modern music does not show bar lines: \translator { \StaffContext whichBar = #"" - \remove "Time_signature_engraver"; + \remove "Time_signature_engraver" } } } @@ -3121,7 +3121,7 @@ use are in @code{staff-space}s. s2 a'1 } - \paper { linewidth = 70 * \staffspace; } + \paper { linewidth = 70*\staffspace } } @end lilypond @@ -3156,8 +3156,7 @@ music notation. The syntax is where each of the items is one of @itemize @bullet - @item An assignment. The assignment must be terminated by a - semicolon. + @item An assignment. @item A context definition. See @ref{Notation Contexts} for more information on context definitions. @@ -3303,7 +3302,7 @@ Occasionally you might want to override the automatic breaks; you can do this by specifying @code{\break}. This will force a line break at this point. Do remember that line breaks can only occur at places where there are barlines. If you want to have a line break where there is no -barline, you can force an invisible barline by entering @code{\bar "";}. +barline, you can force an invisible barline by entering @code{\bar ""}. Similarly, @code{\noBreak} forbids a line break at a certain point. @@ -4000,7 +3999,7 @@ system. c'4 c'4 } \paper { \translator { \StaffContext - \remove Clef_engraver; + \remove Clef_engraver } } } @end lilypond @@ -4042,12 +4041,12 @@ following extra information: This is an example: @example \translator @code{ - \type "Engraver_group_engraver"; - \name "SimpleStaff"; - \alias "Staff"; - \consists "Staff_symbol_engraver"; - \consists "Note_head_engraver"; - \consistsend "Axis_group_engraver"; + \type "Engraver_group_engraver" + \name "SimpleStaff" + \alias "Staff" + \consists "Staff_symbol_engraver" + \consists "Note_head_engraver" + \consistsend "Axis_group_engraver" }@ @end example @@ -4080,11 +4079,11 @@ and only the toplevel context. Other modifiers are @itemize @bullet - @item @code{\alias} @var{alternate-name} @code{;} + @item @code{\alias} @var{alternate-name} This specifies a different name. In the above example, @code{\property Staff.X = Y} will also work on @code{SimpleStaff}s - @item @code{\consistsend} @var{engravername} @code{;} + @item @code{\consistsend} @var{engravername} Analogous to @code{\consists}, but makes sure that @var{engravername} is always added to the end of the list of engravers. @@ -4094,7 +4093,7 @@ Other modifiers are removes engravers. This command is usually not needed for end-users. - @item @code{\accepts} @var{contextname} @code{;} + @item @code{\accepts} @var{contextname} Add @var{contextname} to the list of context this context can contain. The first listed context is the context to create by default. @@ -4103,7 +4102,7 @@ Other modifiers are completeness, but is never used in practice. - @item @code{\name} @var{contextname} @code{;} + @item @code{\name} @var{contextname} This sets name of the context, e.g. @code{Staff}, @code{Voice}. If the name is not specified, the translator won't do anything. @end itemize @@ -4203,8 +4202,8 @@ metre, arranger, piece and tagline. The syntax is @example - \header @{ @var{key1} = @var{val1}; - @var{key2} = @var{val2}; @dots{} @} + \header @{ @var{key1} = @var{val1} + @var{key2} = @var{val2} @dots{} @} @end example It is customary to put the @code{\header} at the top of the file. @@ -4429,11 +4428,6 @@ and to refer to an identifier, you preceed its name with a backslash: the input-types listed above. Identifier assignments can appear at top level in the LilyPond file, but also in @code{\paper} blocks. -Semicolons are forbidden after top level assignments, but mandatory in -other places. The rules about semicolons and assignments are very -confusing, but when LilyPond input evolves more towards Scheme, we hope -that this problem will grow smaller. - An identifier can be created with any string for its name, but you will only be able to refer to identifiers whose names begin with a letter, being entirely alphabetical. It is impossible to refer to an identifier @@ -4506,23 +4500,13 @@ some time. @itemize @bullet @item The assignment - @example +@example foo = bar @end example - - can be interpreted as making a string identifier @code{\foo} + is interpreted as the string identifier assignment. However, +it can also be interpreted as making a string identifier @code{\foo} containing @code{"bar"}, or a music identifier @code{\foo} - containing the syllable `bar'. - - @item The assignment - - @example -foo = -6 -@end example - - can be interpreted as making an integer identifier - containing -6, or a Request identifier containing the - fingering `6' (with neutral direction). + containing the syllable `bar'. @item If you do a nested repeat like @@ -4540,7 +4524,12 @@ foo = -6 @code{\alternative} belongs. This is the classic if-then-else dilemma. It may be solved by using braces. - @item (an as yet unidentified ambiguity :-) + @item The parser is not sophisticated enough to distinguish at the +right time between + @code{c4*2 / 3 } and @code{c4*2 / g} (in chord mode). + +[checkme] + @end itemize @@ -4708,7 +4697,7 @@ filename including the @file{.ly} extension must be given, @subsection Version information @cindex @code{\version} @example - \version @var{string} ; + \version @var{string} @end example Specify the version of LilyPond that a file was written for. The diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index 4a6f5f11a8..09d60d1ed2 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -2,6 +2,9 @@ @c TODO: LilyPond Lilypond lilypond +FIXME: choose one of: notation context/interpretation context. + + @node Tutorial @chapter Tutorial @@ -32,7 +35,7 @@ yourself, to get a feel for how the program behaves. * More movements :: * A piano excerpt:: Piano music * An orchestral score:: -* Part extraction:: +* Other ways to run LilyPond:: * Latex and texinfo integration:: * end of tutorial:: The end @end menu @@ -41,8 +44,6 @@ yourself, to get a feel for how the program behaves. @node Running LilyPond @section Running LilyPond -[FIXME refman: describe all programs involved in one list.] - Before we dive into describing the input language of LilyPond, we first show you through the procedure for getting notes on your screen and out of your printer. @@ -119,64 +120,27 @@ You should see the following in a window next to some buttons. } @end lilypond -When you're satisfied with the result, you can print the PostScript -file. +When you're satisfied with the result, you can print the +PostScript file: -@cindex PostScript -@cindex Printing output -@cindex .ps -@cindex GhostScript -@cindex @code{lpr} -PostScript is a page description language, similar to PDF. Some printers -can understand a postscript file directly, but the cheaper ones need the -intervention of GhostScript, an emulator that runs PostScript on your -computer instead of your printer. Most Linux distributions nowadays have -GhostScript running ``in the background'', so any configured printer -will act as a PostScript printer. Assuming this, the following command -will print the file @example lpr test.ps @end example -If this does not make your printer produce a page of music, then you -should look into installing and configuring ghostscript. Refer to -GhostScript's website at @uref{http://www.ghostscript.com}. - -There are three other routes. Firstly, there is a script called -@code{lilypond-book}, that allows you to freely mix LilyPond input with -Texinfo or LaTeX input. For example, this manual was written using -@code{lilypond-book}. It is discussed in @ref{lilypond-book}. - -@c FIXME: ly2dvi option? -Secondly, you can generate PostScript directly. This is useful if you -can not or do not want to run @TeX{} on your system. To obtain direct -PostScript output, invoke LilyPond as follows: -@cindex PostScript output -@example -lilypond -f ps test.ly -@end example -You have to set some environment variables to view or print this -output. More information can be found in @ref{Invoking -LilyPond}. - -@c FIXME: ly2dvi option? -Thirdly, if you want to do special things with your output, you can run -invoke lilypond directly: -@example -lilypond test.ly -@end example -to produce plain @TeX{}@footnote{@TeX{} is a text-typesetting system -that is especially suited for typesetting mathematics.} output. Note -that you must run @TeX{} on the resulting @file{test.tex}, ie, not -LaTeX. -@cindex @TeX{} - +If this does not make your printer produce a page of music, you should +look into installing and configuring ghostscript. Refer to +GhostScript's website at @uref{http://www.ghostscript.com}. +@cindex GhostScript +@cindex @code{lpr} +@cindex Printing output +@cindex PostScript +@cindex .ps @unnumberedsubsec Windows @strong{[TODO]} -* setting of env vars (TFMINPUTS,MFINPUTS,TEXINPUTS) +* setting of env vars (TFMFONTS,MFINPUTS,TEXINPUTS) * dvi viewer doesn't display postscript @@ -192,19 +156,19 @@ is included in the distribution as @file{menuet.ly}. @cindex Bach, Johann Sebastian @lilypond[verbatim] -% text preceded by a percent sign is a comment +% all text after a percent sign is a comment % and is ignored by Lilypond \include "paper16.ly" \score { \notes - \relative c'' \sequential{ - \time 3/4; - \key g \major; + \relative c'' \sequential { + \time 3/4 + \key g \major \repeat "volta" 2 { d4 g,8 a b c d4 g, g | e'4 c8 d e fis g4 g, g | - c4 d8()c b a( )b4 c8 b a g | + c4 d8( )c b a( )b4 c8 b a g | a4 [b8 a] [g fis] g2. | } @@ -215,11 +179,11 @@ is included in the distribution as @file{menuet.ly}. g4 fis e | fis a, r8 cis8 d2.-\fermata - \bar "|."; + \bar "|." } \paper { % standard settings are too wide for a book - linewidth = 14.0 \cm; + linewidth = 14.0 \cm } } @end lilypond @@ -227,12 +191,12 @@ is included in the distribution as @file{menuet.ly}. We will analyse the input, line by line. @separate @example - % text preceded by a percent sign is a comment - % and is ignored by LilyPond + % all text after a percent sign is a comment + % and is ignored by Lilypond @end example -The percent sign, @code{%}, introduces a line comment. If you want to -make a comment that use several lines, you can use block comments. These -are delimited by @code{%@{} and @code{%@}} +The percent sign, @code{%}, introduces a line comment. You can also +comment out a block of several lines, by enclosing them in +@code{%@{} and @code{%@}}. @cindex comment @cindex block comment @cindex line comment @@ -256,7 +220,7 @@ size, which is done here. \score @{ @end example -Music is printed by combining a chunk of music with directions for +Music is printed by combining a piece of music with directions for outputting it. This combination is formed in the @code{\score} block. @separate @example @@ -264,32 +228,32 @@ outputting it. This combination is formed in the @code{\score} block. \notes @end example - This makes LilyPond ready for accepting notes. +Prepare LilyPond for accepting notes. +@cindex octaves, choosing +@cindex pitch @separate @example \relative c'' @end example - -@cindex octaves, choosing -@cindex pitch -As we will see, each note is described by its note name, duration, -octave and possibly a chromatic alteration. In this scheme, the -octave is indicated by using raised quotes (@code{'}) and ``lowered'' -quotes (commas: @code{,}). The central C is denoted by @code{c'}. -The C one octave higher is @code{c''}. One and two octaves below -the central C is denoted by @code{c} and @code{c,} respectively. - @cindex relative -Even though a piece of music often spans a range of several octaves, -it mostly moves in small intervals. LilyPond has a special entry -mode to save typing in this situation. In this ``relative'' octave -mode, octaves of notes -without quotes are chosen such that a note is as close as possible -(graphically, on the staff) to the preceding note. If you add a -high-quote an extra octave is added. The lowered quote (a comma) will -subtract an extra octave. Because the first note has no predecessor, +As we will see, each note is described by its note name, duration, +octave and possibly a chromatic alteration. In this setup, the octave +is indicated by using high quotes (@code{'}) and ``lowered quotes'' +(commas: @code{,}). The central C is denoted by @code{c'}. The C one +octave higher is @code{c''}. One and two octaves below the central C is +denoted by @code{c} and @code{c,} respectively. + +Even though a piece of music often spans a range of several octaves, it +mostly moves in small intervals. LilyPond has a special entry mode to +save typing in this situation. In this ``relative'' octave mode, +octaves of notes without quotes are chosen such that a note is as close +as possible (graphically, on the staff) to the preceding note. If you +add a high-quote an extra octave is added. A lowered quote (a comma) +will subtract an extra octave. + +Because the first note has no predecessor, you have to give the (absolute) pitch of the note to start with. @separate @example @@ -303,36 +267,37 @@ notes that are to be played and printed after each other. @separate @example - \time 3/4; + \time 3/4 @end example @cindex time signature, setting @cindex @code{\time} - This command sets or changes the time signature of the current piece: -a 3/4 sign is printed. The time signature setting is also used to generate -bar lines at the right spots. +Set (or change) the time signature of the current piece: a 3/4 sign is +printed. The time signature setting is also used to generate bar lines +at the right spots. @separate @example - \key g \major; + \key g \major @end example @cindex key signature, setting @cindex @code{\key} - This command changes the current key signature to G-major. Although this -command comes after the @code{\time} command, the key signature comes -before the time signature in the output; LilyPond knows about music -typesetting conventions. +Set (or change) the current key signature to G-major. Although in this +example, the @code{\key} command happened to be entered after the +@code{\time} command, in the output the time signature will be printed +after the key signature; LilyPond knows about music typesetting +conventions. @separate @example \repeat "volta" 2 @end example - This command tells LilyPond that the following piece of music is -played twice. The first argument indicates the type of repeat. In this -case, @code{"volta"} means that prima volta/secunda volta brackets are -used for the alternative endings---if there were any. +The following piece of music is played twice. The first argument +indicates the type of repeat. In this case, @code{"volta"} means that +prima volta/secunda volta brackets are used for the alternative +endings---if there were any. @separate @example @@ -345,21 +310,25 @@ just leave off @code{\sequential}, and the result is the same. @separate @example - d4 + d4 g,8 @end example - This is a note with pitch @code{d} (determined up to the octave). The -relative music was started with a @code{c''}, so the real pitch of this -note is @code{d''}. A number designates the duration of the note, so -the @code{4} here represents a quarter note. +Two notes. The first note is a quarter note with relative pitch +@code{d}. The relative music was started with a @code{c''}, so the real +pitch of this note is @code{d''}. The duration of a note is designated +by a number; the @code{4} here represents a quarter note. + +The second note is an eight note with relative pitch @code{g,}. The +pitch is taken relative to the previous @code{d''}, making this +note have real pitch @code{g'}. The @code{8} represents an eight note. @separate @example a b @end example -These are notes with pitch @code{a} and @code{b}. Because their -duration is the same as the @code{g}, there is no need to enter the +Two more notes, with pitch @code{a} and @code{b}. Because their +duration is the same as the @code{g,8}, there is no need to enter the duration, but you may enter it anyway, i.e., @code{a4 b4} @separate @example @@ -370,43 +339,48 @@ duration, but you may enter it anyway, i.e., @code{a4 b4} @cindex bar check @cindex @code{|} @cindex errors, finding - Three more notes. The @code{|} character is a `bar check'. When -processing the music, LilyPond will verify that bar checks are found at -the start of a measure. This can help you track down typing errors. +Three more notes. The @code{|} character is a ``bar check''. LilyPond +will verify that bar checks are found at the start of a measure. This can +help you track down typing errors. @cindex alteration, chromatic @cindex chromatic alteration -So far, no notes were chromatically altered. Here is the first one -that is: @code{fis}. Lilypond by default uses Dutch note names, and -``Fis'' is the Dutch note name for ``F sharp''. However, there is no -sharp sign in the output. The program keeps track of key signatures, -and will only print accidentals if they are needed. @separate @example c8 d e fis - + @end example -LilyPond guesses were beams can be added to eighth and shorter notes. -In this case, a beam is added over the 4 eights. +So far, no notes were chromatically altered. Here is the first one that +is: @code{fis}. Lilypond by default uses Dutch@footnote{Note names are +available in several languages, but we find the Dutch names quite +convenient.} note names, and ``Fis'' is the Dutch note name for ``F +sharp''. However, there is no sharp sign in the output. The program +keeps track of key signatures, and will only print accidentals if they +are needed. + +For groups of eighth notes and shorter, LilyPond can determine how the +notes should form a beam. In this case, the 4 eights are automatically +printed as a beam. @separate @example c4 d8( )c b a( )b4 c8 b a g | @end example - The next line shows how to make a slur: the beginning and ending note -of the slur is marked with an opening and closing parenthesis -respectively. In the line shown above, this is done for two slurs. -Slur markers (parentheses) are entered between the slurred notes. +The beginning and ending notes of a slur are marked with parentheses, +@code{(} and @code{)} for start and end respectively. The line above +indicates two slurs. These slur markers (parentheses) are entered +between the slurred notes. @separate @example a4 [b8 a] [g fis] @end example -Automatic beaming can be overridden by inserting beam marks -(brackets). Brackets are put around the notes you want beamed. +Automatic beaming can be overridden by inserting beam marks, @code{[} +and @code{]}. These beam markers (brackets) are put around the notes +you want beamed. @separate @example @@ -422,17 +396,16 @@ A period adds an augmentation dot to the note. @} @end example - This ends the sequential music to be repeated. LilyPond will typeset -a repeat bar. +The end of the sequential music to be repeated. LilyPond will typeset a +repeat bar. @separate @example cis'4 b8 cis a4 | @end example - This line shows that Lily will print an accidental if necessary: -the first C sharp of the bar will be printed with an accidental, -the second one without. +Accidentals are printed whenever necessary: the first C sharp of the bar +will be printed with an accidental, the second one without. @separate @example @@ -458,7 +431,7 @@ Rests are denoted by the special notename @code{r}. d2.-\fermata @end example - All articulations have a verbose form, like @code{\fermata}. The +All articulations have a verbose form, like @code{\fermata}. The command @code{\fermata} is not part of the core of the language, but it is a shorthand for a more complicated description of a fermata symbol. @code{\fermata} names that description and is therefore called an @@ -467,28 +440,25 @@ identifier. @cindex @code{\fermata} @separate @example - \bar "|."; -@end example -@separate -@example + \bar "|." @} @end example -Here the music ends. - +Here the music ends. LilyPond does not automatically typeset and end +bar, we must explicitely request one, using @code{"|."}. +@c FIXME: Why not?! better to override \bar "" if not wanted? @separate @example \paper @{ - linewidth = 14.0\cm; + linewidth = 14.0\cm @} @end example -This specifies how the entered music should be converted to notation -output. Most of the details of the conversion (font sizes, dimensions, -etc.) have -been taken care of, but to fit the output in this document, it has -to be narrower. We do this by setting the line width to 14 centimeters -(approximately 5.5 inches). +The @code{\paper} block specifies how entered music should be converted +to notation output. Most of the details of the conversion (font sizes, +dimensions, etc.) have been taken care of, but to fit the output in this +document, it has to be narrower. We do this by setting the line width +to 14 centimeters (approximately 5.5 inches). @separate @example @@ -508,17 +478,17 @@ included as @file{flowing.ly}. @example \header @{ - title = "The river is flowing"; - composer = "Traditional"; + title = "The river is flowing" + composer = "Traditional" @} \include "paper16.ly" melody = \notes \relative c' @{ - \partial 8; - \key c \minor; + \partial 8 + \key c \minor g8 | c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g | c4 c8 d [es () d] c4 | d4 es8 d c4. - \bar "|."; + \bar "|." @} text = \lyrics @{ @@ -533,7 +503,7 @@ accompaniment =\chords @{ \score @{ \simultaneous @{ -% \accompaniment + %\accompaniment \context ChordNames \accompaniment \addlyrics @@ -544,8 +514,8 @@ accompaniment =\chords @{ @} \context Lyrics \text @} - \midi @{ \tempo 4=72;@} - \paper @{ linewidth = 10.0\cm; @} + \midi @{ \tempo 4=72 @} + \paper @{ linewidth = 10.0\cm @} @} @end example @@ -559,17 +529,17 @@ may differ, since the titling in this document is not generated by @lilypond[center] \header { - title = "The river is flowing"; - composer = "Traditional"; + title = "The river is flowing" + composer = "Traditional" } \include "paper16.ly" melody = \notes \relative c' { - \partial 8; - \key c \minor; + \partial 8 + \key c \minor g8 | c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g | c4 c8 d [es () d] c4 | d4 es8 d c4. - \bar "|."; + \bar "|." } text = \lyrics { @@ -584,7 +554,7 @@ accompaniment =\chords { \score { \simultaneous { -% \accompaniment + %\accompaniment \context ChordNames \accompaniment \addlyrics @@ -595,8 +565,8 @@ accompaniment =\chords { } \context Lyrics \text } - \midi { \tempo 4=72;} - \paper { linewidth = 10.0\cm; } + \midi { \tempo 4=72 } + \paper { linewidth = 10.0\cm } } @end lilypond @@ -615,8 +585,8 @@ information to print titles above the music. @separate @example - title = "The river is flowing"; - composer = "Traditional (?)"; + title = "The river is flowing" + composer = "Traditional (?)" @end example @cindex assignments @cindex identifier assignment @@ -645,7 +615,7 @@ construct the music within the score block. @separate @example - \partial 8; + \partial 8 @end example @cindex @code{\partial} @@ -653,7 +623,7 @@ construct the music within the score block. The piece starts with an anacrusis of one eighth. @separate @example - \key c \minor; + \key c \minor @end example The key is C minor: we have three flats. @@ -662,7 +632,7 @@ The key is C minor: we have three flats. c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g | c4 c8 d [es () d] c4 | d4 es8 d c4. - \bar "|."; + \bar "|." @end example @@ -678,6 +648,9 @@ beams off, and use explicit beaming where needed. @end example This ends the definition of @code{melody}. Note that there are no semicolons after assignments at the top level. + +[FIXME: no longer true for 146?] + @separate @example @@ -835,12 +808,12 @@ silly. @end example -This is the argument of @code{\addlyrics}. We instantiate a -@code{Staff} context explicitly: should you chose to remove the comment -before the ``note heads'' version of the accompaniment, the -accompaniment will be on a nameless staff. The melody has to be on a -different staff as the accompaniment. This is accomplished by giving -the melody staff a different name. +The second argument of @code{\addlyrics} is the melody. We instantiate +a @code{Staff} context explicitly: should you choose to remove the +comment before the ``note heads'' version of the accompaniment, the +accompaniment will be on a nameless staff. The melody has to be on +staff different from the accompaniment. This is accomplished by giving +the melody and accompaniment staffs different names. @separate @example @@ -851,11 +824,9 @@ the melody staff a different name. @cindex context variables @cindex setting context variables An interpretation context has variables, called properties, that tune -its behaviour. One of -the variables is @code{noAutoBeaming}. If set to @code{##t}, which is -the boolean value @var{true}, LilyPond will not try to put automatic beaming -on the current staff. - +its behaviour. One of the variables is @code{noAutoBeaming}. Setting +this Staff's property to @code{##t}, which is the boolean value @var{true}, +turns the automatic beaming mechanism off for the current staff. @cindex GUILE @cindex Scheme @cindex accessing Scheme @@ -911,14 +882,7 @@ Lyrics. @separate @example - @} - -@end example -This ends @code{\simultaneous}. -@separate -@example - - \midi @{ \tempo 4=72;@} + \midi @{ \tempo 4=72@} @end example MIDI (Musical Instrument Digital Interface) is a standard for @@ -935,7 +899,7 @@ also specifies an output method. You can specify the tempo using the @separate @example - \paper @{ linewidth = 10.0\cm; @} + \paper @{ linewidth = 10.0\cm @} @end example We also want notation output. The linewidth is short so the piece @@ -944,6 +908,8 @@ will be set in two lines. @node More movements @section More movements +[FIXME: merge here with, or move this to: Other ways to run LilyPond] + You probably ran @file{ly2dvi} on the last example, and ended up with a viewable @file{.dvi} file. However, between there are a few steps of which LilyPond is only one. To enhance your understanding of what's @@ -958,26 +924,25 @@ of this file are very low-level instructions. For example, the following file (@file{miniatures.ly}) @example - \version "1.3.124"; - \header @{ title = "Two miniatures"; @} - - #(set! point-and-click line-column-location) - - \paper @{ - linewidth = -1.0; @} +\version "1.3.124" +\header @{ title = "Two miniatures" @} - \score @{ +#(set! point-and-click line-column-location) + +\paper @{ linewidth = -1.0 @} + +\score @{ \notes @{ c'4 d'4 @} \header @{ - opus = "Opus 1."; - piece = "Up"; @} - @} - \score @{ - \notes @{ d'4 c'4 @} + opus = "Opus 1." + piece = "Up" @} +@} +\score @{ + \notes @{ d'4 c'4 @} \header @{ - opus = "Opus 2."; - piece = "Down"; @} - @} + opus = "Opus 2." + piece = "Down" @} +@} @end example The titling in this manual was not generated by ly2dvi, so we can't @@ -993,8 +958,7 @@ Opus 1. @lilypond \score { \notes { c'4 d'4 } - \paper { - linewidth = -1.0; } + \paper { linewidth = -1.0 } } @end lilypond @flushright @@ -1006,8 +970,7 @@ Opus 2. @lilypond \score { \notes { d'4 c'4 } - \paper { - linewidth = -1.0; } + \paper { linewidth = -1.0 } } @end lilypond @@ -1050,7 +1013,7 @@ Next, now we'll look at the example line by line to explain new things. @separate @example -\version "1.3.124"; +\version "1.3.124" @end example Lilypond and its language are still under development, and occasionally, details of the syntax are changed. This fragment indicates for which @@ -1064,7 +1027,7 @@ version. @separate @example - \header @{ title = "Two miniatures"; @} + \header @{ title = "Two miniatures" @} @end example This sets the titling information for the entire file. @@ -1073,16 +1036,17 @@ This sets the titling information for the entire file. #(set! point-and-click line-column-location) @end example -This is Scheme code. It sets the variable @code{point-and-click} to the -value @var{line-column-location} (which itself is a Scheme procedure). +This piece of Scheme code sets the Scheme variable +@code{point-and-click} to the value @var{line-column-location} (which +itself is a Scheme procedure). Editing input files can be quite complicated if you're working with large files: if you're digitizing existing music, you have to synchronize the .ly file, the sheet music on your lap and the sheet music on the screen. The point-and-click mechanism makes it easy to find the origin of an error in the .ly file: when you view the file with -Xdvi and click on a note , your editor will jump to the spot where that -note was entered. More information is in @ref{Point and click} +Xdvi and click on a note, your editor will jump to the spot where that +note was entered. For more information, see @ref{Point and click}. @separate @example @@ -1096,7 +1060,7 @@ default page layout. @separate @example - linewidth = -1.0; @} + linewidth = -1.0 @} @end example @@ -1141,8 +1105,8 @@ files into a big document. The contents of \header blocks specified within each score, are used for the titling of each movement. @separate @example - opus = "Opus 1."; - piece = "Up"; @} + opus = "Opus 1." + piece = "Up" @} @end example For example, the Opus number is put at the right, and the piece string will be at the left. @@ -1152,84 +1116,81 @@ will be at the left. @node A piano excerpt @section A piano excerpt -Our third subject is a piece of piano music. The fragment in the input +Our fourth subject is a piece of piano music. The fragment in the input file is a piano reduction of the G major Sinfonia by Giovanni Battista Sammartini. It was composed around 1740. It's in the source package under the name @file{sammartini.ly}. @lilypond[verbatim] -\include "paper16.ly"; +\include "paper16.ly" stemDown = \property Voice.Stem \override #'direction = #-1 stemUp = \property Voice.Stem \override #'direction = #1 stemBoth = \property Voice.Stem \revert #'direction viola = \notes \relative c' \context Voice = viola { - - \stemDown g'8. b,16 - s1 s2. r4 - g + + \stemDown g'8. b,16 + s1 s2. r4 + g } oboes = \notes \relative c'' \context Voice = oboe { - \stemUp s4 g8. b,16 c8 r - \grace \times 2/3 { } - < - { \times 2/3 { a8 g c } \! c2 } - \context Voice = oboeTwo { - \stemDown - \grace { - \property Grace.Stem \override #'direction = #-1 - [f,16 g] } - f8 e e2 - } > - \stemBoth - \grace <)b8. d8.-\trill> | - [ < )f8. a>] <)b,8 d> r [ ] r | - [ < )e8. g>] + \stemUp s4 g8. b,16 c8 r + \grace + \times 2/3 { } + < + { \times 2/3 { a8 g c } \! c2 } + \context Voice = oboeTwo { + \stemDown + \grace { + \property Grace.Stem \override #'direction = #-1 + [f,16 g] } + f8 e e2 + } + > + \stemBoth + \grace <)b8. d8.-\trill> | + [ < )f8. a>] <)b,8 d> r [ ] r | + [ < )e8. g>] } -hoomPah = \repeat unfold 8 - \notes \transpose c' { \stemUp c8 \stemBoth \stemDown c'8 \stemBoth } +hoomPah = \repeat unfold 8 \notes + \transpose c' { \stemUp c8 \stemBoth \stemDown c'8 \stemBoth } bassvoices = \notes \relative c' { - c4 g8. b,16 - \autochange Staff \hoomPah - \translator Staff = down - \stemDown [c8 c'8] r4 - r4 - < {\stemUp r2 } - \context Voice = reallyLow {\stemDown g2 ~ | g4 c8 } > + c4 g8. b,16 + \autochange Staff \hoomPah + \translator Staff = down + \stemDown [c8 c'8] r4 + r4 + < {\stemUp r2 } + \context Voice = reallyLow {\stemDown g2 ~ | g4 c8 } > } \score { - \context PianoStaff \notes < - \context Staff = up < \time 2/2; - \viola - \oboes - > - \context Staff = down < \time 2/2; \clef bass; - \bassvoices - > + \context PianoStaff \notes < + \context Staff = up < \time 2/2 + \viola + \oboes > - \midi { } - \paper { - indent = 0.0; - linewidth = 15.0 \cm; } + \context Staff = down < \time 2/2 \clef bass + \bassvoices + > + > + \midi { } + \paper { + indent = 0.0 + linewidth = 15.0 \cm } } @end lilypond -If it looks like incomprehensible gibberish to you, then you are right. +If this looks like incomprehensible gibberish to you, you are right. This example has been doctored to have as many quirks as possible. -@separate -@example - stemDown = \property Voice.Stem \override #'direction = #-1 -@end example - -As you can see, this example features more voices on one staff. To make -room for those voices, their notes have to be stemmed in opposite -directions. These are the commands to make that happen. +As you can see, this example features multiple voices on one staff. To +make room for those voices, their notes have to be stemmed in opposite +directions. Printed symbols are internally represented by so-called Graphical Objects (more colloquially: Grobs). These statements concern the @@ -1238,17 +1199,22 @@ setting determine the fonts, offsets, sub-routines to be called on the grob, etc. The initial values of these settings are set in the Scheme file @file{scm/grob-description.scm}. -This statement adds a setting for all Stem grobs in the current -Voice: @code{direction} is set to @code{-1}, which encodes down. The -setting remains in effect until it is reverted. +@separate +@example + stemDown = \property Voice.Stem \override #'direction = #-1 +@end example + +Set a proprerty for all Stem grobs in the current Voice: +@code{direction} is set to @code{-1}, which encodes down. The setting +remains in effect until it is reverted. @separate @example \property Voice.Stem \revert #'direction @end example -This statement reverts the old setting. If you do this, the effect of -precisely one @code{\stemDown} or @code{\stemUp} is neutralised. +Revert the to the previous setting. The effect of precisely one +@code{\stemDown} or @code{\stemUp} is neutralised. LilyPond includes the identifiers @code{\stemUp}, @code{\stemDown} along @@ -1286,8 +1252,8 @@ the whole chord, but the syntax requires that commands like forte and arpeggio are attached to a note, so here we attach them to the first note. -@code{\arpeggio} draws an vertical wavy line before the chord, -signifying an arpeggio. +@code{\arpeggio} typesets an arpeggio sign (a wavy vertical line) before +the chord. @separate @example @@ -1448,7 +1414,7 @@ written out in full eight times. @cindex transposing @cindex relative mode and transposing -Transposing can be done with @code{\transpose}. It takes two arguments; +Transposing can be done with @code{\transpose}. It takes two arguments the first specifies what central C should be transposed to. The second is the to-be-transposed music. As you can see, in this case, the transposition has no effect, as central C stays at central C. @@ -1470,15 +1436,15 @@ c4 g8. b,16 Voices can switch between staffs. The easiest way to get this, is to use @code{\autochange}. This command looks at the pitch of each note, and if necessary, will cross to the other staff. For this to work, the two -staffs must be called @code{"up"} and @code{"down"}. +staffs must be called @code{"up"} and @code{"down"}. @separate @example \translator Staff = down @end example @cindex staff switch @cindex cross staff voice -The rest of this melody must be in the lower staff, so we do a manual -staff switch here. +We want the remaining part of this melody on the lower staff, so we do a +manual staff switch here. @separate @@ -1500,12 +1466,12 @@ with one curve. context is called @code{PianoStaff}. @separate @example -\context Staff = bottom < \time 2/2; \clef bass; +\context Staff = bottom < \time 2/2 \clef bass @end example The bottom staff must have a different clef. @separate @example -indent = 0.0; +indent = 0.0 @end example To make some more room on the line, the first (in this case the only) line is not indented. The line still looks very cramped, but that is due @@ -1520,34 +1486,47 @@ to the page layout of this document. * Simple part combining in a Hymn @end ignore + @node An orchestral score @section An orchestral score -[explain why declarative nature of lily makes making scores rel. easy] +@menu +* The full score:: +* Extracting an individual part:: +@end menu + + +Our last two examples show a way to setup the music for an orchestral +score. When typesetting a piece for several instruments, you'll want to +create a conductor's full score, alongside several individual parts. -We will not go through the -input line by line, but only indicate and explain the new elements. +LilyPond is well suited for this task. We will declare the music for +each instrument individually, giving the music of each instrument its +own name. These pieces of music are then combined in different +@code{\score} blocks to produce different combinations of the score. This orchestral score example consists of three input files. In the first file, @file{os-music.ly}, we define the music for all instruments. This file will be used both for producing the score and the separate -parts. If you run lilypond on this file, no output will be produced. +parts. +If you were to run lilypond on this file, no printable output would be +produced. @example % os-music.ly \header @{ - title = "Zo, goed lieverd?"; - subtitle = "How's, this babe?"; - composer = "JCN"; - opus = "1"; - piece = "Laid back"; + title = "Zo, goed lieverd?" + subtitle = "How's, this babe?" + composer = "JCN" + opus = "1" + piece = "Laid back" @} global = @{ - \time 2/4; - \skip 2*4; \bar "|."; + \time 2/4 + \skip 2*4 \bar "|." @} -Key = \notes \key as \major; +Key = \notes \key as \major flautoI = \notes\relative c'' @{ f8 g f g f g f g bes as bes as bes as bes as @@ -1556,7 +1535,7 @@ flautoII = \notes\relative c'' @{ as8 bes as bes R1 d4 ~ d @} tromboI = \notes\relative c'' @{ - c4. c8 c8 c4. es4 R1*1/2 es4 + c4. c8 c8 c4. es4 r as, r @} tromboII = \notes\relative c'' @{ as4. as8 as8 as4. R1*1/2 as4 es' @@ -1571,19 +1550,44 @@ corno = \notes\relative c' @{ @} @end example -Things to note here are the definition of @code{\global} where we define -the time signature, and set the end bar. And the separate definition of -@code{\Key} that we will use for all staffs except those for transposing -instruments. +We will not go through the input line by line, but only indicate and +explain the new elements. + + +@separate +@example +global = @{ + \time 2/4 + \skip 2*4 \bar "|."; +@} +@end example + +Declare setting to be used globally. The @code{\skip} command produces +no output, but moves forward in time: in this case, the duration of a +half note (@code{2}), and that four times (@code{*4}). This brings us +to the end of the piece, and we can set the end bar. + +@separate +@example +Key = \notes \key as \major +@end example +Declare the key signature of the piece and assign it to the identifier +@var{Key}. Lateron, we'll use @code{\Key} for all staffs except those +for transposing instruments. + +@node The full score +@subsection The full score + The second file, @file{os-score.ly} reads the definitions of the first (@file{os-music.ly}), and defines the @code{\score} block for the full conductor's score. + @example % os-score.ly -\include "os-music.ly"; -\include "paper13.ly"; +\include "os-music.ly" +\include "paper13.ly" #(set! point-and-click line-column-location) #(define text-flat '((font-relative-size . -2) @@ -1592,6 +1596,7 @@ conductor's score. \score @{ < \global + \property Score.BarNumber \override #'padding = #3 \context StaffGroup = woodwind < \context Staff = flauti < \property Staff.midiInstrument = #"flute" @@ -1607,7 +1612,7 @@ conductor's score. \property Staff.midiInstrument = #"timpani" \property Staff.instrument = #'(lines "Timpani" "(C-G)") \property Staff.instr = #"Timp." - \clef bass; + \clef bass \Key \timpani > @@ -1629,37 +1634,26 @@ conductor's score. \property Staff.instr = #`(lines "Cor." (rows "(E" ,text-flat ")")) \property Staff.transposing = #3 - \notes \key bes \major; + \notes \key bes \major \context Voice=one \corno > > > \paper @{ - indent = 15 * \staffspace; - linewidth = 60 * \staffspace; - textheight = 90 * \staffspace; - \translator@{ - \ThreadContext - \consists "Rest_engraver"; - @} + indent = 15 * \staffspace + linewidth = 60 * \staffspace + textheight = 90 * \staffspace \translator@{ \VoiceContext - \remove "Rest_engraver"; - \consists "Multi_measure_rest_engraver"; - \consists "Bar_engraver"; + \consists "Multi_measure_rest_engraver" @} \translator@{ \HaraKiriStaffContext - \remove "Multi_measure_rest_engraver"; - \remove "Bar_engraver"; - @} - \translator @{ - \OrchestralScoreContext - BarNumber \override #'padding = #3 + \remove "Multi_measure_rest_engraver" @} @} \midi @{ - \tempo 4 = 75; + \tempo 4 = 75 @} @} @end example @@ -1678,7 +1672,7 @@ Opus 1. @separate @example -\include "os-music.ly"; +\include "os-music.ly" @end example First, we need to include the music definitions we made in @file{os-music.ly}. @@ -1696,10 +1690,13 @@ editing. #(define text-flat '((font-relative-size . -2) (music "accidentals--1"))) @end example -[FIXME: what is markup text?] -We need a flat sign in text to name the tuning of the french horn, so we -predefine it with bit of scheme markup text (See @ref{Text markup}). +When naming the tuning of the french horn, we'll need a piece of text +with a flat sign. LilyPond has a mechanism for font selection and +kerning called Scheme markup text (See @ref{Text markup}). The flat +sign is taken from the music font, and its name is @code{accidentals--1} +(The sharp sign is called @code{accidentals-+1}). The default font is +too big for text, so we select a relative size of @code{-2}. @separate @example @@ -1708,20 +1705,43 @@ predefine it with bit of scheme markup text (See @ref{Text markup}). @end example Of course, all staffs are simultaneous and use the same global settings. +@separate +@example + \property Score.BarNumber \override #'padding = #3 +@end example +LilyPond prints bar numbers at the start of each line, but +unfortunately, they end up a bit too close to the staff in this example. +A bar number internally is a Grob called @var{BarNumber}. BarNumber +Grobs can be manipulated through their @var{side-position-interface}. One +of the properties of a @var{side-position-interface} that can be tweaked +is the @var{padding}: the amount of extra space that is put between this +Grob and other Grobs. We set the padding to three staff spaces. + +You can find all this kind of information in LilyPond's automatically +generated documentation in +@ifnottex +@ref{ (lilypond-internals)lilypond-internals, LilyPond Internals}. +@end ifnottex +@iftex +the online documentation. +@end iftex + @separate @example \context StaffGroup = woodwind < \context Staff = flauti < @end example -Then, we start a new staff group for the woodwind section (just the -flutes in this case). Immediately after that, we start the staff for -the two flutes, that also play simultaneously. +A new notation context: the StaffGroup. StaffGroup can hold one or more +Staffs, and will print a big bracket at the left of the score. Start a +new staff group for the woodwind section (just the flutes in this case). +Immediately after that, we start the staff for the two flutes, that also +play simultaneously. @separate @example \property Staff.midiInstrument = #"flute" @end example -We specify the instrument for MIDI output (see @ref{MIDI instrument +Specify the instrument for MIDI output (see @ref{MIDI instrument names}). @separate @@ -1756,7 +1776,7 @@ directions down. > > @end example -We close the flutes staff and woodwind staff group. +Close the flutes staff and woodwind staff group. @separate @example @@ -1771,7 +1791,10 @@ lines of text. \context Thread=one \tromboI \context Thread=two \tromboII @end example -[FIXME: what is thread, why is distinction thread/voice necessary?] +You have seen the notation contexts Staff and Voice, but here's a new +one: Thread. One or more Threads can be part of a Voice. The Thread +takes care of note heads and rests, the Voice combine note heads onto a +stem. For the trumpets we use the automatic part combiner (see @ref{Automatic part combining}) to combine the two simultaneous trumpet parts onto the @@ -1796,117 +1819,75 @@ and the flat sign @code{text-flat} that we defined before. The french horn is to be tuned in E-flat, so we tell the MIDI backend to transpose this staff by three steps. -[FIXME: note how we can choose different tuning for entering, printing and -playing, using \transpose and transposing.] +Note how we can choose different tuning for entering, printing and +playing, using @code{\transpose} and the MIDI Staff proprerty +@var{transposing}. @separate @example - \notes \key bes \major; + \notes \key bes \major @end example Therefore, it has a different key. @separate @example - indent = 15 * \staffspace; - linewidth = 60 * \staffspace; + indent = 15 * \staffspace + linewidth = 60 * \staffspace @end example We specify a big indent for the first line and a small linewidth for this tutorial. @separate @example - \translator@{ - \ThreadContext - \consists "Rest_engraver"; - @} \translator@{ \VoiceContext - \remove "Rest_engraver"; - \consists "Multi_measure_rest_engraver"; - \consists "Bar_engraver"; + \consists "Multi_measure_rest_engraver" @} -@end example -[FIXME: explain about overriding contexts.] - -Because we have a Thread representing one instrument, we need to move -the @code{Rest_engraver} from Voice to Thread level. Similarly, we need -to move the @code{Multi_measure_rest_engraver} from Staff to Voice -level. - -[FIXME: should put Rest_engraver in threadcontext by default.] - -@separate -@example \translator@{ \HaraKiriStaffContext - \remove "Multi_measure_rest_engraver"; - \remove "Bar_engraver"; + \remove "Multi_measure_rest_engraver" @} @end example +[FIXME: ignoring mmrest moving for now, assuming we'll do that in +engraver.ly] + +Usually, LilyPond's predefined setup of notation contexts (Thread, +Voice, Staff, Staffgroup, Score) is just fine. But in this case, we +want a different type of Staff context. + In orchestral scores, it often happens that one instrument has only rests during one line of the score. The @code{HaraKiriStaffContext} can be used as a regular @code{StaffContext} drop-in and will take care of the automatic removing of empty staffs. -@ignore -[note how you can use \override in \translator] -[explain what padding is.] - -[note that : (ly/engraver.ly) OrchestralScoreContext is for compatibility. - -OrchestralScoreContext= \translator { - \ScoreContext -} - -] - -@end ignore - - -@separate -@example - \translator @{ - \OrchestralScoreContext - BarNumber \override #'padding = #3 - @} -@end example -FIXME: use \property Score.BarNumber - -We want bar numbering at score level and want to move the bar number a -few staff spaces up. - - -@node Part extraction -@section Part extraction +@node Extracting an individual part +@subsection Extracting an individual part The third file, @file{os-flute-2.ly} also reads the definitions of the first (@file{os-music.ly}), and defines the @code{\score} block for the second flute part. @example -\include "os-music.ly"; -\include "paper16.ly"; +\include "os-music.ly" +\include "paper16.ly" \score @{ \context Staff < + \property Score.skipBars = ##t \property Staff.midiInstrument = #"flute" \global \Key \flautoII > \header @{ - instrument = "Flauto II"; + instrument = "Flauto II" @} \paper @{ - linewidth = 80 * \staffspace; - textheight = 200 * \staffspace; - \translator @{ - \OrchestralScoreContext %%%%FIXME - skipBars = ##t - @} + linewidth = 80 * \staffspace + textheight = 200 * \staffspace @} \midi @{ - \tempo 4 = 75; + \tempo 4 = 75 @} @} @end example @@ -1939,7 +1920,7 @@ so we don't want to force stem or tie directions. @separate @example \header @{ - instrument = "Flauto II"; + instrument = "Flauto II" @} @end example The @code{\header} definitions were also read from @file{os-music.ly}, @@ -1947,14 +1928,50 @@ but we need to set the instrument for this particular score. @separate @example - skipBars = ##t + \property Score.skipBars = ##t @end example In the conductor's full score, all bars with rests are printed, but for the individual parts, we want to contract pieces of consecutive empty -bars. +bars. LilyPond will do this if Score's @var{skipBars} property to +true. + + +@node Other ways to run LilyPond +@section Other ways to run LilyPond + +[FIXME: describe all programs involved in one list.] + +Until now, you have been using @file{ly2dvi} to invoke LilyPond. +There are three other routes. Firstly, there is a script called +@code{lilypond-book}, that allows you to freely mix LilyPond input with +Texinfo or LaTeX input. For example, this manual was written using +@code{lilypond-book}. It is discussed in @ref{lilypond-book}. + +@c FIXME: ly2dvi option? +Secondly, you can generate PostScript directly. This is useful if you +can not or do not want to run @TeX{} on your system. To obtain direct +PostScript output, invoke LilyPond as follows: +@cindex PostScript output +@example +lilypond -f ps test.ly +@end example +You have to set some environment variables to view or print this +output. More information can be found in @ref{Invoking +LilyPond}. + +@c FIXME: ly2dvi option? +Thirdly, if you want to do special things with your output, you can run +invoke lilypond directly: +@example +lilypond test.ly +@end example +to produce plain @TeX{}@footnote{@TeX{} is a text-typesetting system +that is especially suited for typesetting mathematics.} output. Note +that you must run @TeX{} on the resulting @file{test.tex}, ie, not +LaTeX. +@cindex @TeX{} + -[FIXME: Waarom moet skipBars in \translator, waarom niet \property -Score.skipBars] @@ -1973,7 +1990,7 @@ So what does this look like? Well, here is an example: @lilypond[veryverbatim, intertext="produces this music:"] \score{ \notes\relative c'{ - \time 5/8; + \time 5/8 [e16( g b c a g][e a b d] | )e2 d,8 | [e16( g b c a g][e a b d] | )b2 [a16( f] | [e a b d] )e4 c8 | [es16( bes a as g es][d c b! )g] | @@ -1989,13 +2006,11 @@ Notice that there is no @code{\paper} statement in the example above. Lilypond-book will insert some code for you that defines the linewidth and the font to use. If you don't want to change the default, there is no need to put an empty @code{\paper@{@}} inside the @code{\score}. -In the example above, something like -this might be inserted before your code: +In the example above, something like this might be inserted before your code: @example \include "paper16.ly" \paper@{ \paper_sixteen - linewidth = 390.\pt; - castingalgorithm = \Gourlay; + linewidth = 390.\pt @} @end example The actual values for linewidth will differ depending on papersize and @@ -2008,13 +2023,13 @@ If you want to make the music not so wide, you can insert a @lilypond[veryverbatim, intertext="produces this music:"] \score{ \notes\relative c'{ - \time 5/8; + \time 5/8 [e16( g b c a g][e a b d] | )e2 d,8 | [e16( g b c a g][e a b d] | )b2 [a16( f] | [e a b d] )e4 c8 | [es16( bes a as g es][d c b! )g] | [f( a b d b a][f a b d] | )e2 } - \paper{linewidth = 10.\cm;} + \paper{linewidth = 10.\cm } } @end lilypond @@ -2050,7 +2065,7 @@ lilypond source. This 5 cm long empty line, @lilypond[eps] \score{ \notes{s} - \paper{ linewidth = 5.\cm;} + \paper{ linewidth = 5.\cm } } @end lilypond was created with this code: @@ -2058,7 +2073,7 @@ was created with this code: @@lilypond[eps] \score@{ \notes@{s@} - \paper@{ linewidth = 5.\cm;@} + \paper@{ linewidth = 5.\cm@} @} @@end lilypond @end example @@ -2152,13 +2167,13 @@ as any other included eps graphics. @lilypond \score{ \notes\relative c'{ - \time 12/8; + \time 12/8 r4-\fermata [b16-.( )b-.] [f'8-- dis16-.( )dis-. gis8--] [f16-.( )f-. dis8-- gis16-.( )gis-.] cis4.-\fermata | r4.-\fermata [cis,16 cis g'8 f16 f b8][g16 g f8 b16 b] dis4.-\fermata } - \paper{linewidth = 7.\cm;} + \paper{linewidth = 7.\cm} } @end lilypond @@ -2173,14 +2188,14 @@ to the same value. The code looks like this: @lilypond[verbatim] \score{ \notes\relative c'{ - \time 12/8; + \time 12/8 r4.-\fermata [b16-.( )b-.] [f'8-- dis16-.( )dis-. gis8--] [f16-.( )f-. dis8-- gis16-.( )gis-.] cis8.-\fermata | r4.-\fermata [cis,16 cis g'8 f16 f b8] [g16 g f8 b16 b] dis4.-\fermata } - \paper{linewidth = 7.\cm;} + \paper{linewidth = 7.\cm } } @end lilypond @@ -2224,16 +2239,16 @@ just before the music fragment. \begin@{lilypond@} \header @{ - title = "Title"; - subtitle = "Subtitle"; - subsubtitle = "Subsubtitle"; - opus = "Opus 1"; - piece = "Piece"; - composer = "Composer"; - enteredby = "JCN"; - instrument = "instrument"; + title = "Title" + subtitle = "Subtitle" + subsubtitle = "Subsubtitle" + opus = "Opus 1" + piece = "Piece" + composer = "Composer" + enteredby = "JCN" + instrument = "instrument" @} -\paper @{ linewidth = -1.; @} +\paper @{ linewidth = -1. @} \score @{ \notes \relative c'' @{ a b c d @} @} diff --git a/GNUmakefile.in b/GNUmakefile.in index 42da1397ef..81c9024e1c 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -6,11 +6,13 @@ depth = . # -# descent order into subdirectories: -# -SUBDIRS = buildscripts scripts flower lily mf midi2ly po \ - Documentation ly input tex make intl ps scm \ +# descent order into subdirectories +# +SUBDIRS = buildscripts scripts flower lily \ + mf ly tex ps scm \ + midi2ly po make intl \ debian $(builddir)/stepmake \ + Documentation input \ mutopia ports # diff --git a/INSTALL.txt b/INSTALL.txt index 97f4d4d359..411a5e943f 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -326,6 +326,18 @@ your problems. If you find bugs, please send bug reports to Bugs that are not fault of LilyPond are documented here. +NetBSD +****** + + * The flex precompiled in NetBSD-1.4.2 is broken. Download + flex-2.5.4a, build, install. + + * The configuration of Gcc (egcs-2.91.60 19981201 (egcs-1.1.1 + release)) does not include `/usr/pkg' paths. Configure using: + + CFLAGS='-I /usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure + + Solaris: ******** diff --git a/NEWS b/NEWS index c80c4bc83e..aec5cbde50 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,7 @@ New features in 1.4 -* Finale (.etf), PMX (.pmx) and musedata import tools. +* Finale (.etf), PMX, Musedata and Mup import tools. * Point and click functionality using emacs and Xdvi. diff --git a/ROADMAP b/ROADMAP index dfe496a678..85a50d9ec8 100644 --- a/ROADMAP +++ b/ROADMAP @@ -25,14 +25,12 @@ LilyPond's source files. midi2ly/ midi2ly source code include/ mutopia/ Larger examples with full music pieces. - Coriolan/ - D.Zipoli/ E.Satie/ F.Schubert/ - Hymns/ J.S.Bach/ intl/ library for gettext po/ translations + ports/ ps/ postscript library files tex/ TeX library files scripts/ User scripts diff --git a/VERSION b/VERSION index 49651519b2..cbf28cdcc6 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=145 -MY_PATCH_LEVEL=jcn1 +PATCH_LEVEL=146 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/buildscripts/GNUmakefile b/buildscripts/GNUmakefile index a1d371d022..71fc0d2a82 100755 --- a/buildscripts/GNUmakefile +++ b/buildscripts/GNUmakefile @@ -1,13 +1,19 @@ # bin/Makefile depth = .. -STEPMAKE_TEMPLATES=script install po +STEPMAKE_TEMPLATES=script install install-out po include $(depth)/make/stepmake.make INSTALLATION_FILES=$(outdir)/gettext.py INSTALLATION_DIR=$(datadir)/python +# Should we install these? This should be handled by sysadmin or +# packager but if she forgets... +#INSTALLATION_OUT_SUFFIXES=1 +#INSTALLATION_OUT_DIR1=$(datadir)/scripts +#INSTALLATION_OUT_FILES1=$(outdir)/lilypond-login $(outdir)/lilypond-profile + all: $(outdir)/gettext.py diff --git a/input/ascii-art/as-email.ly b/input/ascii-art/as-email.ly index 86c4906d5e..096ab5ddf7 100644 --- a/input/ascii-art/as-email.ly +++ b/input/ascii-art/as-email.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % ASCII Art output % % Process as: @@ -9,14 +10,14 @@ \score { \notes\relative c'' { - \time 3/8; + \time 3/8 a8 a a - \time 5/8; + \time 5/8 a a a a a %a16 a a a a a a a a a } \paper { - linewidth = -1.; + linewidth = -1. \translator { \StaffContext StaffSymbol \override #'molecule-callback = #(lambda (x) '()) diff --git a/input/ascii-art/asciiscript5.ly b/input/ascii-art/asciiscript5.ly index 1bb50e2bef..0400f48376 100644 --- a/input/ascii-art/asciiscript5.ly +++ b/input/ascii-art/asciiscript5.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % ASCII Art output % % Process as: @@ -9,7 +10,7 @@ \score { \notes\relative c'' { - \time 4/4; + \time 4/4 g1 a b c g2 a b c g4 a b c diff --git a/input/ascii-art/asciiscript9.ly b/input/ascii-art/asciiscript9.ly index c46e76115d..b41ed9494c 100644 --- a/input/ascii-art/asciiscript9.ly +++ b/input/ascii-art/asciiscript9.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % ASCII Art output % % Process as: @@ -9,7 +10,7 @@ \score { \notes\relative c'' { - \time 4/4; + \time 4/4 g1 a b c g2 a b c g4 a b c diff --git a/input/ascii-art/r-as.ly b/input/ascii-art/r-as.ly index 6acf102ddb..e891ddf3c8 100644 --- a/input/ascii-art/r-as.ly +++ b/input/ascii-art/r-as.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % ASCII Art output % % Process as: diff --git a/input/ascii-art/standchen-as5.ly b/input/ascii-art/standchen-as5.ly index a5e04b27e6..e1856ae776 100644 --- a/input/ascii-art/standchen-as5.ly +++ b/input/ascii-art/standchen-as5.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % ASCII Art output % % Process as: @@ -11,23 +12,23 @@ \score { \context StaffGroup < \context Staff=upper \notes\relative c{ - \key f \major; - \time 3/4; + \key f \major + \time 3/4 r8^"Moderato" %\pp | r8 } \context Staff=lower \notes\relative c{ - \key f \major; - \time 3/4; - \clef "bass"; + \key f \major + \time 3/4 + \clef "bass" r4 r4 } > \paper { - indent=4.0\char; - linewidth=78.0\char; + indent=4.0\char + linewidth=78.0\char \translator { \StaffContext Bar \override #'bar-size = #5 } \translator { \VoiceContext diff --git a/input/ascii-art/standchen-as9.ly b/input/ascii-art/standchen-as9.ly index 9e7aabfe85..a6faa6e28b 100644 --- a/input/ascii-art/standchen-as9.ly +++ b/input/ascii-art/standchen-as9.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % ASCII Art output % Process as: @@ -12,23 +13,23 @@ \score { \context GrandStaff < \context Staff=upper \notes\relative c{ - \key f \major; - \time 3/4; + \key f \major + \time 3/4 r8^"Moderato" %\pp | r8 } \context Staff=lower \notes\relative c{ - \key f \major; - \time 3/4; - \clef "bass"; + \key f \major + \time 3/4 + \clef "bass" r4 r4 } > \paper { - indent=4.0\char; - linewidth=78.0\char; + indent=4.0\char + linewidth=78.0\char \translator { \VoiceContext % horizontal beams diff --git a/input/ascii-art/twinkle-as5.ly b/input/ascii-art/twinkle-as5.ly index ecfbeee0b8..479ed35b2b 100644 --- a/input/ascii-art/twinkle-as5.ly +++ b/input/ascii-art/twinkle-as5.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % ASCII Art output % % Process as: @@ -7,11 +8,11 @@ \header{ -filename = "twinkle.ly"; -title = "Twinkle Twinkle Little Star"; -composer = "Traditional"; -enteredby = "hwn and jcn"; -copyright = "public domain"; +filename = "twinkle.ly" +title = "Twinkle Twinkle Little Star" +composer = "Traditional" +enteredby = "hwn and jcn" +copyright = "public domain" } @@ -19,7 +20,7 @@ copyright = "public domain"; \include "paper-as5.ly" melody = \notes \relative c'' { - \time 2/4; + \time 2/4 c4 c | g' g | a a | g g | %{ f f | e e | d d8.( e16 | )c2 | @@ -33,8 +34,8 @@ melody = \notes \relative c'' { } accompany = \notes \relative c { - \clef "bass"; - \time 2/4; + \clef "bass" + \time 2/4 c4 c' | e c | f c | e c | %{ d b | c a | f g | c,2 | @@ -67,9 +68,9 @@ text = \lyrics{ \context Staff=lower \accompany > \paper{ - \translator { \GrandStaffContext \accepts "Lyrics"; } - indent=4.0\char; - linewidth=78.0\char; + \translator { \GrandStaffContext \accepts "Lyrics" } + indent=4.0\char + linewidth=78.0\char } } diff --git a/input/bugs/lyrics-bar.ly b/input/bugs/lyrics-bar.ly new file mode 100644 index 0000000000..26a675ce34 --- /dev/null +++ b/input/bugs/lyrics-bar.ly @@ -0,0 +1,45 @@ + +% +% Lyrics with barline colliding is fine now, BUT +% There's an horizontal gap between staff and end bar +% + +\header{ +texidoc=" +Adding a @code{Bar_engraver} to the LyricsVoice context makes sure that +lyrics don't collide with barlines. +"; +} + +\score { + \context StaffGroup < + \notes \context Staff { + b1 \bar "|:"; b1 \bar ":|"; + } + \lyrics\context Lyrics < + \context LyricsVoiceWithBars { +% thisContextHasBarEngraver1 added + ThisContextCertainlyHasBarEngraverAddedButThereHasBeenSomethingFunnyBefore1. Here. + } + \context LyricsVoice { + this4 one has no BarEngraverAddedToContext1 + } + > + \notes \context Staff = SB { b1 b1 } + > + \paper { + linewidth = -1.0\cm; + \translator { + \LyricsContext + \accepts "LyricsVoiceWithBars"; + } + \translator { + \LyricsVoiceContext + \consists "Bar_engraver"; + \name "LyricsVoiceWithBars"; + } + \translator { + \LyricsVoiceContext + } + } +} diff --git a/input/example-3.ly b/input/example-3.ly index 92e05eaf04..8f55b57e77 100644 --- a/input/example-3.ly +++ b/input/example-3.ly @@ -1,10 +1,11 @@ +\version "1.3.146" one = \notes\relative c{ c'' d e f } two = \notes\relative c{ - \clef "bass"; + \clef "bass" c'2 g2 } diff --git a/input/just-friends.ly b/input/just-friends.ly index e73326463f..0f404178dd 100644 --- a/input/just-friends.ly +++ b/input/just-friends.ly @@ -1,12 +1,13 @@ +\version "1.3.146" \header { - filename = "just-friends.ly"; - title = "Just Friends"; - description = "Jazz chords example with bar lines"; - opus = ""; - source = "mutex@gmd.de"; - composer = ""; - enteredby = "jcn"; - copyright = "Public Domain"; + filename = "just-friends.ly" + title = "Just Friends" + description = "Jazz chords example with bar lines" + opus = "" + source = "mutex@gmd.de" + composer = "" + enteredby = "jcn" + copyright = "Public Domain" } %{ @@ -45,13 +46,13 @@ of a certain tune (Jazz, Real Book, for example), like } } \paper{ - indent = 0.0\mm; - linewidth = 100.0\mm; + indent = 0.0\mm + linewidth = 100.0\mm \translator{ \ChordNamesContext - barNonAuto = ##f; - \consists Bar_engraver; - \consists "Volta_engraver"; + barNonAuto = ##f + \consists Bar_engraver + \consists "Volta_engraver" } } } diff --git a/input/les-nereides.ly b/input/les-nereides.ly index 638e98d6fd..c7c527571f 100644 --- a/input/les-nereides.ly +++ b/input/les-nereides.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ You should preprocess this file with the C preprocessor. The one with @@ -16,14 +17,14 @@ cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly \header{ - composer = "ARTHUR GRAY"; - title = "LES N\\'ER\\'EIDES"; - subtitle = "THE NEREIDS"; - enteredby = "JCN"; - %piece = "Allegretto scherzando"; - copyright = "public domain"; - description = "Nastiest piece of competition at http://www.orphee.com/comparison/study.html, see http://www.orphee.com/comparison/gray.pdf"; - comment = "LilyPond (1.3.93) can't really do this yet, I guess"; + composer = "ARTHUR GRAY" + title = "LES N\\'ER\\'EIDES" + subtitle = "THE NEREIDS" + enteredby = "JCN" + %piece = "Allegretto scherzando" + copyright = "public domain" + description = "Nastiest piece of competition at http://www.orphee.com/comparison/study.html, see http://www.orphee.com/comparison/gray.pdf" + comment = "LilyPond (1.3.93) can't really do this yet, I guess" } @@ -34,26 +35,26 @@ cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly %% cpp: don't start on first column #(define (make-text-checker text) (lambda (elt) - ;; huh, string-match undefined? - ;; (string-match text (ly-get-grob-property elt 'text)) + huh, string-match undefined? + (string-match text (ly-get-grob-property elt 'text)) (equal? text (ly-get-grob-property elt 'text)) )) global = \notes{ - \partial 2; - \key a \major; - \skip 2; - \skip 1*2; + \partial 2 + \key a \major + \skip 2 + \skip 1*2 #ifndef FAKE_GRACE /* First run this through cpp. See head les-nereides.ly */ - \skip 1; + \skip 1 #else % FAKE_GRACE - \skip 2.; \partial 32*24; - \skip 32*24; + \skip 2. \partial 32*24 + \skip 32*24 #endif % FAKE_GRACE - \bar "||"; + \bar "||" } treble = \context Voice=treble \notes\relative c''{ @@ -264,22 +265,22 @@ bass = \context Voice=bass \notes\relative c{ \property Voice.Stem \revert #'direction \property Voice.Stem \override #'direction = #-1 - \clef treble; + \clef treble \property Voice.Stem \revert #'direction \property Voice.Stem \override #'direction = #0 < %urg: staff-change: ! on dis -% { s8. \clef bass;} +% { s8. \clef bass} > #ifndef FAKE_GRACE %Hmm - %\grace { s16 s s s s32 s s s s \clef bass; s } - \clef bass; + %\grace { s16 s s s s32 s s s s \clef bass s } + \clef bass \grace { } <)gis'2 e> #else - s4 s8 s32 s s \clef bass; + s4 s8 s32 s s \clef bass \property Score.PaperColumn \override #'space-factor = #0.6 \property Score.PaperColumn \override #'to-musical-spacing-factor = #0.1 \property Voice.NoteHead \override #'font-relative-size = #-1 @@ -319,12 +320,12 @@ bass = \context Voice=bass \notes\relative c{ } bassTwo = \context Voice=bassTwo \notes\relative c{ - \skip 2; - \skip 1*2; - \skip 2; + \skip 2 + \skip 1*2 + \skip 2 #ifdef FAKE_GRACE - \skip 32*16; + \skip 32*16 #endif \property Voice.Stem \revert #'direction @@ -415,7 +416,7 @@ lowerDynamics = \context Dynamics=lower \notes{ \middleDynamics > \context Staff=bass < - \clef bass; + \clef bass \global \bass \bassTwo @@ -427,20 +428,20 @@ lowerDynamics = \context Dynamics=lower \notes{ > \paper { %%BURP - magnification_italic = 1.; + magnification_italic = 1. \translator { \ScoreContext TimeSignature \override #'style = #'C SpacingSpanner \override #'maximum-duration-for-spacing = #(make-moment 1 4) - \remove Bar_number_engraver; + \remove Bar_number_engraver } \translator { - \type "Engraver_group_engraver"; - \name Dynamics; - \consists "Output_property_engraver"; + \type "Engraver_group_engraver" + \name Dynamics + \consists "Output_property_engraver" Generic_property_list = #generic-voice-properties - \consists "Property_engraver"; + \consists "Property_engraver" MinimumVerticalExtent = #(cons -3 -3) VerticalAlignment \override #'threshold = #'(9 . 9) @@ -450,22 +451,22 @@ lowerDynamics = \context Dynamics=lower \notes{ startUnaChorda = #"una chorda" stopUnaChorda = #"tre chorde" - \consists "Piano_pedal_engraver"; - \consists "Script_engraver"; - \consists "Dynamic_engraver"; - \consists "Text_engraver"; + \consists "Piano_pedal_engraver" + \consists "Script_engraver" + \consists "Dynamic_engraver" + \consists "Text_engraver" %GURGURGU, text is initialised using TextScript TextScript \override #'style = #"italic" %%% TextScript \override #'font-relative-size = #2 - \consists "Skip_req_swallow_translator"; + \consists "Skip_req_swallow_translator" - \consistsend "Axis_group_engraver"; + \consistsend "Axis_group_engraver" } \translator { \PianoStaffContext - \accepts Dynamics; + \accepts Dynamics VerticalAlignment \override #'threshold = #'(7 . 7) } \translator { diff --git a/input/mutopia-header.ly b/input/mutopia-header.ly index 3aaaf3a664..4f324102f5 100644 --- a/input/mutopia-header.ly +++ b/input/mutopia-header.ly @@ -1,33 +1,34 @@ +\version "1.3.146" \header { - title = "Title"; - subtitle = "Subtitle"; - subsubtitle = "Subsubtitle"; - opus = "Opus 1"; - piece = "Piece"; - composer = "Composer"; - enteredby = "JCN"; - instrument = \instrument; + title = "Title" + subtitle = "Subtitle" + subsubtitle = "Subsubtitle" + opus = "Opus 1" + piece = "Piece" + composer = "Composer" + enteredby = "JCN" + instrument = \instrument % mutopia headers. - mutopiatitle = ""; - mutopiacomposer = ""; - mutopiaopus = ""; - mutopiainstrument = \instrument; - date = "1807"; + mutopiatitle = "" + mutopiacomposer = "" + mutopiaopus = "" + mutopiainstrument = \instrument + date = "1807" - source = "Urtext edition"; + source = "Urtext edition" - style = "Classical"; - copyright = "Public Domain"; - maintainer = "Jan Nieuwenhuizen"; - maintainer_email = "janneke@gnu.org"; - lastupdated = "2001/Mar/19"; + style = "Classical" + copyright = "Public Domain" + maintainer = "Jan Nieuwenhuizen" + maintainer_email = "janneke@gnu.org" + lastupdated = "2001/Mar/19" mutopiapublicdomain = "\\parbox{\hsize}{\\thefooter\\quad\\small \\\\This music is part of the Mutopia project, \\texttt{http://www.mutopiaproject.org/}\\\\It has been typeset and placed in the public domain by " + \maintainer + ".\\\\Unrestricted modification and redistribution is permitted - and encouraged---copy this music and share it.}"; - tagline = \mutopiapublicdomain; - footer = "pre-Mutopia-2001/mm/dd-nn"; + and encouraged---copy this music and share it.}" + tagline = \mutopiapublicdomain + footer = "pre-Mutopia-2001/mm/dd-nn" } diff --git a/input/opus-130.ly b/input/opus-130.ly index eae4c98e89..33de967a31 100644 --- a/input/opus-130.ly +++ b/input/opus-130.ly @@ -1,14 +1,15 @@ +\version "1.3.146" \header{ -filename = "opus-130.ly"; -title = "Quartett"; -description = ""; -composer = "Ludwig van Beethoven (1770-1827)"; -opus = "130"; -enteredby = "JCN"; -copyright = "public domain"; +filename = "opus-130.ly" +title = "Quartett" +description = "" +composer = "Ludwig van Beethoven (1770-1827)" +opus = "130" +enteredby = "JCN" +copyright = "public domain" } -% \; +% \ tempi = \notes { \property Voice.TextScript \set #'font-style = #'large @@ -21,8 +22,8 @@ dynamics = \notes { } global = \notes { - \key g \major; - \time 3/8; + \key g \major + \time 3/8 < \dynamics s4. * 8 @@ -43,13 +44,13 @@ violineii = \notes\relative c'{ } viola = \notes\relative c'{ - \clef "alto"; + \clef "alto" g8(b)g | b(e,)b' | c,(a')c, | c'(d,)c' | b(d)b | e(g,)e' | e(e,<)a' c,> | < a(c,> )b, } cello = \notes\relative c'{ - \clef "bass"; + \clef "bass" g4 r8 | e'4 r8 | c4 r8 | d4 r8 | g,,8 b g | b(e,)b' | c,(a')d, | d'(d,)g } @@ -66,6 +67,6 @@ cello = \notes\relative c'{ \paper{ \translator { \OrchestralScoreContext } } - \midi{ \tempo 4 = 160; } + \midi{ \tempo 4 = 160 } } diff --git a/input/praeludium-fuga-E.ly b/input/praeludium-fuga-E.ly index bd43a715a1..34289d19bd 100644 --- a/input/praeludium-fuga-E.ly +++ b/input/praeludium-fuga-E.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header { - filename = "praeludium-fuga-E.ly"; - title = "praeludium and fuga in E-major"; - opus = "BWV 566"; - composer = "Johann Sebastian Bach (1685-1750)"; - enteredby = "JCN"; - copyright = "public domain"; + filename = "praeludium-fuga-E.ly" + title = "praeludium and fuga in E-major" + opus = "BWV 566" + composer = "Johann Sebastian Bach (1685-1750)" + enteredby = "JCN" + copyright = "public domain" } %{ description @@ -27,13 +28,13 @@ praeludiumCommands = \notes { - \time 4/4; - \key e \major; + \time 4/4 + \key e \major } praeludiumRight = \notes { \praeludiumCommands - \clef violin; + \clef violin % 13 -- how to type -- where to split -- this more neatly? \context Staff < @@ -48,7 +49,7 @@ praeludiumRight = \notes { %\stemUp %{ this is a diversion from the Griepenkerl/Keller - edition; a hack to avoid collisions + edition a hack to avoid collisions %} \stemDown \shiftOn s4 gis } @@ -65,7 +66,7 @@ praeludiumRight = \notes { praeludiumLeft = \notes \relative c { \praeludiumCommands - \clef bass; + \clef bass % 13 \context Staff < @@ -87,7 +88,7 @@ praeludiumLeft = \notes \relative c { praeludiumPedal = \notes \relative c{ \praeludiumCommands - \clef bass; + \clef bass %13 r4 fis,4-\ltoe e4.-\lheel e'8-\rheel | @@ -98,13 +99,13 @@ praeludiumPedal = \notes \relative c{ fugaIICommands = \notes{ - \time3/4; - \key e \major; % E-major + \time3/4 + \key e \major % E-major } fugaIIRight = \notes \relative c'' { \fugaIICommands - \clef violin; + \clef violin %15 \context Staff < @@ -152,7 +153,7 @@ fugaIIRight = \notes \relative c'' { fugaIILeft = \notes { \fugaIICommands - \clef bass; + \clef bass %15 \context Staff < @@ -168,7 +169,7 @@ fugaIILeft = \notes { fugaIIPedal = \notes \relative c { \fugaIICommands - \clef bass; + \clef bass %15 dis4.-\ltoe e8-\rtoe cis4 | @@ -179,7 +180,7 @@ fugaIIPedal = \notes \relative c { } breakmusic = \notes { - %\time4/4; + %\time4/4 r1 } @@ -204,5 +205,5 @@ breakmusic = \notes { } \midi { - \tempo 4 =96; } + \tempo 4 =96 } } diff --git a/input/regression/accidental-single-double.ly b/input/regression/accidental-single-double.ly index 65586dc312..f7676f85ca 100644 --- a/input/regression/accidental-single-double.ly +++ b/input/regression/accidental-single-double.ly @@ -1,19 +1,20 @@ +\version "1.3.146" \header{ texidoc=" A sharp sign after a double sharp sign, as well as a flat sign after a double flat sign is automatically prepended with a natural sign. -"; +" } -thenotes = \notes \relative cis' { \time 4/4; +thenotes = \notes \relative cis' { \time 4/4 gisis'4 gis gisis ges | geses ges geses gis | gisis g geses g | gis g ges g | -\key a \major; +\key a \major gisis4 gis gisis ges | geses ges geses gis | gisis g geses g | diff --git a/input/regression/accidental.ly b/input/regression/accidental.ly index 24dda163dd..614995069d 100644 --- a/input/regression/accidental.ly +++ b/input/regression/accidental.ly @@ -1,12 +1,13 @@ +\version "1.3.146" \header{ texidoc=" Accidentals work: the second note does not get a sharp. The third and fourth show forced and courtesy accidentals. -"; +" } -foo = \notes\relative c'' { \key as \major; dis4 dis dis! dis? } +foo = \notes\relative c'' { \key as \major dis4 dis dis! dis? } \score { diff --git a/input/regression/allfontstyle.ly b/input/regression/allfontstyle.ly index 2f1ff104f0..fcdae9bf5f 100644 --- a/input/regression/allfontstyle.ly +++ b/input/regression/allfontstyle.ly @@ -1,3 +1,4 @@ +\version "1.3.146" @@ -5,14 +6,14 @@ \score { \notes \relative c'' \context Staff { \emptyText - \repeat volta 2 { \time 4/4; c4^"cuivr\\'e"_\fermata } + \repeat volta 2 { \time 4/4 c4^"cuivr\\'e"_\fermata } \alternative { { \property Voice.TextScript \set #'font-style = #'italic d-4_"cantabile" } { e } } \grace { c16 } \property Voice.TextScript \set #'font-style = #'large - f4-\ff^""^"Largo" \mark "B"; g + f4-\ff^""^"Largo" \mark "B" g } - \paper { linewidth = -1.0; + \paper { linewidth = -1.0 % \translator {\BarNumberingStaffContext} } } } diff --git a/input/regression/arpeggio-collision.ly b/input/regression/arpeggio-collision.ly index 82a4ff48dc..bf21f51b99 100644 --- a/input/regression/arpeggio-collision.ly +++ b/input/regression/arpeggio-collision.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header { texidoc = "arpeggio stays clear of accidentals and flipped note heads. -Since Arpeggio engraver is Voice, it does nothing for voice collisions."; +Since Arpeggio engraver is Voice, it does nothing for voice collisions." } hairyChord = \context Staff \notes\relative c' < @@ -39,7 +40,7 @@ hairyChord = \context Staff \notes\relative c' < \hairyChord } \paper { - linewidth = -1.; + linewidth = -1. \translator{ \StaffContext connectArpeggios = ##t diff --git a/input/regression/arpeggio.ly b/input/regression/arpeggio.ly index ed110a28e7..1f956f90a0 100644 --- a/input/regression/arpeggio.ly +++ b/input/regression/arpeggio.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header{ texidoc=" Arpeggios are supported, both cross-staff and broken single staff. -"; +" } @@ -15,7 +16,7 @@ Arpeggios are supported, both cross-staff and broken single staff. } \context Staff=two \notes\relative c{ - \clef bass; + \clef bass \context Voice < g b d-\arpeggio > } diff --git a/input/regression/auto-beam-bar.ly b/input/regression/auto-beam-bar.ly index 6cfae818e6..4577533763 100644 --- a/input/regression/auto-beam-bar.ly +++ b/input/regression/auto-beam-bar.ly @@ -1,21 +1,22 @@ +\version "1.3.146" \header{ texidoc=" The first two a8 notes should not be beamed. Also, no automatic beaming accross bar lines. -"; +" } \score{ \notes \notes\relative c'' { -\time 2/8; +\time 2/8 a8 a -\time 6/8; +\time 6/8 a16 cis d a bes g fis4 g8 %a4. fis4 g8 a16 g a bes c d % ees8 d c } \paper{ - linewidth=-1.; + linewidth=-1. } } diff --git a/input/regression/auto-change.ly b/input/regression/auto-change.ly index 733864f02d..0d1c584848 100644 --- a/input/regression/auto-change.ly +++ b/input/regression/auto-change.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" Auto change piano staff switches voices between up and down staffs -automatically; rests are switched along with the coming note. -"; +automatically rests are switched along with the coming note. +" } \score { @@ -12,7 +13,7 @@ automatically; rests are switched along with the coming note. \autochange Staff \context Voice = VA < \relative c' { g4 a b c d r4 a g } > } \context Staff = "down" { - \clef bass; + \clef bass s1*2 } diff --git a/input/regression/auto-isknee.ly b/input/regression/auto-isknee.ly index 6e135acc49..0d6a56c2e2 100644 --- a/input/regression/auto-isknee.ly +++ b/input/regression/auto-isknee.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \header{ -texidoc="Two automatic knees"; +texidoc="Two automatic knees" } \score { @@ -11,12 +12,12 @@ texidoc="Two automatic knees"; [ b, \translator Staff="down" d ] } \context Staff = "down" { - \clef bass; + \clef bass s2. } > \paper{ - linewidth = 40*\staffspace; + linewidth = 40*\staffspace % Now by default % \translator{ % \VoiceContext diff --git a/input/regression/auto-knee.ly b/input/regression/auto-knee.ly index 6c5c0f84c1..77f5051e93 100644 --- a/input/regression/auto-knee.ly +++ b/input/regression/auto-knee.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \header{ -texidoc="One automatic knee"; +texidoc="One automatic knee" } \score { @@ -8,7 +9,7 @@ texidoc="One automatic knee"; [c'8 c,,] [c8 e'] } \paper{ - linewidth = 40*\staffspace; + linewidth = 40*\staffspace % Now by default % \translator { % \VoiceContext diff --git a/input/regression/bar-number.ly b/input/regression/bar-number.ly index 9a3fd2a534..488ff856eb 100644 --- a/input/regression/bar-number.ly +++ b/input/regression/bar-number.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \header { -texidoc="Bar number settable and padding adjustable."; +texidoc="Bar number settable and padding adjustable." } \score { @@ -12,7 +13,7 @@ texidoc="Bar number settable and padding adjustable."; c1 c\break } \paper { - linewidth = 40*\staffspace; + linewidth = 40*\staffspace % \translator { \BarNumberingStaffContext } } } diff --git a/input/regression/bar-scripts.ly b/input/regression/bar-scripts.ly index 91a9b3d4d1..83ab77ae99 100644 --- a/input/regression/bar-scripts.ly +++ b/input/regression/bar-scripts.ly @@ -1,17 +1,18 @@ +\version "1.3.146" \header{ texidoc=" Markings that are attached to (invisible) barlines are delicate: the are attached to the rest of the score without the score knowing it. Consequently, they fall over often. -"; +" } onestaff = \context Staff = foo\notes { \property Staff.instr = instr - \property Staff.instrument = instrument \mark "B"; - c1 \mark "A"; \break c2 c2 \break + \property Staff.instrument = instrument \mark "B" + c1 \mark "A" \break c2 c2 \break } grstaff = \notes \context GrandStaff < @@ -19,7 +20,7 @@ grstaff = \notes \context GrandStaff < \property Staff.instr = instr - \mark "B"; \break c1 \mark "A"; c2 } + \mark "B" \break c1 \mark "A" c2 } \context Staff = bufl { c1 c2 } > @@ -38,5 +39,5 @@ stscore = \score { \onestaff \paper { %\score {\stscore} \score {\scscore -\header { title = "bar scripts"; } +\header { title = "bar scripts" } } diff --git a/input/regression/beam-cross-staff.ly b/input/regression/beam-cross-staff.ly index 2d3449b0d9..f1febee2b5 100644 --- a/input/regression/beam-cross-staff.ly +++ b/input/regression/beam-cross-staff.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" Beams can be typeset over fixed distance aligned staffs, beam beautification doesn't really work, but knees do. Beams should be behave well, wherever the switching point is. -"; +" } \score{ \context PianoStaff < @@ -20,7 +21,7 @@ behave well, wherever the switching point is. r2 } \context Staff=two \notes\relative c'{ - \clef bass; + \clef bass s1 s1 s1 diff --git a/input/regression/beam-extreme.ly b/input/regression/beam-extreme.ly index 4a077562d3..4d241f305e 100644 --- a/input/regression/beam-extreme.ly +++ b/input/regression/beam-extreme.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header{ texidoc=" Beams should behave reasonably well, even under extreme circumstances. Stems may be short, but noteheads should never touch the beam. Note that -under normal circumstances, these beams would get knees; here +under normal circumstances, these beams would get knees here Beam.auto-knee-gap was set to false. -"; +" } \score{ @@ -16,7 +17,7 @@ Beam.auto-knee-gap was set to false. } \paper{ - linewidth=-1.; + linewidth=-1. \translator { \VoiceContext % If we want to test extreme beams, diff --git a/input/regression/beam-length.ly b/input/regression/beam-length.ly index 5a6163ac04..e1689107fc 100644 --- a/input/regression/beam-length.ly +++ b/input/regression/beam-length.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ texidoc=" beams should look the same -"; +" } \score { diff --git a/input/regression/beam-position.ly b/input/regression/beam-position.ly index 6b5624029e..52f5dafeb6 100644 --- a/input/regression/beam-position.ly +++ b/input/regression/beam-position.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header{ texidoc=" Beams should always reach the middle staff line. The second beam 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}. -"; +" } @@ -16,7 +17,7 @@ Override with @code{noStemExtend}. } \paper { - linewidth=-1.0; + linewidth=-1.0 } \midi { } } diff --git a/input/regression/beaming.ly b/input/regression/beaming.ly index 6882707a4b..dd5796c76c 100644 --- a/input/regression/beaming.ly +++ b/input/regression/beaming.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header{ texidoc=" Beaming is generated automatically. Beams may cross bar lines. In that case, line breaks are forbidden. Yet clef and key signatures are hidden just as with breakable bar lines. -"; +" } \score { \context Staff \notes \relative c'' { diff --git a/input/regression/between-systems.ly b/input/regression/between-systems.ly index 65ae97a1d5..23248222c0 100644 --- a/input/regression/between-systems.ly +++ b/input/regression/between-systems.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ texidoc=" The same mechanism can be used to force pagebreaks. -"; +" } diff --git a/input/regression/break.ly b/input/regression/break.ly index 1a0e1b6383..32a48357b1 100644 --- a/input/regression/break.ly +++ b/input/regression/break.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" Breaks can be encouraged and discouraged using @code{\break} and @code{\noBreak}. They are abbrevs for @code{\penalty} commands. -"; +" } @@ -14,5 +15,5 @@ Breaks can be encouraged and discouraged using @code{\break} and c1^"break after this" \break c1 c1 } - \paper { linewidth = 4.0\cm;} + \paper { linewidth = 4.0\cm} } diff --git a/input/regression/breathing-sign.ly b/input/regression/breathing-sign.ly index 9c77128101..5ad99b6e82 100644 --- a/input/regression/breathing-sign.ly +++ b/input/regression/breathing-sign.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" Breathing signs, also used for phrasing, do normally not influence @@ -5,7 +6,7 @@ global spacing -- only if space gets tight, notes are shifted to make room for the breathing sign. Breathing signs break beams running through their voice. In the following example, the notes in the first two measures all have the same distance from each other: -"; +" } @@ -13,7 +14,7 @@ two measures all have the same distance from each other: \score { \notes \relative c' { - \key es \major; \time 3/4; + \key es \major \time 3/4 < \context Voice = two { \stemDown es4 bes es } \context Voice = one { \stemUp g4 as g } > | @@ -22,6 +23,6 @@ two measures all have the same distance from each other: > | es8 d es f g4 \breathe | es8 d \breathe es f g f | - es2 r4 \bar "||"; + es2 r4 \bar "||" } } diff --git a/input/regression/chord-changes.ly b/input/regression/chord-changes.ly index 274736c2d7..70f85b3031 100644 --- a/input/regression/chord-changes.ly +++ b/input/regression/chord-changes.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc="property chordChanges: only display chord names when there's a change in the chords scheme, but always display the chord name after a line break. -"; +" } scheme = \chords { @@ -21,6 +22,6 @@ settings = { \context Staff \transpose c'' \scheme > \paper{ - linewidth = 40 * \staffspace; + linewidth = 40 * \staffspace } } diff --git a/input/regression/chord-names.ly b/input/regression/chord-names.ly index b775cacea9..ec9f8961b7 100644 --- a/input/regression/chord-names.ly +++ b/input/regression/chord-names.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" Chord names are generated from a list pitches, and are customisable from guile. For some unlogical names, guile customisation is used by default. -"; +" } chord = \notes\transpose c''\chords{ diff --git a/input/regression/chord-tremolo.ly b/input/regression/chord-tremolo.ly index 6267949f9f..4b5cb2ca8d 100644 --- a/input/regression/chord-tremolo.ly +++ b/input/regression/chord-tremolo.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -6,7 +7,7 @@ To avoid confusion, chord tremolo beams do not reach the stems, but 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. -"; +" } \score { @@ -17,8 +18,8 @@ stems. } \paper { % ugh, wide - %linewidth = -1.0; - linewidth = 40*\staffspace; + %linewidth = -1.0 + linewidth = 40*\staffspace } \midi { } } diff --git a/input/regression/clefs.ly b/input/regression/clefs.ly index 23d494e50a..e14a7b18d0 100644 --- a/input/regression/clefs.ly +++ b/input/regression/clefs.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -6,7 +7,7 @@ The transparent clef should not occupy any space and with style size. For octaviated clefs, the ``8'' should appear closely above or below the clef respectively. The ``8'' is processed in a convoluted way, so this is fragile as well. -"; +" } @@ -14,23 +15,23 @@ way, so this is fragile as well. \score { \notes{ - \clef "treble"; c'1^"{treble}" \bar "||"; - \clef "french";c'1^"{french}" \bar "||"; - \clef "soprano";c'1^"{soprano}" \bar "||"; - \clef "mezzosoprano";c'1^"{mezzosoprano}" \bar "||"; - \clef "alto";c'1^"{alto}" \bar "||"; - \clef "tenor";c'1^"{tenor}" \bar "||"; - \clef "baritone";c'1^"{baritone}" \bar "||"; - \clef "varbaritone";c'1^"{varbaritone}" \bar "||"; - \clef "G_8";c'1^"{sub 8?}" c'1 \bar "||"; - \clef "G^8";c'1^"{sup 8?}" c'1 \bar "||"; - \clef "bass";c'1^"{bass}" \bar "||"; - \clef "subbass";c'1^"{subbass}" \bar "||"; + \clef "treble" c'1^"{treble}" \bar "||" + \clef "french"c'1^"{french}" \bar "||" + \clef "soprano"c'1^"{soprano}" \bar "||" + \clef "mezzosoprano"c'1^"{mezzosoprano}" \bar "||" + \clef "alto"c'1^"{alto}" \bar "||" + \clef "tenor"c'1^"{tenor}" \bar "||" + \clef "baritone"c'1^"{baritone}" \bar "||" + \clef "varbaritone"c'1^"{varbaritone}" \bar "||" + \clef "G_8"c'1^"{sub 8?}" c'1 \bar "||" + \clef "G^8"c'1^"{sup 8?}" c'1 \bar "||" + \clef "bass"c'1^"{bass}" \bar "||" + \clef "subbass"c'1^"{subbass}" \bar "||" \property Staff.Clef \override #'transparent = ##t - \clef "treble"; c'1^"transparent=\#t" \bar "||"; + \clef "treble" c'1^"transparent=\#t" \bar "||" \property Staff.Clef \override #'transparent = ##f \context Staff \outputproperty #(make-type-checker 'clef-interface) #'full-size-change = ##t - \clef "french"; c'1^"full-size-change = \#t" \bar "|."; + \clef "french" c'1^"full-size-change = \#t" \bar "|." } \paper{ \translator{ diff --git a/input/regression/collisions.ly b/input/regression/collisions.ly index 57193d7a64..89332dee95 100644 --- a/input/regression/collisions.ly +++ b/input/regression/collisions.ly @@ -1,13 +1,14 @@ +\version "1.3.146" \header{ texidoc=" Normal collisions. We have support for polyphony, where the middle voices are horizontally shifted. -"; -filename = "collisions.ly"; -description = "random counterpoint to test collisions"; -enteredby = "HWN,JCN"; -copyright = "public domain"; -Tested = "test the Collision resolution "; +" +filename = "collisions.ly" +description = "random counterpoint to test collisions" +enteredby = "HWN,JCN" +copyright = "public domain" +Tested = "test the Collision resolution " } diff --git a/input/regression/dots.ly b/input/regression/dots.ly index c26e91b26d..818d0cf0b2 100644 --- a/input/regression/dots.ly +++ b/input/regression/dots.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" Noteheads can have dots, and rests can too. Augmentation dots should @@ -5,14 +6,14 @@ never be printed on a staff line, but rather be shifted vertically. They 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. -"; +" } \score { \context Voice \notes\relative c'' { - \time 6/8; + \time 6/8 d4. g,, diff --git a/input/regression/dynamics-broken-hairpin.ly b/input/regression/dynamics-broken-hairpin.ly index 2aef2493fe..9016e5f46a 100644 --- a/input/regression/dynamics-broken-hairpin.ly +++ b/input/regression/dynamics-broken-hairpin.ly @@ -1,12 +1,13 @@ +\version "1.3.146" \header{ -texidoc = "Broken crescendi should look be open on one side."; +texidoc = "Broken crescendi should look be open on one side." } \score { \notes \relative c'' { c1 \< \break \! c1 \> \break \! c1 } \paper { - linewidth = 10.\cm; + linewidth = 10.\cm } } diff --git a/input/regression/dynamics-line.ly b/input/regression/dynamics-line.ly index 9ab480cb62..32054340cf 100644 --- a/input/regression/dynamics-line.ly +++ b/input/regression/dynamics-line.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ texidoc=" Dynamics appear below or above the staff. If multiple dynamics are linked with (de)crescendi, they should be on the same line. Isolated dynamics may be forced up or down. - "; + " } @@ -25,6 +26,6 @@ a \paper{ } \midi{ -\tempo 1 = 60; +\tempo 1 = 60 } } diff --git a/input/regression/dynamics-unbound-hairpin.ly b/input/regression/dynamics-unbound-hairpin.ly index f7b1e99515..ef328cffae 100644 --- a/input/regression/dynamics-unbound-hairpin.ly +++ b/input/regression/dynamics-unbound-hairpin.ly @@ -1,11 +1,12 @@ +\version "1.3.146" \header { -texidoc = "Crescendi may start off-notes. In that case, they should not collapse into flat lines."; +texidoc = "Crescendi may start off-notes. In that case, they should not collapse into flat lines." } \score { \notes { \context Voice { < f''1 { s4 s4 \< \! s4 \> \! s4 } > }} -\paper { linewidth = -1. ;} +\paper { linewidth = -1. } } diff --git a/input/regression/easy-notation.ly b/input/regression/easy-notation.ly index d91693adde..348aff0cbe 100644 --- a/input/regression/easy-notation.ly +++ b/input/regression/easy-notation.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header { -texidoc = " Ez-notation prints names in note heads."; +texidoc = " Ez-notation prints names in note heads." } -\include "paper26.ly"; +\include "paper26.ly" \paper { \paperTwentysix } \score { diff --git a/input/regression/generic-output-property.ly b/input/regression/generic-output-property.ly index 6ef8eaf794..ef8de3287f 100644 --- a/input/regression/generic-output-property.ly +++ b/input/regression/generic-output-property.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" As a last resort, the placement of grobs can be adjusted manually, by setting the @code{extra-offset} of a grob. -"; +" } \score{ @@ -16,12 +17,12 @@ setting the @code{extra-offset} of a grob. \outputproperty #(make-type-checker 'mark-interface) #'extra-offset = #'(-1 . 4) } - \mark A; + \mark A d1 - \mark; + \mark \default e } \paper{ - linewidth=-1.0; + linewidth=-1.0 } } diff --git a/input/regression/generic-property-override.ly b/input/regression/generic-property-override.ly index 990c40be4c..60e533cd0b 100644 --- a/input/regression/generic-property-override.ly +++ b/input/regression/generic-property-override.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ texidoc=" More specific settings take precendence over less specific settings. The second slur has slurDirection set to down, overriding the stemup setting. -"; +" } @@ -13,5 +14,5 @@ second slur has slurDirection set to down, overriding the stemup setting. \slurDown c4 ( )c4 } - \paper { linewidth = -1.0; } + \paper { linewidth = -1.0 } } diff --git a/input/regression/glissando.ly b/input/regression/glissando.ly index 2d981f7d5d..6611bf6e8b 100644 --- a/input/regression/glissando.ly +++ b/input/regression/glissando.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ @@ -7,7 +8,7 @@ The first two glissandi are not consecutive. The engraver does no time-keeping, so it involves some trickery to get < @{ s8 s8 s4 @} @{ c4 \\gliss d4 @} > working correctly. -"; +" } \score{ @@ -21,11 +22,11 @@ The engraver does no time-keeping, so it involves some trickery to get } \paper{ - linewidth = 70.\mm; + linewidth = 70.\mm \translator{ \StaffContext % makes for handier debugging - % \remove Clef_engraver; + % \remove Clef_engraver } } } diff --git a/input/regression/grace.ly b/input/regression/grace.ly index 14d8aef43a..903d3462a3 100644 --- a/input/regression/grace.ly +++ b/input/regression/grace.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -13,7 +14,7 @@ main note. Grace notes can also be positioned after the main note. Grace notes without beams should have a slash, if @code{flagStyle} is not set. Main note scripts don't end up on the grace note. -"; +" } \score {\notes \context Voice = VA \relative c'' { @@ -26,6 +27,6 @@ not set. Main note scripts don't end up on the grace note. % \grace c16 [c8 c8] \grace { \property Grace.graceAlignPosition = \right c16} c4 } -\paper {linewidth = -1.;} +\paper {linewidth = -1.} \midi{ } } diff --git a/input/regression/hairpin-ending.ly b/input/regression/hairpin-ending.ly index 3d510d1275..58569324d4 100644 --- a/input/regression/hairpin-ending.ly +++ b/input/regression/hairpin-ending.ly @@ -1,14 +1,15 @@ +\version "1.3.146" \header { texidoc = "Hairpin dynamics start under notes if there are no text-dynamics. If there are text dynamics, the hairpin does not run -into them."; +into them." } \score { \notes \relative c'' { c4 \> c4 \! c4 c4_\ff \> c4 \! c4 \p } -\paper { linewidth = -1.;} +\paper { linewidth = -1.} } diff --git a/input/regression/hara-kiri-short.ly b/input/regression/hara-kiri-short.ly index a759a591d7..ecf8f21d54 100644 --- a/input/regression/hara-kiri-short.ly +++ b/input/regression/hara-kiri-short.ly @@ -1,20 +1,21 @@ +\version "1.3.146" \header{ texidoc=" Hara kiri staffs kill themselves if they are empty. This example really contains two staffs, but the second contains only spaces, and is therefore removed. Also, any staff brackets and braces are removed. -"; +" } zager = \context Staff = zager \notes \relative c'' { - \clef treble; + \clef treble c1 } zoger = \context Staff = zoger \notes \relative c'' { - \clef treble; - \skip 1* 1; + \clef treble + \skip 1* 1 } zagers = \context GrandStaff < @@ -29,7 +30,7 @@ zagers = \context GrandStaff < > > \paper{ - linewidth = 80.0\mm; + linewidth = 80.0\mm \translator { \HaraKiriStaffContext } %uh? diff --git a/input/regression/key-signature-scordatura.ly b/input/regression/key-signature-scordatura.ly index cdc0e96a21..ccb522f432 100644 --- a/input/regression/key-signature-scordatura.ly +++ b/input/regression/key-signature-scordatura.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header { texidoc = "Key signatures can be set per pitch individually. This can be done bby setting @code{Staff.keySignature} -directly."; +directly." } \score { \notes diff --git a/input/regression/keys.ly b/input/regression/keys.ly index 999df4c4a5..f9f4525420 100644 --- a/input/regression/keys.ly +++ b/input/regression/keys.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header{ texidoc=" Key signatures appear on key changes. They may also appear without barlines. The restoration accidentals are not printed at the start of the line. If @code{createKeyOnClefChange} is set, they're also created on a clef change. -"; +" } @@ -13,13 +14,13 @@ also created on a clef change. \notes \relative c'' { \property Staff. createKeyOnClefChange = ##t - \key bes \major; c2 -% \key c \major; % \minor; - \key es \major; % \minor; + \key bes \major c2 +% \key c \major % \minor + \key es \major % \minor c2 \break - \key bes \major; % \major; - c2 \clef alto; c2 \key d \major; \clef treble; c2 + \key bes \major % \major + c2 \clef alto c2 \key d \major \clef treble c2 \property Staff. keySignature = #'((2 . -1) (6 . -1) (4 . -1)) e2 } diff --git a/input/regression/lyric-combine.ly b/input/regression/lyric-combine.ly index 871557e2e5..874d5aac1a 100644 --- a/input/regression/lyric-combine.ly +++ b/input/regression/lyric-combine.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" Lyrics can be set to a melody automatically. Excess lyrics will be @@ -9,15 +10,15 @@ precook a chord of staffs/lyrics and label those. Of course @code{\rhythm} ignores any other rhythms in the piece. Hyphens and extenders do not assume anything about lyric lengths, so they continue to work. -"; +" -filename = "twinkle-pop.ly"; -xtitle = "Ah, vous dirais-je, maman "; -description = "twinkle twinkle in pop-song-settings"; -composer = "traditional"; -enteredby = "HWN, chords by Johan Vromans"; -copyright = "public domain"; +filename = "twinkle-pop.ly" +xtitle = "Ah, vous dirais-je, maman " +description = "twinkle twinkle in pop-song-settings" +composer = "traditional" +enteredby = "HWN, chords by Johan Vromans" +copyright = "public domain" } diff --git a/input/regression/lyric-phrasing.ly b/input/regression/lyric-phrasing.ly index ffa791cbdd..6a4da6320e 100644 --- a/input/regression/lyric-phrasing.ly +++ b/input/regression/lyric-phrasing.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc="Lyric phrasing @@ -17,10 +18,10 @@ @end example Only lyrics that are followed by '__' while there's a melisma, - are left-aligned, in this case the third x."; + are left-aligned, in this case the third x." } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \addlyrics \context Voice = "v" \notes \relative c'' { diff --git a/input/regression/lyrics-bar.ly b/input/regression/lyrics-bar.ly index c4b98d58bc..9a3c359c38 100644 --- a/input/regression/lyrics-bar.ly +++ b/input/regression/lyrics-bar.ly @@ -1,15 +1,16 @@ +\version "1.3.146" \header{ texidoc=" Adding a @code{Bar_engraver} to the LyricsVoice context makes sure that lyrics don't collide with barlines. -"; +" } \score { \context StaffGroup < \notes \context Staff { - b1 \bar "|:"; b1 \bar ":|"; + b1 \bar "|:" b1 \bar ":|" } \lyrics\context Lyrics < \context LyricsVoiceWithBars { @@ -23,15 +24,15 @@ lyrics don't collide with barlines. \notes \context Staff = SB { b1 b1 } > \paper { - linewidth = -1.0\cm; + linewidth = -1.0\cm \translator { \LyricsContext - \accepts "LyricsVoiceWithBars"; + \accepts "LyricsVoiceWithBars" } \translator { \LyricsVoiceContext - \consists "Bar_engraver"; - \name "LyricsVoiceWithBars"; + \consists "Bar_engraver" + \name "LyricsVoiceWithBars" } \translator { \LyricsVoiceContext diff --git a/input/regression/lyrics-multi-stanza.ly b/input/regression/lyrics-multi-stanza.ly index 9aa98b4565..1af9baed14 100644 --- a/input/regression/lyrics-multi-stanza.ly +++ b/input/regression/lyrics-multi-stanza.ly @@ -1,9 +1,14 @@ +\header { +texidoc = "Lyrics syllables are aligned according to + punctuation. Stanza and stz set stanza numbers. " + +} \score { \addlyrics - \notes \relative c'' \context Voice = duetto { \time 3/4; g2 e4 a2 f4 g2. } + \notes \relative c'' \context Voice = duetto { \time 3/4 g2 e4 a2 f4 g2. } \lyrics \context Lyrics < \context LyricsVoice = "duet-1" { \property LyricsVoice . stanza = "Bert" @@ -12,6 +17,6 @@ \property LyricsVoice . stanza = "Ernie" Ooooo, ch\'e -- ri, je t'aime. } > - \paper { linewidth = -1.0;} + \paper { linewidth = -1.0} } diff --git a/input/regression/mensural.ly b/input/regression/mensural.ly index 4ed65a571f..4f4162e0b1 100644 --- a/input/regression/mensural.ly +++ b/input/regression/mensural.ly @@ -1,5 +1,6 @@ +\version "1.3.146" \header { -texidoc = "There is limited support for mensural notation: note head shapes are available. Mensural stems are centered on the note heads, both for up and down stems."; +texidoc = "There is limited support for mensural notation: note head shapes are available. Mensural stems are centered on the note heads, both for up and down stems." } \score {\notes { \context Voice { diff --git a/input/regression/mm-rests2.ly b/input/regression/mm-rests2.ly index 97040a44ba..372f8e1552 100644 --- a/input/regression/mm-rests2.ly +++ b/input/regression/mm-rests2.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -5,12 +6,12 @@ If @code{Score.skipBars} is set, the signs for four, two, and one measure rest are combined to produce the graphical representation of rests for up to 10 bars. The number of bars will be written above the sign. -"; +" } thenotes = \notes \relative cis' { \property Score. skipBars = ##t -\time 4/4; +\time 4/4 R1 | R1*1 | R1*2 | diff --git a/input/regression/molecule-hacking.ly b/input/regression/molecule-hacking.ly index 49a9ce9f4f..d677d2d903 100644 --- a/input/regression/molecule-hacking.ly +++ b/input/regression/molecule-hacking.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header { texidoc=" You can write molecule callbacks in Scheme, thus providing custom glyphs for notation elements. A simple example is @@ -6,7 +7,7 @@ adding parentheses to existing molecule callbacks. The parenthesized beam is less successful due to implementation of the Beam. The note head is also rather naive, since the extent of the parens are also not seen by accidentals. -"; +" } @@ -32,17 +33,17 @@ GROB. The dimensions of the molecule is not affected. (popen (ly-find-glyph-by-name fn "accidentals-(")) (subject (callback grob)) - ;; remember old size + ; remember old size (subject-dims (ly-get-molecule-extent subject 0)) ) - ;; add parens + ; add parens (set! subject (ly-combine-molecule-at-edge (ly-combine-molecule-at-edge subject 0 1 pclose 0.2) 0 -1 popen 0.2)) - ;; revert old size. + ; revert old size. (ly-set-molecule-extent! subject 0 subject-dims) subject ) @@ -68,6 +69,6 @@ GROB. The dimensions of the molecule is not affected. } - \paper { linewidth = -1.; } + \paper { linewidth = -1. } } diff --git a/input/regression/multi-measure-rest.ly b/input/regression/multi-measure-rest.ly index c99aa0a88e..1392a639a5 100644 --- a/input/regression/multi-measure-rest.ly +++ b/input/regression/multi-measure-rest.ly @@ -1,20 +1,22 @@ \header{ + texidoc=" Multiple measure rests do not collide with barlines and clefs. They are not expanded when you set @code{Score.skipBars}. Although the multi-measure-rest is a Spanner, minimum distances are set to keep it colliding from barlines. -"; +" + } -\score { \notes { \time 3/4; \key cis \major; +\score { \notes { \time 3/4 \key cis \major R2.*15 R2. R2.*7 } \paper { \translator { \ScoreContext skipBars = ##t } - linewidth = -1.; + linewidth = -1. } } diff --git a/input/regression/non-empty-text.ly b/input/regression/non-empty-text.ly index 03bdf52fe9..d3eee8bedc 100644 --- a/input/regression/non-empty-text.ly +++ b/input/regression/non-empty-text.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" Text is set with empty horizontal dimensions. The boolean property textNonEmpty is used to respect the horizontal size of text. -"; +" } \score { \notes { \property Voice.TextScript \override #'no-spacing-rods = ##f @@ -11,6 +12,6 @@ c4_"very wide and long text" c4 } \paper { - linewidth = -1.0; + linewidth = -1.0 } } diff --git a/input/regression/note-head-style.ly b/input/regression/note-head-style.ly index 32f660bd08..89bc9c64e4 100644 --- a/input/regression/note-head-style.ly +++ b/input/regression/note-head-style.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" Note head shapes are settable. The stem endings should be adjusted @@ -7,30 +8,35 @@ you must create a special context called Thread. Harmonic notes have a different shape and different dimensions. Nevertheless, noteheads in both styles can be combined, on either up or down stems. -"; +" } +\include "paper23.ly" - -\score { \notes \relative c{ - -c''4 c2 c8 c16 c16 c1 c\breve +\score { \notes \relative c''{ +% \property Voice.Stem \override #'thickness = #5.0 +\property Voice.NoteHead \set #'style = #'default +c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break \property Voice.NoteHead \set #'style = #'diamond -c4 c2 c8 c16 c16 c1 c\breve +c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break \property Voice.NoteHead \set #'style = #'transparent -c4 c2 c8 c16 c16 c1 c\breve +c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break \property Voice.NoteHead \set #'style = #'cross -c4 c2 c8 c16 c16 c1 c\breve +c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break +\property Voice.NoteHead \set #'style = #'xcircle +c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break +\property Voice.NoteHead \set #'style = #'slash +c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break \property Voice.NoteHead \set #'style = #'mensural -c4 c2 c8 c16 c16 c1 c\breve c\longa +c4 c2 c8 c16 c16 c1 c\breve c\longa b4 b2 b8 b16 b16 b1 b\breve b\longa \break \property Voice.NoteHead \set #'style = #'harmonic -c4 c2 c8 c16 c16 c1 c\breve +c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break \property Voice.NoteHead \set #'style = #'baroque -c4 c2 c8 c16 c16 c1 c\breve c\longa +c4 c2 c8 c16 c16 c1 c\breve c\longa b4 b2 b8 b16 b16 b1 b\breve b\longa \break - \context Voice < + \context Voice = another < \context Thread = TA { \property Thread.NoteHead \set #'style = #'cross @@ -46,18 +52,18 @@ c4 c2 c8 c16 c16 c1 c\breve c\longa > - \context Voice <\context Thread = TA { - \property Thread.NoteHead \set #'style = #'default - c4 c4 } -\context Thread = TB { - \property Thread.NoteHead \set #'style = #'mensural - c'4 \stemDown c + \context Voice < + \context Thread = TA { + \property Thread.NoteHead \set #'style = #'cross + c4 c4 c4 c4 } + \context Thread = TB { + \property Thread.NoteHead \set #'style = #'mensural + c'4 \stemDown c + \property Thread.NoteHead \set #'style = #'slash + \stemUp c4 \stemDown c } > } - \paper { - - -} + \paper {} } diff --git a/input/regression/note-line.ly b/input/regression/note-line.ly index 8345ef200a..3bc06521c8 100644 --- a/input/regression/note-line.ly +++ b/input/regression/note-line.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header { texidoc = "Note head lines (eg glissando) -run between centers of the note heads."; +run between centers of the note heads." } \include "paper20.ly" @@ -16,15 +17,15 @@ sd = \notes{ \translator Staff = down} \context Staff = up { \property PianoStaff.connectArpeggios = ##t \showStaffSwitch - \clef F; + \clef F c4 d \sd h a g8 f16 e32 d \su g2 \glissando a,4 \sd \break a2. \su g4 \glissando f1 } \context Staff = down { - \clef F; s1*4 + \clef F s1*4 } > \paper { - linewidth = 8.0 \cm; + linewidth = 8.0 \cm } } diff --git a/input/regression/number-staff-lines.ly b/input/regression/number-staff-lines.ly index b7ee88fdc0..8c05e30225 100644 --- a/input/regression/number-staff-lines.ly +++ b/input/regression/number-staff-lines.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" The number of stafflines of a staff can be set. Ledger lines both on note heads and rests are adjusted. Barlines also are -adjusted. "; +adjusted. " } diff --git a/input/regression/percent-repeat.ly b/input/regression/percent-repeat.ly index 2080187b99..0f2185e578 100644 --- a/input/regression/percent-repeat.ly +++ b/input/regression/percent-repeat.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header { -texidoc = "Measure and beat repeats are supported."; +texidoc = "Measure and beat repeats are supported." } -\score { \notes \relative c' \context Voice { \time 4/4; +\score { \notes \relative c' \context Voice { \time 4/4 \repeat "percent" 2 { c2 } % the chairman dances diff --git a/input/regression/phrasing-slur.ly b/input/regression/phrasing-slur.ly index c49a98a983..4f75ed9cab 100644 --- a/input/regression/phrasing-slur.ly +++ b/input/regression/phrasing-slur.ly @@ -1,13 +1,14 @@ +\version "1.3.146" \header { -texidoc="Slurs play well with phrasing slur."; +texidoc="Slurs play well with phrasing slur." } \score { \notes\relative c'' { - \time 6/4; c\((d)e f(e)\)d + \time 6/4 c\((d)e f(e)\)d } \paper { - linewidth = -1.; + linewidth = -1. } } diff --git a/input/regression/repeat-fold.ly b/input/regression/repeat-fold.ly index 189f5ae568..e6d88e9143 100644 --- a/input/regression/repeat-fold.ly +++ b/input/regression/repeat-fold.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ texidoc=" Folded. This doesn't make sense without alternatives, but it works. -"; +" } \score { diff --git a/input/regression/repeat-line-break.ly b/input/regression/repeat-line-break.ly index 7405d4797a..b584df3585 100644 --- a/input/regression/repeat-line-break.ly +++ b/input/regression/repeat-line-break.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" Across linebreaks, the left edge of a first and second alternative bracket should be equal -"; +" } \score { diff --git a/input/regression/repeat-unfold.ly b/input/regression/repeat-unfold.ly index 8f09b3812f..e1d8197bb7 100644 --- a/input/regression/repeat-unfold.ly +++ b/input/regression/repeat-unfold.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -11,7 +12,7 @@ alternatives is smaller, the first alternative is multiplied to get to the number of repeats. Unfolded behavior: -"; +" } \score { diff --git a/input/regression/repeat-volta-skip-alternatives.ly b/input/regression/repeat-volta-skip-alternatives.ly index 0f5304ed87..d596e792be 100644 --- a/input/regression/repeat-volta-skip-alternatives.ly +++ b/input/regression/repeat-volta-skip-alternatives.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \notes \context Voice { \repeat volta 3 c1 diff --git a/input/regression/repeat-volta.ly b/input/regression/repeat-volta.ly index a59f9b20d7..0d667989a3 100644 --- a/input/regression/repeat-volta.ly +++ b/input/regression/repeat-volta.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" Volta (Semi folded) behavior. Voltas can start on non-barline moments. If they don't barlines should still be shown. -"; +" } % no alts. diff --git a/input/regression/rest-collision.ly b/input/regression/rest-collision.ly index f7a4852524..3731a46918 100644 --- a/input/regression/rest-collision.ly +++ b/input/regression/rest-collision.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" Rests should not collide with beams, stems and noteheads. Rests may @@ -5,7 +6,7 @@ be under beams. Rests should be move by integral number of spaces inside the staff, and by half spaces outside. Notice that the half and whole rests just outside the staff get ledger lines in different cases. -"; +" } scale = \notes \relative c' { diff --git a/input/regression/rest-ledger.ly b/input/regression/rest-ledger.ly index 9e5894f0ba..54bf178489 100644 --- a/input/regression/rest-ledger.ly +++ b/input/regression/rest-ledger.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \header { texidoc = "whole and half rests moving outside the staff should get -ledger lines"; +ledger lines" } diff --git a/input/regression/rest.ly b/input/regression/rest.ly index cc9e91ffdf..9b6b054530 100644 --- a/input/regression/rest.ly +++ b/input/regression/rest.ly @@ -1,17 +1,18 @@ +\version "1.3.146" \header{ texidoc=" Rests. Note that the dot of 8th, 16th and 32nd rests rest should be next to the top of the rest. All rests except the whole rest are centered on the middle staff line. -"; +" } \score { \notes { - \time 4/4; + \time 4/4 r \longa * 1/4 r\breve * 1/2 r1 r2 r4 r8 r16 r32 r64 r128 r128 -\time 6/4; +\time 6/4 r1. r2. r4. r8. r16. r32. r64. r128. r128. }} diff --git a/input/regression/size11.ly b/input/regression/size11.ly index a7ebba1a1c..d3a5ee412e 100644 --- a/input/regression/size11.ly +++ b/input/regression/size11.ly @@ -1,11 +1,12 @@ +\version "1.3.146" \header{ texidoc=" Fonts are available in a default set of sizes: 11, 13, 16, 20, 23 and 26pt staffheight. Sizes of the text fonts and symbol fonts are made to match the staff dimensions. -"; +" } \include "paper11.ly" -\include "allfontstyle.ly"; +\include "allfontstyle.ly" diff --git a/input/regression/size13.ly b/input/regression/size13.ly index e95aba97a3..beaef69b3e 100644 --- a/input/regression/size13.ly +++ b/input/regression/size13.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \include "paper13.ly" -\include "allfontstyle.ly"; +\include "allfontstyle.ly" diff --git a/input/regression/size16.ly b/input/regression/size16.ly index 14a3abe275..15b09aad1b 100644 --- a/input/regression/size16.ly +++ b/input/regression/size16.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \include "paper16.ly" -\include "allfontstyle.ly"; +\include "allfontstyle.ly" diff --git a/input/regression/size20.ly b/input/regression/size20.ly index 2bdbb4816b..c26dd79f21 100644 --- a/input/regression/size20.ly +++ b/input/regression/size20.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \include "paper20.ly" -\include "allfontstyle.ly"; +\include "allfontstyle.ly" diff --git a/input/regression/size23.ly b/input/regression/size23.ly index 16085a5aac..9f2a0460c1 100644 --- a/input/regression/size23.ly +++ b/input/regression/size23.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \include "paper23.ly" -\include "allfontstyle.ly"; +\include "allfontstyle.ly" diff --git a/input/regression/size26.ly b/input/regression/size26.ly index 7d6e90177d..47fbd755f3 100644 --- a/input/regression/size26.ly +++ b/input/regression/size26.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \include "paper26.ly" -\include "allfontstyle.ly"; +\include "allfontstyle.ly" diff --git a/input/regression/slur-attachment.ly b/input/regression/slur-attachment.ly index c6fabda6a0..72bb070305 100644 --- a/input/regression/slur-attachment.ly +++ b/input/regression/slur-attachment.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" Slurs should be attached to note heads, except when they would collide with beams. Also see: ophee-slurs. -"; +" } \score{ \notes \relative c''{ @@ -14,7 +15,7 @@ with beams. Also see: ophee-slurs. a4() a8 a } \paper{ - indent = 0.0; - linewidth = 100.\mm; + indent = 0.0 + linewidth = 100.\mm } } diff --git a/input/regression/slur-broken-trend.ly b/input/regression/slur-broken-trend.ly index a727b9212a..3f0430505b 100644 --- a/input/regression/slur-broken-trend.ly +++ b/input/regression/slur-broken-trend.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -5,18 +6,18 @@ Across line breaks, slurs behave nicely. On the left, they extend to just after the preferatory matter, and on the right to the end of the staff. A slur should follow the same vertical direction it would have in unbroken state. -"; +" } \score{ \notes \relative c''{ e1( \break) a, - \time 2/4; + \time 2/4 e'2( \break) a,(\break a2\break )e'2 } \paper { - linewidth=40.\mm; - indent=0.; + linewidth=40.\mm + indent=0. } } diff --git a/input/regression/slur-cross-staff.ly b/input/regression/slur-cross-staff.ly index 4a108abf3e..24d77ae110 100644 --- a/input/regression/slur-cross-staff.ly +++ b/input/regression/slur-cross-staff.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ texidoc=" The same goes for slurs. They behave decently when broken across linebreak. -"; +" } @@ -39,7 +40,7 @@ linebreak. r1 } \context Staff=two \notes\relative c'{ - \clef bass; + \clef bass s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 } > diff --git a/input/regression/slur-nice.ly b/input/regression/slur-nice.ly index 69485a3005..d8abaa3a87 100644 --- a/input/regression/slur-nice.ly +++ b/input/regression/slur-nice.ly @@ -1,14 +1,15 @@ +\version "1.3.146" \header{ texidoc=" Slurs should look nice and symmetric. The curvature may increase only to avoid noteheads, and as little as possible. Slurs never run through noteheads or stems. -"; +" } \score{ \notes\relative c''{ - \time 3/4; + \time 3/4 \slurUp \stemBoth a ( \stemDown a \stemBoth ) a a( c )a a( e' )a, a( g' )a, \stemUp a( e' )a, @@ -18,6 +19,6 @@ run through noteheads or stems. \stemDown c( f, )c' } \paper{ - linewidth = 120.\mm; + linewidth = 120.\mm } } diff --git a/input/regression/slur-symmetry-1.ly b/input/regression/slur-symmetry-1.ly index ef9115f116..225abfc53d 100644 --- a/input/regression/slur-symmetry-1.ly +++ b/input/regression/slur-symmetry-1.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \score{ \notes\relative c''< - \time 4/4; + \time 4/4 \context Staff{ f8(f f)f f(g g)f f(a a)f f(b b)f } @@ -10,6 +11,6 @@ } > \paper{ - linewidth=-1.; + linewidth=-1. } } diff --git a/input/regression/slur-symmetry.ly b/input/regression/slur-symmetry.ly index c09ba9c61d..1e6b5740ff 100644 --- a/input/regression/slur-symmetry.ly +++ b/input/regression/slur-symmetry.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \score{ \notes\relative c'< - \time 6/8; + \time 6/8 \context Staff{ e8(e)e e(d)e e(c)e e(b)e } @@ -10,6 +11,6 @@ } > \paper{ - linewidth=-1.; + linewidth=-1. } } diff --git a/input/regression/spacing-loose.ly b/input/regression/spacing-loose.ly index 4507c14979..b985fb4582 100644 --- a/input/regression/spacing-loose.ly +++ b/input/regression/spacing-loose.ly @@ -1,12 +1,13 @@ +\version "1.3.146" \header{ texidoc=" Loose: -"; +" } \score { - \notes { \time 2/2; c'2 c'2 \time 2/2; } - \paper { linewidth = 5.0\cm; - indent = 0.0; + \notes { \time 2/2 c'2 c'2 \time 2/2 } + \paper { linewidth = 5.0\cm + indent = 0.0 } } diff --git a/input/regression/spacing-natural.ly b/input/regression/spacing-natural.ly index eae9e31269..b56b878920 100644 --- a/input/regression/spacing-natural.ly +++ b/input/regression/spacing-natural.ly @@ -1,14 +1,15 @@ +\version "1.3.146" \header{ texidoc=" Natural: -"; +" } \score { - \notes { \time 2/2; c'2 c'2 \time 2/2; } - \paper { linewidth = -1.0 \cm; - indent = 0.0; + \notes { \time 2/2 c'2 c'2 \time 2/2 } + \paper { linewidth = -1.0 \cm + indent = 0.0 } } diff --git a/input/regression/spacing-tight.ly b/input/regression/spacing-tight.ly index d4845a2792..4532696c9c 100644 --- a/input/regression/spacing-tight.ly +++ b/input/regression/spacing-tight.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -12,11 +13,11 @@ prefatory is very rigid. In contrast, the space before the barline must stretch like the space within the measure. Tight: -"; +" } \score { - \notes { \time 2/2; f''2 c'2 \time 2/2; } - \paper { linewidth = 2.5 \cm; - indent = 0.0; + \notes { \time 2/2 f''2 c'2 \time 2/2 } + \paper { linewidth = 2.5 \cm + indent = 0.0 } } diff --git a/input/regression/staccato-pos.ly b/input/regression/staccato-pos.ly index ec84117adc..38ff46b086 100644 --- a/input/regression/staccato-pos.ly +++ b/input/regression/staccato-pos.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" The staccato dot (and all scripts with follow-into-staff set), must not be on staff lines. -"; +" } \score { \context Voice \notes\relative c { @@ -13,7 +14,7 @@ not be on staff lines. } \paper { - linewidth=-1.0; + linewidth=-1.0 } \midi { } } diff --git a/input/regression/staff-margin.ly b/input/regression/staff-margin.ly index 11f9f0fec8..7d89536e93 100644 --- a/input/regression/staff-margin.ly +++ b/input/regression/staff-margin.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" Staff margins are also markings attached to barlines. They should be left of the staff, and be centered vertically wrt the staff. They may be on normal staffs, but also on compound staffs, like the PianoStaff -"; +" } @@ -15,14 +16,14 @@ be on normal staffs, but also on compound staffs, like the PianoStaff \context Staff = treble { \property PianoStaff.instrument = "Piano " \property Staff.instrument = "Right " { c''4 }} - \context Staff = bass { \property Staff.instrument = "Left " \clef bass; c4 }> + \context Staff = bass { \property Staff.instrument = "Left " \clef bass c4 }> \paper { -linewidth=-1.0; +linewidth=-1.0 \translator { \ScoreContext } -\translator { \StaffContext \consists "Instrument_name_engraver"; } -\translator { \PianoStaffContext \consists "Instrument_name_engraver"; } +\translator { \StaffContext \consists "Instrument_name_engraver" } +\translator { \PianoStaffContext \consists "Instrument_name_engraver" } }} diff --git a/input/regression/stanza-number.ly b/input/regression/stanza-number.ly new file mode 100644 index 0000000000..bd56fc5ad5 --- /dev/null +++ b/input/regression/stanza-number.ly @@ -0,0 +1,13 @@ +\header { +texidoc = "Stanza numbers may differ for the first and following systems." +} + +\score { + +< \context LyricsVoice \lyrics { + +\property LyricsVoice . stanza = "first" +\property LyricsVoice . stz = "2nd" +Foo1 Bar1 } + +\notes { c''1 \break c''1 }>} diff --git a/input/regression/stem-direction-down.ly b/input/regression/stem-direction-down.ly index b9bed6ec7c..b7706cc60e 100644 --- a/input/regression/stem-direction-down.ly +++ b/input/regression/stem-direction-down.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" @c FIXME Similarly, if @code{stem_default_neutral_direction} is set to @code{-1}. -"; +" } \score{ @@ -11,6 +12,6 @@ Similarly, if @code{stem_default_neutral_direction} is set to @code{-1}. b''4 ~ b8()b8 e4 e, } \paper{ - stem_default_neutral_direction=-1.0; + stem_default_neutral_direction=-1.0 } } diff --git a/input/regression/stem-direction.ly b/input/regression/stem-direction.ly index d8b3fa8cfa..08890b3846 100644 --- a/input/regression/stem-direction.ly +++ b/input/regression/stem-direction.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -8,7 +9,7 @@ point) are mixed. 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. -"; +" } @@ -18,7 +19,7 @@ notes, and up for low notes. } \paper { - linewidth=-1.0; + linewidth=-1.0 } \midi { } } diff --git a/input/regression/stem-spacing.ly b/input/regression/stem-spacing.ly index cc51d18a16..989c43c530 100644 --- a/input/regression/stem-spacing.ly +++ b/input/regression/stem-spacing.ly @@ -1,18 +1,19 @@ +\version "1.3.146" \header{ texidoc=" In a limited number of cases, LilyPond corrects for optical spacing effects. In this example, space for opposite pointed stems is adjuste -"; +" } \score { \context Voice \notes\relative c { - \time 12/4; c''4 c c c a f' f, a + \time 12/4 c''4 c c c a f' f, a } \paper { - linewidth=-1.0; + linewidth=-1.0 } \midi { } } diff --git a/input/regression/stem-tremolo.ly b/input/regression/stem-tremolo.ly index 7afaf52fb4..c4ca3f706c 100644 --- a/input/regression/stem-tremolo.ly +++ b/input/regression/stem-tremolo.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header{ texidoc=" Stem tremolos or rolls are tremolo signs that look like beam segments crossing stems. If the stem is in a beam, the tremolo must be parallel to the beam. If the stem is invisible (eg. on a whole note), the tremolo must be centered on the note. -"; +" } diff --git a/input/regression/tie-accidental.ly b/input/regression/tie-accidental.ly index 5068a65244..815914073e 100644 --- a/input/regression/tie-accidental.ly +++ b/input/regression/tie-accidental.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -10,11 +11,11 @@ natural). Slurring a accidentaled note to a natural one across bar boundaries should be explicit. Pitches can be verified by printing them with the @code{NoteNames} context. -"; +" } thenotes = \notes \relative cis' { - \time 4/4; + \time 4/4 g'2 g ~ | g g4 gis | gis2 gis ~ | @@ -24,7 +25,7 @@ thenotes = \notes \relative cis' { g2 gis( | )g! gis4 gis | \break - \key a \major; + \key a \major gis2 gis ~ | gis4 gis8 ~ gis g4 gis | gis2 g ~ | @@ -39,7 +40,7 @@ thenotes = \notes \relative cis' { % Btw: I don't even know what the rule is for the second note in the % next bar, if a reminder accidental was printed. These are really % not very common cases. Technically, if it is not tied, it - % should get an accidental; but it looks a bit silly and redundant. + % should get an accidental but it looks a bit silly and redundant. % See last g. )g! gis4 gis ~ | \break diff --git a/input/regression/tie-chord.ly b/input/regression/tie-chord.ly index 650ddddf42..ce2557b0fc 100644 --- a/input/regression/tie-chord.ly +++ b/input/regression/tie-chord.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc=" When tieing chords, the outer slurs point outwards, the inner slurs point away from the center of the staff. Override with @code{tieVerticalDirection}. -"; +" } diff --git a/input/regression/tie-dots.ly b/input/regression/tie-dots.ly index 297a2bd262..023a191129 100644 --- a/input/regression/tie-dots.ly +++ b/input/regression/tie-dots.ly @@ -1,11 +1,12 @@ +\version "1.3.146" \header { -texidoc = "Ties should not collide with dots."; +texidoc = "Ties should not collide with dots." } -\score{\notes{\time 9/8; \key f \major;\clef bass; - g4 d8 bes4. ~ bes4 a8 \bar "|"; - a8 gis8 d8 f4. gis,4. \bar "|"; - a,4. ~ a,4 r8 r4 r8 \bar "|"; +\score{\notes{\time 9/8 \key f \major\clef bass + g4 d8 bes4. ~ bes4 a8 \bar "|" + a8 gis8 d8 f4. gis,4. \bar "|" + a,4. ~ a,4 r8 r4 r8 \bar "|" c4. ~ c8 a8 g8 f8 }} diff --git a/input/regression/tie.ly b/input/regression/tie.ly index 6bd1c09872..da4bd5af75 100644 --- a/input/regression/tie.ly +++ b/input/regression/tie.ly @@ -1,20 +1,21 @@ +\version "1.3.146" \header{ texidoc=" Ties are strictly horizontal. They are placed in between note heads. The horizontal middle should not overlap with a staffline. -"; +" } \score{ \notes\relative c''{ %b2~b4~b8~b16~b32~b64 r64\break %a2~a4~a8~a16~a32~a64 r64 - \time 8/4; + \time 8/4 d1 ~ d2~d4~d8~d16~d32~d64 r64\break a1~ a2~a4~a8~a16~a32~a64 r64 %c2~c4~c8~c16~c32~c64 r64 } \paper{ - linewidth=0.; + linewidth=0. } } diff --git a/input/regression/triplets.ly b/input/regression/triplets.ly index 322311405d..2b50f23e8a 100644 --- a/input/regression/triplets.ly +++ b/input/regression/triplets.ly @@ -1,13 +1,14 @@ +\version "1.3.146" \header { texidoc="Simple beams. This broke somewhere < 1.3.110 -"; - title = "Gammes Chromatiques"; - composer = ""; - filename = "gammes_chromatiques.ly"; +" + title = "Gammes Chromatiques" + composer = "" + filename = "gammes_chromatiques.ly" } -linebreak = \penalty -1000; +linebreak = \penalty #-1000 ex = \notes \relative c' { \repeat "volta" 2 { diff --git a/input/regression/tup.ly b/input/regression/tup.ly index 955c18b3f2..9df691672b 100644 --- a/input/regression/tup.ly +++ b/input/regression/tup.ly @@ -1,16 +1,17 @@ +\version "1.3.146" \header{ texidoc=" Tuplets are indicated by a bracket with a number. There should be no bracket if there is one beam that matches the length of the tuplet. The bracket does not interfere with the stafflines, and the number is centered in the gap in the bracket. -"; +" } \score{ \notes \context Voice \relative c'' { \times 2/3 { \times 2/3 { a8 b c} c } \times 3/4 { c4 c4 c4 c4 } - \time 6/8; + \time 6/8 \times 6/9 { c8 c c c c c c c c } } diff --git a/input/regression/volta-broken-left-edge.ly b/input/regression/volta-broken-left-edge.ly index f0998be1ed..6515426ad6 100644 --- a/input/regression/volta-broken-left-edge.ly +++ b/input/regression/volta-broken-left-edge.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \header { -texidoc ="Broken volta spanners behave correctly at left edge in all cases."; +texidoc ="Broken volta spanners behave correctly at left edge in all cases." } @@ -39,11 +40,11 @@ Bar 23 Perfect %} voiceB = \notes { - \clef bass; + \clef bass \property Staff.instrument = "Bass" \property Staff.instr = "B" - \key f \minor; - \time 4/4; + \key f \minor + \time 4/4 f,2 ( ) f,8 r8 f8 e8 \repeat volta 2 { @@ -129,10 +130,10 @@ voiceE = \notes { > \paper { - font_normal = 12.; + font_normal = 12. \translator { \StaffContext - \consists Instrument_name_engraver; + \consists Instrument_name_engraver } } } diff --git a/input/rhythm.ly b/input/rhythm.ly index f8654604b3..d7e336c252 100644 --- a/input/rhythm.ly +++ b/input/rhythm.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ -filename = "rhythm.ly"; -enteredby = "HWN"; -copyright = "public domain"; -TestedFeatures = "multiple meters, beaming, unsynced bars, userdefd engravers"; +filename = "rhythm.ly" +enteredby = "HWN" +copyright = "public domain" +TestedFeatures = "multiple meters, beaming, unsynced bars, userdefd engravers" } @@ -10,22 +11,22 @@ TestedFeatures = "multiple meters, beaming, unsynced bars, userdefd engravers" ritme = \notes\transpose c'' { - \time 4/4; - \partial 8; + \time 4/4 + \partial 8 c8 | [a8~ a8. a8 a16 a16 a16] c4. | % watch the beams! r32 r32 r16 r8 r4 r2 | - \time 5/16; + \time 5/16 % divide measure in 5 equal parts. Usually it 2+3 or 3+2 [c8 c16 c8 ] | % watch THIS! \times 5/4 { [ c16 c16 c16 c16] } | - \time 2/8; + \time 2/8 c4 | c4 c4 c4 c4 - \time 4/4; + \time 4/4 c1 c1 c1 % [c16 c16 c16 c16 ] | @@ -36,13 +37,13 @@ ritme = \notes\transpose c'' { another = - \notes \relative c'' { \time 6/4; - c1. c1. \time 4/4;c4 c4 c4 c4 c1 c1 c1 + \notes \relative c'' { \time 6/4 + c1. c1. \time 4/4c4 c4 c4 c4 c1 c1 c1 } yanother = - \notes{ \time 4/4; + \notes{ \time 4/4 c1 c1 c1 c4 c4 c4 c4 c1 c1 c1 } @@ -61,15 +62,15 @@ yanother = %% remove Timing_engraver and Bar_number_engraver \translator { \ScoreContext - \remove "Timing_engraver"; + \remove "Timing_engraver" } \translator { \RhythmicStaffContext - \consists "Timing_engraver"; + \consists "Timing_engraver" } \translator{ \StaffContext - \consists "Timing_engraver"; + \consists "Timing_engraver" } } } diff --git a/input/scarlatti-paper.ly b/input/scarlatti-paper.ly index 3056923278..6840d979be 100644 --- a/input/scarlatti-paper.ly +++ b/input/scarlatti-paper.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \paper{ - indent=0.; - linewidth=188.\mm; + indent=0. + linewidth=188.\mm \translator{ \PianoStaffContext diff --git a/input/scarlatti-test.ly b/input/scarlatti-test.ly index 988f0f92ad..eec0faa0f0 100644 --- a/input/scarlatti-test.ly +++ b/input/scarlatti-test.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %K000.ly LilyPond 1.2.16 @@ -8,7 +9,7 @@ \paper { \translator{\VoiceContext %% huh? - %%beamAutoBegin=0; + %%beamAutoBegin=0 autoBeamSettings \override #'(end 1 8 * *) = #(make-moment 3 8) autoBeamSettings \override #'(end 1 16 * *) = #(make-moment 3 8) autoBeamSettings \override #'(end 1 24 * *) = #(make-moment 1 8) @@ -37,9 +38,9 @@ xb={\property Voice.noAutoBeaming=##t} \score{ \context PianoStaff \notes< \context Staff=up< - \key d \major ; -\time 3/8; -\clef treble; + \key d \major +\time 3/8 +\clef treble \autochange Staff \context Voice=va< \zs \su @@ -54,8 +55,8 @@ a'8 s \lh d''| %a5 s8 \rh fis'' s| %a6 -a''32 s fis'' s d'' s a' s d' s a s \bar "||"; -\key f \major; +a''32 s fis'' s d'' s a' s d' s a s \bar "||" +\key f \major %a7 r16 a' f'8. d'16~ %a8 @@ -63,8 +64,8 @@ d'16 g' e'8. cis'16| %a9 r16 a' f'8. d'16~ %a10 -d'16 g' e'8. cis'16 \bar "||"; -\key d \major; +d'16 g' e'8. cis'16 \bar "||" +\key d \major %a11 r16 fis' d'8. g'16~ %a12 @@ -116,8 +117,8 @@ s8 gis''4| %a35 s32 e' cis' a s a' e' cis' s cis'' a' e'| %a36 -\lh a'32 \rh[e'' cis'' a']\lh cis'' \rh[a'' e'' cis'']\lh a' \rh[a cis' e']\bar "||"; -\time 6/8; +\lh a'32 \rh[e'' cis'' a']\lh cis'' \rh[a'' e'' cis'']\lh a' \rh[a cis' e']\bar "||" +\time 6/8 %a37 gis''8 a'' gis'' a'' gis'' a''| } @@ -337,8 +338,8 @@ s4.*6 }> > \context Staff=down< -\clef bass; -\key d \major; +\clef bass +\key d \major s4.*38 >> } diff --git a/input/star-spangled-banner.ly b/input/star-spangled-banner.ly index c72646beff..739d47ec42 100644 --- a/input/star-spangled-banner.ly +++ b/input/star-spangled-banner.ly @@ -1,25 +1,26 @@ +\version "1.3.146" %{ Converted from star.mup with the aid of mup2ly.py -http://www.Arkkra.com/doc/star.html -http://www.Arkkra.com/doc/star.ps +http://www.arkkra.com/doc/star.html +http://www.arkkra.com/doc/star.ps %} \header{ - title="The Star Spangled Banner"; - subtitle="The United States National Anthem"; - poet="Text by Francis Scott Key"; - composer="J. S. Smith"; - arranger="Arranged by William J. Krauss"; - enteredby="jcn"; - copyright="public domain"; + title="The Star Spangled Banner" + subtitle="The United States National Anthem" + poet="Text by Francis Scott Key" + composer="J. S. Smith" + arranger="Arranged by William J. Krauss" + enteredby="jcn" + copyright="public domain" } global = \notes { - \time 3/4; - \key d \major; - \partial 4; + \time 3/4 + \key d \major + \partial 4 } staffBVoiceB = \notes { @@ -95,7 +96,7 @@ text = \lyrics { % Ah, it seems that this context stops to exist just before % the :| barline is set, and doesn't see its width? % Ugly fix: - Whose broad \bar "|."; + Whose broad \bar "|." } \context LyricsVoice = "one-2" { @@ -112,19 +113,19 @@ text = \lyrics { } } -\include "paper16.ly"; +\include "paper16.ly" \score{ \context GrandStaff \notes < \addlyrics \context Staff=upper < \global - \clef treble; + \clef treble \property Staff.automaticMelismata = ##t \context Voice = one \transpose c'' { \voiceOne \staffBVoiceB - \bar "|."; + \bar "|." } \context Voice = two \transpose c'' { \voiceTwo @@ -134,7 +135,7 @@ text = \lyrics { \context LyricsVoice = "one-1" \text \context Staff=lower < \global - \clef bass; + \clef bass \property Staff.VoltaBracket = \turnOff \context Voice = three { \voiceOne @@ -148,19 +149,19 @@ text = \lyrics { > \paper{ \paperSixteen - textheight = 230.\mm; - linewidth= 180.\mm; + textheight = 230.\mm + linewidth= 180.\mm \translator { \GrandStaffContext - \accepts "Lyrics"; + \accepts "Lyrics" } \translator { \LyricsVoiceContext - \consists "Bar_engraver"; + \consists "Bar_engraver" } } \midi { - \tempo 4 = 60; + \tempo 4 = 60 } } diff --git a/input/test/Cc-chords.ly b/input/test/Cc-chords.ly new file mode 100644 index 0000000000..b92cb37198 --- /dev/null +++ b/input/test/Cc-chords.ly @@ -0,0 +1,25 @@ +\header { + texidoc="Jazz chord names, but with lower case names for minor chords"; +} + +#(assoc-set! chord::names-alist-jazz + '((0 . 0) (2 . -1)) '("")) + +#(assoc-set! chord::names-alist-jazz + '((0 . 0) (2 . -1) (4 . 0) (6 . -1)) '("7")) + +#(define (pitch->chord-name-text-banter pitch additions) + (let ((name (pitch->text-banter pitch))) + (if (member '(2 . -1) (map pitch->note-name additions)) + (cons (string-append + (string-downcase (substring (car name) 0 1)) + (substring (car name) 1)) + (cdr name)) + name))) + +\score { + < + \property ChordNames.ChordName \set #'style = #'jazz + \context ChordNames \chords { c1 c:m c:m7 } + > +} diff --git a/input/test/absolute-volume.ly b/input/test/absolute-volume.ly index e56c69269e..e9dfd27b88 100644 --- a/input/test/absolute-volume.ly +++ b/input/test/absolute-volume.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes\relative c''{ @@ -15,6 +16,6 @@ a\sf \paper{ } \midi{ -\tempo 1 = 60; +\tempo 1 = 60 } } diff --git a/input/test/ac-extra-voice.ly b/input/test/ac-extra-voice.ly index 07277383f7..1a5c061a2b 100644 --- a/input/test/ac-extra-voice.ly +++ b/input/test/ac-extra-voice.ly @@ -1,13 +1,14 @@ +\version "1.3.146" % % TODO: what's this? % global = \notes { - \key a \minor; - \time 6/4; -% \skip 1.*34; -% \bar ".|"; + \key a \minor + \time 6/4 +% \skip 1.*34 +% \bar ".|" } melody = \notes\relative c''{ @@ -40,14 +41,14 @@ accompany = \notes \relative c{ > \context Staff=down < \global - \clef bass; + \clef bass \autochange Staff \context Voice \accompany > > \paper { - indent = 8.\mm; - textheight = 295.\mm; + indent = 8.\mm + textheight = 295.\mm \translator{ \PianoStaffContext @@ -56,10 +57,10 @@ accompany = \notes \relative c{ \translator{ \StaffContext % don't auto-generate bars: not a good idea: -> no breakpoints - % barAuto = "0"; + % barAuto = "0" % urg defaultBarType = #"" defaultBarType = #"" - \remove "Time_signature_engraver"; + \remove "Time_signature_engraver" Slur \override #'direction = #1 @@ -68,7 +69,7 @@ accompany = \notes \relative c{ } } \midi { - \tempo 4 = 54; + \tempo 4 = 54 } } diff --git a/input/test/accid.ly b/input/test/accid.ly index 884fafd865..9faedd80b3 100644 --- a/input/test/accid.ly +++ b/input/test/accid.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { - \time 3/4; + \time 3/4 cisis'' cisis! cisis? | cis cis! cis? | c c! c? | diff --git a/input/test/accidental-spacing.ly b/input/test/accidental-spacing.ly index 3884b75747..4193ce765a 100644 --- a/input/test/accidental-spacing.ly +++ b/input/test/accidental-spacing.ly @@ -1,11 +1,12 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { - c''4 c4 cis4 cis [c8 c \clef "bass"; f,, f] + c''4 c4 cis4 cis [c8 c \clef "bass" f,, f] } \paper { - linewidth=-1.0; + linewidth=-1.0 } \midi { } } diff --git a/input/test/add-text-script.ly b/input/test/add-text-script.ly index 43ef4c6845..e3cca2fab9 100644 --- a/input/test/add-text-script.ly +++ b/input/test/add-text-script.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header { texidoc= "Using make-music, you can add various stuff to notes. Here is an example how to add an extra fingering. In general, first do a display of the music you want ot -create, then write a function that will build the structure for you."; +create, then write a function that will build the structure for you." } #(define (make-script x) diff --git a/input/test/american-chords.ly b/input/test/american-chords.ly index 6adc6167d3..10bc55226e 100644 --- a/input/test/american-chords.ly +++ b/input/test/american-chords.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ See scm/chord-names.scm: chord::names-alist-american @@ -8,7 +9,7 @@ #(set! chord::names-alist-american (append '( - ;; any changes here, see scm/chord-name.scm + any changes here, see scm/chord-name.scm ) chord::names-alist-american)) diff --git a/input/test/ancient-font.ly b/input/test/ancient-font.ly index 608810ada4..faa6ce1b70 100644 --- a/input/test/ancient-font.ly +++ b/input/test/ancient-font.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \header { - title = "ancient font test"; - date = "2000"; + title = "ancient font test" + date = "2000" } @@ -19,36 +20,36 @@ upperVoice = \context Staff = upperVoice < \property Voice.NoteHead \override #'style = #'mensural \property Voice.Stem \override #'stem-centered = ##t \property Staff.Custos \override #'style = #'vaticana - \clef "vaticana_fa2"; + \clef "vaticana_fa2" c2 d e f g % \property Staff.clefGlyph = #"clefs-vaticana_do" % \property Staff.clefPosition = #1 % \property Staff.clefOctavation = #0 - \clef "vaticana_do2"; + \clef "vaticana_do2" a b c' b a g f - \clef "vaticana_fa1"; - e d c1 \bar "|"; + \clef "vaticana_fa1" + e d c1 \bar "|" \property Staff.Custos \override #'style = #'medicaea - \clef "medicaea_fa2"; + \clef "medicaea_fa2" c2 d e f g - \clef "medicaea_do2"; + \clef "medicaea_do2" a b c' b a g f - \clef "medicaea_fa1"; - e d c1 \bar "|"; + \clef "medicaea_fa1" + e d c1 \bar "|" \property Staff.Custos \override #'style = #'hufnagel - \clef "hufnagel_fa2"; + \clef "hufnagel_fa2" c2 d e f g - \clef "hufnagel_do2"; + \clef "hufnagel_do2" a b c' b a g f - \clef "hufnagel_fa1"; - e d c1 \bar "||"; + \clef "hufnagel_fa1" + e d c1 \bar "||" } > @@ -59,52 +60,52 @@ lowerVoice = \context Staff = lowerNotes < \property Voice.NoteHead \override #'style = #'mensural \property Voice.Stem \override #'stem-centered = ##t \property Staff.Custos \override #'style = #'mensural - \clef "mensural1_c2"; + \clef "mensural1_c2" c2 d e f g \property Staff.forceClef = ##t - \clef "mensural1_c2"; + \clef "mensural1_c2" a b c' b a g f - \clef "mensural2_c2"; - e d c1 \bar "|"; + \clef "mensural2_c2" + e d c1 \bar "|" - \clef "mensural2_c2"; + \clef "mensural2_c2" c2 d e f g \property Staff.forceClef = ##t - \clef "mensural3_c2"; + \clef "mensural3_c2" a b c' b a g f - \clef "mensural3_c2"; - e d c1 \bar "|"; + \clef "mensural3_c2" + e d c1 \bar "|" - \clef "mensural1_f"; + \clef "mensural1_f" c2 d e f g \property Staff.forceClef = ##t - \clef "mensural1_f"; + \clef "mensural1_f" a b c' b a g f - \clef "mensural2_f"; - e d c1 \bar "|"; + \clef "mensural2_f" + e d c1 \bar "|" \property Staff.forceClef = ##t - \clef "mensural2_f"; + \clef "mensural2_f" c2 d e f g - \clef "mensural_g"; + \clef "mensural_g" a' b' c'' b' a' g' f' \property Staff.forceClef = ##t - \clef "mensural_g"; - e' d' c'1 \bar "|"; + \clef "mensural_g" + e' d' c'1 \bar "|" \property Staff.forceClef = ##t - \clef "mensural_g"; + \clef "mensural_g" c'2 d' e' f' g' - \clef "hufnagel_do_fa"; + \clef "hufnagel_do_fa" a b c' b a g f \property Staff.forceClef = ##t - \clef "hufnagel_do_fa"; - e d c1 \bar "||"; + \clef "hufnagel_do_fa" + e d c1 \bar "||" } > @@ -115,14 +116,14 @@ lowerVoice = \context Staff = lowerNotes < > \paper { % \paperTwentysix - linewidth = 17.25\cm; - textheight = 26.0\cm; - indent = 0.0; + linewidth = 17.25\cm + textheight = 26.0\cm + indent = 0.0 \translator { \StaffContext - \consists Custos_engraver; -% Custos \override #'style = #'mensural; - \remove Time_signature_engraver; + \consists Custos_engraver +% Custos \override #'style = #'mensural + \remove Time_signature_engraver % StaffSymbol \override #'line-count = #4 } } diff --git a/input/test/as.ly b/input/test/as.ly index 3d45eb331d..39644dc106 100644 --- a/input/test/as.ly +++ b/input/test/as.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { - \time 4/4; + \time 4/4 g''1 a2 b4. c8 } diff --git a/input/test/as1.ly b/input/test/as1.ly index f26aebabb1..6c669f3b5f 100644 --- a/input/test/as1.ly +++ b/input/test/as1.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { - \time 4/4; + \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/as2.ly b/input/test/as2.ly index 71995c12dc..4866362704 100644 --- a/input/test/as2.ly +++ b/input/test/as2.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % test for ascii-art output @@ -5,13 +6,13 @@ \score { \notes\relative c'{ - \time 4/4; + \time 4/4 c8( e g )b d( d d )d - \bar "|."; + \bar "|." } \paper { - linewidth=65.0\char; + linewidth=65.0\char \translator { \StaffContext barSize = #9 } %\translator { \VoiceContext beamHeight = #0 } \translator { \VoiceContext beamHeight = ##f } diff --git a/input/test/auto-beam-4-8.ly b/input/test/auto-beam-4-8.ly index d315c3957f..0bf0d5aa91 100644 --- a/input/test/auto-beam-4-8.ly +++ b/input/test/auto-beam-4-8.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \score{ \notes\relative c''{ - \time 4/8; + \time 4/8 %{ the default for 4/8 (see scm/auto-beam.scm) diff --git a/input/test/auto-beam-override.ly b/input/test/auto-beam-override.ly index c99c614770..89400e23af 100644 --- a/input/test/auto-beam-override.ly +++ b/input/test/auto-beam-override.ly @@ -1,3 +1,4 @@ +\version "1.3.146" @@ -15,7 +16,7 @@ \score{ \notes \relative c''{ - \time 2/4; + \time 2/4 % one beam per measure c8 c c c c16 c c c c c c c diff --git a/input/test/auto-beam-triplet.ly b/input/test/auto-beam-triplet.ly index a8798b0bf3..cfd3cfa462 100644 --- a/input/test/auto-beam-triplet.ly +++ b/input/test/auto-beam-triplet.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes\relative c''{ @@ -8,7 +9,7 @@ % urg, avoid crash \translator{ \VoiceContext - \remove Tuplet_engraver; + \remove Tuplet_engraver } } } diff --git a/input/test/auto-beam.ly b/input/test/auto-beam.ly index d24a1ff20d..e7d5ae9e1c 100644 --- a/input/test/auto-beam.ly +++ b/input/test/auto-beam.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ The auto-beam engraver has presets for common time signatures. @@ -6,55 +7,55 @@ \score{ \notes \relative c''{ %{ - % urg: something breaks in grouping ; see input/bugs/time-grouping.ly - \time 1/2; + % urg: something breaks in grouping see input/bugs/time-grouping.ly + \time 1/2 c8 c c c c16 c c c c c c c c32 c c c c c c c c c c c c c c c - \time 1/4; + \time 1/4 c8 c c16 c c c c32 c c c c c c c - \time 1/8; + \time 1/8 c8 c16 c c32 c c c %} - \time 2/2; + \time 2/2 c8 c c c c c c c c16 c c c c c c c c c c c c c c c c32 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c - \time 2/4; + \time 2/4 c8 c c c c16 c c c c c c c c32 c c c c c c c c c c c c c c c - \time 2/8; + \time 2/8 c8 c c16 c c c c32 c c c c c c c - \time 3/2; + \time 3/2 c8 c c c c c c c c c c c c16 c c c c c c c c c c c c c c c c c c c c c c c - \time 3/4; + \time 3/4 c8 c c c c c c16 c c c c c c c c c c c c32 c c c c c c c c c c c c c c c c c c c c c c c - \time 3/8; + \time 3/8 c8 c c c16 c c c c c c32 c c c c c c c c c c c - \time 4/4; + \time 4/4 c8 c c c c c c c c16 c c c c c c c c c c c c c c c c32 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c - \time 4/8; + \time 4/8 c8 c c c c16 c c c c c c c c32 c c c c c c c c c c c c c c c - \time 6/8; + \time 6/8 c8 c c c c c c16 c c c c c c c c c c c - \time 9/8; + \time 9/8 c8 c c c c c c c c c16 c c c c c c c c c c c c c c c c c } diff --git a/input/test/bagpipe.ly b/input/test/bagpipe.ly index 6bea16c5ce..7ebbad9f0d 100644 --- a/input/test/bagpipe.ly +++ b/input/test/bagpipe.ly @@ -1,14 +1,15 @@ +\version "1.3.146" % bagpipe music. \header { - title="Flower of Scotland"; + title="Flower of Scotland" } \paper { - linewidth = 14.0 \cm; - indent = 0.0 \cm; + linewidth = 14.0 \cm + indent = 0.0 \cm \translator { \GraceContext @@ -71,7 +72,7 @@ gcdg = \notes{ \grace { [g'32 c d]}} % \score { - \notes { \time 6/8; \partial 4; + \notes { \time 6/8 \partial 4 \tieUp \slurUp f4 | @@ -81,16 +82,16 @@ f4 | )e8 d4 \gg d4 e8 | \break -\time 9/8; +\time 9/8 \dblf f2.( )f4 d8 | -\time 6/8; +\time 6/8 \dblg g'4 a'8 \gg a'4. | \thrd d4.( )d4 \eg a8 | -\time 9/8; +\time 9/8 \dble e4 \lag e8 \gg [e16 d8. e8] \gg f4 g'8 | \break -\time 6/8; +\time 6/8 \gg f4 e8 \thrd d4. | \eg a4.( )a4 d8 | \dblg g'4 a'8 \gg a'4. | diff --git a/input/test/banter-chords.ly b/input/test/banter-chords.ly index 1dcbe9077d..a79f52b0b8 100644 --- a/input/test/banter-chords.ly +++ b/input/test/banter-chords.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ -enteredby = "jcn"; -copyright = "public domain"; -TestedFeatures = "Banter named chords"; +enteredby = "jcn" +copyright = "public domain" +TestedFeatures = "Banter named chords" } % test German (Banter) naming @@ -17,12 +18,12 @@ TestedFeatures = "Banter named chords"; % { -#;(define chord::names-alist-banter '()) +#(define chord::names-alist-banter '()) #(set! chord::names-alist-banter (append '( (((0 . 0) (2 . -1) (4 . -1)) . (("m" ("5-" . (type . "super"))))) - ; Co iso Cm5-7- + Co iso Cm5-7- (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . ("o" (type "super"))) ))) diff --git a/input/test/bar-lines.ly b/input/test/bar-lines.ly index 3c1894780c..013bd21e68 100644 --- a/input/test/bar-lines.ly +++ b/input/test/bar-lines.ly @@ -1,15 +1,16 @@ +\version "1.3.146" \score { \notes \relative c'' { c4 -\bar "|."; c -\bar "|:";c -\bar "||";c -\bar ":|" ; c -\bar ".|"; c -\bar ".|."; c -\bar "|"; c +\bar "|." c +\bar "|:"c +\bar "||"c +\bar ":|" c +\bar ".|" c +\bar ".|." c +\bar "|" c } } diff --git a/input/test/bar-script-visibility.ly b/input/test/bar-script-visibility.ly index 26f96aabec..a59c1c3296 100644 --- a/input/test/bar-script-visibility.ly +++ b/input/test/bar-script-visibility.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { @@ -6,7 +7,7 @@ \translator{ \StaffContext - \consists Bar_number_engraver; + \consists Bar_number_engraver barNumberVisibilityFunction = #end-of-line-invisible } } diff --git a/input/test/beam-abbrev.ly b/input/test/beam-abbrev.ly index bf1d184a4b..4606a7146a 100644 --- a/input/test/beam-abbrev.ly +++ b/input/test/beam-abbrev.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/beam-chord.ly b/input/test/beam-chord.ly index ae67cfee1e..2df51c0b50 100644 --- a/input/test/beam-chord.ly +++ b/input/test/beam-chord.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ @@ -13,6 +14,6 @@ } \paper{ - linewidth = 60.0\mm; + linewidth = 60.0\mm } } diff --git a/input/test/beam-control.ly b/input/test/beam-control.ly index 1853cabe8b..ce8f13e055 100644 --- a/input/test/beam-control.ly +++ b/input/test/beam-control.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/beam-count.ly b/input/test/beam-count.ly index 8258679872..169d98cb79 100644 --- a/input/test/beam-count.ly +++ b/input/test/beam-count.ly @@ -1,3 +1,4 @@ +\version "1.3.146" fragment = \notes { @@ -13,7 +14,7 @@ fragment = \notes { a g f } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/beam-damp.ly b/input/test/beam-damp.ly index 1cd572507f..9c0c67bc66 100644 --- a/input/test/beam-damp.ly +++ b/input/test/beam-damp.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes\relative c''{ % \stemUp @@ -14,7 +15,7 @@ [a b c d] } \paper{ - linewidth=-1.; + linewidth=-1. } } diff --git a/input/test/beam-dir-function.ly b/input/test/beam-dir-function.ly index ef044f8e2f..faed716f6e 100644 --- a/input/test/beam-dir-function.ly +++ b/input/test/beam-dir-function.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -17,7 +18,7 @@ We should see: up down down up up down -"; +" } \score { @@ -31,7 +32,7 @@ We should see: [d a] \property Voice.Beam \set #'dir-function = #beam-dir-majority - \time 3/8; + \time 3/8 [d8 a a] \property Voice.Beam \set #'dir-function = #beam-dir-mean [d a a] diff --git a/input/test/beam-dir-functions.ly b/input/test/beam-dir-functions.ly index 613eec4d51..5611939a61 100644 --- a/input/test/beam-dir-functions.ly +++ b/input/test/beam-dir-functions.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header { texidoc = " @@ -16,10 +17,10 @@ examples: These beam direction functions are defined in @file{scm/beam.scm}. If your favourite algorithm isn't one of these, you can hook up your own. -"; +" } -\paper { linewidth = -1.;} +\paper { linewidth = -1.} \score { \notes \relative c { [d''8 a] \property Voice.Beam \set #'dir-function = #beam-dir-mean @@ -28,7 +29,7 @@ your favourite algorithm isn't one of these, you can hook up your own. [d a] }} \score { \notes \relative c { - \time 3/8; + \time 3/8 [d''8 a a] \property Voice.Beam \set #'dir-function = #beam-dir-mean [d a a] diff --git a/input/test/beam-dir.ly b/input/test/beam-dir.ly index 1dd3dc9fb8..be2b33de83 100644 --- a/input/test/beam-dir.ly +++ b/input/test/beam-dir.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/beam-isknee.ly b/input/test/beam-isknee.ly index a3a7e4dc1d..f12c3feff4 100644 --- a/input/test/beam-isknee.ly +++ b/input/test/beam-isknee.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \score{ \context PianoStaff < \context Staff=one \notes\relative c'{ s1 } \context Staff=two \notes\relative c'{ - \clef bass; + \clef bass % no knee \stemUp [c8 \translator Staff=one \stemDown g'16 f] s8 @@ -12,7 +13,7 @@ } > \paper{ - linewidth=-1.; + linewidth=-1. } } diff --git a/input/test/beam-neutral-direction.ly b/input/test/beam-neutral-direction.ly index 41187d8aa2..2e41028339 100644 --- a/input/test/beam-neutral-direction.ly +++ b/input/test/beam-neutral-direction.ly @@ -1,3 +1,4 @@ +\version "1.3.146" fragment = \notes { @@ -6,7 +7,7 @@ fragment = \notes { [b b] } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/beam-pos.ly b/input/test/beam-pos.ly index 3bb6876830..14b92742d8 100644 --- a/input/test/beam-pos.ly +++ b/input/test/beam-pos.ly @@ -1,11 +1,12 @@ +\version "1.3.146" \header{ -filename = "beam-pos.ly"; -composer = "jcn"; -enteredby = "jcn"; -copyright = "PD"; +filename = "beam-pos.ly" +composer = "jcn" +enteredby = "jcn" +copyright = "PD" -TestedFeatures = "beam quant positions"; +TestedFeatures = "beam quant positions" } \score{ diff --git a/input/test/beam-position.ly b/input/test/beam-position.ly index 19c4922353..33726b736c 100644 --- a/input/test/beam-position.ly +++ b/input/test/beam-position.ly @@ -1,3 +1,4 @@ +\version "1.3.146" fragment = \notes { @@ -6,7 +7,7 @@ fragment = \notes { [c'8 c] } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/beam-quanting.ly b/input/test/beam-quanting.ly index e608a71add..977ed5b283 100644 --- a/input/test/beam-quanting.ly +++ b/input/test/beam-quanting.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ Have some fun beam quanting diff --git a/input/test/beam-rest.ly b/input/test/beam-rest.ly index bcdfe5b952..7cf4b81c29 100644 --- a/input/test/beam-rest.ly +++ b/input/test/beam-rest.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ texidoc=" Beams over rests. -"; +" } \score{ @@ -13,6 +14,6 @@ Beams over rests. } \paper{ - linewidth =-1; + linewidth =-1 } } diff --git a/input/test/beam-slope.ly b/input/test/beam-slope.ly index a31582b76a..02a3588463 100644 --- a/input/test/beam-slope.ly +++ b/input/test/beam-slope.ly @@ -1,3 +1,4 @@ +\version "1.3.146" fragment = \notes { @@ -6,7 +7,7 @@ fragment = \notes { [a''8 e' d c] } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/beam-suspect.ly b/input/test/beam-suspect.ly index e29d27780d..c3aecc05a2 100644 --- a/input/test/beam-suspect.ly +++ b/input/test/beam-suspect.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes\relative c'{ @@ -12,6 +13,6 @@ [g16 a b c] } \paper{ - linewidth=-1.; + linewidth=-1. } } diff --git a/input/test/beam-trend.ly b/input/test/beam-trend.ly index 16814d8605..bd3e4624bf 100644 --- a/input/test/beam-trend.ly +++ b/input/test/beam-trend.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes\relative c'{ @@ -5,6 +6,6 @@ [f8 a' g f] } \paper{ - linewidth=-1.; + linewidth=-1. } } diff --git a/input/test/beam-urg.ly b/input/test/beam-urg.ly index 54c1accf07..04944edf28 100644 --- a/input/test/beam-urg.ly +++ b/input/test/beam-urg.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes\relative c''{ @@ -7,6 +8,6 @@ [g16 e f g] } \paper{ - linewidth = -1.; + linewidth = -1. } } diff --git a/input/test/beamed-slur-endings.ly b/input/test/beamed-slur-endings.ly index 1f082c0b5a..368fe3e808 100644 --- a/input/test/beamed-slur-endings.ly +++ b/input/test/beamed-slur-endings.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes \relative c''{ @@ -19,7 +20,7 @@ } \paper{ - indent = 0.0; - linewidth = 60.0\mm; + indent = 0.0 + linewidth = 60.0\mm } } diff --git a/input/test/beams.ly b/input/test/beams.ly index c1172a46c6..0c96547772 100644 --- a/input/test/beams.ly +++ b/input/test/beams.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header{ -filename = "beams.ly"; -composer = "heu"; -enteredby = "jcn"; -copyright = "PD"; +filename = "beams.ly" +composer = "heu" +enteredby = "jcn" +copyright = "PD" -TestedFeatures = "beams and beamflags"; +TestedFeatures = "beams and beamflags" } @@ -14,7 +15,7 @@ TestedFeatures = "beams and beamflags"; \context GrandStaff < \notes\transpose c' { - \time 8/4; + \time 8/4 \stemUp [c8 c'' a' f'] \stemUp [c16 c'' a' f'] \stemUp [c32 c'' a' f'] @@ -40,7 +41,7 @@ TestedFeatures = "beams and beamflags"; < \notes { \transpose c' { - \time 8/4; + \time 8/4 \stemDown [a'8 a, c e] \stemDown [a'16 a, c e] \stemDown [a'32 a, c e] diff --git a/input/test/boxed-molecule.ly b/input/test/boxed-molecule.ly index 1dc8cb0fd3..e4b660d41d 100644 --- a/input/test/boxed-molecule.ly +++ b/input/test/boxed-molecule.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header { texidoc = "overriding the molecule callback can also be used to draw a @@ -5,7 +6,7 @@ texidoc = "overriding the molecule callback can also be used to draw a TODO: check whether the corners are really correct. - "; + " } #(define (box-molecule xext yext) (ly-make-molecule diff --git a/input/test/broken-thread-line.ly b/input/test/broken-thread-line.ly index 597e2e6163..348d88e6e8 100644 --- a/input/test/broken-thread-line.ly +++ b/input/test/broken-thread-line.ly @@ -1,3 +1,4 @@ +\version "1.3.146" @@ -12,10 +13,10 @@ a, } - \context Staff=two { \clef bass; \skip 1*2; } + \context Staff=two { \clef bass \skip 1*2 } > \paper{ - linewidth = 70.\mm; + linewidth = 70.\mm \translator { \ScoreContext followVoice = ##t diff --git a/input/test/broken.ly b/input/test/broken.ly index 38387f31fb..fe4c519149 100644 --- a/input/test/broken.ly +++ b/input/test/broken.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ -enteredby = "jcn"; -copyright = "PD"; +enteredby = "jcn" +copyright = "PD" TestedFeatures = "This file tests Feta embedded slurs" + - "(Feta definitively is not an abbreviation of Font-En-TjA)"; + "(Feta definitively is not an abbreviation of Font-En-TjA)" } @@ -35,9 +36,9 @@ broken = \notes\transpose c''{ \broken } \paper{ - indent = 0.0\pt; + indent = 0.0\pt %for broken! - linewidth= 30.\mm; + linewidth= 30.\mm } } diff --git a/input/test/caps.ly b/input/test/caps.ly index fc2ec02d08..81e3caff17 100644 --- a/input/test/caps.ly +++ b/input/test/caps.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header { texidoc = " Small caps is available as font-shape caps. - "; } + " } shapeSC = \property Lyrics.LyricText \override #'font-shape = #'caps shapeNorm = \property Lyrics.LyricText \revert #'font-shape @@ -9,5 +10,5 @@ shapeSC = \property Lyrics.LyricText \override #'font-shape = #'caps \notes \relative c'' { c4 c4 c8 c8 } \lyrics \context Lyrics { what4 is4 \shapeSC Bud8 -- dha?8 }> -\paper { linewidth = -1.;} +\paper { linewidth = -1.} } diff --git a/input/test/chord-changes.ly b/input/test/chord-changes.ly index f7552843bb..ffa0647b5b 100644 --- a/input/test/chord-changes.ly +++ b/input/test/chord-changes.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ texidoc="property chordChanges: only display chord names when there's a change in the chords scheme, but always display the chord name after a line break. -"; +" } scheme = \chords { @@ -18,7 +19,7 @@ scheme = \chords { \context Staff \transpose c'' \scheme > \paper{ - linewidth = 40 * \staffspace; + linewidth = 40 * \staffspace \translator { \ChordNamesContext chordChanges = ##t diff --git a/input/test/chord-inversion.ly b/input/test/chord-inversion.ly index 4794dc55fd..986d99506a 100644 --- a/input/test/chord-inversion.ly +++ b/input/test/chord-inversion.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header{ -enteredby = "jcn"; -copyright = "public domain"; -TestedFeatures = "chord inversions"; +enteredby = "jcn" +copyright = "public domain" +TestedFeatures = "chord inversions" } inversions = \notes\transpose c''\chords{ diff --git a/input/test/chord-table.ly b/input/test/chord-table.ly index fdb855e3ce..1eaf987dae 100644 --- a/input/test/chord-table.ly +++ b/input/test/chord-table.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header{ -filename = "chord-table.ly"; -copyright = "public domain"; -enteredby = "jcn"; +filename = "chord-table.ly" +copyright = "public domain" +enteredby = "jcn" } tab = \notes\transpose c'''\chords{ @@ -36,7 +37,7 @@ tab = \notes\transpose c'''\chords{ \context ChordNames=b \notes\transpose b,\tab > \paper{ - textheight = \vsize - 4.0 * \staffheight; + textheight = \vsize - 4.0 * \staffheight } } diff --git a/input/test/chords.ly b/input/test/chords.ly index 14669e7a00..c78316464e 100644 --- a/input/test/chords.ly +++ b/input/test/chords.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ @@ -7,12 +8,12 @@ Would this be acceptable/good enough/convenient for entry? C# cis Cb ces - Cm; Cmin c:3-; c:m; c:min - Caug c:5+; c:aug; - Cdim c:3-.5-; c:dim - Cmaj7 c:7+; c:maj + Cm Cmin c:3- c:m c:min + Caug c:5+ c:aug + Cdim c:3-.5- c:dim + Cmaj7 c:7+ c:maj C7 c:7 - Csus; Csus4 c:4; c:sus + Csus Csus4 c:4 c:sus %} @@ -37,21 +38,21 @@ keys = \notes{ s1 s1 s1 s1 s1 s1 - \key g \major; s1 - \key d \major; s1 - \key a \major; s1 - \key e \major; s1 - \key b \major; s1 - \key fis \major; s1 - \key c \major; s1 - \key f \major; s1 - \key bes \major; s1 - \key es \major; s1 - \key as \major; s1 - \key des \major; s1 - \key ges \major; s1 - \key c \major; s1*2 - \key c \major; s1*6 + \key g \major s1 + \key d \major s1 + \key a \major s1 + \key e \major s1 + \key b \major s1 + \key fis \major s1 + \key c \major s1 + \key f \major s1 + \key bes \major s1 + \key es \major s1 + \key as \major s1 + \key des \major s1 + \key ges \major s1 + \key c \major s1*2 + \key c \major s1*6 } \score{ diff --git a/input/test/clef-8-syntax.ly b/input/test/clef-8-syntax.ly index 7f6af2578c..15a9a75d0f 100644 --- a/input/test/clef-8-syntax.ly +++ b/input/test/clef-8-syntax.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { -\clef "bass_8"; c4 +\clef "bass_8" c4 } \paper { - linewidth=-1.0; + linewidth=-1.0 } \midi { } } diff --git a/input/test/coda-kludge.ly b/input/test/coda-kludge.ly index 9518c931bb..2239acad07 100644 --- a/input/test/coda-kludge.ly +++ b/input/test/coda-kludge.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % The volta texts should read: 1-4 and 5 % Not 1 and 2 % (see 1.2.17) @@ -55,4 +56,4 @@ Hi, } -%; +% diff --git a/input/test/collision-merge-dotted.ly b/input/test/collision-merge-dotted.ly index 2d53c3d00b..6fb616823c 100644 --- a/input/test/collision-merge-dotted.ly +++ b/input/test/collision-merge-dotted.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/coriolan-margin.ly b/input/test/coriolan-margin.ly index 39bf14ef69..6f5b0e20de 100644 --- a/input/test/coriolan-margin.ly +++ b/input/test/coriolan-margin.ly @@ -1,26 +1,27 @@ +\version "1.3.146" % Ugh, we need to override some LaTeX titling stuff \header { - title = "Ouvertüre\\vrule width0pt height 0pt depth 1ex"; - subtitle = "\\normalsize Zu Heinrich Joseph v. Collins Trauerspiel\\vrule width0pt height 0pt depth 1ex"; - subsubtitle = "\\Large\\bf Coriolan"; - opus = "Op. 62"; - piece = "\\hspace*{30mm}\\normalfont\\large Allegro con brio"; - composer = "Ludwig van Beethoven (1770-1827)"; - enteredby = "JCN"; + title = "Ouvertüre\\vrule width0pt height 0pt depth 1ex" + subtitle = "\\normalsize Zu Heinrich Joseph v. Collins Trauerspiel\\vrule width0pt height 0pt depth 1ex" + subsubtitle = "\\Large\\bf Coriolan" + opus = "Op. 62" + piece = "\\hspace*{30mm}\\normalfont\\large Allegro con brio" + composer = "Ludwig van Beethoven (1770-1827)" + enteredby = "JCN" } #(define raisedflat '((raise . 0.4) (music (named "accidentals--1")))) flauti = \notes \relative c' { \property Staff.instrument = #"2 Flauti" \property Staff.instr = #"Fl." - \time 4/4; + \time 4/4 c1 \break c % \break c % \break c - \bar"|."; + \bar"|." } oboi = \notes \relative c' { @@ -106,7 +107,7 @@ violoncello = \notes \relative c' { \context StaffGroup ="timpani" < \context Staff ="timpani" \timpani { - \skip 1; + \skip 1 % Hmm: this forces a staff-bracket, that's good! % However, I can't find where is decided on staff-bracket yes/no } @@ -122,8 +123,8 @@ violoncello = \notes \relative c' { > \paper { \paperSixteen - indent=100.0\mm; - linewidth=150.0\mm; + indent=100.0\mm + linewidth=150.0\mm \translator { \HaraKiriStaffContext } diff --git a/input/test/crescendi.ly b/input/test/crescendi.ly index ba7238f6e0..846fee7097 100644 --- a/input/test/crescendi.ly +++ b/input/test/crescendi.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes\relative c''{ @@ -11,6 +12,6 @@ a\< \!a \paper{ } \midi{ -\tempo 1 = 60; +\tempo 1 = 60 } } diff --git a/input/test/crescendo-text.ly b/input/test/crescendo-text.ly index fea7996def..9aa29f76ff 100644 --- a/input/test/crescendo-text.ly +++ b/input/test/crescendo-text.ly @@ -1,3 +1,4 @@ +\version "1.3.146" fragment = \notes { @@ -8,7 +9,7 @@ fragment = \notes { } } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/cue-notes.ly b/input/test/cue-notes.ly index 1694b42c08..d4cf5b5f3d 100644 --- a/input/test/cue-notes.ly +++ b/input/test/cue-notes.ly @@ -1,3 +1,4 @@ +\version "1.3.146" @@ -6,29 +7,29 @@ \paper { CueVoiceContext = \translator { \VoiceContext - \name CueVoice; + \name CueVoice NoteHead \override #'font-relative-size = #-1 Stem \override #'font-relative-size = #-1 Beam \override #'font-relative-size = #-1 TextScript \override #'font-relative-size = #-1 Slur \override #'font-relative-size = #-1 Accidentals \override #'font-relative-size = #-1 - }; + } \translator{ \CueVoiceContext } StaffContext = \translator{\StaffContext - \accepts "CueVoice"; - }; + \accepts "CueVoice" + } } \paper { StaffContext = \translator{ \StaffContext - \remove "Time_signature_engraver"; - }; + \remove "Time_signature_engraver" + } \translator { \StaffContext } \translator{ \VoiceContext - \remove "Auto_beam_engraver"; + \remove "Auto_beam_engraver" } \translator { \ScoreContext diff --git a/input/test/custos.ly b/input/test/custos.ly index 4de138736b..da22f529ce 100644 --- a/input/test/custos.ly +++ b/input/test/custos.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \score { \notes { c'1 \break < d'1 f' a'> } \paper {\translator { \StaffContext -\consists Custos_engraver; +\consists Custos_engraver }} } diff --git a/input/test/default-neutral-dir.ly b/input/test/default-neutral-dir.ly index 5aeb134b12..2bbfff601a 100644 --- a/input/test/default-neutral-dir.ly +++ b/input/test/default-neutral-dir.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header { texidoc = " The direction of a perfectly centred beams can be controlled through @code{Voice.Beam}'s grob-property @code{default-neutral-direction} -";} +"} -\paper { linewidth = -1.;} +\paper { linewidth = -1.} \score {\notes \relative c { [b''8 b] \property Voice.Beam \set #'default-neutral-direction = #-1 diff --git a/input/test/defaultbars.ly b/input/test/defaultbars.ly index 9bbc4502f5..b3af46fc60 100644 --- a/input/test/defaultbars.ly +++ b/input/test/defaultbars.ly @@ -1,3 +1,4 @@ +\version "1.3.146" diff --git a/input/test/different-time-signatures.ly b/input/test/different-time-signatures.ly index b4a04ae5e2..f665ead287 100644 --- a/input/test/different-time-signatures.ly +++ b/input/test/different-time-signatures.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % barline spacing disrupts visual rhythm. @@ -22,15 +23,15 @@ > \paper{ - linewidth = -1.0\cm; + linewidth = -1.0\cm \translator{ \ScoreContext BreakAlignment \override #'space-alist = #nbal - \remove Timing_engraver; + \remove Timing_engraver } \translator{ \StaffContext - \consists Timing_engraver; + \consists Timing_engraver } } } diff --git a/input/test/diverse-spacing.ly b/input/test/diverse-spacing.ly index eaed7652f6..070d7aa243 100644 --- a/input/test/diverse-spacing.ly +++ b/input/test/diverse-spacing.ly @@ -1,8 +1,9 @@ +\version "1.3.146" % a few 32nds shouldn't stretch spacing enormously. \score { -\notes { \time 3/4; +\notes { \time 3/4 \relative c'{ g'8. c16 es8. d16 c8. bes32 as g8. c,16 es4 r8 es | @@ -11,5 +12,5 @@ } } -\paper { linewidth = -1.0; } +\paper { linewidth = -1.0 } } diff --git a/input/test/drarn-slurs.ly b/input/test/drarn-slurs.ly index 663856a909..2dfb0c732d 100644 --- a/input/test/drarn-slurs.ly +++ b/input/test/drarn-slurs.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ texidoc=" Slurs can be forced to always attach to note heads. -"; +" } fragment = \notes { @@ -11,7 +12,7 @@ fragment = \notes { g''16()g()g()g()d'()d()d()d } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/drarn.ly b/input/test/drarn.ly index 8d16f8b420..f6ac17c183 100644 --- a/input/test/drarn.ly +++ b/input/test/drarn.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \score { \context Staff \notes < - \time 3/8; + \time 3/8 \context Voice=one \relative c'' { \property Voice.Stem \set #'direction = #1 \property Voice.Tie \set #'direction = #1 @@ -17,5 +18,5 @@ a8()a~a } > - \paper { linewidth = 40*\staffspace; } + \paper { linewidth = 40*\staffspace } } diff --git a/input/test/drums.ly b/input/test/drums.ly index ae4ac81487..4285d18bfb 100644 --- a/input/test/drums.ly +++ b/input/test/drums.ly @@ -2,9 +2,9 @@ % see ly/drumpitch.ly for list of instruments and paper-kits. % scm/midi.scm for list of midi-drumkits. -\include "drumpitch.ly"; +\include "drumpitch.ly" -\version "1.3.142" +\version "1.3.146" drh = \notes { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 } drl = \notes {\repeat "unfold" 3 {bd4 sn8 bd bd4 } bd8 tommh tommh bd toml toml bd tomfh16 tomfh } @@ -14,12 +14,12 @@ timb = \notes \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 < \context TwoLineStaff=timbst \notes < \property Staff.instrument="timbales" - \clef "percussion"; + \clef "percussion" \apply #(drums->paper 'timbales) \timb > \context Staff=drumst \notes < \property Staff.instrument="drums" - \clef "percussion"; + \clef "percussion" \apply #(drums->paper 'drums) < \context Voice=voa {\stemUp \drh } \context Voice=vob {\stemDown \drl } @@ -29,20 +29,20 @@ timb = \notes \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 \paper { \translator { \StaffContext - \consists Instrument_name_engraver; + \consists Instrument_name_engraver Script \override #'padding = #0.5 } \translator { \StaffContext - \name TwoLineStaff; - \alias Staff; - \consists Instrument_name_engraver; - StaffSymbol \override #'line-count = #2; - BarLine \override #'bar-size = #2; + \name TwoLineStaff + \alias Staff + \consists Instrument_name_engraver + StaffSymbol \override #'line-count = #2 + BarLine \override #'bar-size = #2 } \translator { \ScoreContext - \accepts TwoLineStaff; + \accepts TwoLineStaff } } } @@ -54,6 +54,6 @@ timb = \notes \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 \drh \drl > - \midi{ \tempo 4=120; } + \midi{ \tempo 4=120 } } diff --git a/input/test/dynamic-dir.ly b/input/test/dynamic-dir.ly index 8134fb9cbe..c637cb2253 100644 --- a/input/test/dynamic-dir.ly +++ b/input/test/dynamic-dir.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %non of the dynamics properties work anymore diff --git a/input/test/embedded-postscript.ly b/input/test/embedded-postscript.ly index 557c9ba403..fdc58b04c2 100644 --- a/input/test/embedded-postscript.ly +++ b/input/test/embedded-postscript.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header { texidoc = "By inserting the @TeX{} command \embeddedps, you can insert postscript directly into the output. TODO: make molecule-callback to do this. - "; + " } \score { @@ -14,5 +15,5 @@ TODO: make molecule-callback to do this. s2 a'1 } - \paper { linewidth = 70 * \staffspace; } + \paper { linewidth = 70 * \staffspace } } diff --git a/input/test/embedded-scm.ly b/input/test/embedded-scm.ly index 977b3adfce..58b327d7fc 100644 --- a/input/test/embedded-scm.ly +++ b/input/test/embedded-scm.ly @@ -1,3 +1,4 @@ +\version "1.3.146" #(begin (newline)(display "hello world")(newline))\score{ \notes\relative c'{ c } diff --git a/input/test/embedded-tex.ly b/input/test/embedded-tex.ly index 8a6e0465b6..6acd414dc1 100644 --- a/input/test/embedded-tex.ly +++ b/input/test/embedded-tex.ly @@ -1,10 +1,11 @@ +\version "1.3.146" fragment = \notes { a''^"3 $\\times$ \\`a deux" } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/equaliser.ly b/input/test/equaliser.ly index 68533109b8..6e7657fcba 100644 --- a/input/test/equaliser.ly +++ b/input/test/equaliser.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % % TODO: junkme. % @@ -109,7 +110,7 @@ violoncello = \notes \relative c' { \context StaffGroup ="timpani" < \context Staff ="timpani" \timpani { - \skip 1; + \skip 1 % Hmm: this forces a staff-bracket, that's good! % However, I can't find where is decided on staff-bracket yes/no } @@ -124,24 +125,24 @@ violoncello = \notes \relative c' { > > \header{ - title = "Coriolan"; - subtitle = "Ouverture"; - opus = "Opus 62"; - composer = "Ludwig van Beethoven (1770-1827)"; - enteredby = "JCN"; - copyright = "public domain"; + title = "Coriolan" + subtitle = "Ouverture" + opus = "Opus 62" + composer = "Ludwig van Beethoven (1770-1827)" + enteredby = "JCN" + copyright = "public domain" } \paper { \paperSixteen - indent=100.0\mm; - linewidth=150.0\mm; + indent=100.0\mm + linewidth=150.0\mm \translator { \HaraKiriStaffContext } } \midi { - \tempo 1 = 60; + \tempo 1 = 60 } } diff --git a/input/test/explicit.ly b/input/test/explicit.ly index 7757a93caa..4b42442650 100644 --- a/input/test/explicit.ly +++ b/input/test/explicit.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \header{ -texidoc="Explicit pitches and durations."; +texidoc="Explicit pitches and durations." } \score { \notes { diff --git a/input/test/extra-staff.ly b/input/test/extra-staff.ly index 83d986483c..be86a4b121 100644 --- a/input/test/extra-staff.ly +++ b/input/test/extra-staff.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ (Message vers:9) To: Adrian Mariano @@ -33,7 +34,7 @@ extra-staff.ly: } > \paper { - linewidth = -1.; + linewidth = -1. \translator{ \ScoreContext diff --git a/input/test/fake-grace.ly b/input/test/fake-grace.ly index cebfdf4fb2..de17c2aae1 100644 --- a/input/test/fake-grace.ly +++ b/input/test/fake-grace.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { % to see the magic: uncomment size stuff in init/paper20.ly diff --git a/input/test/figured-bass.ly b/input/test/figured-bass.ly index 0f6368114d..c087742691 100644 --- a/input/test/figured-bass.ly +++ b/input/test/figured-bass.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % Example of figured bass, using text scripts. % (An alternative is to use a lyrics line if you want the figures % aligned vertically.) @@ -14,7 +15,7 @@ \score{ \notes \relative c'{ - \clef bass; + \clef bass c^"5" d^#natural g,^"7 6" [a8 e] | fis4^"7 6" [g8 d] e4^"7 6" [f?8 c] | diff --git a/input/test/fill-a4.ly b/input/test/fill-a4.ly index 1d949a5146..f76f824279 100644 --- a/input/test/fill-a4.ly +++ b/input/test/fill-a4.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % % test file to get a4 paper really filled, @@ -9,17 +10,17 @@ % at a reasonably (small) value. -- jcn % \header{ -tagline="Ligly"; +tagline="Ligly" } -\include "paper13.ly"; +\include "paper13.ly" \score{ \context Voice \notes\relative c'{ - \clef alto; + \clef alto \repeat "unfold" 36 c1 } \paper{ \paperThirteen - indent = 0.0\mm; + indent = 0.0\mm % URG % Vertical space is rather precious when typesetting % music. But we can only set textheight here, and must @@ -27,9 +28,9 @@ tagline="Ligly"; % footers. If we want a header or footer on some page, % all other pages suffer shortened `textheight'. % Try the maximum for a4, without loosing footers: - textheight = 297.0\mm - 7.0\mm; - papersize = "a4"; - linewidth = 15.0\mm; + textheight = 297.0\mm - 7.0\mm + papersize = "a4" + linewidth = 15.0\mm \translator { \StaffContext MinimumVerticalExtent = #(cons 0 0) diff --git a/input/test/fingering.ly b/input/test/fingering.ly index 38095ef78b..eb238d59a0 100644 --- a/input/test/fingering.ly +++ b/input/test/fingering.ly @@ -1,3 +1,4 @@ +\version "1.3.146" @@ -5,4 +6,4 @@ \notes \context Voice = VA \relative c'' { \grace {[b8^1 c^2]} d4^3 } -\paper {linewidth = -1. ; }} +\paper {linewidth = -1. }} diff --git a/input/test/follow-thread.ly b/input/test/follow-thread.ly index 2771cb871b..aa9de31a8c 100644 --- a/input/test/follow-thread.ly +++ b/input/test/follow-thread.ly @@ -3,10 +3,10 @@ texidoc=" Theads can be traced automagically when they switch staffs by setting property @code{followVoice}. -"; +" } -\version "1.3.139" +\version "1.3.146" % followVoice: connect note heads with line when thread switches staff fragment = \notes { @@ -18,11 +18,11 @@ fragment = \notes { \translator Staff=two b2 a } - \context Staff=two {\clef bass; \skip 1*2;} + \context Staff=two {\clef bass \skip 1*2} > } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/font-body.ly b/input/test/font-body.ly index 157531acba..2907ad66b9 100644 --- a/input/test/font-body.ly +++ b/input/test/font-body.ly @@ -1,17 +1,18 @@ +\version "1.3.146" % body for the font test. Does not work standalone FontBody= \notes\transpose c''{ - \bar "|:"; - \time 4/4; + \bar "|:" + \time 4/4 \context Staff < \context Voice = VB { \stemUp e'\longa a\breve | } \context Voice = VA { \stemDown - c1 \clef "bass"; b,, \clef "violin"; c' a' - c2 \clef "alto"; g c' \clef "violin"; a' + c1 \clef "bass" b,, \clef "violin" c' a' + c2 \clef "alto" g c' \clef "violin" a' } > \stemBoth - c4 g c' a' \bar ":|"; + c4 g c' a' \bar ":|" a\ppp-\upbow a\pp-\downbow a\p^\turn a\mp^\fermata | a\mf_\fermata a\f-\stopped a\ff-\open a\fff^\trill| a\fp-\reverseturn a4.\sf a4.\sfz | a4\fz % a\rf @@ -19,13 +20,13 @@ FontBody= \notes\transpose c''{ [c8-\upprall a'8-\downprall] [a'-\segno c-\coda] | [c \< d e f] [as' ges' f' e'] [cis' dis' c' des'] [cisis' disis' \! ceses' deses'] | - \clef "bass"; + \clef "bass" r\longa * 1/4 r\breve *1/2 r1 r2 r4 r8 r16 r32 r64 r128 r128 | \context Staff < \context Voice = VA { \stemUp r2 c'2 c,,,1 } \context Voice = VB {\stemDown r2 c2 r1 }> \stemBoth - \clef "violin"; + \clef "violin" e8_. g'8-> e16^^ g'16_^ e32 _| g'32^| g''32-\ltoe g''32-\lheel e64-\rtoe g'64-\rheel c4... | @@ -38,7 +39,7 @@ c\longa*1/4 c\breve*1/2 c1 c2 c4 c8 \property Voice . noteHeadStyle = #'harmonic \transpose c'{ - \time 4/4; + \time 4/4 \property Voice . TextScript \override #'font-style = #'Finger \property Voice . noteHeadStyle = #'diamond c1^"1" d2^"2" e4^"3" @@ -52,17 +53,17 @@ c\longa*1/4 c\breve*1/2 c1 c2 c4 c8 a'^\flageolet \property Voice . TextScript \override #'font-style = #'roman - \time 1/2; a2 | - \time 3/2; < a1. + \time 1/2 a2 | + \time 3/2 < a1. { s4 \ppp \< s4 \! s4 \fff s4 \> s4 \! s4\ppp} > | - \time 2/4; a2 | - \time 5/4; a1.. | - \time 6/8; a2. | - \time 7/8; a2.. | - \time 9/8; a1... | - \time 12/8; a1. | - \time 12/4; + \time 2/4 a2 | + \time 5/4 a1.. | + \time 6/8 a2. | + \time 7/8 a2.. | + \time 9/8 a1... | + \time 12/8 a1. | + \time 12/4 r1. r2. r4. r8. r16. r32. r64. r64. | c2\sustainDown c\sustainUp | } diff --git a/input/test/font11.ly b/input/test/font11.ly index c978c0aa99..46a9b27ba3 100644 --- a/input/test/font11.ly +++ b/input/test/font11.ly @@ -1,12 +1,13 @@ +\version "1.3.146" \header{ -title= "The Feta Font"; -subtitle = "proofsheet"; -enteredby = "jcn & hwn"; -copyright = "public domain"; -description = "This file tests the Feta music font, 11pt"; -% "(Feta definitively is not an abbreviation of Font-En-TjA)"; +title= "The Feta Font" +subtitle = "proofsheet" +enteredby = "jcn & hwn" +copyright = "public domain" +description = "This file tests the Feta music font, 11pt" +% "(Feta definitively is not an abbreviation of Font-En-TjA)" } @@ -16,7 +17,7 @@ description = "This file tests the Feta music font, 11pt"; \FontBody \paper{ \paperEleven - linewidth = 17.5 \cm; + linewidth = 17.5 \cm } } diff --git a/input/test/font13.ly b/input/test/font13.ly index 47e38188f7..a01a0a959e 100644 --- a/input/test/font13.ly +++ b/input/test/font13.ly @@ -1,16 +1,17 @@ +\version "1.3.146" \header{ -title= "The Feta Font"; -subtitle = "proofsheet"; -enteredby = "jcn & hwn"; -copyright = "public domain"; -description = "This file tests the Feta music font, 11pt"; -% "(Feta definitively is not an abbreviation of Font-En-TjA)"; +title= "The Feta Font" +subtitle = "proofsheet" +enteredby = "jcn & hwn" +copyright = "public domain" +description = "This file tests the Feta music font, 11pt" +% "(Feta definitively is not an abbreviation of Font-En-TjA)" } \include "paper13.ly" \paper{ -linewidth = 17.5 \cm; +linewidth = 17.5 \cm } \include "font-body.ly" diff --git a/input/test/font16.ly b/input/test/font16.ly index 9ef98f46e4..cf204945e0 100644 --- a/input/test/font16.ly +++ b/input/test/font16.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header{ -title= "The Feta Font"; -subtitle = "proofsheet"; -enteredby = "jcn & hwn"; -copyright = "public domain"; -description = "This file tests the Feta music font"; -% "(Feta definitively is not an abbreviation of Font-En-TjA)"; +title= "The Feta Font" +subtitle = "proofsheet" +enteredby = "jcn & hwn" +copyright = "public domain" +description = "This file tests the Feta music font" +% "(Feta definitively is not an abbreviation of Font-En-TjA)" } @@ -13,6 +14,6 @@ description = "This file tests the Feta music font"; % don't change this. % otherwise 16pt and 20pt layouts differ. - linewidth = 12.5 \cm;} + linewidth = 12.5 \cm} \include "font-body.ly" diff --git a/input/test/font20.ly b/input/test/font20.ly index 7ee14b33d4..f3a46a2aae 100644 --- a/input/test/font20.ly +++ b/input/test/font20.ly @@ -1,15 +1,16 @@ +\version "1.3.146" \header{ -title= "The Feta font"; -subtitle = "proofsheet"; -enteredby = "jcn"; -copyright = "public domain"; -description = "This file tests the Feta music-font in the 20pt version"; +title= "The Feta font" +subtitle = "proofsheet" +enteredby = "jcn" +copyright = "public domain" +description = "This file tests the Feta music-font in the 20pt version" TestedFeatures = - "(Feta definitively is not an abbreviation of Font-En-TjA)"; + "(Feta definitively is not an abbreviation of Font-En-TjA)" } \paper{ - linewidth = 17.5 \cm; + linewidth = 17.5 \cm } \include "font-body.ly" diff --git a/input/test/font26.ly b/input/test/font26.ly index 69aaede984..783cd2cdad 100644 --- a/input/test/font26.ly +++ b/input/test/font26.ly @@ -1,17 +1,18 @@ +\version "1.3.146" \header{ -title= "The Feta Font"; -subtitle = "proofsheet"; -enteredby = "jcn & hwn"; -copyright = "public domain"; -description = "This file tests the Feta music font"; -% "(Feta definitively is not an abbreviation of Font-En-TjA)"; +title= "The Feta Font" +subtitle = "proofsheet" +enteredby = "jcn & hwn" +copyright = "public domain" +description = "This file tests the Feta music font" +% "(Feta definitively is not an abbreviation of Font-En-TjA)" } \include "paper26.ly" \paper{ - linewidth = 17.5 \cm; + linewidth = 17.5 \cm } diff --git a/input/test/force-hshift.ly b/input/test/force-hshift.ly index a70006b152..8557c48cb5 100644 --- a/input/test/force-hshift.ly +++ b/input/test/force-hshift.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { @@ -18,7 +19,7 @@ > } \paper { - linewidth=-1.0; + linewidth=-1.0 } \midi { } } diff --git a/input/test/gmsusd.ly b/input/test/gmsusd.ly index 06d5039630..a556c11de7 100644 --- a/input/test/gmsusd.ly +++ b/input/test/gmsusd.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % the Gm7sus4/D chord prints as Gm/4/7/D % it took me quite a while by experiment to work out how to enter it -- PC diff --git a/input/test/gourlay.ly b/input/test/gourlay.ly index bee50d8103..432a551158 100644 --- a/input/test/gourlay.ly +++ b/input/test/gourlay.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ @@ -12,7 +13,7 @@ This is taken from [Gourlay]'s paper on breaking lines \context Voice = VB { \stemDown g4 g g g | \times 2/3 { g2 g2 g2 } | g4. g8 g2 | c1 } > \paper{ - linewidth = 9.\cm; + linewidth = 9.\cm } } diff --git a/input/test/grace-end.ly b/input/test/grace-end.ly index 969e9cfbb6..8b138df062 100644 --- a/input/test/grace-end.ly +++ b/input/test/grace-end.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/hara-kiri-switch.ly b/input/test/hara-kiri-switch.ly index e14a6e3897..f687c765e2 100644 --- a/input/test/hara-kiri-switch.ly +++ b/input/test/hara-kiri-switch.ly @@ -1,3 +1,4 @@ +\version "1.3.146" voiceOne = \notes \relative c'' { @@ -41,11 +42,11 @@ grandstaff = \context GrandStaff = one < \score{ \grandstaff \paper{ - linewidth=80.0\mm; + linewidth=80.0\mm - \translator { \VoiceContext noAutoBeaming = ##t; } + \translator { \VoiceContext noAutoBeaming = ##t } \translator { \HaraKiriStaffContext } - \translator { \OrchestralScoreContext skipBars = 1; } + \translator { \OrchestralScoreContext skipBars = 1 } } } diff --git a/input/test/hara-kiri.ly b/input/test/hara-kiri.ly index 5799357740..978c98ff00 100644 --- a/input/test/hara-kiri.ly +++ b/input/test/hara-kiri.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \header { -texidoc = "Hara kiri staffs disappear when empty "; +texidoc = "Hara kiri staffs disappear when empty " } @@ -40,7 +41,7 @@ toeters = \context Staff = toeters < > zager = \context Staff = zager \notes \relative c'' { - \clef treble; + \clef treble \property Staff.instrument = #"Zager" \property Staff.instr = #"Zag." c4^"zag" d e f @@ -55,18 +56,18 @@ zager = \context Staff = zager \notes \relative c'' { } zoger = \context Staff = zoger \notes \relative c'' { - \clef treble; + \clef treble \property Staff.instrument = #"Zoger" \property Staff.instr = #"Zog." c4^"zog" d e f - \skip 1*2; + \skip 1*2 \translator Staff=zager \stemDown c2 g2 a4 b c d - \skip 1*1; + \skip 1*1 } zagers = \context GrandStaff < @@ -84,7 +85,7 @@ zagers = \context GrandStaff < > > \paper{ - linewidth = 80.0\mm; + linewidth = 80.0\mm \translator { \HaraKiriStaffContext } %uh? \translator { \OrchestralScoreContext } diff --git a/input/test/hshift.ly b/input/test/hshift.ly index 74b47f5439..8bbc1298e4 100644 --- a/input/test/hshift.ly +++ b/input/test/hshift.ly @@ -1,3 +1,4 @@ +\version "1.3.146" diff --git a/input/test/hymn.ly b/input/test/hymn.ly index 5cd0c36757..7b5cd4c216 100644 --- a/input/test/hymn.ly +++ b/input/test/hymn.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \score{ \context Staff < - \time 4/4; + \time 4/4 \context Voice=one \partcombine Voice \context Thread=one \notes\relative c'' { a4 c4.()g8 a4 | @@ -15,7 +16,7 @@ } > \paper{ - linewidth=140.\mm; + linewidth=140.\mm \translator { \VoiceContext soloADue = ##f diff --git a/input/test/improv.ly b/input/test/improv.ly index ff350187ec..a09105069f 100644 --- a/input/test/improv.ly +++ b/input/test/improv.ly @@ -1,8 +1,9 @@ +\version "1.3.146" improOn = \notes {\translator Voice = impro } improOff = \notes {\translator SquashVoice = melo } -global = \notes { s1*3 \bar "|."; } +global = \notes { s1*3 \bar "|." } \score { < @@ -19,28 +20,28 @@ global = \notes { s1*3 \bar "|."; } \paper { \translator { \VoiceContext - \name SquashVoice; - \alias Voice; - \consists Pitch_squash_engraver; - \consists Local_key_engraver; - squashedPosition = 6; + \name SquashVoice + \alias Voice + \consists Pitch_squash_engraver + \consists Local_key_engraver + squashedPosition = 6 NoteHead \override #'style = #'slash Accidentals \override #'transparent = ##t } \translator { \VoiceContext - \alias SquashVoice; - \consists Local_key_engraver; + \alias SquashVoice + \consists Local_key_engraver } \translator { \ScoreContext - \accepts SquashVoice; + \accepts SquashVoice } \translator { \StaffContext - \remove Local_key_engraver; - \accepts SquashVoice; + \remove Local_key_engraver + \accepts SquashVoice } - linewidth = -1; + linewidth = -1 } } diff --git a/input/test/incipit.ly b/input/test/incipit.ly index 61edcd7bfb..08193f588f 100644 --- a/input/test/incipit.ly +++ b/input/test/incipit.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ Test of how to make an ``incipit'' to indicate scordatora tuning of a violin part, using the clefStyle property. @@ -9,8 +10,8 @@ violinincipit = \notes\relative c''{ - \clef "french"; - \time 2/2; + \clef "french" + \time 2/2 \property Staff.TimeSignature \override #'style = #'old a4. b8 c4 fis | % @@ -18,7 +19,7 @@ violinincipit = \notes\relative c''{ } bcincipit = \notes\relative c{ - \clef bass; + \clef bass \property Staff.TimeSignature \override #'style = #'old b2. cis4 | \property Staff.TimeSignature \override #'style = #'C @@ -27,21 +28,21 @@ bcincipit = \notes\relative c{ violin = \notes\relative c''{ % Key signatures with different alterations in different octaves % are broken since 1.3.58! -% \specialkey \keysignature f' fis'' g' gis''; - \key d \major; - \time 2/2; - \clef treble; +% \specialkey \keysignature f' fis'' g' gis'' + \key d \major + \time 2/2 + \clef treble a4. b8 c4 fis | gis~ gis8 fis16^\trill ()e b8 c \context Staff<{\voiceOne a d}{\voiceTwo es,4}>| } BC = \notes\relative c{ - \key d \major; - \time 2/2; - \clef "bass"; + \key d \major + \time 2/2 + \clef "bass" - \key; + \key \default b2. cis4 | d e fis g | } @@ -50,14 +51,14 @@ BC = \notes\relative c{ < \context Staff = violin {\notes{ \property Staff.Clef \override #'transparent = ##t - \violinincipit \bar ".|"; + \violinincipit \bar ".|" \property Staff.Clef \revert #'transparent \endincipit \violin }} \context Staff = BC{\notes{ \property Staff.Clef \override #'transparent = ##t - \bcincipit \bar ".|"; + \bcincipit \bar ".|" \property Staff.Clef \revert #'transparent \endincipit \BC diff --git a/input/test/instrument-name-grandstaff.ly b/input/test/instrument-name-grandstaff.ly index b93302b285..3f7fce957f 100644 --- a/input/test/instrument-name-grandstaff.ly +++ b/input/test/instrument-name-grandstaff.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { @@ -10,9 +11,9 @@ \paper { -linewidth=-1.0; +linewidth=-1.0 \translator { \StaffContext - \consists "Instrument_name_engraver"; + \consists "Instrument_name_engraver" } -\translator { \GrandStaffContext \consists "Instrument_name_engraver"; } +\translator { \GrandStaffContext \consists "Instrument_name_engraver" } }} diff --git a/input/test/instrument-name-mmrest.ly b/input/test/instrument-name-mmrest.ly index 4cea19a177..a1c838c488 100644 --- a/input/test/instrument-name-mmrest.ly +++ b/input/test/instrument-name-mmrest.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ @@ -15,7 +16,7 @@ interesting bug in 1.3.98) > \paper { \translator { \StaffContext - \consists Instrument_name_engraver; + \consists Instrument_name_engraver } } diff --git a/input/test/instrument-name.ly b/input/test/instrument-name.ly index 35a363d705..cd648112a0 100644 --- a/input/test/instrument-name.ly +++ b/input/test/instrument-name.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { @@ -6,7 +7,7 @@ \property Staff.instrument = "instr " { c''4 }} \paper { -linewidth=-1.0; -\translator { \StaffContext \consists "Instrument_name_engraver"; } +linewidth=-1.0 +\translator { \StaffContext \consists "Instrument_name_engraver" } }} diff --git a/input/test/jazz-chords.ly b/input/test/jazz-chords.ly index 9ff4455d7f..f43805c9a3 100644 --- a/input/test/jazz-chords.ly +++ b/input/test/jazz-chords.ly @@ -1,3 +1,4 @@ +\version "1.3.146" diff --git a/input/test/key-clefs.ly b/input/test/key-clefs.ly index fc216de533..ce7489c1e0 100644 --- a/input/test/key-clefs.ly +++ b/input/test/key-clefs.ly @@ -1,24 +1,25 @@ +\version "1.3.146" \include "paper16.ly" \score { \notes \relative cis' { -% \clef french; % same as octaviated bass -\clef violin; -\key cis \major; cis1 \key ces \major; ces -\clef soprano; -\key cis \major; cis \key ces \major; ces -\clef mezzosoprano; -\key cis \major; cis \key ces \major; ces -\clef alto; -\key cis \major; cis \key ces \major; ces -\clef tenor; -\key cis \major; cis \key ces \major; ces -\clef baritone; -\key cis \major; cis \key ces \major; ces -\clef bass; -\key cis \major; cis \key ces \major; ces +% \clef french % same as octaviated bass +\clef violin +\key cis \major cis1 \key ces \major ces +\clef soprano +\key cis \major cis \key ces \major ces +\clef mezzosoprano +\key cis \major cis \key ces \major ces +\clef alto +\key cis \major cis \key ces \major ces +\clef tenor +\key cis \major cis \key ces \major ces +\clef baritone +\key cis \major cis \key ces \major ces +\clef bass +\key cis \major cis \key ces \major ces } \paper{\paperSixteen} diff --git a/input/test/keys2.ly b/input/test/keys2.ly index b28b04f643..b25cb5f625 100644 --- a/input/test/keys2.ly +++ b/input/test/keys2.ly @@ -1,3 +1,4 @@ +\version "1.3.146" diff --git a/input/test/knee-mult.ly b/input/test/knee-mult.ly index 8c3c320b3a..ed2c402a4a 100644 --- a/input/test/knee-mult.ly +++ b/input/test/knee-mult.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \score{ \context PianoStaff < \context Staff=one \notes\relative c'{ s1 } \context Staff=two \notes\relative c'{ - \clef bass; + \clef bass % no knee \stemUp [c8 \translator Staff=one \stemDown g'16 f] s8 @@ -12,7 +13,7 @@ } > \paper{ - linewidth=-1.; + linewidth=-1. } } diff --git a/input/test/knee.ly b/input/test/knee.ly index 453f005050..8ab530b85d 100644 --- a/input/test/knee.ly +++ b/input/test/knee.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes\relative c'{ diff --git a/input/test/lines.ly b/input/test/lines.ly index 31bead8aed..c621dfbf4e 100644 --- a/input/test/lines.ly +++ b/input/test/lines.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header { texidoc=" Draw abritrary lines. This brings LilyPond on par with Mup. -"; +" } \score { @@ -17,6 +18,6 @@ Draw abritrary lines. This brings LilyPond on par with Mup. a'1 } \paper { - linewidth = 70.0*\staffspace; + linewidth = 70.0*\staffspace } } diff --git a/input/test/ly2dvi-testpage.ly b/input/test/ly2dvi-testpage.ly index 5efd3b6371..51ae62aa99 100644 --- a/input/test/ly2dvi-testpage.ly +++ b/input/test/ly2dvi-testpage.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ @@ -5,16 +6,16 @@ %} \header { -copyright = "copyright"; -title = "title"; -subtitle = "subtitle"; -composer = "composer"; -arranger = "arranger"; -instrument = "instrument"; -metre = "metre"; -opus = "opus"; -piece = "piece"; -poet = "poet"; +copyright = "copyright" +title = "title" +subtitle = "subtitle" +composer = "composer" +arranger = "arranger" +instrument = "instrument" +metre = "metre" +opus = "opus" +piece = "piece" +poet = "poet" } @@ -27,15 +28,15 @@ poet = "poet"; \header { - title = "localtitle"; - subtitle = "localsubtitle"; - composer = "localcomposer"; - arranger = "localarranger"; - instrument = "localinstrument"; - metre = "localmetre"; - opus = "localopus"; - piece = "localpiece"; - poet = "localpoet"; - copyright = "localcopyright"; + title = "localtitle" + subtitle = "localsubtitle" + composer = "localcomposer" + arranger = "localarranger" + instrument = "localinstrument" + metre = "localmetre" + opus = "localopus" + piece = "localpiece" + poet = "localpoet" + copyright = "localcopyright" } } diff --git a/input/test/lyric-extender.ly b/input/test/lyric-extender.ly index 64cfcb97aa..0048f45278 100644 --- a/input/test/lyric-extender.ly +++ b/input/test/lyric-extender.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ < \context Staff \notes { c () c () c c } diff --git a/input/test/lyric-hyphen.ly b/input/test/lyric-hyphen.ly index 91132c11f7..569786f707 100644 --- a/input/test/lyric-hyphen.ly +++ b/input/test/lyric-hyphen.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ < \context Staff \notes { c' () c' () c' c' } diff --git a/input/test/lyric-phrasing.ly b/input/test/lyric-phrasing.ly index a9dbba6b41..4a54d5dfc6 100644 --- a/input/test/lyric-phrasing.ly +++ b/input/test/lyric-phrasing.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header{ -filename = "twinkle-pop.ly"; -xtitle = "Ah, vous dirais-je, maman "; -description = "twinkle twinkle in pop-song-settings"; -composer = "traditional"; -enteredby = "HWN, chords by Johan Vromans"; -copyright = "public domain"; +filename = "twinkle-pop.ly" +xtitle = "Ah, vous dirais-je, maman " +description = "twinkle twinkle in pop-song-settings" +composer = "traditional" +enteredby = "HWN, chords by Johan Vromans" +copyright = "public domain" } @@ -19,8 +20,8 @@ m = \notes \relative c'' { b c d e } textI = \lyrics { la4 __ la -- la I, la dargh la dargh. } -textII = \lyrics { dar -- dargh __ dargh dargh; dargh la dargh loo. } -textIII = \lyrics { la -- da __ doo dah; dargh la dargh loo. } +textII = \lyrics { dar -- dargh __ dargh dargh dargh la dargh loo. } +textIII = \lyrics { la -- da __ doo dah dargh la dargh loo. } \score { diff --git a/input/test/lyrics.ly b/input/test/lyrics.ly index e19086252c..0129a9411e 100644 --- a/input/test/lyrics.ly +++ b/input/test/lyrics.ly @@ -1,3 +1,4 @@ +\version "1.3.146" somewhatLong = \lyrics{ diff --git a/input/test/manual-clef.ly b/input/test/manual-clef.ly index 994937d6ec..e98494de37 100644 --- a/input/test/manual-clef.ly +++ b/input/test/manual-clef.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ @@ -20,7 +21,7 @@ Test clef engraver by setting \property directly. \clef is merely a front-end t \property Staff.clefOctavation = #0 \property Staff.clefPosition = #0 c'4 - \clef "bla"; + \clef "bla" c'4 }} diff --git a/input/test/manual-volta.ly b/input/test/manual-volta.ly index a00d2e2fcf..ecb3ad4186 100644 --- a/input/test/manual-volta.ly +++ b/input/test/manual-volta.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \notes { diff --git a/input/test/mark.ly b/input/test/mark.ly index 27093fb019..b8fc906198 100644 --- a/input/test/mark.ly +++ b/input/test/mark.ly @@ -1,13 +1,14 @@ +\version "1.3.146" global = \notes { - s1 | \mark "A"; - s1 | \mark ; - s1 | \mark ; - s1 | \mark "12"; - s1 | \mark ; - s1 | \mark "A2"; - s1 | \mark #'(music "scripts-segno") ; + s1 | \mark "A" + s1 | \mark \default + s1 | \mark \default + s1 | \mark "12" + s1 | \mark \default + s1 | \mark "A2" + s1 | \mark #'(music "scripts-segno") s1 } diff --git a/input/test/markup.ly b/input/test/markup.ly index b1436200d8..ab20df7781 100644 --- a/input/test/markup.ly +++ b/input/test/markup.ly @@ -1,3 +1,4 @@ +\version "1.3.146" @@ -27,7 +28,7 @@ e-#'(((baselineskip . 0) (kern . 1.5) lines) "Violoncello" " e" "Contrabasso") } \paper{ - linewidth = -1.\mm; + linewidth = -1.\mm \translator{ \ScoreContext TextScript \override #'font-family = #'roman diff --git a/input/test/maximum-rest-count.ly b/input/test/maximum-rest-count.ly index 0a2b392414..691fa25c09 100644 --- a/input/test/maximum-rest-count.ly +++ b/input/test/maximum-rest-count.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \context Staff \notes\relative c''< @@ -35,6 +36,6 @@ \paper{ } \midi{ -\tempo 1 = 60; +\tempo 1 = 60 } } diff --git a/input/test/memory.ly b/input/test/memory.ly index 3760d4364e..d288ae6233 100644 --- a/input/test/memory.ly +++ b/input/test/memory.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ do a memory stress test. %} @@ -9,7 +10,7 @@ bla = \notes { \score { \context Score < \bla \bla \bla \bla \bla \bla \bla > - \paper { Gourlay_maxmeaures = 2.; } + \paper { Gourlay_maxmeaures = 2. } } diff --git a/input/test/metronome.ly b/input/test/metronome.ly index d712999f77..d20eb577c6 100644 --- a/input/test/metronome.ly +++ b/input/test/metronome.ly @@ -1,3 +1,4 @@ +\version "1.3.146" @@ -21,7 +22,7 @@ a1^#`((rows (font-relative-size . -1)) ,dotted-eight-note " = 64") } \paper { - linewidth = -1.; + linewidth = -1. \translator{ \ScoreContext TextScript \override #'font-shape = #'upright diff --git a/input/test/mmrest-collision.ly b/input/test/mmrest-collision.ly index 0fd96e72e8..395cafadd5 100644 --- a/input/test/mmrest-collision.ly +++ b/input/test/mmrest-collision.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Staff \notes < @@ -13,13 +14,13 @@ \paper { \translator { \StaffContext - \remove Multi_measure_rest_engraver; - \remove Bar_engraver; + \remove Multi_measure_rest_engraver + \remove Bar_engraver } \translator { \VoiceContext - \consists Multi_measure_rest_engraver; - \consists Bar_engraver; + \consists Multi_measure_rest_engraver + \consists Bar_engraver } } } diff --git a/input/test/monstrous.ly b/input/test/monstrous.ly index 1257d62b40..91cc1d90ad 100644 --- a/input/test/monstrous.ly +++ b/input/test/monstrous.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %% Chord gurus, is this ok now?? @@ -18,6 +19,6 @@ monstrous= \chords{ \context Staff \monstrous > \paper{ - linelength=-1.0\mm; + linelength=-1.0\mm } } diff --git a/input/test/move-mark.ly b/input/test/move-mark.ly index 695be4a214..ca8ea2f3b9 100644 --- a/input/test/move-mark.ly +++ b/input/test/move-mark.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \context Staff \notes\relative c''{ @@ -6,16 +7,16 @@ \outputproperty #(make-type-checker 'Mark) #'extra-offset = #'(-1 . 4) } - \mark A; + \mark A d - \mark ; + \mark \default e } \paper{ - linewidth=-1.0; + linewidth=-1.0 \translator { \ScoreContext - \consists "Mark_engraver"; + \consists "Mark_engraver" } } } diff --git a/input/test/move-notehead.ly b/input/test/move-notehead.ly index 87deb18689..74e5cfcdd2 100644 --- a/input/test/move-notehead.ly +++ b/input/test/move-notehead.ly @@ -1,3 +1,4 @@ +\version "1.3.146" fragment = \notes { @@ -6,7 +7,7 @@ fragment = \notes { c''2 c } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/move-specific-text.ly b/input/test/move-specific-text.ly index 2fe4a71523..80b4256bb4 100644 --- a/input/test/move-specific-text.ly +++ b/input/test/move-specific-text.ly @@ -1,3 +1,4 @@ +\version "1.3.146" #(define (make-text-checker text) (lambda (grob) (equal? text (ly-get-grob-property grob 'text)))) @@ -9,5 +10,5 @@ #'extra-offset = #'(-3.5 . -4.5) a^2^"m.d." } - \paper { linewidth = -1.; } + \paper { linewidth = -1. } } diff --git a/input/test/multi-slope.ly b/input/test/multi-slope.ly index ab3dcecb73..d2bab8c80b 100644 --- a/input/test/multi-slope.ly +++ b/input/test/multi-slope.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/music-creation.ly b/input/test/music-creation.ly index cc58b96b82..51a8717aff 100644 --- a/input/test/music-creation.ly +++ b/input/test/music-creation.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header { texidoc = "You can create music expressions from Scheme. The - mechanism for this is rather clumsy to use, so avoid if possible."; + mechanism for this is rather clumsy to use, so avoid if possible." } diff --git a/input/test/nested-groups.ly b/input/test/nested-groups.ly index 07858bbbf5..69e289a477 100644 --- a/input/test/nested-groups.ly +++ b/input/test/nested-groups.ly @@ -1,15 +1,15 @@ \header{ texidoc=" In InnerStaffGroup and InnerChoirStaff, the brackets should be shiftet leftwards. -"; -filename = "nested-groups.ly"; -description = "Test of nested staff groups and choirstaffs"; -enteredby = "RZ"; -copyright = "public domain"; -Tested = "Nested StaffGroups"; +" +filename = "nested-groups.ly" +description = "Test of nested staff groups and choirstaffs" +enteredby = "RZ" +copyright = "public domain" +Tested = "Nested StaffGroups" } -\version "1.3.140" % rz1 +\version "1.3.146" % rz1 \score { \notes < @@ -42,5 +42,5 @@ Tested = "Nested StaffGroups"; > - \paper { linewidth = -1; } + \paper { linewidth = -1 } } diff --git a/input/test/no-bar-lines.ly b/input/test/no-bar-lines.ly index 1cd7f3cba5..a35f772700 100644 --- a/input/test/no-bar-lines.ly +++ b/input/test/no-bar-lines.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \notes \relative c'' { @@ -5,11 +6,11 @@ d c b a } \paper { - linewidth = -1.; + linewidth = -1. \translator { \StaffContext whichBar = #"" - \remove "Time_signature_engraver"; + \remove "Time_signature_engraver" } } } diff --git a/input/test/no-staff.ly b/input/test/no-staff.ly index 5385aa24d1..d6a0185b00 100644 --- a/input/test/no-staff.ly +++ b/input/test/no-staff.ly @@ -1,13 +1,14 @@ +\version "1.3.146" \score { \notes { c4 c4 c8 c8 } \paper { - linewidth = -1.; + linewidth = -1. \translator { \StaffContext - \remove Staff_symbol_engraver; - \consists Pitch_squash_engraver; - \remove Clef_engraver; + \remove Staff_symbol_engraver + \consists Pitch_squash_engraver + \remove Clef_engraver } } } diff --git a/input/test/no-stem-extend.ly b/input/test/no-stem-extend.ly index 36966f2d51..51fcba0af3 100644 --- a/input/test/no-stem-extend.ly +++ b/input/test/no-stem-extend.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/note-chords.ly b/input/test/note-chords.ly index 662c235ced..a19cff09dc 100644 --- a/input/test/note-chords.ly +++ b/input/test/note-chords.ly @@ -1,3 +1,4 @@ +\version "1.3.146" scheme = \notes { @@ -10,5 +11,5 @@ scheme = \notes { \context ChordNamesVoice \scheme \context Staff \scheme > - \paper { linewidth = -1.; } + \paper { linewidth = -1. } } diff --git a/input/test/note-shift.ly b/input/test/note-shift.ly index 49a0a04db1..a9b2fc9e8d 100644 --- a/input/test/note-shift.ly +++ b/input/test/note-shift.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { @@ -27,7 +28,7 @@ } \paper { - linewidth=-1.0; + linewidth=-1.0 } \midi { } } diff --git a/input/test/notemode-chords.ly b/input/test/notemode-chords.ly index 62136719ca..ee51bc2979 100644 --- a/input/test/notemode-chords.ly +++ b/input/test/notemode-chords.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \score{ \notes \transpose c''{ % 1.1.53: @x@ syntax dropped -% if you want fingering, write chord explicitily; eg < c1-1 e-2 g-3 > +% if you want fingering, write chord explicitily eg < c1-1 e-2 g-3 > % @c1@ @c-7@ @c-7^5@-1-3 \chords { c1 c:7 c:7^5 } } diff --git a/input/test/orchestalpart.ly b/input/test/orchestalpart.ly index 139765cc7e..044d9f7072 100644 --- a/input/test/orchestalpart.ly +++ b/input/test/orchestalpart.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score diff --git a/input/test/orchestscore.ly b/input/test/orchestscore.ly index 5e372200ae..e4ce479f13 100644 --- a/input/test/orchestscore.ly +++ b/input/test/orchestscore.ly @@ -1,5 +1,6 @@ +\version "1.3.146" \header{ - latexpackages="graphicx"; + latexpackages="graphicx" } @@ -96,9 +97,9 @@ c1 | c2 c | c c | R1*5 > > \paper { -% \paperSixteen; - linewidth = 185.\mm; - textheight = 260.\mm; +% \paperSixteen + linewidth = 185.\mm + textheight = 260.\mm \translator { \OrchestralScoreContext skipBars = ##t diff --git a/input/test/ossia.ly b/input/test/ossia.ly index 2ce3d45a45..4ceec25d70 100644 --- a/input/test/ossia.ly +++ b/input/test/ossia.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \score { -\notes { c1 c1 < {\clef "treble"; c1 c1 } \context Staff=stb{ c1 c1}>} +\notes { c1 c1 < {\clef "treble" c1 c1 } \context Staff=stb{ c1 c1}>} } diff --git a/input/test/ottava.ly b/input/test/ottava.ly index 590bd730a8..f9f14670b8 100644 --- a/input/test/ottava.ly +++ b/input/test/ottava.ly @@ -1,3 +1,4 @@ +\version "1.3.146" fragment = \notes { @@ -9,7 +10,7 @@ fragment = \notes { a\spanrequest \start "text" b c a \spanrequest \stop "text" } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/part-combine-moments.ly b/input/test/part-combine-moments.ly index f4eab06289..d0834790b1 100644 --- a/input/test/part-combine-moments.ly +++ b/input/test/part-combine-moments.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \score{ \context PianoStaff < - \context StaffCombineStaff=one \skip 1*2; - \context StaffCombineStaff=two \skip 1*2; + \context StaffCombineStaff=one \skip 1*2 + \context StaffCombineStaff=two \skip 1*2 \context StaffCombineStaff=one \partcombine StaffCombineStaff \context StaffCombineVoice=one \notes\relative c'' { @@ -17,8 +18,8 @@ > \paper { - textheight = 295.0\mm; - linewidth = 180.0\mm; + textheight = 295.0\mm + linewidth = 180.0\mm \translator{ \HaraKiriStaffContext } % @@ -26,22 +27,22 @@ % \translator{ \ThreadContext - \name "VoiceCombineThread"; - \consists "Rest_engraver"; + \name "VoiceCombineThread" + \consists "Rest_engraver" } \translator{ \VoiceContext - \name "VoiceCombineVoice"; + \name "VoiceCombineVoice" soloText = #"I." soloIIText = #"II." - \remove "Rest_engraver"; - \accepts "VoiceCombineThread"; + \remove "Rest_engraver" + \accepts "VoiceCombineThread" } \translator{ \HaraKiriStaffContext - \consists "Mark_engraver"; - \name "VoiceCombineStaff"; - \accepts "VoiceCombineVoice"; + \consists "Mark_engraver" + \name "VoiceCombineStaff" + \accepts "VoiceCombineVoice" } % @@ -49,18 +50,18 @@ % \translator{ \ThreadContext - \name "StaffCombineThread"; + \name "StaffCombineThread" } \translator{ \VoiceContext - \name "StaffCombineVoice"; - \accepts "StaffCombineThread"; - \consists "Thread_devnull_engraver"; + \name "StaffCombineVoice" + \accepts "StaffCombineThread" + \consists "Thread_devnull_engraver" } \translator { \HaraKiriStaffContext - \name "StaffCombineStaff"; - \accepts "StaffCombineVoice"; + \name "StaffCombineStaff" + \accepts "StaffCombineVoice" soloADue = ##t soloText = #"" @@ -72,15 +73,15 @@ } \translator { \StaffGroupContext - \accepts "VoiceCombineStaff"; - \accepts "StaffCombineStaff"; + \accepts "VoiceCombineStaff" + \accepts "StaffCombineStaff" } \translator{ \HaraKiriStaffContext } \translator { \ScoreContext - \accepts "VoiceCombineStaff"; - \accepts "StaffCombineStaff"; + \accepts "VoiceCombineStaff" + \accepts "StaffCombineStaff" skipBars = ##t barScriptPadding = #2.0 % dimension \pt diff --git a/input/test/part-combine-score.ly b/input/test/part-combine-score.ly index 551357882e..ca51a9ea66 100644 --- a/input/test/part-combine-score.ly +++ b/input/test/part-combine-score.ly @@ -1,14 +1,15 @@ +\version "1.3.146" \header { -texidoc="Template for part-combining orchestral scores"; +texidoc="Template for part-combining orchestral scores" } -\include "paper16.ly"; -% \include "mutopia/Coriolan/coriolan-paper.ly"; +\include "paper16.ly" +% \include "mutopia/Coriolan/coriolan-paper.ly" #(define text-flat '((font-relative-size . -2 ) (music "accidentals--1"))) -End = { \skip 1*9; \bar "|."; } +End = { \skip 1*9 \bar "|." } flautoI = \notes\relative c'' { c4\pp d e f @@ -97,7 +98,7 @@ violinoIStaff = \context Staff = oneViolini < violinoIIStaff = \context Staff = twoViolini < % MIDI hoort geeneens verschil tussen een - % eerste en tweede viool ;-) + % eerste en tweede viool -) \property Staff.midiInstrument = #"violin" \property Staff.instrument = #"Violino II" \property Staff.instr = #"Vl. II" @@ -113,11 +114,11 @@ violeGroup = \notes \context VoiceCombineStaff = oneViole < \property VoiceCombineStaff.midiInstrument = #"viola" \property VoiceCombineStaff.instrument = #"Viola" \property VoiceCombineStaff.instr = #"Vla." - %\clef "alto"; + %\clef "alto" % Ugh, clef broken in 1.3.125 \property VoiceCombineStaff.clefGlyph = #"clefs-C" \property VoiceCombineStaff.clefPosition = #0 - \key f \major; + \key f \major \End \context VoiceCombineVoice=oneViole \partcombine VoiceCombineVoice @@ -152,12 +153,12 @@ bassiGroup = \context PianoStaff = bassi_group \notes < \property StaffCombineStaff.instr = #"Vc." - %\clef "bass"; + %\clef "bass" % Ugh, clef broken in 1.3.125 \property StaffCombineStaff.clefGlyph = #"clefs-F" \property StaffCombineStaff.clefPosition = #2 - \key es \major; + \key es \major \End } \context StaffCombineStaff=twoBassi { @@ -165,12 +166,12 @@ bassiGroup = \context PianoStaff = bassi_group \notes < \property StaffCombineStaff.instrument = #"Contrabasso" \property StaffCombineStaff.instr = #"Cb." - %\clef "bass"; + %\clef "bass" % Ugh, clef broken in 1.3.125 \property StaffCombineStaff.clefGlyph = #"clefs-F" \property StaffCombineStaff.clefPosition = #2 - \key as \major; + \key as \major \End } @@ -200,20 +201,20 @@ archiGroup = \context StaffGroup = archi_group < \archiGroup > \header { - title = "Coriolan"; - subtitle = "Ouverture"; - opus = "Opus 62"; - composer = "Ludwig van Beethoven (1770-1827)"; - enteredby = "JCN"; - copyright = "public domain"; + title = "Coriolan" + subtitle = "Ouverture" + opus = "Opus 62" + composer = "Ludwig van Beethoven (1770-1827)" + enteredby = "JCN" + copyright = "public domain" } \paper{ \paperSixteen - %textheight = 290.0\mm; - %linewidth = 195.0\mm; - textheight = 285.0\mm; - linewidth = 190.0\mm; + %textheight = 290.0\mm + %linewidth = 195.0\mm + textheight = 285.0\mm + linewidth = 190.0\mm \translator{ \HaraKiriStaffContext } % @@ -221,22 +222,22 @@ archiGroup = \context StaffGroup = archi_group < % \translator{ \ThreadContext - \name "VoiceCombineThread"; - \consists "Rest_engraver"; + \name "VoiceCombineThread" + \consists "Rest_engraver" } \translator{ \VoiceContext - \name "VoiceCombineVoice"; + \name "VoiceCombineVoice" soloText = #"I." soloIIText = #"II." - \remove "Rest_engraver"; - \accepts "VoiceCombineThread"; + \remove "Rest_engraver" + \accepts "VoiceCombineThread" } \translator{ \HaraKiriStaffContext - \consists "Mark_engraver"; - \name "VoiceCombineStaff"; - \accepts "VoiceCombineVoice"; + \consists "Mark_engraver" + \name "VoiceCombineStaff" + \accepts "VoiceCombineVoice" } % @@ -244,18 +245,18 @@ archiGroup = \context StaffGroup = archi_group < % \translator{ \ThreadContext - \name "StaffCombineThread"; + \name "StaffCombineThread" } \translator{ \VoiceContext - \name "StaffCombineVoice"; - \accepts "StaffCombineThread"; - \consists "Thread_devnull_engraver"; + \name "StaffCombineVoice" + \accepts "StaffCombineThread" + \consists "Thread_devnull_engraver" } \translator { \HaraKiriStaffContext - \name "StaffCombineStaff"; - \accepts "StaffCombineVoice"; + \name "StaffCombineStaff" + \accepts "StaffCombineVoice" soloADue = ##t soloText = #"" @@ -268,16 +269,16 @@ archiGroup = \context StaffGroup = archi_group < } \translator { \StaffGroupContext - \accepts "VoiceCombineStaff"; - \accepts "StaffCombineStaff"; + \accepts "VoiceCombineStaff" + \accepts "StaffCombineStaff" } \translator{ \HaraKiriStaffContext } \translator { %\ScoreContext \OrchestralScoreContext - \accepts "VoiceCombineStaff"; - \accepts "StaffCombineStaff"; + \accepts "VoiceCombineStaff" + \accepts "StaffCombineStaff" TimeSignature \override #'style = #'C skipBars = ##t BarNumber \override #'padding = #3 diff --git a/input/test/part-combine-staff.ly b/input/test/part-combine-staff.ly index 728df55c17..168d5f0d04 100644 --- a/input/test/part-combine-staff.ly +++ b/input/test/part-combine-staff.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \score{ \context PianoStaff < - \context StaffCombineStaff=one \skip 1*7; - \context StaffCombineStaff=two \skip 1*7; + \context StaffCombineStaff=one \skip 1*7 + \context StaffCombineStaff=two \skip 1*7 \context StaffCombineStaff=one \partcombine StaffCombineStaff \context StaffCombineVoice=one \notes\relative c'' { @@ -27,8 +28,8 @@ > \paper { - textheight = 295.0\mm; - linewidth = 180.0\mm; + textheight = 295.0\mm + linewidth = 180.0\mm \translator{ \HaraKiriStaffContext } % @@ -36,22 +37,22 @@ % \translator{ \ThreadContext - \name "VoiceCombineThread"; - \consists "Rest_engraver"; + \name "VoiceCombineThread" + \consists "Rest_engraver" } \translator{ \VoiceContext - \name "VoiceCombineVoice"; + \name "VoiceCombineVoice" soloText = #"I." soloIIText = #"II." - \remove "Rest_engraver"; - \accepts "VoiceCombineThread"; + \remove "Rest_engraver" + \accepts "VoiceCombineThread" } \translator{ \HaraKiriStaffContext - \consists "Mark_engraver"; - \name "VoiceCombineStaff"; - \accepts "VoiceCombineVoice"; + \consists "Mark_engraver" + \name "VoiceCombineStaff" + \accepts "VoiceCombineVoice" } % @@ -59,18 +60,18 @@ % \translator{ \ThreadContext - \name "StaffCombineThread"; + \name "StaffCombineThread" } \translator{ \VoiceContext - \name "StaffCombineVoice"; - \accepts "StaffCombineThread"; - \consists "Thread_devnull_engraver"; + \name "StaffCombineVoice" + \accepts "StaffCombineThread" + \consists "Thread_devnull_engraver" } \translator { \HaraKiriStaffContext - \name "StaffCombineStaff"; - \accepts "StaffCombineVoice"; + \name "StaffCombineStaff" + \accepts "StaffCombineVoice" soloADue = ##t soloText = #"" @@ -82,15 +83,15 @@ } \translator { \StaffGroupContext - \accepts "VoiceCombineStaff"; - \accepts "StaffCombineStaff"; + \accepts "VoiceCombineStaff" + \accepts "StaffCombineStaff" } \translator{ \HaraKiriStaffContext } \translator { \ScoreContext - \accepts "VoiceCombineStaff"; - \accepts "StaffCombineStaff"; + \accepts "VoiceCombineStaff" + \accepts "StaffCombineStaff" skipBars = ##t barScriptPadding = #2.0 % dimension \pt diff --git a/input/test/part-combine.ly b/input/test/part-combine.ly index 3e04e524b3..98ab7f1221 100644 --- a/input/test/part-combine.ly +++ b/input/test/part-combine.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header{ texidoc=" @@ -5,12 +6,12 @@ In orchestral scores and hymns, voices are traditionally combined onto one staff. LilyPond has a part combiner, that combines or separates two voices according to actual rhythm and pitch. User-defined texts such as ``solo'' and ``@`a2'' are typeset automagically, as appropriate. -"; +" } \score{ \context Staff = flauti < - \time 4/4; + \time 4/4 \context Voice=one \partcombine Voice \context Thread=one \notes\relative c'' { c4 d e f | b,4 d c d | r2 e4 f | c4 d e f | @@ -24,14 +25,14 @@ voices according to actual rhythm and pitch. User-defined texts such as } > \paper{ - linewidth = 80 * \staffspace; + linewidth = 80 * \staffspace \translator{ \ThreadContext - \consists Rest_engraver; + \consists Rest_engraver } \translator{ \VoiceContext - \remove Rest_engraver; + \remove Rest_engraver } } } diff --git a/input/test/partial-blank.ly b/input/test/partial-blank.ly index 9b15bde29d..f986a9bbd0 100644 --- a/input/test/partial-blank.ly +++ b/input/test/partial-blank.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ When entering half music (I.e. for students to complete by hand) you need the spacing to correspond to the timing - all measures same length, etc. @@ -13,7 +14,7 @@ mel = \notes \relative c' {c16 d16 e8 a4 g2 e8 d c2. g'1 e4 d c2} \score { \context PianoStaff \notes < \context Staff = v < - \clef G; + \clef G \context Voice=melo {\mel} \context Voice=invisible { \property Voice.NoteHead \override #'transparent = ##t @@ -22,7 +23,7 @@ mel = \notes \relative c' {c16 d16 e8 a4 g2 e8 d c2. g'1 e4 d c2} \repeat unfold 4 \quickmeasure } > - \context Staff = empty \notes {\clef F; s1*4} + \context Staff = empty \notes {\clef F s1*4} > \paper {} } diff --git a/input/test/pedal.ly b/input/test/pedal.ly index 490ecbfd86..3b21563bbc 100644 --- a/input/test/pedal.ly +++ b/input/test/pedal.ly @@ -1,5 +1,6 @@ +\version "1.3.146" \header{ -texidoc = "Piano pedal symbols merge stop and start. The strings are configurable. "; +texidoc = "Piano pedal symbols merge stop and start. The strings are configurable. " } @@ -17,6 +18,6 @@ c, \sustainUp\sustainDown d e f \paper{ } \midi{ -\tempo 4 = 60; +\tempo 4 = 60 } } diff --git a/input/test/perform-grace.ly b/input/test/perform-grace.ly index 518661f9d1..aa679ad0ee 100644 --- a/input/test/perform-grace.ly +++ b/input/test/perform-grace.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/perform-tie.ly b/input/test/perform-tie.ly index 4b68eeee6a..be0b5fc672 100644 --- a/input/test/perform-tie.ly +++ b/input/test/perform-tie.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/repeat.ly b/input/test/repeat.ly index 09ab543a35..40adf5991b 100644 --- a/input/test/repeat.ly +++ b/input/test/repeat.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ < diff --git a/input/test/rests.ly b/input/test/rests.ly index 5eca6dcd59..859a6fd7f8 100644 --- a/input/test/rests.ly +++ b/input/test/rests.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/reverse-music.ly b/input/test/reverse-music.ly index d93a8ec542..8f40c63a40 100644 --- a/input/test/reverse-music.ly +++ b/input/test/reverse-music.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header { texidoc=" Simple customised music apply. -"; +" } music = \notes { c'4 d'4( e'4 f'4 } @@ -26,6 +27,6 @@ music = \notes { c'4 d'4( e'4 f'4 } \music \apply #reverse-music \music } - \paper { linewidth = -1.; } + \paper { linewidth = -1. } } diff --git a/input/test/rhythmic-staff.ly b/input/test/rhythmic-staff.ly index 60cd162575..3c3f30fd97 100644 --- a/input/test/rhythmic-staff.ly +++ b/input/test/rhythmic-staff.ly @@ -1,17 +1,18 @@ +\version "1.3.146" \score{ \context RhythmicStaff { \notes\relative c''{ - \clef "percussion"; - \time 4/4; + \clef "percussion" + \time 4/4 r4 r g2 | r4 g r2 | g1:32 | r1 | } } \paper{ \translator{ \RhythmicStaffContext - \consists "Clef_engraver"; + \consists "Clef_engraver" } } } diff --git a/input/test/scales-greek.ly b/input/test/scales-greek.ly index 2eea44d390..76c23eecfb 100644 --- a/input/test/scales-greek.ly +++ b/input/test/scales-greek.ly @@ -1,32 +1,33 @@ +\version "1.3.146" \header { - crossRefNumber = "1"; - tagline = "Lily was here 1.3.98 -- automatically converted from ABC"; - title = "Scales"; + crossRefNumber = "1" + tagline = "Lily was here 1.3.98 -- automatically converted from ABC" + title = "Scales" } voicedefault = \notes { \property Score.defaultBarType="empty" -\key c \major; c'8 -"major" d'8 e'8 f'8 g'8 a'8 b'8 -c''8 \key c \ionian; c'8 -"ionian" d'8 e'8 f'8 g'8 a'8 -b'8 c''8 \key d \dorian; c'8 -"dorian" d'8 e'8 f'8 g'8 -a'8 b'8 c''8 \key e \phrygian; c'8 -"phrygian" d'8 e'8 f'8 - g'8 a'8 b'8 c''8 \key f \lydian; c'8 -"lydian" d'8 e'8 - f'8 g'8 a'8 b'8 c''8 \key g \mixolydian; c'8 -"mixolydian" - d'8 e'8 f'8 g'8 a'8 b'8 c''8 \key a \minor; c'8 --"minor" d'8 e'8 f'8 g'8 a'8 b'8 c''8 \key a \aeolian; +\key c \major c'8 -"major" d'8 e'8 f'8 g'8 a'8 b'8 +c''8 \key c \ionian c'8 -"ionian" d'8 e'8 f'8 g'8 a'8 +b'8 c''8 \key d \dorian c'8 -"dorian" d'8 e'8 f'8 g'8 +a'8 b'8 c''8 \key e \phrygian c'8 -"phrygian" d'8 e'8 f'8 + g'8 a'8 b'8 c''8 \key f \lydian c'8 -"lydian" d'8 e'8 + f'8 g'8 a'8 b'8 c''8 \key g \mixolydian c'8 -"mixolydian" + d'8 e'8 f'8 g'8 a'8 b'8 c''8 \key a \minor c'8 +-"minor" d'8 e'8 f'8 g'8 a'8 b'8 c''8 \key a \aeolian c'8 -"aeolian" d'8 e'8 f'8 g'8 a'8 b'8 c''8 -\key b \locrian; c'8 -"locrian" d'8 e'8 f'8 g'8 a'8 b'8 -c''8 \key f \major; c'8 -"major" d'8 e'8 f'8 g'8 a'8 -bes'8 c''8 \key f \ionian; c'8 -"ionian" d'8 e'8 f'8 g'8 - a'8 bes'8 c''8 \key g \dorian; c'8 -"dorian" d'8 e'8 f'8 - g'8 a'8 bes'8 c''8 \key a \phrygian; c'8 -"phrygian" d'8 -e'8 f'8 g'8 a'8 bes'8 c''8 \key bes \lydian; c'8 +\key b \locrian c'8 -"locrian" d'8 e'8 f'8 g'8 a'8 b'8 +c''8 \key f \major c'8 -"major" d'8 e'8 f'8 g'8 a'8 +bes'8 c''8 \key f \ionian c'8 -"ionian" d'8 e'8 f'8 g'8 + a'8 bes'8 c''8 \key g \dorian c'8 -"dorian" d'8 e'8 f'8 + g'8 a'8 bes'8 c''8 \key a \phrygian c'8 -"phrygian" d'8 +e'8 f'8 g'8 a'8 bes'8 c''8 \key bes \lydian c'8 -"lydian" d'8 e'8 f'8 g'8 a'8 bes'8 c''8 -\key c \mixolydian; c'8 -"mixolydian" d'8 e'8 f'8 g'8 a'8 -bes'8 c''8 \key d \aeolian; c'8 -"aeolian" d'8 e'8 f'8 g'8 - a'8 bes'8 c''8 \key d \minor; c'8 -"minor" d'8 e'8 f'8 - g'8 a'8 bes'8 c''8 \key e \locrian; c'8 -"locrian" d'8 +\key c \mixolydian c'8 -"mixolydian" d'8 e'8 f'8 g'8 a'8 +bes'8 c''8 \key d \aeolian c'8 -"aeolian" d'8 e'8 f'8 g'8 + a'8 bes'8 c''8 \key d \minor c'8 -"minor" d'8 e'8 f'8 + g'8 a'8 bes'8 c''8 \key e \locrian c'8 -"locrian" d'8 e'8 f'8 g'8 a'8 bes'8 c''8 }\score{ \notes < diff --git a/input/test/scales.ly b/input/test/scales.ly index 38f747cbdc..151c9e10ce 100644 --- a/input/test/scales.ly +++ b/input/test/scales.ly @@ -1,106 +1,107 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { % sharp-major % c g d a e b fis cis - \key c \major; + \key c \major c' d e f g a b c - \key g\major; + \key g\major g a b c d e fis g - \key d\major; + \key d\major d, e fis g a b cis d - \key a\major; + \key a\major a b cis d e fis gis a - \key e\major; + \key e\major e, fis gis a b cis dis e - \key b\major; + \key b\major b cis dis e fis gis ais b - \key fis\major; + \key fis\major fis, gis ais b cis dis eis fis - \key cis\major; + \key cis\major cis, dis eis fis gis ais bis cis % sharp-minor % a e b fis cis gis dis ais - \key a\minor; + \key a\minor a b c d e f gis a - \key e\minor; + \key e\minor e, fis g a b c dis e - \key b\minor; + \key b\minor b cis d e fis g ais b - \key fis\minor; + \key fis\minor fis, gis a b cis d eis fis - \key cis\minor; + \key cis\minor cis, dis e fis gis a bis cis - \key gis\minor; + \key gis\minor gis ais b cis dis e fisis gis - \key dis\minor; + \key dis\minor dis, eis fis gis ais b cisis dis - \key ais\minor; + \key ais\minor ais bis cis dis eis fis gisis ais % flat-major % c f bes es as des ges ces - \key f\major; + \key f\major f, g a bes c d e f - \key bes\major; + \key bes\major bes, c d es f g a bes - \key es\major; + \key es\major es,, f g as bes c d es - \key as\major; + \key as\major as, bes c des es f g as - \key des\major; + \key des\major des,, es f ges as bes c des - \key ges\major; + \key ges\major ges, as bes ces des es f ges - \key ces\major; + \key ces\major ces,, des es fes ges as bes ces % flat-minor % a d g c f bes es as - \key d\minor; + \key d\minor d, e f g a bes cis d - \key g\minor; + \key g\minor g, a bes c d es fis g - \key c\minor; + \key c\minor c,, d es f g as b c - \key f\minor; + \key f\minor f, g as bes c des e f - \key bes\minor; + \key bes\minor bes, c des es f ges a bes - \key es\minor; + \key es\minor es,, f ges as bes ces d es - \key as\minor; + \key as\minor as, bes ces des es fes g as} \paper { } diff --git a/input/test/script-horizontal.ly b/input/test/script-horizontal.ly index 551d139a7a..7c0ca4527d 100644 --- a/input/test/script-horizontal.ly +++ b/input/test/script-horizontal.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ Please don't use this Scheme hacking unless you have a good reason. @@ -17,13 +18,13 @@ Please don't use this Scheme hacking unless you have a good reason. \paper { \translator { \VoiceContext - \remove Script_engraver; - \remove Text_engraver; + \remove Script_engraver + \remove Text_engraver } \translator { \ThreadContext - \consists Script_engraver; - \consists Text_engraver; + \consists Script_engraver + \consists Text_engraver } } } diff --git a/input/test/scripts.ly b/input/test/scripts.ly index 694e6c8353..4d0b429dcf 100644 --- a/input/test/scripts.ly +++ b/input/test/scripts.ly @@ -1,3 +1,4 @@ +\version "1.3.146" @@ -43,7 +44,7 @@ blah = \notes{ \transpose c'' { \stemUp b,---. c---. d---. e---. f---. g---. a---. b---. c'---. \stemBoth - \time 4/4; + \time 4/4 [c8 \< d e \! f][d' \> e' f' \! g'] [c-> \< d-> e-> \! f->][d'-> \> e'-> f'-> \! g'->] [c-^ \< d-^ e-^ \! f-^][d'-^ \> e'-^ f'-^ \! g'-^] diff --git a/input/test/short-part-combine.ly b/input/test/short-part-combine.ly index 806f1fcdf9..781ceb1893 100644 --- a/input/test/short-part-combine.ly +++ b/input/test/short-part-combine.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \context Staff < diff --git a/input/test/simple-slur-endings.ly b/input/test/simple-slur-endings.ly index 500008620e..9b6a470d26 100644 --- a/input/test/simple-slur-endings.ly +++ b/input/test/simple-slur-endings.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes \relative c''{ @@ -8,7 +9,7 @@ \slurDown a()c d()g,\break } \paper{ - indent = 0.0; - linewidth = 60.0\mm; + indent = 0.0 + linewidth = 60.0\mm } } diff --git a/input/test/sleur.ly b/input/test/sleur.ly index 16a8a7243d..f85a436550 100644 --- a/input/test/sleur.ly +++ b/input/test/sleur.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ -enteredby = "jcn"; -copyright = "public domain"; +enteredby = "jcn" +copyright = "public domain" TestedFeatures = "This file tests Feta embedded slurs" + - "(Feta definitively is not an abbreviation of Font-En-TjA)"; + "(Feta definitively is not an abbreviation of Font-En-TjA)" } @@ -168,7 +169,7 @@ clipping = \notes\transpose c'{ \score{ \context Staff \notes{ -% \property Voice.pletvisibility = 0; +% \property Voice.pletvisibility = 0 % use blend for fast check \blend % { @@ -187,9 +188,9 @@ clipping = \notes\transpose c'{ %\broken } \paper{ - indent = 0.0\pt; + indent = 0.0\pt %for broken! - % linewidth= 30.\mm; + % linewidth= 30.\mm } } diff --git a/input/test/slur-area.ly b/input/test/slur-area.ly index cbe360f773..9893ad3e44 100644 --- a/input/test/slur-area.ly +++ b/input/test/slur-area.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes\relative c''{ @@ -22,6 +23,6 @@ a8(a a a a a a)a } \paper{ -indent=0.0\mm; +indent=0.0\mm } } diff --git a/input/test/slur-attachment-override.ly b/input/test/slur-attachment-override.ly index 90f91188d1..bf48d0bdaa 100644 --- a/input/test/slur-attachment-override.ly +++ b/input/test/slur-attachment-override.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ texidoc=" In some cases, you may want to set slur attachments by hand. -"; +" } @@ -14,7 +15,7 @@ fragment = \notes { d,32( d'4 )d8.. } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/slur-attachment.ly b/input/test/slur-attachment.ly index 3b1ea943e2..d72892c5c6 100644 --- a/input/test/slur-attachment.ly +++ b/input/test/slur-attachment.ly @@ -1,3 +1,4 @@ +\version "1.3.146" fragment = \notes { @@ -10,7 +11,7 @@ fragment = \notes { g4(g8)g } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes\relative c \fragment diff --git a/input/test/slur-broken-cross-staff.ly b/input/test/slur-broken-cross-staff.ly index 0570ed95a6..528a6da97f 100644 --- a/input/test/slur-broken-cross-staff.ly +++ b/input/test/slur-broken-cross-staff.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \header{ texidoc=" The same goes for slurs. They behave decently when broken across linebreak. -"; +" } @@ -42,11 +43,11 @@ linebreak. %} } \context Staff=two \notes\relative c'{ - \clef bass; + \clef bass s1 s1 %s1 s1 s1 s1 s1 s1 s1 s1 } > - \paper { indent = 0.; linewidth = 40.*\staffspace; } + \paper { indent = 0. linewidth = 40.*\staffspace } } diff --git a/input/test/slur-broken.ly b/input/test/slur-broken.ly index 0d76b37c76..39fc39cc07 100644 --- a/input/test/slur-broken.ly +++ b/input/test/slur-broken.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \score{ \notes\relative c''{ - \time 2/4; + \time 2/4 e2( \break )e4 f,(\break @@ -10,6 +11,6 @@ )e'2 } \paper{ - linewidth = 60.\mm; + linewidth = 60.\mm } } diff --git a/input/test/slur-damping.ly b/input/test/slur-damping.ly index 511b46a24a..98cde016c8 100644 --- a/input/test/slur-damping.ly +++ b/input/test/slur-damping.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % test damping diff --git a/input/test/slur-dash.ly b/input/test/slur-dash.ly index aa33b0d44a..66a8890c95 100644 --- a/input/test/slur-dash.ly +++ b/input/test/slur-dash.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ @@ -13,9 +14,9 @@ c( d e )c | } \paper{ - indent = 0.0\pt; + indent = 0.0\pt %for broken! - % linewidth= 30.\mm; + % linewidth= 30.\mm } } diff --git a/input/test/slur-follow-music.ly b/input/test/slur-follow-music.ly index 3f8891d512..c77ce82104 100644 --- a/input/test/slur-follow-music.ly +++ b/input/test/slur-follow-music.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { @@ -19,7 +20,7 @@ } \paper { - linewidth=-1.0; + linewidth=-1.0 } \midi { } } diff --git a/input/test/slur-mininum.ly b/input/test/slur-mininum.ly index 83a153caa5..2fb98a72ce 100644 --- a/input/test/slur-mininum.ly +++ b/input/test/slur-mininum.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header { -texidoc = "" ; +texidoc = "" } \score{ \notes\relative c''{ - \time 2/4; + \time 2/4 \property Voice.Slur \set #'minimum-length = #40 c()c c~c\break diff --git a/input/test/slur-positions.ly b/input/test/slur-positions.ly index 1ebbf4fce1..1e97d2c445 100644 --- a/input/test/slur-positions.ly +++ b/input/test/slur-positions.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes\relative c''{ @@ -12,7 +13,7 @@ } \paper{ - linewidth=-1.\mm; + linewidth=-1.\mm } } diff --git a/input/test/slur-proof.ly b/input/test/slur-proof.ly index 3629d69138..501315da80 100644 --- a/input/test/slur-proof.ly +++ b/input/test/slur-proof.ly @@ -1,3 +1,4 @@ +\version "1.3.146" x = { @@ -36,8 +37,8 @@ x = { \context Voice=wa { \x d(s4*26)d } > \paper { - indent=0.0\mm; - linewidth=-1.0\mm; + indent=0.0\mm + linewidth=-1.0\mm \translator{ \VoiceContext Slur \override #'direction = #1 diff --git a/input/test/slur-symmetry-2.ly b/input/test/slur-symmetry-2.ly index 1da057b168..cee8911bc0 100644 --- a/input/test/slur-symmetry-2.ly +++ b/input/test/slur-symmetry-2.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header{ % should look the same -title="symmetry"; +title="symmetry" } \score{ \notes\relative c'{ @@ -12,6 +13,6 @@ title="symmetry"; } \paper{ - linewidth = 50.0\mm; + linewidth = 50.0\mm } } diff --git a/input/test/slur-symmetry-3.ly b/input/test/slur-symmetry-3.ly index 9d345db716..22d944ab6d 100644 --- a/input/test/slur-symmetry-3.ly +++ b/input/test/slur-symmetry-3.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header{ % should look the same -title="symmetry"; +title="symmetry" } \score{ \notes\relative c'{ @@ -11,6 +12,6 @@ title="symmetry"; } \paper{ - linewidth = 50.0\mm; + linewidth = 50.0\mm } } diff --git a/input/test/slur-ugly.ly b/input/test/slur-ugly.ly index 5e021dd199..307b1d7c14 100644 --- a/input/test/slur-ugly.ly +++ b/input/test/slur-ugly.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header { texidoc="You can get ugly slurs, if you want. -"; +" } baseWalk = \notes \relative c { @@ -10,15 +11,15 @@ baseWalk = \notes \relative c { \score { \notes \context PianoStaff < - \time 6/4; + \time 6/4 \context Staff=up { s1 * 6/4 } \context Staff=down < - \clef bass; + \clef bass \autochange Staff \context Voice \baseWalk > > \paper { - linewidth = -1.; + linewidth = -1. \translator { \VoiceContext Slur \override #'beautiful = #5.0 diff --git a/input/test/slurs.ly b/input/test/slurs.ly index 06927c256d..dc7a9da722 100644 --- a/input/test/slurs.ly +++ b/input/test/slurs.ly @@ -1,32 +1 @@ - - - -\score{ - \notes\transpose c'{ - - c,4 ~ c, c'' ~ c'' ~ g ~ c ~ - d ~ e ~ f ~ g ~ - a ~ b ~ c, ~ c - - < c e ( > <)d f> - \transpose c'' - < c e ( > <)d f> - \transpose c' - < c e ( > <)d' f'> - < { c ~ d } - { e ~ f } - > -% \context Staff < -% { \stemUp c'8 ~g ~e( ~c~ [c'~ g' e' )c'] c'' ~ c'' c~c } -% { \stemDown c (e g )c'~( [b a g )d] r2 } -% > - - { - - c4()c( c c | - c c c c | - c c c c | - c c c )c | - } - } -} +\version "1.3.146" diff --git a/input/test/smart-transpose.ly b/input/test/smart-transpose.ly index 05170116f2..81e1945cef 100644 --- a/input/test/smart-transpose.ly +++ b/input/test/smart-transpose.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \header { texidoc=" @@ -12,7 +13,7 @@ texidoc=" You mean like this. (Sorry 'bout the nuked indentation.) @end example -"; +" } #(define (unhair-pitch p) @@ -78,6 +79,6 @@ music = \notes \relative c' { c4 d e f g a b c } \apply #(lambda (x) (smart-transpose x (make-pitch 0 5 1))) \music } - \paper { linewidth = -1.; } + \paper { linewidth = -1. } } diff --git a/input/test/solo-a2.ly b/input/test/solo-a2.ly index b886c7a9c4..83c2f70697 100644 --- a/input/test/solo-a2.ly +++ b/input/test/solo-a2.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \score{ \context Staff = one < - \context Voice=one { \skip 1; } - \context Voice=two { \skip 1; } + \context Voice=one { \skip 1 } + \context Voice=two { \skip 1 } \context Voice=one \partcombine Voice \context Thread=one \notes\relative c'' @@ -15,6 +16,6 @@ } > \paper{ - linewidth = 100.\mm; + linewidth = 100.\mm } } diff --git a/input/test/spacing-2.ly b/input/test/spacing-2.ly index f9f03b2173..262282bfd4 100644 --- a/input/test/spacing-2.ly +++ b/input/test/spacing-2.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \header { -opus = "BWV 937 (prelude)"; -composer = "J. S. Bach"; -source = "Petits Preludes et Fugues. Urtext. Editions Henry Lemoine, Paris."; +opus = "BWV 937 (prelude)" +composer = "J. S. Bach" +source = "Petits Preludes et Fugues. Urtext. Editions Henry Lemoine, Paris." } %{ @@ -18,18 +19,18 @@ source = "Petits Preludes et Fugues. Urtext. Editions Henry Lemoine, Paris."; e4 dis4 e2 } \context Voice = VB { \stemDown\slurDown\tieDown [cis8 a] [fis b] gis2 } - {\key e \major; } + {\key e \major } > - \context Staff = SB { \clef "bass"; \key e \major; + \context Staff = SB { \clef "bass" \key e \major [a,,16 e dis e] [b'8 b,] [e16 e, gis b] e4 } > \paper { -% linewidth = 5.0 \cm; % ly2dvi barfs on -1 - linewidth = 8.0 \cm; -% linewidth = 12.0 \cm; +% linewidth = 5.0 \cm % ly2dvi barfs on -1 + linewidth = 8.0 \cm +% linewidth = 12.0 \cm } } diff --git a/input/test/spacing.ly b/input/test/spacing.ly index 809dc44a26..f5b5e315d6 100644 --- a/input/test/spacing.ly +++ b/input/test/spacing.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ -title= "Spacing"; -subtitle = "proofsheet"; -enteredby = "jcn"; -copyright = "public domain"; -TestedFeatures = "This file tests various spacings"; +title= "Spacing" +subtitle = "proofsheet" +enteredby = "jcn" +copyright = "public domain" +TestedFeatures = "This file tests various spacings" } @@ -90,7 +91,7 @@ singlepart = \notes{ \multipart } \paper { -% linewidth= 18.\cm; +% linewidth= 18.\cm } } diff --git a/input/test/span-bars.ly b/input/test/span-bars.ly index 1e21d1559e..e4ca8b079f 100644 --- a/input/test/span-bars.ly +++ b/input/test/span-bars.ly @@ -1,3 +1,4 @@ +\version "1.3.146" nt = \notes { c1 \break c1 c1 } diff --git a/input/test/stacked-scripts.ly b/input/test/stacked-scripts.ly index e43495ef1c..c1cde48db9 100644 --- a/input/test/stacked-scripts.ly +++ b/input/test/stacked-scripts.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \score { \notes { c2_"geen gedonder"_"jij gaat onder" c2^^^.^|^"down"^"up" } - \paper { linewidth = -1. ; } + \paper { linewidth = -1. } } diff --git a/input/test/staff-bracket.ly b/input/test/staff-bracket.ly index 69bce2efda..4b7b118c65 100644 --- a/input/test/staff-bracket.ly +++ b/input/test/staff-bracket.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { @@ -9,12 +10,12 @@ > \paper { - indent=100.0\mm; - linewidth=150.0\mm; + indent=100.0\mm + linewidth=150.0\mm \translator { \StaffContext - \consists Instrument_name_engraver; + \consists Instrument_name_engraver numberOfStaffLines = #1 } diff --git a/input/test/staff-container.ly b/input/test/staff-container.ly index baa7cd2518..f554745865 100644 --- a/input/test/staff-container.ly +++ b/input/test/staff-container.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header { texidoc = "By splitting the grouping (Axis_group_engraver) and creation functionality into separate contexts, you can override -interesting things. You can also drop the \consistsend feature."; +interesting things. You can also drop the \consistsend feature." } @@ -20,19 +21,19 @@ interesting things. You can also drop the \consistsend feature."; \paper { \translator { \ScoreContext - \accepts StaffContainer; - \denies Staff; + \accepts StaffContainer + \denies Staff } \translator { - \type Engraver_group_engraver; - \consists "Axis_group_engraver"; - \accepts "Staff"; - \name StaffContainer; + \type Engraver_group_engraver + \consists "Axis_group_engraver" + \accepts "Staff" + \name StaffContainer } \translator { \StaffContext - \remove Axis_group_engraver; + \remove Axis_group_engraver } } } diff --git a/input/test/staff-line-leading.ly b/input/test/staff-line-leading.ly index 972a387e81..a68dd33893 100644 --- a/input/test/staff-line-leading.ly +++ b/input/test/staff-line-leading.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \notes \relative c'' \context GrandStaff < diff --git a/input/test/staff-margin-partial.ly b/input/test/staff-margin-partial.ly index bf67887c5e..935c657c35 100644 --- a/input/test/staff-margin-partial.ly +++ b/input/test/staff-margin-partial.ly @@ -1,10 +1,11 @@ +\version "1.3.146" % test staff margin with partial measure. \score { -\notes { \property Staff.instrument = "foo" \partial 4; c4 c1 } +\notes { \property Staff.instrument = "foo" \partial 4 c4 c1 } \paper { - \translator { \StaffContext \consists Instrument_name_engraver; } + \translator { \StaffContext \consists Instrument_name_engraver } } } diff --git a/input/test/staff-side-slur.ly b/input/test/staff-side-slur.ly index 2958ac03ef..b667e6d7a8 100644 --- a/input/test/staff-side-slur.ly +++ b/input/test/staff-side-slur.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \context Staff \notes\relative c''{ \property Staff.instrument = "Toeters" @@ -6,13 +7,13 @@ c c c c\break } \paper{ - linewidth=60.0\mm; + linewidth=60.0\mm % \translator { \HaraKiriStaffContext } \translator { \OrchestralScoreContext } \translator { \StaffContext - \consists "Instrument_name_engraver"; - marginHangOnClef = 1; + \consists "Instrument_name_engraver" + marginHangOnClef = 1 } } } diff --git a/input/test/staff-size.ly b/input/test/staff-size.ly index 641ad37f3a..854d6cc4ab 100644 --- a/input/test/staff-size.ly +++ b/input/test/staff-size.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \notes \relative c' < \context Voice { \property Staff.staffSpace = #10 @@ -5,13 +6,13 @@ \property Voice.fontSize = #-1 \property Voice . dynamicDirection = \up \stemDown -%\key gis \major; +%\key gis \major c8 d [e f g a] b c \ff } \context Staff = VB { \property Voice . dynamicDirection = \down c,,4 \ff c c c } > -\paper { linewidth = -1.; } +\paper { linewidth = -1. } } diff --git a/input/test/stem-centered.ly b/input/test/stem-centered.ly index 984eee93a7..65096cc31a 100644 --- a/input/test/stem-centered.ly +++ b/input/test/stem-centered.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { diff --git a/input/test/stem-extend.ly b/input/test/stem-extend.ly index 101e95ecfd..0f34a67e69 100644 --- a/input/test/stem-extend.ly +++ b/input/test/stem-extend.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header { texidoc = " Conventionally, stems and beams extend to the middle staff line. This extension can be controlled through @code{Voice.Stem}'s grob-property @code{no-stem-extend}: -";} +"} -\paper { linewidth = -1.;} +\paper { linewidth = -1.} \score {\notes \relative c { \grace a'8 a4 \property Voice.Stem \set #'no-stem-extend = ##t diff --git a/input/test/stem-length.ly b/input/test/stem-length.ly index c27c72254d..dc9bb24db0 100644 --- a/input/test/stem-length.ly +++ b/input/test/stem-length.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/stem.ly b/input/test/stem.ly index 0831f3b074..c42972be24 100644 --- a/input/test/stem.ly +++ b/input/test/stem.ly @@ -1,17 +1,18 @@ +\version "1.3.146" \header{ -title= "Stems and Beams"; -subtitle = "proofsheet"; -enteredby = "jcn"; -copyright = "public domain"; +title= "Stems and Beams" +subtitle = "proofsheet" +enteredby = "jcn" +copyright = "public domain" TestedFeatures = "This file tests the length of stems and placement -of beams"; +of beams" } beamintervals = \notes{ - \time 7/4; + \time 7/4 \stemUp \transpose c'{ [ c8 d ] [ c e ] [ c f ] [ c g ] [ c a ] [ c b ] [ c c' ] | @@ -29,7 +30,7 @@ beamintervals = \notes{ \score{ \notes\transpose c'{ \stemUp - \time 17/4; + \time 17/4 g,4 a, b, c d e f g a b c' d' e' f' g' a' b' | \stemDown b' a' g' f' e' d' c' b a g f e d c b, a, g, | diff --git a/input/test/system-start-brace.ly b/input/test/system-start-brace.ly index a6880cc87d..977a507ed5 100644 --- a/input/test/system-start-brace.ly +++ b/input/test/system-start-brace.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { diff --git a/input/test/system-start-bracket.ly b/input/test/system-start-bracket.ly index 9f4510b99c..cf02f85256 100644 --- a/input/test/system-start-bracket.ly +++ b/input/test/system-start-bracket.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { diff --git a/input/test/tab-staff.ly b/input/test/tab-staff.ly index b440df1c8b..f39ffaff19 100644 --- a/input/test/tab-staff.ly +++ b/input/test/tab-staff.ly @@ -1,3 +1,4 @@ +\version "1.3.146" @@ -19,11 +20,11 @@ bla = \notes \relative c' { } \paper { \translator { \StaffContext - \name TabStaff; + \name TabStaff StaffSymbol \override #'line-count = #6 - \remove "Clef_engraver"; - \remove "Time_signature_engraver"; - \consists "Pitch_squash_engraver"; + \remove "Clef_engraver" + \remove "Time_signature_engraver" + \consists "Pitch_squash_engraver" NoteHead \override #'transparent = ##t Stem \override #'transparent = ##t NoteHead \override #'staff-position = #-6 @@ -33,7 +34,7 @@ bla = \notes \relative c' { } } \translator { \ScoreContext -\accepts TabStaff; +\accepts TabStaff } } } diff --git a/input/test/tchaikovsky.ly b/input/test/tchaikovsky.ly index 42387d2570..20fcee20bb 100644 --- a/input/test/tchaikovsky.ly +++ b/input/test/tchaikovsky.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header{ -filename = "tchaikovsky.ly"; -title = "Extracts from 6th symphony"; -subtitle = "Ist movement"; -composer= "Pjotr Iljitsj Tchaikovsky"; -enteredby = "Maarten Storm"; -instrument= "Violoncello"; +filename = "tchaikovsky.ly" +title = "Extracts from 6th symphony" +subtitle = "Ist movement" +composer= "Pjotr Iljitsj Tchaikovsky" +enteredby = "Maarten Storm" +instrument= "Violoncello" } @@ -15,15 +16,15 @@ instrument= "Violoncello"; \score{ \notes \relative c{ - \clef "bass"; - \key d \major; + \clef "bass" + \key d \major | ~ r8 r4 | a2\ppp\cr a2\rc\p\decr | ~ r8 r4 | a2\pppp ~ a8 r8 r4 | a2\ppppp ~ a8 r8 r4 | r4 a8_"pizz" r8 r2^\fermata } \header{ - piece="example 1"; + piece="example 1" } } @@ -31,13 +32,13 @@ instrument= "Violoncello"; \score{ \notes \relative c{ - \clef "bass"; - \key c \major; + \clef "bass" + \key c \major | | | ~ ~ } \header{ - piece="example 2"; + piece="example 2" } } diff --git a/input/test/test-german-chords.ly b/input/test/test-german-chords.ly index 62fba8edb1..3e574ee957 100644 --- a/input/test/test-german-chords.ly +++ b/input/test/test-german-chords.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \include "german-chords.ly" % #(set! german-Bb #t) diff --git a/input/test/text-spanner.ly b/input/test/text-spanner.ly index 06d4682402..89f0268955 100644 --- a/input/test/text-spanner.ly +++ b/input/test/text-spanner.ly @@ -1,3 +1,4 @@ +\version "1.3.146" diff --git a/input/test/textscript.ly b/input/test/textscript.ly index 92ec7d04f5..24ccd550bc 100644 --- a/input/test/textscript.ly +++ b/input/test/textscript.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % diff --git a/input/test/thumb.ly b/input/test/thumb.ly index 2fa3257022..f3da74aa8d 100644 --- a/input/test/thumb.ly +++ b/input/test/thumb.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \header{ - title="CELLO-THUMBS"; - enteredby="Maarten Storm"; + title="CELLO-THUMBS" + enteredby="Maarten Storm" } @@ -14,7 +15,7 @@ <)d_\thumb d'-3>] } \paper{ - linewidth = 80.\mm; + linewidth = 80.\mm } } diff --git a/input/test/tie-broken.ly b/input/test/tie-broken.ly index 0235ec5aaf..49a12048ac 100644 --- a/input/test/tie-broken.ly +++ b/input/test/tie-broken.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ \notes \relative c''{ @@ -6,13 +7,13 @@ c c c c c1~\break - \time 8/8; c + \time 8/8 c c4 c c c~\break - \time 4/4; + \time 4/4 c c c c } \paper { - linewidth=40.\mm; - indent=0.; + linewidth=40.\mm + indent=0. } } diff --git a/input/test/tie-sparse.ly b/input/test/tie-sparse.ly index a63b26b9e4..e50139d6d7 100644 --- a/input/test/tie-sparse.ly +++ b/input/test/tie-sparse.ly @@ -1,14 +1,19 @@ +\version "1.3.146" +\header { +texidoc = "setting sparseTies causes only one tie to be +generated per chord pair." + +} + + \score { \context Voice \notes\relative c { - - \context Voice { \property Voice.sparseTies = ##t - c'' ~ } - + c'' ~ } \paper { - linewidth=-1.0; + linewidth=-1.0 } \midi { } } diff --git a/input/test/time.ly b/input/test/time.ly index a4f3357f47..8d9dc9b865 100644 --- a/input/test/time.ly +++ b/input/test/time.ly @@ -1,144 +1,145 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { \property Staff.TimeSignature \override #'style = #'C - \time 1/1; + \time 1/1 c''1^"TimeSignature style = \#'C" - \time 2/2; + \time 2/2 c1 - \time 2/4; + \time 2/4 c2 - \time 3/4; + \time 3/4 c2. - \time 4/4; + \time 4/4 c1 - \time 5/4; + \time 5/4 c2. c2 - \time 6/4; + \time 6/4 c1. - \time 3/2; + \time 3/2 c1. - \time 7/4; + \time 7/4 c1 c2. - \time 8/4; + \time 8/4 c\breve - \time 9/4; + \time 9/4 c2. c2. c2. \break \property Staff.TimeSignature \set #'style = #'old - \time 1/1; + \time 1/1 c1^"TimeSignature style = \#'old" - \time 2/2; + \time 2/2 c1 - \time 2/4; + \time 2/4 c2 - \time 3/4; + \time 3/4 c2. - \time 4/4; + \time 4/4 c1 - \time 5/4; + \time 5/4 c2. c2 - \time 6/4; + \time 6/4 c1. - \time 3/2; + \time 3/2 c1. - \time 7/4; + \time 7/4 c1 c2. - \time 8/4; + \time 8/4 c\breve - \time 9/4; + \time 9/4 c2. c2. c2. - \time 6/8; + \time 6/8 c2. - \time 9/8; + \time 9/8 c4. c4. c4. \break % Lilypond doesn't understand 'default => it does what you want \property Staff.TimeSignature \set #'style = #'default - \time 1/1; + \time 1/1 c1^"TimeSignature style = \#'default" - \time 2/2; + \time 2/2 c1 - \time 2/4; + \time 2/4 c2 - \time 3/4; + \time 3/4 c2. - \time 4/4; + \time 4/4 c1 - \time 5/4; + \time 5/4 c2. c2 - \time 6/4; + \time 6/4 c1. - \time 3/2; + \time 3/2 c1. - \time 7/4; + \time 7/4 c1 c2. - \time 8/4; + \time 8/4 c\breve - \time 9/4; + \time 9/4 c2. c2. c2. \break % If the style starts with a '1', you get this style \property Staff.TimeSignature \set #'style = #'1style - \time 1/1; + \time 1/1 c1^"TimeSignature style = \#'1xxx" - \time 2/2; + \time 2/2 c1 - \time 2/4; + \time 2/4 c2 - \time 3/4; + \time 3/4 c2. - \time 4/4; + \time 4/4 c1 - \time 5/4; + \time 5/4 c2. c2 - \time 6/4; + \time 6/4 c1. - \time 3/2; + \time 3/2 c1. - \time 7/4; + \time 7/4 c1 c2. - \time 8/4; + \time 8/4 c\breve - \time 9/4; + \time 9/4 c2. c2. c2. \break \property Staff.TextScript \override #'self-alignment-X = #1 \property Staff.TimeSignature \set #'style = #'old9/8 - \time 1/1; + \time 1/1 c1^"old9/8" \property Staff.TimeSignature \set #'style = #'old6/8 - \time 1/1; + \time 1/1 c1^"old6/8" \property Staff.TimeSignature \set #'style = #'old6/8alt - \time 1/1; + \time 1/1 c1^"old6/8alt" \property Staff.TimeSignature \set #'style = #'old9/4 - \time 1/1; + \time 1/1 c1^"old9/4" \property Staff.TimeSignature \set #'style = #'old6/4 - \time 1/1; + \time 1/1 c1^"old6/4" \property Staff.TimeSignature \set #'style = #'old3/2 - \time 1/1; + \time 1/1 c1^"old3/2" \property Staff.TimeSignature \set #'style = #'old4/4 - \time 1/1; + \time 1/1 c1^"old4/4" \property Staff.TimeSignature \set #'style = #'old2/2 - \time 1/1; + \time 1/1 c1^"old2/2" \property Staff.TimeSignature \set #'style = #'old2/4 - \time 1/1; + \time 1/1 c1^"old2/4" \property Staff.TimeSignature \set #'style = #'old4/8 - \time 1/1; + \time 1/1 c1^"old4/8" \property Staff.TimeSignature \set #'style = #'C4/4 - \time 1/1; + \time 1/1 c1^"C4/4" \property Staff.TimeSignature \set #'style = #'C2/2 - \time 1/1; + \time 1/1 c1^"C2/2" } diff --git a/input/test/timing.ly b/input/test/timing.ly index 86ea3d3985..c24f679c70 100644 --- a/input/test/timing.ly +++ b/input/test/timing.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { % \property Score. measurePosition = #(make-moment -1 4) - \partial 4; + \partial 4 c''4 c4 c4 c2 c1 \cadenzaOn [c8 d e f] [g a b c b c b c] \cadenzaOff diff --git a/input/test/title.ly b/input/test/title.ly index ca66d36e33..10c4939ffe 100644 --- a/input/test/title.ly +++ b/input/test/title.ly @@ -1,13 +1,14 @@ +\version "1.3.146" \header{ -filename = "title.ly"; -title = "Title"; -subtitle = "Subtitle"; -composer= "Composer (xxxx-yyyy)"; -arranger = "Arranger"; -copyright = "public domain"; -enteredby = "jcn"; -source = "urtext"; -instrument= "Instrument"; +filename = "title.ly" +title = "Title" +subtitle = "Subtitle" +composer= "Composer (xxxx-yyyy)" +arranger = "Arranger" +copyright = "public domain" +enteredby = "jcn" +source = "urtext" +instrument= "Instrument" } @@ -19,9 +20,9 @@ instrument= "Instrument"; c d e f f e d c } \header{ - opus = "Opus 0"; - piece = "Piece I"; - override="Overdriven"; + opus = "Opus 0" + piece = "Piece I" + override="Overdriven" } } @@ -33,8 +34,8 @@ instrument= "Instrument"; f e d c c d e f } \header{ - piece = "Piece II"; - opus = "Opus 1"; + piece = "Piece II" + opus = "Opus 1" } } diff --git a/input/test/transposing.ly b/input/test/transposing.ly index 676372b10a..a41d3f0d2b 100644 --- a/input/test/transposing.ly +++ b/input/test/transposing.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { \context Voice \notes\relative c { diff --git a/input/test/transposition.ly b/input/test/transposition.ly index e0948ac178..438c8dcdad 100644 --- a/input/test/transposition.ly +++ b/input/test/transposition.ly @@ -1,10 +1,11 @@ +\version "1.3.146" %{ Hi all, I have extend Mats' patches to allow accidental transposition: - \keysignature bes es fis; + \keysignature bes es fis = \transpose d => - \keysignature gis; + \keysignature gis As you can see in output = the example file "test.ly" there are a few problems left: - key undo (already in the Todo) @@ -21,38 +22,38 @@ Eric %} \header{ -title = "Test it"; -description = "Transposition Test file"; -enteredby = "Eric Bullinger"; -copyright = "public domain"; +title = "Test it" +description = "Transposition Test file" +enteredby = "Eric Bullinger" +copyright = "public domain" } vOne = \notes \relative c''{ - \clef"violin"; - \key d \major; - \time 2/4 ; + \clef"violin" + \key d \major + \time 2/4 d4 d | - \key fis \major; + \key fis \major fis4 fis | - \key es \major; + \key es \major c4 c | } vTwo = \notes \transpose d' { \vOne } vThree = \notes \relative c''{ - \clef"violin"; -% \keysignature fis cis; + \clef"violin" +% \keysignature fis cis \property Staff.keySignature = #'((0 . 1)(3 . 1)) - \time 2/4 ; + \time 2/4 d4 d | -% \keysignature bes es fis; +% \keysignature bes es fis \property Staff.keySignature = #'((3 . 1)(2 . -1)(6 . -1)) fis4 fis | -% \keysignature fis cis gis dis ais eis; +% \keysignature fis cis gis dis ais eis \property Staff.keySignature = #'((2 . -1)(5 . -1)(1 . 1)(4 . 1)(0 . 1)(3 . 1)) cis4 ais4 | } @@ -66,7 +67,7 @@ vFour = \notes \transpose d' \vThree \context Staff=vThree \vThree \context Staff=vFour \vFour > - \paper { linewidth= 130.\mm; } + \paper { linewidth= 130.\mm } } diff --git a/input/test/tuplet-rest.ly b/input/test/tuplet-rest.ly index c93911005f..2bfd726ad8 100644 --- a/input/test/tuplet-rest.ly +++ b/input/test/tuplet-rest.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \score { \context Voice \notes \relative c'' { - \time 2/4; + \time 2/4 \times 2/3 { r c,,, c''' } \times 2/3 { r c c } \times 2/3 { r c r} diff --git a/input/test/tuplet-spanner-duration.ly b/input/test/tuplet-spanner-duration.ly index 70f48cc2d5..cf590efaae 100644 --- a/input/test/tuplet-spanner-duration.ly +++ b/input/test/tuplet-spanner-duration.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \score { \context Voice \notes \relative c'' { -\time 2/4; +\time 2/4 \times 2/3 { c8 c c c c c } \property Voice . tupletSpannerDuration = #(make-moment 1 4) \times 2/3 { c8 c c c c c } diff --git a/input/test/tuplet.ly b/input/test/tuplet.ly index 4c56c81228..5191612043 100644 --- a/input/test/tuplet.ly +++ b/input/test/tuplet.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score { diff --git a/input/test/two-key.ly b/input/test/two-key.ly index 4b4f2039c7..ceafc7f051 100644 --- a/input/test/two-key.ly +++ b/input/test/two-key.ly @@ -1,13 +1,14 @@ +\version "1.3.146" \header { texidoc = "If you specify two different key sigs at one point, a - warning is printed."; + warning is printed." } \score { \notes \context Voice < - { \key cis \major; cis4 \key bes \major; bes4 } - { \key cis \major; fis4 \key es \major; g4 } + { \key cis \major cis4 \key bes \major bes4 } + { \key cis \major fis4 \key es \major g4 } > } diff --git a/input/test/two-slurs.ly b/input/test/two-slurs.ly index 2e7e9ed58f..7f1cd516c2 100644 --- a/input/test/two-slurs.ly +++ b/input/test/two-slurs.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % % We'd want to combine the stems, but have two slurs too... @@ -15,6 +16,6 @@ } > \paper{ - linewidth=60.\mm; + linewidth=60.\mm } } diff --git a/input/test/uniform-breaking.ly b/input/test/uniform-breaking.ly index b4eb46fd4c..57022b3fe9 100644 --- a/input/test/uniform-breaking.ly +++ b/input/test/uniform-breaking.ly @@ -1,9 +1,10 @@ +\version "1.3.146" %{ Hmm, ik vraag me af of dit al helemaal koel is. return abs (this_one.force_f_) + abs (prev.force_f_ - this_one.force_f_) - + break_penalties; + + break_penalties Neem als voorbeeld iets dat lijkt op allemande: keuze tussen 2 of drie maten per regel. @@ -105,8 +106,8 @@ Heb niet zomaar beter idee, nog. } \paper { - indent=0.0\mm; - linewidth=90.0\mm; + indent=0.0\mm + linewidth=90.0\mm } } diff --git a/input/test/vertical-align.ly b/input/test/vertical-align.ly index ff8013c903..4d24750698 100644 --- a/input/test/vertical-align.ly +++ b/input/test/vertical-align.ly @@ -1,3 +1,4 @@ +\version "1.3.146" diff --git a/input/test/vertical-extent.ly b/input/test/vertical-extent.ly index f6bcfa949a..485d7ab092 100644 --- a/input/test/vertical-extent.ly +++ b/input/test/vertical-extent.ly @@ -4,26 +4,26 @@ VerticalExtent, VerticalExtent, VerticalExtent. These are normal property values, and are written itno the grob when the associated context finishes, so using it in \property works. - "; } -\version "1.3.145"; + " } +\version "1.3.146" \score { \notes < \context Staff = upper { \property Staff.VerticalExtent = #'(-15.0 . 0.0) - \clef alto; + \clef alto c1 \break c1 } \context Staff = lower { \property Staff.VerticalExtent = #'(-0.0 . 15.0) - \clef alto; + \clef alto g1 \break g1 } > \paper{ - interscoreline = 13.0\mm; - interscorelinefill = 0; - \translator{\ScoreContext \remove "Bar_number_engraver";} + interscoreline = 13.0\mm + interscorelinefill = 0 + \translator{\ScoreContext \remove "Bar_number_engraver"} \translator{\StaffContext MinimumVerticalExtent = #'(-2.0 . 2.0)} } } diff --git a/input/test/vertical-text.ly b/input/test/vertical-text.ly index bd091ac8f3..48e18256d0 100644 --- a/input/test/vertical-text.ly +++ b/input/test/vertical-text.ly @@ -1,3 +1,4 @@ +\version "1.3.146" \score{ < \context Staff = o \notes\relative c,,, { diff --git a/input/test/voice-switch.ly b/input/test/voice-switch.ly index 0682bf8029..0d67033b9c 100644 --- a/input/test/voice-switch.ly +++ b/input/test/voice-switch.ly @@ -1,8 +1,9 @@ +\version "1.3.146" \score{ \context Staff < - \context Voice=one\skip 1; - \context Voice=two\skip 1; + \context Voice=one\skip 1 + \context Voice=two\skip 1 \context Voice=one \partcombine Voice \context Thread=one \notes\relative c'' { c2 c2 @@ -15,7 +16,7 @@ } > \paper{ - linewidth=140.\mm; + linewidth=140.\mm } } diff --git a/input/test/volta-start.ly b/input/test/volta-start.ly index 2e01d3c8d6..262c35e10b 100644 --- a/input/test/volta-start.ly +++ b/input/test/volta-start.ly @@ -1,19 +1,20 @@ +\version "1.3.146" \header{ texidoc = " Volta braces are hung on barlines. At the start of the -line, they should always start after the prefatory matter. "; +line, they should always start after the prefatory matter. " } voiceB = \notes { - \clef bass; + \clef bass \property Staff.instrument = "Bass" \property Staff.instr = "B" - \key f \minor; - \time 4/4; + \key f \minor + \time 4/4 f,2 ( ) f,8 r8 f8 e8 \repeat volta 2 { @@ -99,10 +100,10 @@ voiceE = \notes { > \paper { - font_normal = 12.; + font_normal = 12. \translator { \StaffContext - \consists Instrument_name_engraver; + \consists Instrument_name_engraver } } } diff --git a/input/test/volta.ly b/input/test/volta.ly index 5ff5265dd5..e08f25beb2 100644 --- a/input/test/volta.ly +++ b/input/test/volta.ly @@ -1,14 +1,15 @@ +\version "1.3.146" voiceE = \notes { -\clef bass; +\clef bass \property Staff.instrument = "Bass" \property Staff.instr = "B" % \property Staff.VoltaBracket = \turnOff - \time 4/4; f,2 ( ) f,8 r8 f8 e8 + \time 4/4 f,2 ( ) f,8 r8 f8 e8 \repeat volta 2 { d8. d16 e8. f16 f8 c8 c16 c8. @@ -22,8 +23,8 @@ voiceE = \notes { } voicedefault = \notes { - \time 4/4; \key f \major ; - \tempo 4 = 200; + \time 4/4 \key f \major + \tempo 4 = 200 } \score{ \notes < @@ -37,11 +38,11 @@ voicedefault = \notes { > \paper { - font_normal = 12.; + font_normal = 12. \translator { \StaffContext TimeSignature \override #'style = #'C - \consists Instrument_name_engraver; + \consists Instrument_name_engraver } } } diff --git a/input/test/warnings.ly b/input/test/warnings.ly index 34d64ff246..777ab08289 100644 --- a/input/test/warnings.ly +++ b/input/test/warnings.ly @@ -1,10 +1,11 @@ +\version "1.3.146" \header { texidoc="Various warnings -"; +" } -linebreak = \penalty -1000; +linebreak = \penalty #-1000 \score { \notes { diff --git a/input/trip.ly b/input/trip.ly index 51583b97cf..946dfb8601 100644 --- a/input/trip.ly +++ b/input/trip.ly @@ -1,9 +1,11 @@ \header { - title = "Trip"; - copyright = "public domain"; + title = "Trip" + copyright = "public domain" } +\version "1.3.146" + %{ This file tests as much features of lily as possible. If there are any @@ -23,8 +25,8 @@ TODO: praeludiumRight = \notes { - \key e \major; - \clef violin; + \key e \major + \clef violin % 13 -- how to type -- where to split -- this more neatly? \context Staff < @@ -49,8 +51,8 @@ praeludiumRight = \notes { } praeludiumLeft = \notes \relative c { - \key e \major; - \clef bass; + \key e \major + \clef bass % 13 \context Staff < @@ -88,9 +90,9 @@ praeludiumLeft = \notes \relative c { fugaIIRight = \notes \relative c'' { - \key e \major; % E-major - \clef violin; - \time3/4; + \key e \major % E-major + \clef violin + \time3/4 %15 \context Staff < @@ -139,8 +141,8 @@ fugaIIRight = \notes \relative c'' { gracetest = \notes \grace { [c16 ( cis dis] } fugaIILeft = \notes { - \key e \major; - \clef bass; + \key e \major + \clef bass %15 \context Staff < @@ -151,14 +153,14 @@ fugaIILeft = \notes { \context Voice = two { \stemDown s2 e4 | fis2 fis4 } > - \stemBoth cis2 [e16( fis a \clef "treble"; b] | + \stemBoth cis2 [e16( fis a \clef "treble" b] | d'4 ) b8 b8 b4 | %19 } fugaIIPedal = \notes \relative c { - \key e \major; - \clef bass; + \key e \major + \clef bass \repeat "volta" 2 { dis4.-\ltoe } \alternative { e8-\rtoe cis4 } | b4.-\lheel [cis8-\ltoe dis8-\rtoe e8-\rheel] | @@ -180,7 +182,7 @@ fugaIIPedal = \notes \relative c { \property Score.midiInstrument = "church organ" \praeludiumRight - \times 4/3 { c4 c4 c4 } \mark "B"; + \times 4/3 { c4 c4 c4 } \mark "B" \fugaIIRight } \context Staff = bass { \property Staff.instrument = #"left" @@ -192,9 +194,9 @@ fugaIIPedal = \notes \relative c { \property Staff.instrument = #"bass" \property Staff.instr = #"bs" - \time 4/4; - \key e \major; - \clef bass; + \time 4/4 + \key e \major + \clef bass %13 r4 fis,4-\ltoe e4.-\lheel e'8-\rheel | @@ -210,9 +212,9 @@ fis8-\rtoe fis4-\rtoe [e8-\ltoe a-\rtoe] | g r4. ) c2^^^-^\f - \time 3/4; + \time 3/4 - \fugaIIPedal \bar "|." ; } + \fugaIIPedal \bar "|." } > > @@ -223,13 +225,13 @@ fis8-\rtoe fis4-\rtoe [e8-\ltoe a-\rtoe] | \OrchestralScoreContext } \translator { \PianoStaffContext - \consists "Instrument_name_engraver"; + \consists "Instrument_name_engraver" } \translator { \StaffContext - \consists "Instrument_name_engraver"; + \consists "Instrument_name_engraver" } } \midi { - \tempo 4 =96; } + \tempo 4 =96 } } diff --git a/input/tutorial/flowing.ly b/input/tutorial/flowing.ly index 9ef044063d..351f3b6944 100644 --- a/input/tutorial/flowing.ly +++ b/input/tutorial/flowing.ly @@ -1,17 +1,17 @@ \header { - title = "The river is flowing"; - composer = "Traditonal (?)"; + title = "The river is flowing" + composer = "Traditonal (?)" } \include "paper16.ly" melody = \notes \relative c' { - \partial 8; + \partial 8 g8 | c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g | c4 c8 d [es () d] c4 | d4 es8 d c4. - \bar "|."; + \bar "|." } text = \lyrics { @@ -37,5 +37,5 @@ accompaniment =\chords { \context Lyrics \text } \midi { } - \paper { linewidth = 10.0\cm; } + \paper { linewidth = 10.0\cm } } diff --git a/input/tutorial/galuppi.ly b/input/tutorial/galuppi.ly index 44e40c4e36..1c6343a288 100644 --- a/input/tutorial/galuppi.ly +++ b/input/tutorial/galuppi.ly @@ -22,10 +22,10 @@ tenor = \notes \relative c' { \score { \context PianoStaff \notes < - \context Staff = top { \key d \major; \time 4/4; + \context Staff = top { \key d \major \time 4/4 \soprano } - \context Staff = bottom < \key d \major; \time 4/4; \clef bass; + \context Staff = bottom < \key d \major \time 4/4 \clef bass \context Voice = up { \tenor } \context Voice = down { \bass } > diff --git a/input/tutorial/menuet.ly b/input/tutorial/menuet.ly index a1bb68f7f3..6fba5af310 100644 --- a/input/tutorial/menuet.ly +++ b/input/tutorial/menuet.ly @@ -2,16 +2,16 @@ % lines preceded by a percent sign are comments. \include "paper16.ly" \score { - \notes + \notes \relative c'' - \sequential { - \key g \major; - \time 3/4; + \sequential { + \key g \major + \time 3/4 \repeat "volta" 2 \sequential { d4 g,8 a b c d4 g, g | e'4 c8 d e fis g4 g, g | - c4 d8()c b a( )b4 c8 b a g | + c4 d8( )c b a( )b4 c8 b a g | a4 [b8 a] [g fis] g2. | } @@ -22,9 +22,9 @@ g4 fis e | fis a, r8 cis8 d2.-\fermata - \bar "|."; + \bar "|." } \paper { - linewidth = 10.0 \cm; % standard settings are too wide for a book + linewidth = 10.0 \cm % standard settings are too wide for a book } } diff --git a/input/tutorial/miniatures.ly b/input/tutorial/miniatures.ly index 1dd8aa064d..7939232451 100644 --- a/input/tutorial/miniatures.ly +++ b/input/tutorial/miniatures.ly @@ -1,24 +1,20 @@ - \version "1.3.138"; - \header { - title = "Two miniatures"; - } - - #(set! point-and-click line-column-location) - - \paper { linewidth = -1.0; } +\version "1.3.138" +\header { title = "Two miniatures" } - \score { +#(set! point-and-click line-column-location) + +\paper { linewidth = -1.0 } + +\score { \notes { c'4 d'4 } \header { - opus = "Opus 1."; - piece = "Up"; - } - } - - \score { - \notes { d'4 c'4 } + opus = "Opus 1." + piece = "Up" } +} + +\score { + \notes { d'4 c'4 } \header { - opus = "Opus 2."; - piece = "Down"; - } - } + opus = "Opus 2." + piece = "Down" } +} diff --git a/input/tutorial/os-flute-2.ly b/input/tutorial/os-flute-2.ly index f89b07f2f5..11cf5fb309 100644 --- a/input/tutorial/os-flute-2.ly +++ b/input/tutorial/os-flute-2.ly @@ -1,31 +1,28 @@ -\include "os-music.ly"; -\include "paper16.ly"; +\include "os-music.ly" +\include "paper16.ly" \score { \context Staff < + \property Score.skipBars = ##t \property Staff.midiInstrument = #"flute" \global \Key \flautoII > \header { - instrument = "flute I"; + instrument = "flute I" } \paper { - linewidth = 80 * \staffspace; - textheight = 40 * \staffspace; - \translator { - \OrchestralScoreContext - skipBars = ##t - } + linewidth = 80 * \staffspace + textheight = 40 * \staffspace } \midi { - \tempo 4 = 75; + \tempo 4 = 75 } } % switch off settings of -score file, so the rest of the % tutorial isn't \special -#(set! point-and-click #f) \ No newline at end of file +#(set! point-and-click #f) diff --git a/input/tutorial/os-music.ly b/input/tutorial/os-music.ly index b20a12288b..b275b2c681 100644 --- a/input/tutorial/os-music.ly +++ b/input/tutorial/os-music.ly @@ -1,17 +1,17 @@ % include file for tutorial \header { - title = "Zo, goed lieverd?"; - subtitle = "How's, this babe?"; - composer = "JCN"; - opus = "1"; - piece = "Laid back"; + title = "Zo, goed lieverd?" + subtitle = "How's, this babe?" + composer = "JCN" + opus = "1" + piece = "Laid back" } global = { - \time 2/4; - \skip 2*4; \bar "|."; + \time 2/4 + \skip 2*4 \bar "|." } -Key = \notes \key as \major; +Key = \notes \key as \major flautoI = \notes\relative c'' { f8 g f g f g f g bes as bes as bes as bes as @@ -20,7 +20,7 @@ flautoII = \notes\relative c'' { as8 bes as bes R1 d4 ~ d } tromboI = \notes\relative c'' { - c4. c8 c8 c4. es4 R1*1/2 es4 + c4. c8 c8 c4. es4 r as, r } tromboII = \notes\relative c'' { as4. as8 as8 as4. R1*1/2 as4 es' diff --git a/input/tutorial/os-score.ly b/input/tutorial/os-score.ly index 8c4fc4f4c6..db0e3b3938 100644 --- a/input/tutorial/os-score.ly +++ b/input/tutorial/os-score.ly @@ -1,8 +1,8 @@ -\version "1.3.138"; +\version "1.3.138" -\include "os-music.ly"; -\include "paper13.ly"; +\include "os-music.ly" +\include "paper13.ly" #(set! point-and-click line-column-location) #(define text-flat '((font-relative-size . -2) (music "accidentals--1"))) @@ -10,6 +10,7 @@ \score { < \global + \property Score.BarNumber \override #'padding = #3 \context StaffGroup = woodwind < \context Staff = flauti < \property Staff.midiInstrument = #"flute" @@ -25,7 +26,7 @@ \property Staff.midiInstrument = #"timpani" \property Staff.instrument = #'(lines "Timpani" "(C-G)") \property Staff.instr = #"Timp." - \clef bass; + \clef bass \Key \timpani > @@ -45,37 +46,26 @@ \property Staff.instrument = #`(lines "Corno" (rows "(E" ,text-flat ")")) \property Staff.instr = #`(lines "Cor." (rows "(E" ,text-flat ")")) \property Staff.transposing = #3 - \notes \key bes \major; + \notes \key bes \major \context Voice=one \corno > > > \paper { - indent = 15 * \staffspace; - linewidth = 60 * \staffspace; - textheight = 90 * \staffspace; - \translator{ - \ThreadContext - \consists "Rest_engraver"; - } + indent = 15 * \staffspace + linewidth = 60 * \staffspace + textheight = 90 * \staffspace \translator{ \VoiceContext - \remove "Rest_engraver"; - \consists "Multi_measure_rest_engraver"; - \consists "Bar_engraver"; + \consists "Multi_measure_rest_engraver" } \translator{ \HaraKiriStaffContext - \remove "Multi_measure_rest_engraver"; - \remove "Bar_engraver"; - } - \translator { - \OrchestralScoreContext - BarNumber \override #'padding = #3 + \remove "Multi_measure_rest_engraver" } } \midi { - \tempo 4 = 75; + \tempo 4 = 75 } } diff --git a/input/tutorial/sammartini.ly b/input/tutorial/sammartini.ly index 653c26a661..9b96735fad 100644 --- a/input/tutorial/sammartini.ly +++ b/input/tutorial/sammartini.ly @@ -1,60 +1,62 @@ -\include "paper16.ly"; +\include "paper16.ly" stemdown = \property Voice.Stem \override #'direction = #-1 stemup = \property Voice.Stem \override #'direction = #1 stemboth = \property Voice.Stem \revert #'direction viola = \notes \relative c' \context Voice = viola { - - \stemDown g'8. b,16 - s1 s2. r4 - g + + \stemDown g'8. b,16 + s1 s2. r4 + g } oboes = \notes \relative c'' \context Voice = oboe { - \stemUp s4 g8. b,16 c8 r - \grace \times 2/3 { } - < - { \times 2/3 { a8 g c } \! c2 } - \context Voice = oboeTwo { - \stemDown - \grace { - \property Grace.Stem \override #'direction = #-1 - [f,16 g] } - f8 e e2 - } > - \stemBoth - \grace <)b8. d8.-\trill> | - [ < )f8. a>] <)b,8 d> r [ ] r | - [ < )e8. g>] + \stemUp s4 g8. b,16 c8 r + \grace + \times 2/3 { } + < + { \times 2/3 { a8 g c } \! c2 } + \context Voice = oboeTwo { + \stemDown + \grace { + \property Grace.Stem \override #'direction = #-1 + [f,16 g] } + f8 e e2 + } + > + \stemBoth + \grace <)b8. d8.-\trill> | + [ < )f8. a>] <)b,8 d> r [ ] r | + [ < )e8. g>] } -hoomPah = \repeat unfold 8 - \notes \transpose c' { c8 \stemDown c'8 \stemUp } +hoomPah = \repeat unfold 8 \notes + \transpose c' { c8 \stemDown c'8 \stemUp } bassvoices = \notes \relative c' { - c4 g8. b,16 - \autochange Staff \hoomPah - \translator Staff = down - \stemDown [c8 c'8] r4 - r4 - < {\stemUp r2 } - \context Voice = reallyLow {\stemDown g2 ~ | g4 c8 } > + c4 g8. b,16 + \autochange Staff \hoomPah + \translator Staff = down + \stemDown [c8 c'8] r4 + r4 + < {\stemUp r2 } + \context Voice = reallyLow {\stemDown g2 ~ | g4 c8 } > } \score { - \context PianoStaff \notes < - \context Staff = up < \time 2/2; - \viola - \oboes - > - \context Staff = down < \time 2/2; \clef bass; - \bassvoices - > - > - \midi { } - \paper { - indent = 0.0; - linewidth = 15.0 \cm; } + \context PianoStaff \notes < + \context Staff = up < \time 2/2 + \viola + \oboes + > + \context Staff = down < \time 2/2 \clef bass; + \bassvoices + > + > + \midi { } + \paper { + indent = 0.0 + linewidth = 15.0 \cm } } diff --git a/input/tutorial/singing-saw.ly b/input/tutorial/singing-saw.ly index bd55955050..6bfc261f49 100644 --- a/input/tutorial/singing-saw.ly +++ b/input/tutorial/singing-saw.ly @@ -20,7 +20,7 @@ piano = \context PianoStaff \notes < s1*2 \accomp > - \context Staff = down { \clef bass; s1*2 } + \context Staff = down { \clef bass s1*2 } > saw = \context Staff \notes { diff --git a/input/tutorial/test.ly b/input/tutorial/test.ly index c1fc4dbff3..a80f80cd0a 100644 --- a/input/tutorial/test.ly +++ b/input/tutorial/test.ly @@ -1,7 +1,7 @@ \header { - title = "Test"; + title = "Test" } diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly index 43be947cc8..adee2dd170 100644 --- a/input/twinkle-pop.ly +++ b/input/twinkle-pop.ly @@ -1,16 +1,17 @@ +\version "1.3.146" \header{ -filename = "twinkle-pop.ly"; -xtitle = "Ah, vous dirais-je, maman "; -description = "twinkle twinkle in pop-song-settings"; -composer = "traditional"; -enteredby = "HWN, chords by Johan Vromans"; -copyright = "public domain"; +filename = "twinkle-pop.ly" +xtitle = "Ah, vous dirais-je, maman " +description = "twinkle twinkle in pop-song-settings" +composer = "traditional" +enteredby = "HWN, chords by Johan Vromans" +copyright = "public domain" } melodie = \notes\relative c'' { - \clef "violin"; - \time 2/4 ; + \clef "violin" + \time 2/4 c4 c | g' g | a a | g2 | f4 f | e e | d d | c2 | @@ -18,7 +19,7 @@ melodie = \notes\relative c'' { g g | f f | e e | d d | % copy 1-8 c4 c | g' g | a a | g2 | - f4 f | e e | d d | c2 \bar "|."; + f4 f | e e | d d | c2 \bar "|." } acc = \chords { @@ -51,7 +52,7 @@ text = \lyrics{ \context Lyrics \text > \header{ - title = "Ah, vous dirais-je, maman "; + title = "Ah, vous dirais-je, maman " } \paper { } } @@ -63,7 +64,7 @@ text = \lyrics{ \lyrics \context Lyrics \text > \header{ - piece = "clarinet in B\\textflat"; + piece = "clarinet in B\\textflat" } \paper { } } diff --git a/input/twinkle.ly b/input/twinkle.ly index 9e9ff0faee..c9cfc68f47 100644 --- a/input/twinkle.ly +++ b/input/twinkle.ly @@ -1,9 +1,10 @@ +\version "1.3.146" \header{ -filename = "twinkle.ly"; -title = "Twinkle Twinkle Little Star"; -composer = "Traditional"; -enteredby = "hwn and jcn"; -copyright = "public domain"; +filename = "twinkle.ly" +title = "Twinkle Twinkle Little Star" +composer = "Traditional" +enteredby = "hwn and jcn" +copyright = "public domain" } %{ @@ -23,7 +24,7 @@ Tested Features: lyrics, interleaving lyrics and staffs, repeats, melody = \notes \relative c'' { - \clef violin; + \clef violin \property Staff.instrument = "alto sax" c4 c | g' g | a a | g g | @@ -37,7 +38,7 @@ melody = \notes \relative c'' { } accompany = \notes \relative c { - \clef "bass"; + \clef "bass" c4 c' | e c | f c | e c | d b | c a | f g | c,2 | @@ -104,7 +105,7 @@ textii = \lyrics{ textiii = \lyrics{ Then the tra -- veler in the dark " " - Thanks you for your ti -- ny " " spark; + Thanks you for your ti -- ny " " spark He could not see which way to go, If you did not twin -- kle " " so. " " Twin -- kle, twin -- kle, lit -- tle star, " " @@ -117,7 +118,7 @@ textiii = \lyrics{ \context Lyrics=top s1 \context GrandStaff < \context Staff=ii \repeat volta 2 < - \time 2/4; + \time 2/4 \melody > \context Staff=iii \repeat volta 2 < \accompany > @@ -141,10 +142,10 @@ textiii = \lyrics{ > > \paper{ - gourlay_maxmeasures = 14.0; + gourlay_maxmeasures = 14.0 } \midi{ - \tempo 4 = 120 ; + \tempo 4 = 120 } } diff --git a/lily/lexer.ll b/lily/lexer.ll index d8646ab673..7751f2b979 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -142,7 +142,7 @@ HYPHEN -- \\version{WHITE}* { yy_push_state (version); } -\"[^"]*\";? { /* got the include file name */ +\"[^"]*\" { /* got the version number */ String s (YYText ()+1); s = s.left_str (s.index_last_i ('"')); @@ -202,8 +202,12 @@ HYPHEN -- new_input (ly_scm2string (sid), source_global_l); yy_pop_state (); } else { - String msg (_f ("wrong or undefined identifier: `%s'", s )); + String msg (_f ("wrong or undefined identifier: `%s'", s )); + LexerError (msg.ch_C ()); + SCM err = scm_current_error_port (); + scm_puts ("This value was found in the table: ", err); + scm_display (sid, err); } } \"[^"]* { // backup rule @@ -388,7 +392,7 @@ HYPHEN -- int cnv=sscanf (YYText (), "%lf", &r); assert (cnv == 1); - yylval.real = r; + yylval.scm = gh_double2scm (r); return REAL; } diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc index 3748877145..3a41467abc 100644 --- a/lily/my-lily-lexer.cc +++ b/lily/my-lily-lexer.cc @@ -45,6 +45,7 @@ static Keyword_ent the_key_tab[]={ {"consists", CONSISTS}, {"consistsend", CONSISTSEND}, {"context", CONTEXT}, + {"default", DEFAULT}, {"denies", DENIES}, {"duration", DURATION}, {"dynamicscript", DYNAMICSCRIPT}, diff --git a/lily/parser.yy b/lily/parser.yy index 16e9c0ee2f..33a75d50c8 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -96,16 +96,14 @@ print_lilypond_versions (ostream &os) %union { Link_array *reqvec; - String * string; + + String *string; // needed by the lexer as temporary scratch area. Music *music; Score *score; Scope *scope; Scheme_hash_table *scmhash; - Musical_req* musreq; Music_output_def * outputdef; - Midi_def* midi; - Real real; Request * request; /* We use SCMs to do strings, because it saves us the trouble of @@ -172,6 +170,7 @@ yylex (YYSTYPE *s, void * v_l) %token MIDI %token MM_T %token PITCH +%token DEFAULT %token NAME %token PITCHNAMES %token NOTES @@ -224,10 +223,10 @@ yylex (YYSTYPE *s, void * v_l) %token MUSIC_IDENTIFIER TRANSLATOR_IDENTIFIER %token STRING_IDENTIFIER SCM_IDENTIFIER %token RESTNAME -%token STRING +%token STRING %token SCM_T %token UNSIGNED -%token REAL +%token REAL %type output_def %type lilypond_header lilypond_header_body @@ -267,6 +266,7 @@ yylex (YYSTYPE *s, void * v_l) %type extender_req %type hyphen_req %type string bare_number number_expression + %type score_block score_body %type translator_spec_block translator_spec_body @@ -363,7 +363,7 @@ lilypond_header_body: Scope *sc = new Scope ($$); THIS->lexer_p_-> scope_l_arr_.push (sc); } - | lilypond_header_body assignment semicolon { + | lilypond_header_body assignment { } ; @@ -448,7 +448,7 @@ translator_spec_body: $$ = unsmob_translator_def ($1)->clone_scm (); unsmob_translator_def ($$)-> set_spot (THIS->here_input ()); } - | TYPE STRING semicolon { + | TYPE STRING { $$ = Translator_def::make_scm (); Translator_def*td = unsmob_translator_def ($$); td->translator_group_type_ = $2; @@ -465,23 +465,13 @@ translator_spec_body: unsmob_translator_def ($$)->add_pop_property ( scm_string_to_symbol ($2), $4); } - | translator_spec_body STRING '=' identifier_init semicolon { - SCM v = gh_int2scm (0); - if (gh_string_p ($4) || gh_number_p ($4) || gh_boolean_p ($4)) - v = $4; - else - THIS->parser_error (_ ("Wrong type for property value")); - - /* ugh*/ - unsmob_translator_def ($$)->add_property_assign ($2, v); - } - | translator_spec_body NAME STRING semicolon { + | translator_spec_body NAME STRING { unsmob_translator_def ($$)->type_name_ = $3; } - | translator_spec_body CONSISTS STRING semicolon { + | translator_spec_body CONSISTS STRING { unsmob_translator_def ($$)->add_element ($3); } - | translator_spec_body ALIAS STRING semicolon { + | translator_spec_body ALIAS STRING { Translator_def*td = unsmob_translator_def ($$); td->type_aliases_ = gh_cons ($3, td->type_aliases_); } @@ -491,16 +481,16 @@ translator_spec_body: ->add_property_assign (scm_symbol_to_string (gh_caar (p)), gh_cdar (p)); } - | translator_spec_body CONSISTSEND STRING semicolon { + | translator_spec_body CONSISTSEND STRING { unsmob_translator_def ($$)->add_last_element ( $3); } - | translator_spec_body ACCEPTS STRING semicolon { + | translator_spec_body ACCEPTS STRING { unsmob_translator_def ($$)->set_acceptor ($3,true); } - | translator_spec_body DENIES STRING semicolon { + | translator_spec_body DENIES STRING { unsmob_translator_def ($$)->set_acceptor ($3,false); } - | translator_spec_body REMOVE STRING semicolon { + | translator_spec_body REMOVE STRING { unsmob_translator_def ($$)->remove_element ($3); } ; @@ -597,7 +587,7 @@ music_output_def_body: THIS->lexer_p_->scope_l_arr_.push (p->scope_p_); $$ = p; } - | music_output_def_body assignment semicolon { + | music_output_def_body assignment { } | music_output_def_body translator_spec_block { @@ -606,7 +596,7 @@ music_output_def_body: | music_output_def_body STYLESHEET embedded_scm { dynamic_cast ($$)-> style_sheet_ = $3; } - | music_output_def_body tempo_request semicolon { + | music_output_def_body tempo_request { /* junk this ? there already is tempo stuff in music. @@ -786,7 +776,7 @@ Composite_music: scm_unprotect_object ($2->self_scm ()); } - | CONTEXT STRING '=' STRING Music { + | CONTEXT string '=' string Music { Context_specced_music *csm = new Context_specced_music (SCM_EOL); csm->set_mus_property ("element", $5->self_scm ()); scm_unprotect_object ($5->self_scm ()); @@ -1045,7 +1035,7 @@ command_element: $$-> set_spot (THIS->here_input ()); $1-> set_spot (THIS->here_input ()); } - | BAR STRING ';' { + | BAR STRING { Music *t = new Music (SCM_EOL); t->set_mus_property ("iterator-ctor", @@ -1062,7 +1052,7 @@ command_element: csm->set_mus_property ("context-type", ly_str02scm ("Score")); } - | PARTIAL duration_length ';' { + | PARTIAL duration_length { Music * p = new Music (SCM_EOL); p->set_mus_property ("symbol", ly_symbol2scm ( "measurePosition")); p->set_mus_property ("iterator-ctor", @@ -1078,7 +1068,7 @@ command_element: $$ =sp ; sp-> set_mus_property ("context-type", ly_str02scm ( "Score")); } - | CLEF STRING ';' { + | CLEF STRING { SCM func = scm_eval2 (ly_symbol2scm ("clef-name-to-properties"), SCM_EOL); SCM result = gh_call1 (func, $2); @@ -1099,7 +1089,7 @@ command_element: $$ =sp ; sp-> set_mus_property ("context-type", ly_str02scm ("Staff")); } - | TIME_T bare_unsigned '/' bare_unsigned ';' { + | TIME_T bare_unsigned '/' bare_unsigned { Music * p = new Music (SCM_EOL); p->set_mus_property ("symbol", ly_symbol2scm ( "timeSignatureFraction")); @@ -1125,7 +1115,7 @@ command_element: command_req: shorthand_command_req { $$ = $1; } - | verbose_command_req semicolon { $$ = $1; } + | verbose_command_req { $$ = $1; } ; shorthand_command_req: @@ -1167,7 +1157,7 @@ verbose_command_req: sp_p->set_spot (THIS->here_input ()); $$ = sp_p; } - | MARK { + | MARK DEFAULT { Mark_req * m = new Mark_req; $$ = m; } @@ -1177,9 +1167,15 @@ verbose_command_req: $$ = m; } - | PENALTY bare_int { + | PENALTY SCM_T { + + Break_req * b = new Break_req; - b->set_mus_property ("penalty", gh_double2scm ( $2 / 100.0)); + SCM s = $2; + if (!gh_number_p (s)) + s =gh_int2scm (0); + + b->set_mus_property ("penalty", s); b->set_spot (THIS->here_input ()); $$ = b; } @@ -1192,7 +1188,7 @@ verbose_command_req: | tempo_request { $$ = $1; } - | KEY { + | KEY DEFAULT { Key_change_req *key_p= new Key_change_req; $$ = key_p; } @@ -1674,21 +1670,11 @@ FIXME: location is one off, since ptich & duration don't contain origin refs. $$ = new Sequential_music (SCM_EOL); $$->set_mus_property ("elements", ms); } - | STRING { - THIS->remember_spot (); - } - /* cont */ - optional_notemode_duration { - if (!THIS->lexer_p_->lyric_state_b ()) { - THIS->pop_spot ().error (_ ("Have to be in Lyric mode for lyrics")); - THIS->error_level_i_ = 1; - THIS->parser_error (_ ("Giving up")); - } - else - THIS->pop_spot (); + | STRING optional_notemode_duration { + Lyric_req* lreq_p = new Lyric_req; lreq_p->set_mus_property ("text", $1); - lreq_p->set_mus_property ("duration",$3); + lreq_p->set_mus_property ("duration",$2); lreq_p->set_spot (THIS->here_input ()); Simultaneous_music* velt_p = new Request_chord (SCM_EOL); velt_p->set_mus_property ("elements", gh_list (lreq_p->self_scm (), SCM_UNDEFINED)); @@ -1828,49 +1814,39 @@ bare_number: UNSIGNED { $$ = gh_int2scm ($1); } - | DIGIT { - $$ = gh_int2scm ($1); - } | REAL { - $$ = gh_double2scm ($1); + $$ = $1; } | NUMBER_IDENTIFIER { $$ = $1; } | REAL CM_T { - $$ = gh_double2scm ($1 CM); + $$ = gh_double2scm (gh_scm2double ($1) CM ); } | REAL PT_T { - $$ = gh_double2scm ($1 PT); + $$ = gh_double2scm (gh_scm2double ($1) PT); } | REAL IN_T { - $$ = gh_double2scm ($1 INCH); + $$ = gh_double2scm (gh_scm2double ($1) INCH); } | REAL MM_T { - $$ = gh_double2scm ($1 MM); + $$ = gh_double2scm (gh_scm2double ($1) MM); } | REAL CHAR_T { - $$ = gh_double2scm ($1 CHAR); + $$ = gh_double2scm (gh_scm2double ($1) CHAR); } ; bare_unsigned: - bare_number { - if (scm_integer_p ($1) == SCM_BOOL_T) { - $$ = gh_scm2int ($1); - - } else { - THIS->parser_error (_ ("need integer number arg")); - $$ = 0; - } - if ($$ < 0) { - THIS->parser_error (_ ("Must be positive integer")); - $$ = -$$; - } - + UNSIGNED { + $$ = $1; + } + | DIGIT { + $$ = $1; } ; + bare_int: bare_number { if (scm_integer_p ($1) == SCM_BOOL_T) @@ -1913,10 +1889,6 @@ questions: ; -semicolon: - ';' - ; - %% void diff --git a/lily/stanza-number-engraver.cc b/lily/stanza-number-engraver.cc index a91e6bac79..db88dad85d 100644 --- a/lily/stanza-number-engraver.cc +++ b/lily/stanza-number-engraver.cc @@ -1,4 +1,3 @@ - /* lyric-number-engraver.cc -- implement Stanza_number_engraver @@ -41,27 +40,35 @@ Stanza_number_engraver::Stanza_number_engraver () void Stanza_number_engraver::acknowledge_grob (Grob_info i) { - SCM s = get_property ("stanza"); + if (gh_string_p (get_property ("whichBar"))) + { + SCM s = get_property ("stanza"); - if (now_mom () > Moment (0)) - s = get_property ("stz"); + if (now_mom () > Moment (0)) + s = get_property ("stz"); - if (gh_string_p (s)) - { -// if (i.elem_l_->has_interface (symbol ("lyric-syllable-interface"))) - // Tried catching lyric items to generate stanza numbers, but it spoils lyric spacing. - if (Bar::has_interface (i.elem_l_) || now_mom () == Moment (0)) - // Works, but requires bar_engraver in LyricsVoice context apart from at beginning. - // Is there any score element we can catch that will do the trick? -// if (! i.elem_l_->has_interface (symbol ("lyric-syllable-interface")) || -// now_mom () == Moment (0)) - // What happens if we try anything at all EXCEPT a lyric? Is there anything else? - // Not sure what it's catching, but it still mucks up lyrics. + if (gh_string_p (s)) + + /* + if (i.elem_l_->has_interface (symbol ("lyric-syllable-interface"))) + + Tried catching lyric items to generate stanza numbers, but it + spoils lyric spacing. + + Works, but requires bar_engraver in LyricsVoice context apart + from at beginning. Is there any score element we can catch + that will do the trick? + + What happens if we try anything at all EXCEPT a lyric? Is + there anything else? Not sure what it's catching, but it + still mucks up lyrics. + + */ + create_text (s); } } - void Stanza_number_engraver::stop_translation_timestep () { diff --git a/lily/stem.cc b/lily/stem.cc index 2b965b1c25..165848acd7 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -477,31 +477,6 @@ Stem::brew_molecule (SCM smob) Real dy = Staff_symbol_referencer::staff_space (me)/2.0; Real head_wid = 0; - - /* -TODO: - - I don't really get the idea of the attachment-angle. - It seems like that you attach the Stem to the NoteHead at point - (1,tan(aa)/2), making it still nessesary to have special CENTER-STEMS - option - and if I would like to attach stem i.e. here: - - | - | - | - XXX - XXXXX - XXXXX - XXX - - That would be impossible. - Why haven't you just made ATTACHMENT-COORDINATES as a pair of reals, - with (0 . 0) meaning CENTER, (1 . 1) upper right, etc...? - --Rune - - - */ if (Grob *hed = support_head (me)) { @@ -511,7 +486,7 @@ TODO: Real y_attach = Note_head::stem_attachment_coordinate ( hed, Y_AXIS); y_attach = head_height.linear_combination (y_attach); - stem_y[Direction (-d)] += d * y_attach; + stem_y[Direction (-d)] += d * 2*y_attach; } diff --git a/lily/system-start-delimiter.cc b/lily/system-start-delimiter.cc index 811a4171e3..5ebe192023 100644 --- a/lily/system-start-delimiter.cc +++ b/lily/system-start-delimiter.cc @@ -143,9 +143,13 @@ System_start_delimiter::staff_brace (Grob*me,Real y) { /* - FIXME: should look at afm/tfm file for dimensions. + FIXME: + * should look at afm/tfm file for dimensions. + (This breaks ascii-art output: it hasn't got 255 symbols) - (This breaks ascii-art output: it hasn't got 255 symbols) + * more glyphs (or maybe just better sized (fixed # of staff-spaces)), + the size mismatches with the staffs are very ugly + */ // ugrhn diff --git a/lily/text-item.cc b/lily/text-item.cc index 9c40d40e9e..afd032dfed 100644 --- a/lily/text-item.cc +++ b/lily/text-item.cc @@ -38,7 +38,7 @@ Text_item::text2molecule (Grob *me, SCM text, SCM alist_chain) { if (gh_string_p (text)) return string2molecule (me, text, alist_chain); - else if (gh_list_p (text)) + else if (gh_list_p (text) && text != SCM_EOL && text != SCM_UNDEFINED) { if (!gh_pair_p (gh_car (text)) && gh_string_p (gh_car (text))) return string2molecule (me, gh_car (text), alist_chain); diff --git a/ly/a4.ly b/ly/a4.ly index e42ee40984..8c729c5f5b 100644 --- a/ly/a4.ly +++ b/ly/a4.ly @@ -1,4 +1,5 @@ +\version "1.3.146" % a4.ly -hsize = 210.0 \mm; -vsize = 296.9 \mm; +hsize = 210.0 \mm +vsize = 296.9 \mm diff --git a/ly/accordion-defs.ly b/ly/accordion-defs.ly index c8caeabfd4..d5f9f67488 100644 --- a/ly/accordion-defs.ly +++ b/ly/accordion-defs.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % Symbols needed to print accordion music % % 2' = T diff --git a/ly/book-fragment.ly b/ly/book-fragment.ly index ec8ab984bb..b05101b73a 100644 --- a/ly/book-fragment.ly +++ b/ly/book-fragment.ly @@ -1,15 +1,15 @@ % Toplevel initialisation file. -\version "1.3.120"; +\version "1.3.146" \include "declarations.ly" \include "paper16.ly" \paper { \paperSixteen - linewidth = -1.\cm; - castingalgorithm = \Wordwrap; - "unusedentry" = "}\\def\\nolilyfooter{"; + linewidth = -1.\cm + castingalgorithm = \Wordwrap + "unusedentry" = "}\\def\\nolilyfooter{" } \score { diff --git a/ly/book-init.ly b/ly/book-init.ly index 7f268f5787..f6c865109d 100644 --- a/ly/book-init.ly +++ b/ly/book-init.ly @@ -1,9 +1,9 @@ % Toplevel initialisation file. -\version "1.3.120"; +\version "1.3.146" -\include "declarations.ly"; +\include "declarations.ly" \include "paper16.ly" \paper{ diff --git a/ly/catalan.ly b/ly/catalan.ly index fce6df63f4..74d42851d1 100644 --- a/ly/catalan.ly +++ b/ly/catalan.ly @@ -71,4 +71,4 @@ -\version "1.3.110"; +\version "1.3.146" diff --git a/ly/center-fragment.ly b/ly/center-fragment.ly index af0b413a5d..6366e6973a 100644 --- a/ly/center-fragment.ly +++ b/ly/center-fragment.ly @@ -1,18 +1,18 @@ % Toplevel initialisation file. -\version "1.3.120"; +\version "1.3.146" \include "declarations.ly" -\include "paper16.ly"; +\include "paper16.ly" \paper { \paperSixteen - linewidth = -1.0\cm; - castingalgorithm = \Wordwrap; - "unusedentry" = "}\\def\\nolilyfooter{"; + linewidth = -1.0\cm + castingalgorithm = \Wordwrap + "unusedentry" = "}\\def\\nolilyfooter{" } diff --git a/ly/center.ly b/ly/center.ly index 53743596eb..c3730fbbe8 100644 --- a/ly/center.ly +++ b/ly/center.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.3.120"; +\version "1.3.146" \include "declarations.ly" @@ -8,8 +8,8 @@ \paper { \paperSixteen -% linewidth = 7.\cm; - linewidth = 11.\cm; +% linewidth = 7.\cm + linewidth = 11.\cm } \maininput diff --git a/ly/chord-modifiers.ly b/ly/chord-modifiers.ly index 5c61876a88..308bd3bea7 100644 --- a/ly/chord-modifiers.ly +++ b/ly/chord-modifiers.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % urg! % @@ -5,10 +6,10 @@ (m . ,(make-pitch 0 2 -1 )) (min . ,(make-pitch 0 2 -1 )) (aug . ,(make-pitch 0 4 1 )) -; (dim . ,(make-pitch -100 4 -1 )) + (dim . ,(make-pitch -100 4 -1 )) (dim . ,(make-pitch -100 2 -1 )) ; urg, not actually a chord-modifier, but it works -; c7 -> , c 7+ -> c b +; c7 -> , c 7+ -> c b (maj . ,(make-pitch 0 6 1 )) ; sus4 should delete 2 too... (sus . ,(make-pitch 0 3 0 )) diff --git a/ly/declarations.ly b/ly/declarations.ly index 0cc795c25e..0bb5e95a6a 100644 --- a/ly/declarations.ly +++ b/ly/declarations.ly @@ -1,3 +1,5 @@ + +\version "1.3.146" breve = \duration #(make-duration -1 0) longa = \duration #(make-duration -2 0 ) maxima = \duration #(make-duration -3 0) @@ -17,30 +19,37 @@ smaller = -1 bigger = 1 center=0 -break = \penalty -1000000; -noBreak = \penalty 1000000; +break = \penalty #-10000 +noBreak = \penalty #10000 \include "scale-definitions.ly" melisma = \property Staff.melismaBusy = ##t melismaEnd = \property Staff.melismaBusy = ##f -papersize = "a4" + \include "engraver.ly" -\include "generic-paper.ly" -\include "paper20.ly" -singleLine = \paper { linewidth = 1.; } +singleLine = \paper { linewidth = 1. } % ugh \include "midi.ly" +papersize = "a4" +paperfile = \papersize + ".ly" + +\include "generic-paper.ly" +\include "paper20.ly" + + \include "dynamic-scripts.ly" \include "spanners.ly" \include "property.ly" -unusedEntry = \notes { c4 } % reset default duration + +% reset default duration +unusedEntry = \notes { c4 } % music = "\melodic\relative c" diff --git a/ly/deutsch.ly b/ly/deutsch.ly index 7dc6a29b31..cda93cf82a 100644 --- a/ly/deutsch.ly +++ b/ly/deutsch.ly @@ -34,7 +34,7 @@ (gis . ,(make-pitch -1 4 1 )) (gisis . ,(make-pitch -1 4 2 )) (asas . ,(make-pitch -1 5 -2 )) - (ases . ,(make-pitch -1 5 -2 )) ; non-standard name for asas + (ases . ,(make-pitch -1 5 -2 )) non-standard name for asas (as . ,(make-pitch -1 5 -1 )) (a . ,(make-pitch -1 5 0 )) (ais . ,(make-pitch -1 5 1 )) @@ -49,4 +49,4 @@ -\version "1.3.110"; +\version "1.3.146" diff --git a/ly/drumpitch.ly b/ly/drumpitch.ly index 928512c847..addf137e36 100644 --- a/ly/drumpitch.ly +++ b/ly/drumpitch.ly @@ -1,7 +1,7 @@ % GM drum pitches. % I use different accidentals to distinguish drums at the same GM pitch. % Always accidental 0 (white keys) or 1 (black keys) to get the "correct" gm name. -% i.e. fis, for closed highat ; ges, for highat. +% i.e. fis, for closed highat ges, for highat. % 2001/03/25 Rune Zedeler @@ -64,7 +64,7 @@ (mutetriangle trim ,(make-pitch 1 4 1)) (triangle tri ,(make-pitch 1 4 2)) (opentriangle trio ,(make-pitch 1 5 0)) - ; "transposing" pitches: + "transposing" pitches: (oneup ua ,(make-pitch 0 1 0)) (twoup ub ,(make-pitch 0 2 0)) (threeup uc ,(make-pitch 0 3 0)) @@ -151,4 +151,4 @@ ) -\version "1.3.142"; +\version "1.3.146" diff --git a/ly/dynamic-scripts.ly b/ly/dynamic-scripts.ly index 94d9b9bab2..0f2f3e6b24 100644 --- a/ly/dynamic-scripts.ly +++ b/ly/dynamic-scripts.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % % declare the standard dynamic identifiers. diff --git a/ly/english.ly b/ly/english.ly index 4216d75b26..9afeff28f6 100644 --- a/ly/english.ly +++ b/ly/english.ly @@ -53,7 +53,8 @@ (eff . ,(make-pitch -1 2 -2 )) (ef . ,(make-pitch -1 2 -1 )) (e . ,(make-pitch -1 2 0 )) - (es . ,(make-pitch -1 2 1 )) ; es = E-flat in Dutch + + (es . ,(make-pitch -1 2 1 )) (ess . ,(make-pitch -1 2 2 )) (fff . ,(make-pitch -1 3 -2 )) (ff . ,(make-pitch -1 3 -1 )) @@ -68,7 +69,7 @@ (aff . ,(make-pitch -1 5 -2 )) (af . ,(make-pitch -1 5 -1 )) (a . ,(make-pitch -1 5 0 )) - (as . ,(make-pitch -1 5 1 )) ; as = A-flat in Dutch + (as . ,(make-pitch -1 5 1 )) (ass . ,(make-pitch -1 5 2 )) (bff . ,(make-pitch -1 6 -2 )) (bf . ,(make-pitch -1 6 -1 )) @@ -77,5 +78,5 @@ (bss . ,(make-pitch -1 6 2 )) ) -\version "1.3.110"; +\version "1.3.146" diff --git a/ly/engraver.ly b/ly/engraver.ly index 5a6c0eff0f..8205f6c3df 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -1,49 +1,49 @@ -\version "1.3.140" +\version "1.3.146" % % setup for Request->Element conversion. Guru-only % StaffContext=\translator { - \type "Engraver_group_engraver"; - \name Staff ; - \consists "Output_property_engraver"; + \type "Engraver_group_engraver" + \name Staff + \consists "Output_property_engraver" Generic_property_list = #generic-staff-properties - \consists "Property_engraver"; + \consists "Property_engraver" - \consists "Multi_measure_rest_engraver"; + \consists "Multi_measure_rest_engraver" - \consists "Bar_engraver"; + \consists "Bar_engraver" % Bar_engraver must be first so default bars aren't overwritten % with empty ones. -% \consists "Repeat_engraver"; - \consists "Volta_engraver"; - \consists "Separating_line_group_engraver"; +% \consists "Repeat_engraver" + \consists "Volta_engraver" + \consists "Separating_line_group_engraver" - \consists "Clef_engraver"; - \consists "Key_engraver"; - \consists "Time_signature_engraver"; - \consists "Staff_symbol_engraver"; - \consists "Collision_engraver"; - \consists "Rest_collision_engraver"; - \consists "Local_key_engraver"; - \consists "Piano_pedal_engraver"; + \consists "Clef_engraver" + \consists "Key_engraver" + \consists "Time_signature_engraver" + \consists "Staff_symbol_engraver" + \consists "Collision_engraver" + \consists "Rest_collision_engraver" + \consists "Local_key_engraver" + \consists "Piano_pedal_engraver" %{ - The Instrument_name_engraver puts the name of the instrument - (\property Staff.instrument; Staff.instr for subsequent lines) + The Instrument_name_engravei puts the name of the instrument + (\property Staff.instrument Staff.instr for subsequent lines) to the left of a staff. This is commented out, so you don't get funny things on the PianoStaff - \consists "Instrument_name_engraver"; + \consists "Instrument_name_engraver" %} - \consistsend "Axis_group_engraver"; + \consistsend "Axis_group_engraver" MinimumVerticalExtent = ##f ExtraVerticalExtent = ##f @@ -56,143 +56,143 @@ StaffContext=\translator { instrument = #"" instr = #"" - \accepts "Voice"; + \accepts "Voice" } StaffContainerContext = \translator { - \type Engraver_group_engraver; - \consists "Axis_group_engraver"; + \type Engraver_group_engraver + \consists "Axis_group_engraver" MinimumVerticalExtent = ##f ExtraVerticalExtent = ##f VerticalExtent = ##f - \accepts Staff; - \name StaffContainer; + \accepts Staff + \name StaffContainer } InnerChoirStaffContext = \translator { - \type "Engraver_group_engraver"; - \name InnerChoirStaff; - alignmentReference = \center; - \consists "System_start_delimiter_engraver"; + \type "Engraver_group_engraver" + \name InnerChoirStaff + alignmentReference = #0 + \consists "System_start_delimiter_engraver" SystemStartDelimiter \override #'glyph = #'bracket - \accepts "Staff"; - \accepts "RhythmicStaff"; - \accepts "GrandStaff"; - \accepts "PianoStaff"; - \accepts "Lyrics"; - \accepts "ChordNames"; + \accepts "Staff" + \accepts "RhythmicStaff" + \accepts "GrandStaff" + \accepts "PianoStaff" + \accepts "Lyrics" + \accepts "ChordNames" } ChoirStaffContext = \translator { \InnerChoirStaffContext - \name ChoirStaff; - \accepts "InnerChoirStaff"; - \accepts "InnerStaffGroup"; + \name ChoirStaff + \accepts "InnerChoirStaff" + \accepts "InnerStaffGroup" } RhythmicStaffContext=\translator{ - \type "Engraver_group_engraver"; + \type "Engraver_group_engraver" - \consists "Property_engraver"; - \consists "Output_property_engraver"; + \consists "Property_engraver" + \consists "Output_property_engraver" Generic_property_list = #generic-staff-properties MinimumVerticalExtent = ##f ExtraVerticalExtent = ##f VerticalExtent = ##f - \consists "Pitch_squash_engraver"; - \consists "Separating_line_group_engraver"; - \name RhythmicStaff; - \alias "Staff"; + \consists "Pitch_squash_engraver" + \consists "Separating_line_group_engraver" + \name RhythmicStaff + \alias "Staff" Bar \override #'bar-size = #4 VoltaBracket \override #'minimum-space = #15 % urg, in \pt VoltaBracket \override #'padding = #5 % urg, in \pt StaffSymbol \override #'line-count = #1 -% \consists "Repeat_engraver"; - \consists "Volta_engraver"; - \consists "Bar_engraver"; - \consists "Time_signature_engraver"; - \consists "Staff_symbol_engraver"; - \consistsend "Axis_group_engraver"; - \accepts "Voice"; +% \consists "Repeat_engraver" + \consists "Volta_engraver" + \consists "Bar_engraver" + \consists "Time_signature_engraver" + \consists "Staff_symbol_engraver" + \consistsend "Axis_group_engraver" + \accepts "Voice" } VoiceContext = \translator { - \type "Engraver_group_engraver"; - \name Voice; + \type "Engraver_group_engraver" + \name Voice Generic_property_list = #generic-voice-properties % must come before all - \consists "Voice_devnull_engraver"; - \consists "Output_property_engraver"; - \consists "Arpeggio_engraver"; + \consists "Voice_devnull_engraver" + \consists "Output_property_engraver" + \consists "Arpeggio_engraver" - \consists "Text_spanner_engraver"; - \consists "Property_engraver"; + \consists "Text_spanner_engraver" + \consists "Property_engraver" - \consists "Breathing_sign_engraver"; - \consists "Rest_engraver"; - \consists "Dot_column_engraver"; - \consists "Stem_engraver"; - \consists "Beam_engraver"; - \consists "Auto_beam_engraver"; + \consists "Breathing_sign_engraver" + % \consists "Rest_engraver" + \consists "Dot_column_engraver" + \consists "Stem_engraver" + \consists "Beam_engraver" + \consists "Auto_beam_engraver" - \consists "Chord_tremolo_engraver"; - \consists "Percent_repeat_engraver"; - \consists "Melisma_engraver"; + \consists "Chord_tremolo_engraver" + \consists "Percent_repeat_engraver" + \consists "Melisma_engraver" %{ Must come before text_engraver, but after note_column engraver. %} - \consists "Dynamic_engraver"; - \consists "Text_engraver"; - - \consists "Script_engraver"; - \consists "Script_column_engraver"; - \consists "Rhythmic_column_engraver"; - \consists "Phrasing_slur_engraver"; - \consists "Slur_engraver"; - \consists "Tie_engraver"; - \consists "Tuplet_engraver"; - \consists "Grace_position_engraver"; - \consists "A2_engraver"; - - \consists "Skip_req_swallow_translator"; - \accepts Thread; % bug if you leave out this! - \accepts Grace; + \consists "Dynamic_engraver" + \consists "Text_engraver" + + \consists "Script_engraver" + \consists "Script_column_engraver" + \consists "Rhythmic_column_engraver" + \consists "Phrasing_slur_engraver" + \consists "Slur_engraver" + \consists "Tie_engraver" + \consists "Tuplet_engraver" + \consists "Grace_position_engraver" + \consists "A2_engraver" + + \consists "Skip_req_swallow_translator" + \accepts Thread % bug if you leave out this! + \accepts Grace } GraceContext=\translator { - \type "Grace_engraver_group"; - \name "Grace"; - \consists "Output_property_engraver"; + \type "Grace_engraver_group" + \name "Grace" + \consists "Output_property_engraver" Generic_property_list = #generic-grace-properties - \consists "Note_heads_engraver"; - \consists "Local_key_engraver"; - \consists "Stem_engraver"; - \consists "Beam_engraver"; - \consists "Slur_engraver"; + \consists "Note_heads_engraver" + \consists "Local_key_engraver" + \consists "Stem_engraver" + \consists "Beam_engraver" + \consists "Slur_engraver" - \consists "Auto_beam_engraver"; - \consists "Align_note_column_engraver"; + \consists "Auto_beam_engraver" + \consists "Align_note_column_engraver" - \consists "Rhythmic_column_engraver"; + \consists "Rhythmic_column_engraver" - \consists "Dynamic_engraver";% in Grace ??? - \consists "Text_engraver"; % in Grace ??? + \consists "Dynamic_engraver"% in Grace ??? + \consists "Text_engraver" % in Grace ??? - \consists "Property_engraver"; + \consists "Property_engraver" Stem \override #'flag-style = #"grace" Stem \override #'stem-length = #6.0 @@ -215,131 +215,132 @@ GraceContext=\translator { = #(map (lambda (x) (* 0.8 x)) '(0.0 2.5 2.0 1.5)) weAreGraceContext = ##t - graceAccidentalSpace= 1.5 ; % in staff space + graceAccidentalSpace= #1.5 % in staff space } ThreadContext = \translator{ - \type Engraver_group_engraver; - \name Thread; + \type Engraver_group_engraver + \name Thread - \consists "Thread_devnull_engraver"; - \consists "Note_heads_engraver"; - \consists "Note_head_line_engraver"; - \consists "Output_property_engraver"; + \consists "Thread_devnull_engraver" + \consists "Note_heads_engraver" + \consists "Rest_engraver" + \consists "Note_head_line_engraver" + \consists "Output_property_engraver" Generic_property_list = #generic-thread-properties - \consists "Property_engraver"; + \consists "Property_engraver" } GrandStaffContext=\translator{ - \type "Engraver_group_engraver"; - \name GrandStaff; - \consists "Span_bar_engraver"; - \consists "Span_arpeggio_engraver"; - \consists "System_start_delimiter_engraver"; + \type "Engraver_group_engraver" + \name GrandStaff + \consists "Span_bar_engraver" + \consists "Span_arpeggio_engraver" + \consists "System_start_delimiter_engraver" SystemStartDelimiter \override #'glyph = #'brace - \consists "Property_engraver"; + \consists "Property_engraver" Generic_property_list = #generic-grand-staff-properties - \accepts "Staff"; + \accepts "Staff" } PianoStaffContext = \translator{ \GrandStaffContext - \name "PianoStaff"; + \name "PianoStaff" - \consists "Vertical_align_engraver"; + \consists "Vertical_align_engraver" - alignmentReference = \center; + alignmentReference = #0 verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback VerticalAlignment \override #'forced-distance = #12 -% \consistsend "Axis_group_engraver"; +% \consistsend "Axis_group_engraver" } InnerStaffGroupContext= \translator { - \type "Engraver_group_engraver"; - \name InnerStaffGroup; + \type "Engraver_group_engraver" + \name InnerStaffGroup - \consists "Span_bar_engraver"; - \consists "Span_arpeggio_engraver"; - \consists "Output_property_engraver"; + \consists "Span_bar_engraver" + \consists "Span_arpeggio_engraver" + \consists "Output_property_engraver" SystemStartDelimiter \override #'glyph = #'bracket - \consists "System_start_delimiter_engraver"; - \accepts "Staff"; - \accepts "RhythmicStaff"; - \accepts "GrandStaff"; - \accepts "PianoStaff"; + \consists "System_start_delimiter_engraver" + \accepts "Staff" + \accepts "RhythmicStaff" + \accepts "GrandStaff" + \accepts "PianoStaff" - \accepts "Lyrics"; - \accepts "ChordNames"; + \accepts "Lyrics" + \accepts "ChordNames" } StaffGroupContext = \translator { \InnerStaffGroupContext - \name StaffGroup; - \accepts "InnerChoirStaff"; - \accepts "ChoirStaff"; - \accepts "InnerStaffGroup"; + \name StaffGroup + \accepts "InnerChoirStaff" + \accepts "ChoirStaff" + \accepts "InnerStaffGroup" } % UGH! JUNKME LyricsVoiceContext= \translator{ - \type "Engraver_group_engraver"; - \consistsend "Axis_group_engraver"; + \type "Engraver_group_engraver" + \consistsend "Axis_group_engraver" MinimumVerticalExtent = #(cons -1.2 1.2) ExtraVerticalExtent = ##f VerticalExtent = ##f - \name LyricsVoice ; - \consists "Separating_line_group_engraver"; - \consists "Lyric_engraver"; - \consists "Extender_engraver"; - \consists "Hyphen_engraver"; - \consists "Stanza_number_engraver"; - phrasingPunctuation = #".,;:!?\"" + \name LyricsVoice + \consists "Separating_line_group_engraver" + \consists "Lyric_engraver" + \consists "Extender_engraver" + \consists "Hyphen_engraver" + \consists "Stanza_number_engraver" + phrasingPunctuation = #".,:!?\"" } NoteNamesContext = \translator { - \type "Engraver_group_engraver"; - \name NoteNames; - \consistsend "Axis_group_engraver"; + \type "Engraver_group_engraver" + \name NoteNames + \consistsend "Axis_group_engraver" MinimumVerticalExtent = ##f ExtraVerticalExtent = ##f VerticalExtent = ##f - \consists "Note_name_engraver"; - \consists "Separating_line_group_engraver"; + \consists "Note_name_engraver" + \consists "Separating_line_group_engraver" } LyricsContext = \translator { - \type "Engraver_group_engraver"; - \name Lyrics; - \consists Vertical_align_engraver; %need this for getting folded repeats right. + \type "Engraver_group_engraver" + \name Lyrics + \consists Vertical_align_engraver %need this for getting folded repeats right. Generic_property_list = #generic-lyrics-properties - \consists "Property_engraver"; - \consistsend "Axis_group_engraver"; + \consists "Property_engraver" + \consistsend "Axis_group_engraver" MinimumVerticalExtent = ##f ExtraVerticalExtent = ##f VerticalExtent = ##f - \accepts "LyricsVoice"; + \accepts "LyricsVoice" } ChordNamesContext = \translator { - \type "Engraver_group_engraver"; - \name ChordNames; + \type "Engraver_group_engraver" + \name ChordNames Generic_property_list = #generic-chord-staff-properties - \consists "Property_engraver"; - \consists "Output_property_engraver"; - \consists "Separating_line_group_engraver"; - \consists "Chord_name_engraver"; - \consists "Skip_req_swallow_translator"; - \consistsend "Axis_group_engraver"; + \consists "Property_engraver" + \consists "Output_property_engraver" + \consists "Separating_line_group_engraver" + \consists "Chord_name_engraver" + \consists "Skip_req_swallow_translator" + \consistsend "Axis_group_engraver" MinimumVerticalExtent = ##f ExtraVerticalExtent = ##f VerticalExtent = ##f @@ -350,9 +351,9 @@ ChordNamesContext = \translator { StupidScore = \translator { - \type "Score_engraver"; - \name Score; - \consists "Note_heads_engraver"; + \type "Score_engraver" + \name Score + \consists "Note_heads_engraver" } @@ -360,10 +361,10 @@ StupidScore = \translator { HaraKiriStaffContext = \translator { \StaffContext - \remove "Axis_group_engraver"; - \consistsend "Hara_kiri_engraver"; - \consists "Instrument_name_engraver"; - \accepts "Voice"; + \remove "Axis_group_engraver" + \consistsend "Hara_kiri_engraver" + \consists "Instrument_name_engraver" + \accepts "Voice" } %{ The HaraKiriStaffContexts doesn't override \name, @@ -376,33 +377,33 @@ HaraKiriStaffContext = \translator { ScoreContext = \translator { - \type Score_engraver; - \name Score; + \type Score_engraver + \name Score - \consists "Repeat_acknowledge_engraver"; - \consists "Timing_engraver"; - \consists "Output_property_engraver"; - \consists "System_start_delimiter_engraver"; - \consists "Mark_engraver"; - \consists "Break_align_engraver"; - \consists "Spacing_engraver"; - \consists "Vertical_align_engraver"; - - \consists "Lyric_phrasing_engraver"; - \consists "Bar_number_engraver"; - \consists "Span_arpeggio_engraver"; - - \accepts "Staff"; - \accepts "StaffContainer"; - \accepts "StaffGroup"; - \accepts "RhythmicStaff"; - \accepts "Lyrics"; - \accepts "ChordNames"; - \accepts "GrandStaff"; - \accepts "ChoirStaff"; - \accepts "PianoStaff"; - \accepts "NoteNames"; + \consists "Repeat_acknowledge_engraver" + \consists "Timing_engraver" + \consists "Output_property_engraver" + \consists "System_start_delimiter_engraver" + \consists "Mark_engraver" + \consists "Break_align_engraver" + \consists "Spacing_engraver" + \consists "Vertical_align_engraver" + + \consists "Lyric_phrasing_engraver" + \consists "Bar_number_engraver" + \consists "Span_arpeggio_engraver" + + \accepts "Staff" + \accepts "StaffContainer" + \accepts "StaffGroup" + \accepts "RhythmicStaff" + \accepts "Lyrics" + \accepts "ChordNames" + \accepts "GrandStaff" + \accepts "ChoirStaff" + \accepts "PianoStaff" + \accepts "NoteNames" soloText = #"Solo" soloIIText = #"Solo II" @@ -437,8 +438,8 @@ ScoreContext = \translator { clefGlyph = #"clefs-G" clefPosition = #-2 - automaticPhrasing = ##t; - alignmentReference = \down; + automaticPhrasing = ##t + alignmentReference = #-1 % \down defaultBarType = #"|" explicitClefVisibility = #all-visible @@ -468,7 +469,6 @@ ScoreContext = \translator { Staff_bar Time_signature Custos - Stanza_number ) diff --git a/ly/fragment.ly b/ly/fragment.ly index be841ce576..e0b43d71d6 100644 --- a/ly/fragment.ly +++ b/ly/fragment.ly @@ -1,17 +1,17 @@ % Toplevel initialisation file. -\version "1.3.120"; +\version "1.3.146" \include "declarations.ly" -\include "paper16.ly"; +\include "paper16.ly" \paper { \paperSixteen - linewidth = -1.0\cm; - castingalgorithm = \Wordwrap; - "unusedentry" = "}\\def\\nolilyfooter{"; + linewidth = -1.0\cm + castingalgorithm = \Wordwrap + "unusedentry" = "}\\def\\nolilyfooter{" } diff --git a/ly/generate-documentation.ly b/ly/generate-documentation.ly index bc928994e8..104d57efeb 100644 --- a/ly/generate-documentation.ly +++ b/ly/generate-documentation.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % % Running LilyPond on this file generates the documentation diff --git a/ly/generate-interface-doc.ly b/ly/generate-interface-doc.ly new file mode 100644 index 0000000000..a50eeaf3d0 --- /dev/null +++ b/ly/generate-interface-doc.ly @@ -0,0 +1,5 @@ + +% +% Running LilyPond on this file generates the short interface doc +% +#(eval-string (ly-gulp-file "generate-interface-doc.scm")) diff --git a/ly/generic-paper.ly b/ly/generic-paper.ly index d846d86800..df96f2abcd 100644 --- a/ly/generic-paper.ly +++ b/ly/generic-paper.ly @@ -1,7 +1,8 @@ +\version "1.3.146" \paper { - texsetting = ""; - pssetting = ""; - scmsetting = "(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse;\n";% UGH. + texsetting = "" + pssetting = "" + scmsetting = "(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\n"% UGH. } diff --git a/ly/german-chords.ly b/ly/german-chords.ly index e158592b34..856340d12e 100644 --- a/ly/german-chords.ly +++ b/ly/german-chords.ly @@ -1,3 +1,4 @@ +\version "1.3.146" % german-chords.ly: % german/norwegian/danish? diff --git a/ly/init-as.fly b/ly/init-as.fly index 826e840974..757ca7c47e 100644 --- a/ly/init-as.fly +++ b/ly/init-as.fly @@ -1,6 +1,6 @@ % Toplevel AsciiScript initialisation file. -\version "1.3.110"; +\version "1.3.146" \include "declarations-as.ly" @@ -32,12 +32,12 @@ } \paper { \paper_as_nine - %linewidth=-1.0; - %indent = 0.0; - \translator { \StaffContext barSize = \staffheight; } + %linewidth=-1.0 + %indent = 0.0 + \translator { \StaffContext barSize = \staffheight } % no beam-slope - %\translator { \VoiceContext beamHeight = #0; } + %\translator { \VoiceContext beamHeight = #0 } } %\midi{ } } diff --git a/ly/init.fly b/ly/init.fly index 32073dbab8..640f13692f 100644 --- a/ly/init.fly +++ b/ly/init.fly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.3.110"; +\version "1.3.146" \include "declarations.ly" diff --git a/ly/init.ly b/ly/init.ly index a5df75caf9..fea720a03c 100644 --- a/ly/init.ly +++ b/ly/init.ly @@ -1,8 +1,8 @@ % Toplevel initialisation file. -\version "1.3.110"; +\version "1.3.146" -\include "declarations.ly"; +\include "declarations.ly" \maininput diff --git a/ly/init.sly b/ly/init.sly index c05fa2c456..497dfd8daa 100644 --- a/ly/init.sly +++ b/ly/init.sly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.3.110"; +\version "1.3.146" \include "declarations.ly" @@ -11,7 +11,7 @@ } \paper { - % indent = 0.0; + % indent = 0.0 } \midi{ } } diff --git a/ly/italiano.ly b/ly/italiano.ly index 92be0119a0..263d2bfab9 100644 --- a/ly/italiano.ly +++ b/ly/italiano.ly @@ -48,4 +48,4 @@ (sidd . ,(make-pitch -1 6 2 )) ) -\version "1.3.110"; +\version "1.3.146" diff --git a/ly/key.ly b/ly/key.ly index 8b13789179..4a0f597299 100644 --- a/ly/key.ly +++ b/ly/key.ly @@ -1 +1,2 @@ +\version "1.3.146" diff --git a/ly/ledger.ly b/ly/ledger.ly index 6aee59cd7c..e1b774d343 100644 --- a/ly/ledger.ly +++ b/ly/ledger.ly @@ -1,7 +1,8 @@ +\version "1.3.146" % ledger.ly -hsize = 11.0 \in; -vsize = 17.0 \in; +hsize = 11.0 \in +vsize = 17.0 \in diff --git a/ly/legal.ly b/ly/legal.ly index 8ec3c9aaaa..4291b819f5 100644 --- a/ly/legal.ly +++ b/ly/legal.ly @@ -1,4 +1,5 @@ +\version "1.3.146" % legal.ly -hsize = 8.5 \in; -vsize = 14.0 \in; +hsize = 8.5 \in +vsize = 14.0 \in diff --git a/ly/letter.ly b/ly/letter.ly index 9d7cf77b23..c9be6592b5 100644 --- a/ly/letter.ly +++ b/ly/letter.ly @@ -1,6 +1,7 @@ +\version "1.3.146" % letter.ly -hsize = 8.5 \in; -vsize = 11.0 \in; +hsize = 8.5 \in +vsize = 11.0 \in diff --git a/ly/midi.ly b/ly/midi.ly index c95aae830f..a4283f4ccf 100644 --- a/ly/midi.ly +++ b/ly/midi.ly @@ -1,6 +1,7 @@ +\version "1.3.146" \midi { - \tempo 4=60; + \tempo 4=60 \include "performer.ly" -% unfold_all = "1"; +% unfold_all = "1" } diff --git a/ly/nederlands.ly b/ly/nederlands.ly index 8a8c53418a..bba3d0ad31 100644 --- a/ly/nederlands.ly +++ b/ly/nederlands.ly @@ -1,3 +1,4 @@ +\version "1.3.146" %{ common dutch names for notes. es means flat, is means sharp %} diff --git a/ly/norsk.ly b/ly/norsk.ly index 7142d40e3e..f6630bab93 100644 --- a/ly/norsk.ly +++ b/ly/norsk.ly @@ -1,5 +1,5 @@ -% $Id: norsk.ly,v 1.1 1998/03/25 11:38:28 arvidg Exp arvidg $ +% Idx norsk.ly,v 1.1 1998/03/25 11:38:28 arvidg Exp arvidg $ %{ @@ -21,7 +21,7 @@ duplicated all lines containing at least one "is" or "es", changed every other "is" into an "iss" and every other "es" into an "ess", added "ass" et al, and made some b->h-related changes. There may be - bugs in here; please tell me (or send patches) if you find any. + bugs in here please tell me (or send patches) if you find any. Arvid Gr=F8tting @@ -104,4 +104,4 @@ -\version "1.3.110"; +\version "1.3.146" diff --git a/ly/paper-as5.ly b/ly/paper-as5.ly index 78959978db..d325b9be52 100644 --- a/ly/paper-as5.ly +++ b/ly/paper-as5.ly @@ -1,17 +1,17 @@ % paper-as5.ly -\version "1.3.120"; +\version "1.3.146" paperAsFive = \paper { - staffheight = 5.\char; + staffheight = 5.\char \stylesheet #(as-make-style-sheet 'as5) - \translator { \StaffContext barSize = \staffheight; } + \translator { \StaffContext barSize = #5 } % no beam-slope - %\translator { \VoiceContext beamHeight = #0; } - \include "params-as.ly"; + %\translator { \VoiceContext beamHeight = #0 } + \include "params-as.ly" } \paper { \paperAsFive } diff --git a/ly/paper-as9.ly b/ly/paper-as9.ly index 49e80c4b28..d35590f5af 100644 --- a/ly/paper-as9.ly +++ b/ly/paper-as9.ly @@ -1,15 +1,15 @@ % paper-as9.ly -\version "1.3.120"; +\version "1.3.146" paperAsNine = \paper { - staffheight = 9.\char; + staffheight = 9.\char - %\translator { \StaffContext barSize = \staffheight; } + %\translator { \StaffContext barSize = \staffheight } \stylesheet #(as-make-style-sheet 'as9) - \include "params-as.ly"; + \include "params-as.ly" } diff --git a/ly/paper.ly b/ly/paper.ly index 0a475b7350..fb9aea728c 100644 --- a/ly/paper.ly +++ b/ly/paper.ly @@ -1,14 +1,15 @@ +\version "1.3.146" % paper.ly %% Why som complicated? /MB -%linewidth20 = \hsize - 2.5 * \staffheight; -%textheight20 = \vsize - 5.0 * \staffheight; -%linewidth = \staffheight/20.0 * \linewidth20; -%textheight = \staffheight/20.0 * \textheight20; +%linewidth20 = \hsize - 2.5 * \staffheight +%textheight20 = \vsize - 5.0 * \staffheight +%linewidth = \staffheight/20.0 * \linewidth20 +%textheight = \staffheight/20.0 * \textheight20 -linewidth = \hsize - 2.\cm; +linewidth = \hsize - 2.\cm % Leave the textheight calculation to the geometry package. /MB -%textheight = \vsize - 4.\cm; +%textheight = \vsize - 4.\cm -indent = \linewidth / 14.0; +indent = \linewidth / 14.0 diff --git a/ly/paper11.ly b/ly/paper11.ly index 6a87d8b2e8..61dbaf5e08 100644 --- a/ly/paper11.ly +++ b/ly/paper11.ly @@ -1,12 +1,12 @@ % paper11.ly -\version "1.3.120"; +\version "1.3.146" paperEleven = \paper { - staffheight = 11.0\pt; + staffheight = 11.0\pt \stylesheet #(make-style-sheet 'paper11) - \include "params.ly"; + \include "params.ly" } \paper { \paperEleven } diff --git a/ly/paper13.ly b/ly/paper13.ly index e5d03d652d..445c37e929 100644 --- a/ly/paper13.ly +++ b/ly/paper13.ly @@ -1,13 +1,13 @@ % paper13.ly -\version "1.3.120"; +\version "1.3.146" paperThirteen = \paper { - staffheight = 13.0\pt; + staffheight = 13.0\pt \stylesheet #(make-style-sheet 'paper13) - \include "params.ly"; + \include "params.ly" } \paper { \paperThirteen } diff --git a/ly/paper16.ly b/ly/paper16.ly index 507e3ca5de..a03bfdd3e7 100644 --- a/ly/paper16.ly +++ b/ly/paper16.ly @@ -1,12 +1,12 @@ % paper16.ly -\version "1.3.120"; +\version "1.3.146" paperSixteen = \paper { - staffheight = 16.0\pt; + staffheight = 16.0\pt \stylesheet #(make-style-sheet 'paper16) - \include "params.ly"; + \include "params.ly" } \paper {\paperSixteen } diff --git a/ly/paper20.ly b/ly/paper20.ly index d30ec07880..b213bbc0ec 100644 --- a/ly/paper20.ly +++ b/ly/paper20.ly @@ -1,13 +1,13 @@ % paper20.ly -\version "1.3.120"; +\version "1.3.146" paperTwenty = \paper { - staffheight = 20.0\pt; + staffheight = 20.0\pt \stylesheet #(make-style-sheet 'paper20) - \include "params.ly"; + \include "params.ly" } \paper { \paperTwenty } diff --git a/ly/paper23.ly b/ly/paper23.ly index 6e9ba50546..aa08a5e756 100644 --- a/ly/paper23.ly +++ b/ly/paper23.ly @@ -1,12 +1,12 @@ % paper23.ly -\version "1.3.120"; +\version "1.3.146" paperTwentythree = \paper { - staffheight = 23.0\pt; + staffheight = 23.0\pt \stylesheet #(make-style-sheet 'paper23) - \include "params.ly"; + \include "params.ly" } \paper { \paperTwentythree } diff --git a/ly/paper26.ly b/ly/paper26.ly index db39985339..5ff9ece986 100644 --- a/ly/paper26.ly +++ b/ly/paper26.ly @@ -1,12 +1,12 @@ % paper26.ly -\version "1.3.120"; +\version "1.3.146" paperTwentysix = \paper { - staffheight = 26.0\pt; + staffheight = 26.0\pt \stylesheet #(make-style-sheet 'paper26) - \include "params.ly"; + \include "params.ly" } \paper { \paperTwentysix } diff --git a/ly/params-as.ly b/ly/params-as.ly index 2d2a6fb83c..fafb495c0a 100644 --- a/ly/params-as.ly +++ b/ly/params-as.ly @@ -1,14 +1,15 @@ +\version "1.3.146" % params-as.ly % generic paper parameters -outputscale = \staffheight / 4.0; +outputscale = \staffheight / 4.0 -linewidth = 60.0 \char; -textheight = 60.0 \char; -indent = 8.0\char; +linewidth = 60.0 \char +textheight = 60.0 \char +indent = 8.0\char -staffspace = (\staffheight - 1.0 ) / 4.0; -stafflinethickness = \staffspace / 2.0; +staffspace = (\staffheight - 1.0 ) / 4.0 +stafflinethickness = \staffspace / 2.0 \translator { \NoteNamesContext } \translator { \ScoreContext } diff --git a/ly/params.ly b/ly/params.ly index 684fe2850e..92fdaa288c 100644 --- a/ly/params.ly +++ b/ly/params.ly @@ -1,15 +1,18 @@ +\version "1.3.146" % JUNKME. -papersizename = \papersize ; +papersizename = \papersize -paperfile = \papersize + ".ly"; -% paperfile = "a4.ly"; -\include \paperfile; -\include "paper.ly"; +paperfile = \papersize + ".ly" -staffspace = \staffheight / 4.0; -stafflinethickness = \staffspace / 10.0; -outputscale = \staffheight / 4.0; +% paperfile = "a4.ly" + +\include \paperfile +\include "paper.ly" + +staffspace = \staffheight / 4.0 +stafflinethickness = \staffspace / 10.0 +outputscale = \staffheight / 4.0 \translator { \NoteNamesContext } \translator { \ScoreContext } diff --git a/ly/part-paper.ly b/ly/part-paper.ly index 2d3f1eb094..5c2c17f170 100644 --- a/ly/part-paper.ly +++ b/ly/part-paper.ly @@ -1,9 +1,10 @@ +\version "1.3.146" % JUNKME %part-paper.ly \paper { \translator { \OrchestralPartStaffContext } - \translator { \ScoreContext skipBars = ##t; } + \translator { \ScoreContext skipBars = ##t } } diff --git a/ly/performer.ly b/ly/performer.ly index 04456979a1..b44fae606f 100644 --- a/ly/performer.ly +++ b/ly/performer.ly @@ -1,130 +1,131 @@ +\version "1.3.146" % % setup for Request->Element conversion. Guru-only % StaffContext = \translator { - \type "Staff_performer"; - \name Staff; - \accepts Voice; + \type "Staff_performer" + \name Staff + \accepts Voice - \consists "Key_performer"; - \consists "Tempo_performer"; - \consists "Time_signature_performer"; + \consists "Key_performer" + \consists "Tempo_performer" + \consists "Time_signature_performer" dynamicStyle = #"dynamic" -}; +} \translator { \StaffContext } \translator { \StaffContext - \name RhythmicStaff; + \name RhythmicStaff } VoiceContext = \translator { - \type "Performer_group_performer"; - \name Voice; + \type "Performer_group_performer" + \name Voice % All notes fall to Grace if you leave Thread out (huh?) - \consists "Dynamic_performer"; - \consists "Span_dynamic_performer"; - \consists "Piano_pedal_performer"; - \consists "Grace_position_performer"; - \accepts Thread; - \accepts Grace; -}; + \consists "Dynamic_performer" + \consists "Span_dynamic_performer" + \consists "Piano_pedal_performer" + \consists "Grace_position_performer" + \accepts Thread + \accepts Grace +} \translator { \VoiceContext } ThreadContext = \translator { - \type "Performer_group_performer"; - \name Thread; - \consists "Note_performer"; - \consists "Tie_performer"; -}; + \type "Performer_group_performer" + \name Thread + \consists "Note_performer" + \consists "Tie_performer" +} \translator { \ThreadContext } \translator { - \type "Grace_performer_group"; - \name Grace; - \consists "Note_performer"; - \consists "Tie_performer"; - \consists "Swallow_performer"; + \type "Grace_performer_group" + \name Grace + \consists "Note_performer" + \consists "Tie_performer" + \consists "Swallow_performer" weAreGraceContext = #t } \translator { - \type "Performer_group_performer"; - \name VoiceTwo;\consists "Note_performer"; + \type "Performer_group_performer" + \name VoiceTwo\consists "Note_performer" } GrandStaffContext = \translator { - \type "Performer_group_performer"; - \name GrandStaff; - \accepts RhythmicStaff; - \accepts Staff; -}; + \type "Performer_group_performer" + \name GrandStaff + \accepts RhythmicStaff + \accepts Staff +} \translator { \GrandStaffContext } PianoStaffContext = \translator { - \type "Performer_group_performer"; - \name "PianoStaff"; - \accepts Staff; -}; + \type "Performer_group_performer" + \name "PianoStaff" + \accepts Staff +} \translator { \PianoStaffContext } \translator { - \type "Performer_group_performer"; - \consists "Lyric_performer"; - \name LyricsVoice; + \type "Performer_group_performer" + \consists "Lyric_performer" + \name LyricsVoice } \translator{ - \type "Performer_group_performer"; - \name ChoirStaff; - \accepts Staff; + \type "Performer_group_performer" + \name ChoirStaff + \accepts Staff } \translator { - \type "Staff_performer"; - \accepts LyricsVoice; - \name Lyrics; - \consists "Time_signature_performer"; - \consists "Tempo_performer"; + \type "Staff_performer" + \accepts LyricsVoice + \name Lyrics + \consists "Time_signature_performer" + \consists "Tempo_performer" } \translator { - \type "Staff_performer"; - \accepts ChordNameVoice; - \name ChordNames; + \type "Staff_performer" + \accepts ChordNameVoice + \name ChordNames } \translator { - \type Performer_group_performer; - \consists Note_performer; - \name ChordNameVoice; + \type Performer_group_performer + \consists Note_performer + \name ChordNameVoice } \translator { - \type Performer_group_performer; + \type Performer_group_performer - \name StaffGroup; - \accepts Staff; + \name StaffGroup + \accepts Staff } ScoreContext = \translator { - \type "Score_performer"; - - \name Score; - instrument = "bright acoustic"; - \accepts Staff; - \accepts GrandStaff; - \accepts PianoStaff; - \accepts Lyrics; - \accepts StaffGroup; - \accepts ChoirStaff; - \accepts RhythmicStaff; - \accepts ChordNames; - \consists "Swallow_performer"; + \type "Score_performer" + + \name Score + instrument = #"bright acoustic" + \accepts Staff + \accepts GrandStaff + \accepts PianoStaff + \accepts Lyrics + \accepts StaffGroup + \accepts ChoirStaff + \accepts RhythmicStaff + \accepts ChordNames + \consists "Swallow_performer" dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume instrumentEqualizer = #default-instrument-equaliser -}; +} \translator { \ScoreContext } diff --git a/ly/property.ly b/ly/property.ly index ea608e9874..6bce4b2ece 100644 --- a/ly/property.ly +++ b/ly/property.ly @@ -1,6 +1,6 @@ % property.ly -\version "1.3.110"; +\version "1.3.146" stemUp = \property Voice.Stem \override #'direction = #1 stemDown = \property Voice.Stem \override #'direction = #-1 @@ -114,10 +114,10 @@ specialkey = { % End the incipit and print a ``normal line start''. endincipit = \notes{ - \partial 16; s16 % Hack to handle e.g. \bar ".|"; \endincipit + \partial 16 s16 % Hack to handle e.g. \bar ".|" \endincipit \context Staff \outputproperty #(make-type-checker 'clef-interface) #'full-size-change = ##t \context Staff \outputproperty #(make-type-checker 'clef-interface) #'non-default = ##t - \bar ""; + \bar "" } autoBeamOff = \property Voice.noAutoBeaming = ##t diff --git a/ly/scale-definitions.ly b/ly/scale-definitions.ly index 0b48ce633a..b3268ffef9 100644 --- a/ly/scale-definitions.ly +++ b/ly/scale-definitions.ly @@ -1,3 +1,4 @@ +\version "1.3.146" major = #'( diff --git a/ly/script.ly b/ly/script.ly index a48626f78a..3407f96bc9 100644 --- a/ly/script.ly +++ b/ly/script.ly @@ -1,3 +1,4 @@ +\version "1.3.146" "dash-hat" = "marcato" diff --git a/ly/spanners.ly b/ly/spanners.ly index ae445148c4..6fd99caaba 100644 --- a/ly/spanners.ly +++ b/ly/spanners.ly @@ -1,3 +1,4 @@ +\version "1.3.146" cr = \spanrequest \start "crescendo" decr = \spanrequest \start "decrescendo" @@ -5,7 +6,7 @@ rc = \spanrequest \stop "crescendo" rced = \spanrequest \stop "decrescendo" cresc = \notes { - \commandspanrequest \start "crescendo" ; + \commandspanrequest \start "crescendo" \property Voice.crescendoText = "cresc." \property Voice.crescendoSpanner = "dashed-line" } @@ -13,19 +14,19 @@ cresc = \notes { % ah, this is handy: maybe drop resetting of properties in % dynamic-engraver ? endcresc = \notes { - \commandspanrequest \stop "crescendo"; + \commandspanrequest \stop "crescendo" \property Voice.crescendoText = ##f \property Voice.crescendoSpanner = ##f } dim = \notes { - \commandspanrequest \start "decrescendo" ; + \commandspanrequest \start "decrescendo" \property Voice.decrescendoText = "dim." \property Voice.decrescendoSpanner = "dashed-line" } enddim = \notes { - \commandspanrequest \stop "decrescendo"; + \commandspanrequest \stop "decrescendo" \property Voice.decrescendoText = ##f \property Voice.decrescendoSpanner = ##f } diff --git a/ly/svenska.ly b/ly/svenska.ly index 12869b6ac7..c9b54987e9 100644 --- a/ly/svenska.ly +++ b/ly/svenska.ly @@ -40,4 +40,4 @@ (hiss . ,(make-pitch -1 6 1 )) (hississ . ,(make-pitch -1 6 2 )) ) -\version "1.3.110"; +\version "1.3.146" diff --git a/make/lilypond-vars.make b/make/lilypond-vars.make index 83f330c9fd..2135a39c83 100644 --- a/make/lilypond-vars.make +++ b/make/lilypond-vars.make @@ -22,7 +22,7 @@ ABC2LY = $(script-dir)/abc2ly.py CONVERT_LY = $(script-dir)/convert-ly.py LILYPOND = $(depth)/$(builddir)/lily/$(outconfbase)/lilypond LILYPOND_BOOK = $(script-dir)/lilypond-book.py -LILYPOND_BOOK_INCLUDES = -I $(pwd) -I $(input-dir)/tricks/ -I $(input-dir)/regression/ -I $(input-dir)/test/ -I $(input-dir)/tutorial/ +LILYPOND_BOOK_INCLUDES = -I $(pwd) -I $(outdir) -I$(input-dir) -I $(input-dir)/tricks/ -I $(input-dir)/regression/ -I $(input-dir)/test/ -I $(input-dir)/tutorial/ LY2DVI = $(script-dir)/ly2dvi.py PS_TO_GIFS = $(buildscript-dir)/ps-to-gifs.sh PS_TO_PNGS = $(buildscript-dir)/ps-to-pngs.sh diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index f98142ef72..8916512e46 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -124,6 +124,7 @@ fi %{_prefix}/bin/ly2dvi %{_prefix}/bin/midi2ly %{_prefix}/bin/lilypond-book +%{_prefix}/bin/mup2ly %{_prefix}/bin/musedata2ly %{_prefix}/bin/pmx2ly %else @@ -144,6 +145,7 @@ fi %{_prefix}/man/man1/midi2ly.1.gz %{_prefix}/man/man1/lilypond-book.1.gz %{_prefix}/man/man1/musedata2ly.1.gz +%{_prefix}/man/man1/mup2ly.1.gz %{_prefix}/man/man1/pmx2ly.1.gz %{_prefix}/share/lilypond/ diff --git a/make/ly-rules.make b/make/ly-rules.make index 81b623957d..8c6dc1e97e 100644 --- a/make/ly-rules.make +++ b/make/ly-rules.make @@ -33,3 +33,11 @@ $(outdir)/%.info: $(outdir)/%.nexi # nfo: info from non-lily texi #$(outdir)/%.nfo: $(outdir)/%.nexi # $(MAKEINFO) --output=$(outdir)/$(*F).info $< + + +# +# Timothy's booklet +# +$(outdir)/%-book.ps: $(outdir)/%.ps + psbook $< $<.tmp + pstops '2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)' $<.tmp $@ diff --git a/make/ly.make b/make/ly.make index 3e8824f810..caee2d2245 100644 --- a/make/ly.make +++ b/make/ly.make @@ -57,13 +57,12 @@ examples= # mutopia-examples=$(name) $(parts) -# +# moved to ly-rules.make # Timothy's booklet # -$(outdir)/%-book.ps: $(outdir)/%.ps - psbook $< $<.tmp -# pstops '2:0L(11.45in,0.25in)+1L(11.45in,5.6in)' $<.tmp $@ - pstops '2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)' $<.tmp $@ +#$(outdir)/%-book.ps: $(outdir)/%.ps +# psbook $< $<.tmp +# pstops '2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)' $<.tmp $@ # # Catch-all target: type `make foo' to make out/foo.ps, diff --git a/make/mutopia-rules.make b/make/mutopia-rules.make index a901a3be97..cf3db53943 100644 --- a/make/mutopia-rules.make +++ b/make/mutopia-rules.make @@ -21,15 +21,16 @@ $(outdir)/%.ly: %.abc $(PYTHON) $(ABC2LY) -o $@ $< $(outdir)/%.dvi: $(outdir)/%.ly - $(PYTHON) $(LY2DVI) --outdir=$(outdir) --dependencies $< + $(PYTHON) $(LY2DVI) --output=$@ --dependencies $< # don't junk intermediate .dvi files. They're easier to view than # .ps or .png .PRECIOUS: $(outdir)/%.dvi $(outdir)/%.dvi: %.ly - $(PYTHON) $(LY2DVI) --outdir=$(outdir) --dependencies $< + $(PYTHON) $(LY2DVI) --output=$@ --dependencies $< $(outdir)-$(PAPERSIZE)/%.dvi: %.ly - $(PYTHON) $(LY2DVI) --outdir=$(outdir)-$(PAPERSIZE) --dependencies --set=papersize=$(PAPERSIZE) $< + $(PYTHON) $(LY2DVI) --output=$@ --dependencies --set=papersize=$(PAPERSIZE) $< + diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 500da4417e..afabd4365a 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.145 -Entered-date: 01APR01 +Version: 1.3.146 +Entered-date: 05APR01 Description: @BLURB@ 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.145.tar.gz + 1000k lilypond-1.3.146.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.145.tar.gz + 1000k lilypond-1.3.146.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 3dbcd146d7..7041a22ba8 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,11 +1,11 @@ %define info yes Name: lilypond -Version: 1.3.145 +Version: 1.3.146 Release: 1 License: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.145.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.146.tar.gz # music notation software for.. ? Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond @@ -124,6 +124,7 @@ fi %{_prefix}/bin/ly2dvi %{_prefix}/bin/midi2ly %{_prefix}/bin/lilypond-book +%{_prefix}/bin/mup2ly %{_prefix}/bin/musedata2ly %{_prefix}/bin/pmx2ly %else @@ -144,6 +145,7 @@ fi %{_prefix}/man/man1/midi2ly.1.gz %{_prefix}/man/man1/lilypond-book.1.gz %{_prefix}/man/man1/musedata2ly.1.gz +%{_prefix}/man/man1/mup2ly.1.gz %{_prefix}/man/man1/pmx2ly.1.gz %{_prefix}/share/lilypond/ diff --git a/mf/feta-bolletjes.mf b/mf/feta-bolletjes.mf index 5973b51718..7632fcff47 100644 --- a/mf/feta-bolletjes.mf +++ b/mf/feta-bolletjes.mf @@ -546,13 +546,18 @@ fet_beginchar("Crossed notehead", "2cross", "crossedhead") fet_endchar; fet_beginchar("X-Circled notehead", "2xcircle", "xcircledhead") - set_char_box(0, noteheight#+stafflinethickness#, - noteheight#/2+stafflinethickness#/2,noteheight#/2+stafflinethickness#/2); - pickup pencircle scaled 1.2stafflinethickness; - draw fullcircle scaled 2h shifted (h,0); - pos := h/sqrt2; - draw (-pos+h,-pos) -- (pos+h,pos); - draw (-pos+h,pos) -- (pos+h,-pos); + wid# := black_notehead_width#; + hei# := noteheight#+stafflinethickness#; + set_char_box(0, wid#,hei#/2,hei#/2); + cthick := 1.2stafflinethickness; + cxr := w/2-cthick/2; + cyr := h-cthick/2; + pickup pencircle scaled cthick; + draw fullcircle xscaled 2cxr yscaled 2cyr shifted (w/2,0); + xpos := cxr/sqrt2; + ypos := cyr/sqrt2; + draw (-xpos+w/2,-ypos) -- (xpos+w/2,ypos); + draw (-xpos+w/2,ypos) -- (xpos+w/2,-ypos); fet_endchar; fet_endgroup("noteheads"); diff --git a/mf/feta-generic.mf b/mf/feta-generic.mf index 2e31f1ada8..7be674ce32 100644 --- a/mf/feta-generic.mf +++ b/mf/feta-generic.mf @@ -39,12 +39,12 @@ if test = 0: else: % input feta-bolletjes; % input feta-banier; - input feta-eindelijk; +% input feta-eindelijk; % input feta-klef; % input feta-toevallig; % input feta-schrift; % input feta-haak; -% input feta-timesig; + input feta-timesig; % input feta-pendaal; % input feta-accordion; fi diff --git a/mf/feta-timesig.mf b/mf/feta-timesig.mf index 488e8ea732..cc22ca8ab9 100644 --- a/mf/feta-timesig.mf +++ b/mf/feta-timesig.mf @@ -3,15 +3,15 @@ % % source file of the Feta (not an abbreviation of Font-En-Tja) music font % -% (c) 1998--1999 Mats Bengtsson , -% Christian Mondrup +% (c) 1998--2001 Mats Bengtsson , +% Christian Mondrup fet_begingroup("timesig"); def set_C_width = save left_width, right_width; - left_width# := 0.9 staff_space#; - right_width# := .7 staff_space#; + left_width# := 1.0 staff_space#; + right_width# := 0.8 staff_space#; define_pixels(left_width,right_width); enddef; @@ -31,27 +31,28 @@ def draw_C = z4 = (0, -staff_space); z5r = (right_width - stafflinethickness, -0.4 staff_space); - penpos1(hair, 0); + penpos1(hair, 10); penpos2(stafflinethickness, 90); penpos3(left_fatness * staff_space, 180); penpos4(stafflinethickness, -90); penpos5(hair, -5); + z6l = z1l; + penpos6(hair, 0); - draw_bulb(-1, z1l, z1r, bulb_rad, .8); + draw_bulb(-1, z6l, z6r, bulb_rad, .8); - fill z1l{up} .. z2l{left} .. z3l{down} .. z4l{right} .. + fill z1l{dir (100)} .. z2l{left} .. z3l{down} .. z4l{right} .. simple_serif(z5l, z5r, -90) .. - z4r{left} .. z3r{up} .. z2r{right} .. z1r -- cycle; + z4r{left} .. z3r{up} .. z2r{right} .. {dir (-80)}z1r -- cycle; -% labels(1,2,3,4,5); - penlabels(1,2,3,4,5); + penlabels(1,2,3,4,5,6); enddef; fet_beginchar ("4/4 meter", "C4/4", "fourfourmeter") set_C_width; set_char_box(left_width# + staff_space#, right_width# + staff_space#, staff_space#, staff_space#); - + draw_C; fet_endchar; diff --git a/midi2ly/lilypond-item.cc b/midi2ly/lilypond-item.cc index 2f70f5d4be..4c3830a637 100644 --- a/midi2ly/lilypond-item.cc +++ b/midi2ly/lilypond-item.cc @@ -71,7 +71,7 @@ Lilypond_key::str () if (accidentals_i) notename_str += String (accname [accidentals_i + 2]); - return "\\key " + notename_str + (minor_i_ ? "\\minor" : "\\major") + ";\n"; + return "\\key " + notename_str + (minor_i_ ? "\\minor" : "\\major") + "\n"; } String @@ -195,7 +195,7 @@ Lilypond_time_signature::str () { String str = "\\time " + to_str (num_i_) + "/" + to_str (1 << den_i_) - + ";\n"; + + "\n"; return str; } @@ -328,7 +328,7 @@ Lilypond_tempo::str () { String str = "\\tempo 4="; str += to_str (get_tempo_i (Rational (1, 4))); - str += ";\n"; + str += "\n"; return str; } diff --git a/midi2ly/lilypond-voice.cc b/midi2ly/lilypond-voice.cc index 9595b93569..d7676b2634 100644 --- a/midi2ly/lilypond-voice.cc +++ b/midi2ly/lilypond-voice.cc @@ -51,9 +51,9 @@ Lilypond_voice::get_clef () const int p = n->pitch_i_; if (p < 56) - return "\\clef \"bass\";\n"; + return "\\clef \"bass\"\n"; else if (p > 67) - return "\\clef \"treble\";\n"; + return "\\clef \"treble\"\n"; else return ""; } diff --git a/mutopia/E.Satie/petite-ouverture-a-danser.ly b/mutopia/E.Satie/petite-ouverture-a-danser.ly index e395e418eb..d70a07c609 100644 --- a/mutopia/E.Satie/petite-ouverture-a-danser.ly +++ b/mutopia/E.Satie/petite-ouverture-a-danser.ly @@ -1,40 +1,40 @@ \header { - filename = "petite-ouverture-a-danser.ly"; - title = "Petite Ouverture \\`a danser"; - subtitle = "4"; - source = ""; - composer = "Erik Satie (1866-1925)"; - enteredby = "jcn"; - copyright = "Public Domain"; + filename = "petite-ouverture-a-danser.ly" + title = "Petite Ouverture \\`a danser" + subtitle = "4" + source = "" + composer = "Erik Satie (1866-1925)" + enteredby = "jcn" + copyright = "Public Domain" } %{ Tested Features: %} -\version "1.3.117"; +\version "1.3.146" \include "nederlands.ly" global = \notes { - \key a \minor; - \time 2/4; + \key a \minor + \time 2/4 s2*10 - \bar "||"; + \bar "||" s2*11 - \bar "||"; - \time 3/4; + \bar "||" + \time 3/4 s2. - \bar "||"; - \time 2/4; + \bar "||" + \time 2/4 s2*4 - \bar "||"; - \time 3/4; + \bar "||" + \time 3/4 s2.*2 - \bar "||"; - \time 2/4; + \bar "||" + \time 2/4 s2*18 - \bar "|."; + \bar "|." } i = \context Staff \notes\relative c''{ @@ -135,20 +135,20 @@ lower = \context Staff \notes \relative c{ \context GrandStaff < \context Staff = treble < \global - \clef violin; + \clef violin \i \ii > \context Staff = bass < \global - \clef bass; + \clef bass \lower > > \paper { - gourlay_maxmeasures = 5.; - textheight = 295.\mm; + gourlay_maxmeasures = 5. + textheight = 295.\mm \translator{ \OrchestralScoreContext } \translator{ \VoiceContext @@ -157,7 +157,7 @@ lower = \context Staff \notes \relative c{ } } \midi { - \tempo 4 = 60; + \tempo 4 = 60 } } diff --git a/mutopia/F.Schubert/standchen.ly b/mutopia/F.Schubert/standchen.ly index 69561d89b3..a726f6b9ba 100644 --- a/mutopia/F.Schubert/standchen.ly +++ b/mutopia/F.Schubert/standchen.ly @@ -4,44 +4,44 @@ instrument = "Piano" \header { - title = "Ständchen"; - subtitle = "(Serenade)"; - subsubtitle = "Leise flehen meine Lieder"; - opus = "D. 957 No. 4"; - date = "August 1828"; - composer = "Franz Schubert (1797-1828)"; - poet = "Text by Ludwig Rellstab (1799-1860)"; - enteredby = "JCN"; - copyright = "public domain"; - instrument = \instrument; + title = "Ständchen" + subtitle = "(Serenade)" + subsubtitle = "Leise flehen meine Lieder" + opus = "D. 957 No. 4" + date = "August 1828" + composer = "Franz Schubert (1797-1828)" + poet = "Text by Ludwig Rellstab (1799-1860)" + enteredby = "JCN" + copyright = "public domain" + instrument = \instrument % mutopia headers. - mutopiatitle = "Standchen"; - mutopiasubtitle = "Leise flehen meine Lieder"; - mutopiacomposer = "Franz Schubert (1797-1828)"; - mutopiapoet = "Ludwig Rellstab (1799-1860)"; - mutopiaopus = "D957.4"; - mutopiainstrument = \instrument; - date = "1828/08"; - style = "Romantic"; - source = "Schubert-Lieder; Edition Schott No. 608, (Not dated). - Jubilaeums-Ausgabe zum 100. Todestage (~1928)."; - - copyright = "Public Domain"; - maintainer = "Jan Nieuwenhuizen"; - maintainer_email = "janneke@gnu.org"; - lastupdated = "2001/Mar/26"; + mutopiatitle = "Standchen" + mutopiasubtitle = "Leise flehen meine Lieder" + mutopiacomposer = "Franz Schubert (1797-1828)" + mutopiapoet = "Ludwig Rellstab (1799-1860)" + mutopiaopus = "D957.4" + mutopiainstrument = \instrument + date = "1828/08" + style = "Romantic" + source = "Schubert-Lieder Edition Schott No. 608, (Not dated). + Jubilaeums-Ausgabe zum 100. Todestage (~1928)." + + copyright = "Public Domain" + maintainer = "Jan Nieuwenhuizen" + maintainer_email = "janneke@gnu.org" + lastupdated = "2001/Mar/26" mutopiapublicdomain = "\\parbox{\hsize}{\\thefooter\\quad\\small \\\\This music is part of the Mutopia project, \\texttt{http://www.mutopiaproject.org/}\\\\It has been typeset and placed in the public domain by " + \maintainer + ".\\\\Unrestricted modification and redistribution is permitted - and encouraged---copy this music and share it.}"; - tagline = \mutopiapublicdomain; - footer = "Mutopia-2001/03/26-xx"; + and encouraged---copy this music and share it.}" + tagline = \mutopiapublicdomain + footer = "Mutopia-2001/03/26-xx" } -\version "1.3.141"; +\version "1.3.146" dynamicUp = \property Voice.DynamicLineSpanner \override #'direction = #1 dynamicRevert = \property Voice.DynamicLineSpanner \revert #'direction @@ -101,13 +101,13 @@ vocalThrough = \notes\relative c{ lyricVerseOne = \lyrics{ Lei- se fleh- en mei- ne Lie- der - Durch die Nacht zu dir; + Durch die Nacht zu dir In den stil- len Hain her- nie- der Lieb- chen, komm zu mir! Fl\"us- ternd schlan- ke Wip- fel rau- schen In des Mon- des Licht, - In des Mon- des Licht; + In des Mon- des Licht Des Ver- r\"a- ters feind- lich Lau- schen F\"urch- te, Hol- de, nicht, @@ -261,7 +261,7 @@ bassIntro = \notes\relative c{ } bassVerseOne = \notes\relative c{ -% \clef bass; +% \clef bass \dynamicUp %5 r4 | @@ -339,12 +339,12 @@ bassThrough = \notes\relative c{ } global = \notes{ - \time 3/4; - \key es \major; - \skip 4 * 12; + \time 3/4 + \key es \major + \skip 4 * 12 \break - \skip 4 * 234; - \bar "|."; + \skip 4 * 234 + \bar "|." } allLyrics = \lyrics { @@ -358,15 +358,15 @@ lyricStaff = \context Lyrics { } vocals = \context Voice { - \clef treble; + \clef treble % certainly no auto-beaming for vocals \property Voice.noAutoBeaming = ##t \property Staff.automaticMelismata= ##t \dynamicUp - \skip 4 * 12; + \skip 4 * 12 \vocalVerse - \skip 4 * 24; + \skip 4 * 24 \vocalVerse \vocalThrough } @@ -378,7 +378,7 @@ vocalStaff = \context Staff = vocal< > treble = { - \clef treble; + \clef treble \property Voice.autoBeamSettings \override #'(begin * * * *) = #(make-moment 0 1) \trebleIntro \trebleVerseOne @@ -392,7 +392,7 @@ trebleStaff = \context Staff = treble< \treble > bass = { - \clef bass; + \clef bass \bassIntro \bassVerseOne \bassEentje @@ -434,6 +434,6 @@ grandStaff = \context PianoStaff < \translator { \HaraKiriStaffContext } } \midi{ - \tempo 4 = 54; + \tempo 4 = 54 } } diff --git a/mutopia/J.S.Bach/pa.ly b/mutopia/J.S.Bach/pa.ly index 456e79f926..1f7880a5e0 100644 --- a/mutopia/J.S.Bach/pa.ly +++ b/mutopia/J.S.Bach/pa.ly @@ -1,27 +1,27 @@ -\version "1.3.122" +\version "1.3.146" \header { - filename = "pa.ly"; - title = "Wachet auf, ruft uns die Stimme"; - opus = "BWV"; - composer = "Johann Sebastian Bach 1685-1750 "; - enteredby = "JCN"; - copyright = "public domain"; + filename = "pa.ly" + title = "Wachet auf, ruft uns die Stimme" + opus = "BWV" + composer = "Johann Sebastian Bach 1685-1750 " + enteredby = "JCN" + copyright = "public domain" } commands = \notes { - \time 4/4; + \time 4/4 \property Staff.TimeSignature \override #'style = #'C - \key es \major; - \partial 8; + \key es \major + \partial 8 } right = \notes \relative c' { \commands %if urtekst - \clef "alto"; -% \clef "violin"; + \clef "alto" +% \clef "violin" %if stable % \property Voice."beamAutoEnd_8" = "1/4" @@ -84,35 +84,35 @@ right = \notes \relative c' { as16 d, es f es d c bes bes'8 es, g16 f es d | es as g f g8 es \grace d()c8. d16 d8. es16| es1| - \bar "|."; + \bar "|." } clefs = \notes{ - \clef "alto"; - \partial 8; - \skip 8; + \clef "alto" + \partial 8 + \skip 8 %testin' -% \clef "violin"; - \skip 1; -% \clef "alto"; - \repeat "volta" 2 { \skip 1*19; } +% \clef "violin" + \skip 1 +% \clef "alto" + \repeat "volta" 2 { \skip 1*19 } \alternative { - { \skip 1*2; } - { \skip 1*1; } } - \skip 1*11; - s4 \clef "violin"; + { \skip 1*2 } + { \skip 1*1 } } + \skip 1*11 + s4 \clef "violin" s4 s2 s1 - s4 s8 \clef "alto"; s8 s2 - \skip 1*12; - s4 r8 \clef "violin"; s8 s2 \clef "alto"; + s4 s8 \clef "alto" s8 s2 + \skip 1*12 + s4 r8 \clef "violin" s8 s2 \clef "alto" } left = \notes \relative c { \commands %if urtekst - \clef "tenor"; -% \clef "bass"; + \clef "tenor" +% \clef "bass" %if stable % \property Staff.noVoltaBraces = 1 @@ -156,7 +156,7 @@ left = \notes \relative c { c g as8 g f4\trill| es1| R1*4 - \bar "|."; + \bar "|." } pedal = \notes \relative c, { @@ -165,7 +165,7 @@ pedal = \notes \relative c, { % \property Staff.noVoltaBraces = 1 % \property Staff.noVoltaBraces = ##t \property Staff.VoltaBracket = \turnOff - \clef "bass"; + \clef "bass" r8 | es4 es es g \repeat "volta" 2 { @@ -223,7 +223,7 @@ pedal = \notes \relative c, { bes8 c bes as g c as bes| c d es g as f bes bes,| es1 - \bar "|."; + \bar "|." } @@ -249,30 +249,30 @@ pedal = \notes \relative c, { > \paper { - %textheight = 280.0 \mm; + %textheight = 280.0 \mm % landscape: -% textheight = 160.0 \mm; - orientation = "landscape"; - linewidth = 280.0 \mm; +% textheight = 160.0 \mm + orientation = "landscape" + linewidth = 280.0 \mm %{ \translator { \OrchestralScoreContext - minVerticalAlign = 4.0*\staffheight; - maxVerticalAlign = 4.0*\staffheight; + minVerticalAlign = 4.0*\staffheight + maxVerticalAlign = 4.0*\staffheight } %} \translator { \StaffGroupContext - minVerticalAlign = 4.0*\staffheight; - maxVerticalAlign = 4.0*\staffheight; + minVerticalAlign = 4.0*\staffheight + maxVerticalAlign = 4.0*\staffheight } \translator { \PianoStaffContext - minVerticalAlign = 2.5*\staffheight; - maxVerticalAlign = 2.5*\staffheight; + minVerticalAlign = 2.5*\staffheight + maxVerticalAlign = 2.5*\staffheight } } \midi { - \tempo 4 = 69; + \tempo 4 = 69 } } diff --git a/mutopia/J.S.Bach/wtk1-fugue1.ly b/mutopia/J.S.Bach/wtk1-fugue1.ly index 1a6d2159df..2a803c6bf8 100644 --- a/mutopia/J.S.Bach/wtk1-fugue1.ly +++ b/mutopia/J.S.Bach/wtk1-fugue1.ly @@ -1,30 +1,30 @@ \header{ -title = "Fuga a 4"; -opus = "BWV 846"; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "Shay Rojansky"; +title = "Fuga a 4" +opus = "BWV 846" +composer = "Johann Sebastian Bach (1685-1750)" +enteredby = "Shay Rojansky" % mutopia headers. - mutopiatitle = "Das Wohltemperierte Clavier I, Fuga 1 (c-major)"; - mutopiacomposer = "J.S.Bach"; - mutopiaopus = "BWV846"; - style = "baroque"; - copyright = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!"; - maintainer = "hanwen@cs.uu.nl"; - lastupdated = "1999/Oct/14"; + mutopiatitle = "Das Wohltemperierte Clavier I, Fuga 1 (c-major)" + mutopiacomposer = "J.S.Bach" + mutopiaopus = "BWV846" + style = "baroque" + copyright = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!" + maintainer = "hanwen@cs.uu.nl" + lastupdated = "1999/Oct/14" } %{ TODO: use autobeaming. %} -\version "1.3.117"; +\version "1.3.146" tenor = \context Voice = tenor \notes \relative c' { - \clef "violin"; + \clef "violin" \stemDown r8 [c8 d e] [f8. g32 f] [e8 a] | @@ -103,7 +103,7 @@ soprane = alt = \context Voice = alt \notes \relative c { - \clef "bass"; + \clef "bass" \stemUp @@ -143,7 +143,7 @@ alt = bass = \context Voice = bassvoice \notes \relative c { - \clef "bass"; + \clef "bass" \stemDown @@ -185,20 +185,20 @@ bass = \context Voice = bassvoice \score { \notes \context PianoStaff < \context Staff = one { - \time 4/4; + \time 4/4 < \soprane \tenor - > \bar "|."; } + > \bar "|." } \context Staff = two { < \alt \bass - > \bar "|."; } + > \bar "|." } > \paper{ - linewidth = 18.0 \cm; + linewidth = 18.0 \cm } - \midi { \tempo 4 = 84; } + \midi { \tempo 4 = 84 } } diff --git a/mutopia/J.S.Bach/wtk1-fugue2.ly b/mutopia/J.S.Bach/wtk1-fugue2.ly index 3a539395ae..bc8a767dbd 100644 --- a/mutopia/J.S.Bach/wtk1-fugue2.ly +++ b/mutopia/J.S.Bach/wtk1-fugue2.ly @@ -1,32 +1,32 @@ \header { - title = "Fuga a 3 voci"; - opus = "BWV 847-Fuga"; - source = "Henle's Urtext"; - composer = "Johann Sebastian Bach (1685-1750)"; - enteredby = "hwn, wl, jcn"; + title = "Fuga a 3 voci" + opus = "BWV 847-Fuga" + source = "Henle's Urtext" + composer = "Johann Sebastian Bach (1685-1750)" + enteredby = "hwn, wl, jcn" % mutopia headers. - mutopiatitle = "Das Wohltemperierte Clavier I, Fuga II (c-minor)"; - mutopiacomposer = "J. S. Bach (1685-1750)"; - mutopiainstrument = "Piano"; - mutopiaopus = "BWV847"; - style = "baroque"; - copyright = "Public Domain"; - tagline = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!"; - maintainer = "hanwen@cs.uu.nl"; - lastupdated = "2000/Feb/14"; + mutopiatitle = "Das Wohltemperierte Clavier I, Fuga II (c-minor)" + mutopiacomposer = "J. S. Bach (1685-1750)" + mutopiainstrument = "Piano" + mutopiaopus = "BWV847" + style = "baroque" + copyright = "Public Domain" + tagline = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!" + maintainer = "hanwen@cs.uu.nl" + lastupdated = "2000/Feb/14" } % It would be nice to squeeze this onto two pages, but I am not sure % if it would work with US paper. -\version "1.3.117"; +\version "1.3.146" dux = \context Voice=two \notes \relative c''{ \voiceTwo - \clef violin; + \clef violin r8 c16 b c8 g as c16 b c8 d | g, c16 b c8 d f,16 g as4 g16 f | @@ -123,7 +123,7 @@ comes = \context Voice=one \notes \relative c'' { } bassdux = \context Voice=three \notes \relative c' { - \clef bass; + \clef bass R1 | R | R | @@ -171,20 +171,20 @@ bassdux = \context Voice=three \notes \relative c' { \notes \context PianoStaff < \context Staff = treble < - \key c \minor; -% \key es \major; + \key c \minor +% \key es \major \dux - { \comes \bar "|."; } - \time 4/4; + { \comes \bar "|." } + \time 4/4 > \context Staff = bass < - \key c \minor; + \key c \minor \bassdux > > \paper { - linewidth = 18.0 \cm; + linewidth = 18.0 \cm \translator{ \OrchestralScoreContext timeSignatureStyle \override #'style = #"C" @@ -192,11 +192,11 @@ bassdux = \context Voice=three \notes \relative c' { } \header{ - opus = "BWV 847"; + opus = "BWV 847" } \midi { - \tempo 4 =84; + \tempo 4 =84 } } diff --git a/mutopia/J.S.Bach/wtk1-prelude1.ly b/mutopia/J.S.Bach/wtk1-prelude1.ly index 02ab1ff2b7..8f1fd4232f 100644 --- a/mutopia/J.S.Bach/wtk1-prelude1.ly +++ b/mutopia/J.S.Bach/wtk1-prelude1.ly @@ -1,21 +1,21 @@ \header{ -title = "Preludium"; -opus = "BWV 846"; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "Shay Rojansky"; +title = "Preludium" +opus = "BWV 846" +composer = "Johann Sebastian Bach (1685-1750)" +enteredby = "Shay Rojansky" % mutopia headers. - mutopiatitle = "Das Wohltemperierte Clavier I, Prelude 1 (c-major)"; - mutopiacomposer = "J.S.Bach"; - mutopiaopus = "BWV846"; - style = "baroque"; - copyright = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!"; - maintainer = "hanwen@cs.uu.nl"; - lastupdated = "1999/Oct/14"; + mutopiatitle = "Das Wohltemperierte Clavier I, Prelude 1 (c-major)" + mutopiacomposer = "J.S.Bach" + mutopiaopus = "BWV846" + style = "baroque" + copyright = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!" + maintainer = "hanwen@cs.uu.nl" + lastupdated = "1999/Oct/14" } -\version "1.3.117"; +\version "1.3.146" % should do programmable input. soprane = @@ -23,8 +23,8 @@ soprane = \context Staff < % Real soprane \context Voice = uVoice { - \time 4/4; - \clef "violin"; + \time 4/4 + \clef "violin" \stemUp r8 [g16 c'] [e' g c' e'] r8 [g16 c'] [e' g c' e'] | @@ -76,12 +76,12 @@ soprane = r8 [f,16 a,] [c f c a,] [c a, f, a,] [f, d, f, d,] | r8 [g16 b] [d' f' d' b] [d' b g b] [d f e d] | - \bar "|."; + \bar "|." } bass = \notes { - \clef "bass"; + \clef "bass" \stemDown @@ -158,7 +158,7 @@ bass = c, c, | c, c, | - c,1 \bar "|."; }> + c,1 \bar "|." }> } @@ -168,7 +168,7 @@ bass = \bass > \midi { - \tempo 4 = 80; + \tempo 4 = 80 } } diff --git a/scm/chord-name.scm b/scm/chord-name.scm index 920875a15b..87a5d543e8 100644 --- a/scm/chord-name.scm +++ b/scm/chord-name.scm @@ -24,7 +24,7 @@ ;; TODO ;; -;; * clean split of base/banter/american stuff +;; * clean split of bass/banter/american stuff ;; * text definition is rather ad-hoc ;; * do without format module ;; * finish and check american names @@ -57,6 +57,372 @@ ) chord::names-alist-banter)) +;;;;;;;;;; + + +(define (accidental->text acc) + (if (= acc 0) + '() + (list '(music (font-relative-size . -2)) + (string-append "accidentals-" (number->string acc))))) + +(define (accidental->text-super acc) + (if (= acc 0) + '() + (cons 'super (list (accidental->text acc))))) + +(define (accidental->text-sub acc) + (if (= acc 0) + '() + (cons sub (list accidental->text acc)))) + + +(define (pitch->note-name pitch) + (cons (cadr pitch) (caddr pitch))) + +(define (pitch->text pitch) + (cons + (make-string 1 (integer->char (+ (modulo (+ (cadr pitch) 2) 7) 65))) + (accidental->text-super (caddr pitch)))) + + +;;; Hooks to override chord names and note names, +;;; see input/tricks/german-chords.ly + +(define (pitch->text-banter pitch) + (pitch->text pitch)) + +;; We need also steps, to allow for Cc name override, +;; see input/test/Cc-chords.ly +(define (pitch->chord-name-text-banter pitch steps) + (pitch->text-banter pitch)) + +(define (pitch->note-name-text-banter pitch) + (pitch->text-banter pitch)) + +(define (step->text pitch) + (list (string-append + (number->string (+ (cadr pitch) (if (= (car pitch) 0) 1 8))) + (case (caddr pitch) + ((-2) "--") + ((-1) "-") + ((0) "") + ((1) "+") + ((2) "++"))))) + +(define (step->text-banter pitch) + (if (= (cadr pitch) 6) + (case (caddr pitch) + ((-2) '("7-")) + ((-1) '("7")) + ((0) '("maj7")) + ((1) '("7+")) + ((2) '("7+"))) + (step->text pitch))) + +(define pitch::semitone-vec (list->vector '(0 2 4 5 7 9 11))) + +(define (pitch::semitone pitch) + (+ (* (car pitch) 12) + (vector-ref pitch::semitone-vec (modulo (cadr pitch) 7)) + (caddr pitch))) + +(define (pitch::transpose pitch delta) + (let ((simple-octave (+ (car pitch) (car delta))) + (simple-notename (+ (cadr pitch) (cadr delta)))) + (let ((octave (+ simple-octave (quotient simple-notename 7))) + (notename (modulo simple-notename 7))) + (let ((accidental (- (+ (pitch::semitone pitch) (pitch::semitone delta)) + (pitch::semitone `(,octave ,notename 0))))) + `(,octave ,notename ,accidental))))) + +(define (pitch::diff pitch tonic) + (let ((simple-octave (- (car pitch) (car tonic))) + (simple-notename (- (cadr pitch) (cadr tonic)))) + (let ((octave (+ simple-octave (quotient simple-notename 7) + (if (< simple-notename 0) -1 0))) + (notename (modulo simple-notename 7))) + (let ((accidental (- (pitch::semitone pitch) + (pitch::semitone tonic) + (pitch::semitone `(,octave ,notename 0))))) + `(,octave ,notename ,accidental))))) + +(define (pitch::note-pitch pitch) + (+ (* (car pitch) 7) (cadr pitch))) + + +(define (write-me n x) + (display n) + (write x) + (newline) + x) + +(define (empty? x) + (equal? x '())) + +(define (chord::text? text) + (not (or (not text) (empty? text) (unspecified? text)))) + +;; recursively remove '() #f, and # from text +(define (chord::text-cleanup dirty) + (if (pair? dirty) + (let ((r (car dirty))) + (if (chord::text? r) + (cons (if (pair? r) (chord::text-cleanup r) r) + (chord::text-cleanup (cdr dirty))) + (chord::text-cleanup (cdr dirty)))) + (if (chord::text? dirty) + dirty + '()))) + +(define (chord::text-append l . r) + (if (not (chord::text? r)) + l + (if (not (chord::text? l)) + r + (cons l r)))) + +(define (chord::step tonic pitch) + (- (pitch::note-pitch pitch) (pitch::note-pitch tonic))) + +;; text: list of word +;; word: string + optional list of property +;; property: align, kern, font (?), size + +(define chord::minor-major-vec (list->vector '(0 -1 -1 0 -1 -1 0))) + +;; compute the relative-to-tonic pitch that goes with 'step' +(define (chord::step-pitch tonic step) + ;; urg, we only do this for thirds + (if (= (modulo step 2) 0) + '(0 0 0) + (let loop ((i 1) (pitch tonic)) + (if (= i step) pitch + (loop (+ i 2) + (pitch::transpose + pitch `(0 2 ,(vector-ref chord::minor-major-vec + ;; -1 (step=1 -> vector=0) + 7 = 6 + (modulo (+ i 6) 7))))))))) + +;; find the pitches that are not part of `normal' chord +(define (chord::additions chord-pitches) + (let ((tonic (car chord-pitches))) + ;; walk the chord steps: 1, 3, 5 + (let loop ((step 1) (pitches chord-pitches) (additions '())) + (if (pair? pitches) + (let* ((pitch (car pitches)) + (p-step (+ (- (pitch::note-pitch pitch) + (pitch::note-pitch tonic)) + 1))) + ;; pitch is an addition if + (if (or + ;; it comes before this step or + (< p-step step) + ;; its step is even or + (= (modulo p-step 2) 0) + ;; has same step, but different accidental or + (and (= p-step step) + (not (equal? pitch (chord::step-pitch tonic step)))) + ;; is the last of the chord and not one of base thirds + (and (> p-step 5) + (= (length pitches) 1))) + (loop step (cdr pitches) (cons pitch additions)) + (if (= p-step step) + (loop step (cdr pitches) additions) + (loop (+ step 2) pitches additions)))) + (reverse additions))))) + +;; find the pitches that are missing from `normal' chord +(define (chord::subtractions chord-pitches) + (let ((tonic (car chord-pitches))) + (let loop ((step 1) (pitches chord-pitches) (subtractions '())) + (if (pair? pitches) + (let* ((pitch (car pitches)) + (p-step (+ (- (pitch::note-pitch pitch) + (pitch::note-pitch tonic)) + 1))) + ;; pitch is an subtraction if + ;; a step is missing or + (if (> p-step step) + (loop (+ step 2) pitches + (cons (chord::step-pitch tonic step) subtractions)) + ;; there are no pitches left, but base thirds are not yet done and + (if (and (<= step 5) + (= (length pitches) 1)) + ;; present pitch is not missing step + (if (= p-step step) + (loop (+ step 2) pitches subtractions) + (loop (+ step 2) pitches + (cons (chord::step-pitch tonic step) subtractions))) + (if (= p-step step) + (loop (+ step 2) (cdr pitches) subtractions) + (loop step (cdr pitches) subtractions))))) + (reverse subtractions))))) + + +(define (chord::additions->text-banter additions subtractions) + (if (pair? additions) + (cons (apply append + (chord::text-cleanup + (list + (cons 'super (step->text-banter (car additions))) + (if (or (pair? (cdr additions)) + (pair? subtractions)) + '(super "/"))))) + (chord::additions->text-banter (cdr additions) subtractions)) + '())) + +(define (chord::subtractions->text-banter subtractions) + (if (pair? subtractions) + (cons (apply append + (chord::text-cleanup + (list + '(super "no") + (cons 'super (step->text-banter (car subtractions))) + (if (pair? (cdr subtractions)) + '(super "/"))))) + (chord::subtractions->text-banter (cdr subtractions))) + '())) + + +(define (chord::bass-and-inversion->text-banter bass-and-inversion) + (if (and (pair? bass-and-inversion) + (or (car bass-and-inversion) + (cdr bass-and-inversion))) + (list "/" (if (car bass-and-inversion) + (pitch->note-name-text-banter + (car bass-and-inversion)) + (pitch->note-name-text-banter + (cdr bass-and-inversion))) + '()) + '())) + +;; Banter style +;; Combine tonic, exception-part of chord name, +;; additions, subtractions and bass or inversion into chord name +(define (chord::inner-name-banter tonic exception-part additions subtractions + bass-and-inversion steps) + ;; ugh + (apply + append + (chord::text-cleanup + (list '(rows) + (pitch->chord-name-text-banter tonic steps) + exception-part + ;; why does list->string not work, format seems only hope... + (if (and (string-match "super" (format "~s" exception-part)) + (or (pair? additions) + (pair? subtractions))) + '((super "/"))) + (chord::additions->text-banter additions subtractions) + (chord::subtractions->text-banter subtractions) + (chord::bass-and-inversion->text-banter bass-and-inversion))))) + +(define (chord::name-banter tonic exception-part unmatched-steps + bass-and-inversion steps) + (let ((additions (chord::additions unmatched-steps)) + (subtractions (chord::subtractions unmatched-steps))) + (chord::inner-name-banter tonic exception-part additions subtractions + bass-and-inversion steps))) + + +(define (c++-pitch->scm p) + (if (pitch? p) + (list (pitch-octave p) (pitch-notename p) (pitch-alteration p)) + #f)) + +(define (chord::name-banter tonic exception-part unmatched-steps + bass-and-inversion steps) + (let ((additions (chord::additions unmatched-steps)) + (subtractions (chord::subtractions unmatched-steps))) + (chord::inner-name-banter tonic exception-part additions subtractions + bass-and-inversion steps))) + +(define (chord::restyle name style) + (ly-eval (string->symbol + (string-append (symbol->string name) + (symbol->string style))))) + +;; check exceptions-alist for biggest matching part of try-steps +;; return (MATCHED-EXCEPTION . UNMATCHED-STEPS) +(define (chord::exceptions-lookup-helper + exceptions-alist try-steps unmatched-steps exception-part) + (if (pair? try-steps) + ;; FIXME: junk '(0 . 0) from exceptions lists + ;; + ;; FIXME: either format exceptions list as real pitches, ie, + ;; including octave '((0 2 -1) ..), or drop octave + ;; from rest of calculations, + (let ((entry (assoc + (map (lambda (x) (pitch->note-name x)) + (append '((0 0 0)) try-steps)) + exceptions-alist))) + (if entry + (chord::exceptions-lookup-helper + #f '() unmatched-steps (cdr entry)) + (let ((r (reverse try-steps))) + (chord::exceptions-lookup-helper + exceptions-alist + (reverse (cdr r)) + (cons (car r) unmatched-steps) #f)))) + (cons exception-part unmatched-steps))) + +;; return (MATCHED-EXCEPTION . BASE-CHORD-WITH-UNMATCHED-STEPS) +;; BASE-CHORD-WITH-UNMATCHED-STEPS always includes (tonic 3 5) +(define (chord::exceptions-lookup style steps) + (let* ((result (chord::exceptions-lookup-helper + (chord::restyle 'chord::names-alist- style) + steps '() #f)) + (exception-part (car result)) + (unmatched-steps (cdr result)) + (matched-steps (if (= (length unmatched-steps) 0) + 3 + (+ 1 (- (length steps) + (length unmatched-steps))))) + (unmatched-with-1-3-5 + (append (do ((i matched-steps (- i 1)) + (base '() (cons `(0 ,(* (- i 1) 2) 0) base))) + ((= i 0) base) + ()) + unmatched-steps))) + (list exception-part unmatched-with-1-3-5))) + + +(define (chord::name->text style tonic steps bass-and-inversion) + (let* ((lookup (chord::exceptions-lookup style steps)) + (exception-part (car lookup)) + (unmatched-steps (cadr lookup))) + ((chord::restyle 'chord::name- style) + tonic exception-part unmatched-steps bass-and-inversion steps))) + +;; C++ entry point +;; +;; Check for each subset of chord, full chord first, if there's a +;; user-override. Split the chord into user-overridden and to-be-done +;; parts, complete the missing user-override matched part with normal +;; chord to be name-calculated. +;; +;; CHORD: (pitches (bass . inversion)) +(define (default-chord-name-function style chord) + (let* ((pitches (map c++-pitch->scm (car chord))) + (modifiers (cdr chord)) + (bass-and-inversion (if (pair? modifiers) + (cons (c++-pitch->scm (car modifiers)) + (c++-pitch->scm (cdr modifiers))) + '(() . ()))) + (diff (pitch::diff '(0 0 0) (car pitches))) + (steps (if (cdr pitches) (map (lambda (x) + (pitch::transpose x diff)) + (cdr pitches)) + '()))) + (chord::name->text style (car pitches) steps bass-and-inversion))) + + + +;;; +;;; American style +;;; + ;; NOTE: Duplicates of chord names defined elsewhere occur in this list ;; in order to prevent spurious superscripting of various chord names, @@ -89,6 +455,7 @@ ;; Common seventh chords (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . ("" (super "o") "7")) (((0 . 0) (2 . 0) (4 . 0) (6 . 0)) . ("maj7")) + ;; urg! should use (0 . 0 2 . -1) -> "m", and add "7" to that!! (((0 . 0) (2 . -1) (4 . 0) (6 . -1)) . ("m7")) (((0 . 0) (2 . 0) (4 . 0) (6 . -1)) . ("7")) (((0 . 0) (2 . -1) (4 . 0) (6 . 0)) . ("m(maj7)")) @@ -114,8 +481,26 @@ ) chord::names-alist-american)) + +;; American style chordnames use no "no", +;; but otherwise very similar to banter for now +(define (chord::name-american tonic exception-part unmatched-steps + bass-and-inversion steps) + (let ((additions (chord::additions unmatched-steps)) + (subtractions #f)) + (chord::inner-name-banter tonic exception-part additions subtractions + bass-and-inversion steps))) + + + +;;; +;;; Jazz style +;;; + + + ;; Jazz chords, by Atte Andr'e Jensen -;; NBs: This uses the american list as a base. +;; NBs: This uses the american list as a bass. ;; Some defs take up more than one line, ;; be carefull when messing with ;'s!! @@ -251,297 +636,84 @@ ) chord::names-alist-american)) -;;;;;;;;;; - - -(define (pitch->note-name pitch) - (cons (cadr pitch) (caddr pitch))) - -(define (accidental->text acc) - (if (= acc 0) - '() - (list - (append '(music) - (list - (append '(named) - (list - (append '((font-relative-size . -2)) - (list (append '((raise . 0.6)) - (list - (string-append "accidentals-" - (number->string acc)))))))))))) -) - -(define (pitch->text pitch) +(define (step->text-alternate-jazz pitch) (cons - (make-string 1 (integer->char (+ (modulo (+ (cadr pitch) 2) 7) 65))) - (accidental->text (caddr pitch)) - ) -) - -;;; Hooks to override chord names and note names, -;;; see input/tricks/german-chords.ly - -(define (pitch->text-banter pitch) - (pitch->text pitch)) - -(define (pitch->chord-name-text-banter pitch) - (pitch->text-banter pitch)) + (accidental->text (caddr pitch)) + (list (number->string (+ (cadr pitch) (if (= (car pitch) 0) 1 8)))))) -(define (pitch->note-name-text-banter pitch) - (pitch->text-banter pitch)) - -(define (step->text pitch) - (string-append - (number->string (+ (cadr pitch) (if (= (car pitch) 0) 1 8))) - (case (caddr pitch) - ((-2) "--") - ((-1) "-") - ((0) "") - ((1) "+") - ((2) "++")))) - -(define (step->text-banter pitch) +(define (step->text-jazz pitch) (if (= (cadr pitch) 6) (case (caddr pitch) - ((-2) "7-") - ((-1) "7") - ((0) "maj7") - ((1) "7+") - ((2) "7+")) - (step->text pitch))) - -(define pitch::semitone-vec (list->vector '(0 2 4 5 7 9 11))) - -(define (pitch::semitone pitch) - (+ (* (car pitch) 12) - (vector-ref pitch::semitone-vec (modulo (cadr pitch) 7)) - (caddr pitch))) - -(define (pitch::transpose pitch delta) - (let ((simple-octave (+ (car pitch) (car delta))) - (simple-notename (+ (cadr pitch) (cadr delta)))) - (let ((octave (+ simple-octave (quotient simple-notename 7))) - (notename (modulo simple-notename 7))) - (let ((accidental (- (+ (pitch::semitone pitch) (pitch::semitone delta)) - (pitch::semitone `(,octave ,notename 0))))) - `(,octave ,notename ,accidental))))) - -(define (pitch::diff pitch tonic) - (let ((simple-octave (- (car pitch) (car tonic))) - (simple-notename (- (cadr pitch) (cadr tonic)))) - (let ((octave (+ simple-octave (quotient simple-notename 7) - (if (< simple-notename 0) -1 0))) - (notename (modulo simple-notename 7))) - (let ((accidental (- (pitch::semitone pitch) - (pitch::semitone tonic) - (pitch::semitone `(,octave ,notename 0))))) - `(,octave ,notename ,accidental))))) - -(define (pitch::note-pitch pitch) - (+ (* (car pitch) 7) (cadr pitch))) - -(define (chord::step tonic pitch) - (- (pitch::note-pitch pitch) (pitch::note-pitch tonic))) - -;; text: list of word -;; word: string + optional list of property -;; property: align, kern, font (?), size - -(define chord::minor-major-vec (list->vector '(0 -1 -1 0 -1 -1 0))) - -;; compute the relative-to-tonic pitch that goes with 'step' -(define (chord::step-pitch tonic step) - ;; urg, we only do this for thirds - (if (= (modulo step 2) 0) - '(0 0 0) - (let loop ((i 1) (pitch tonic)) - (if (= i step) pitch - (loop (+ i 2) - (pitch::transpose - pitch `(0 2 ,(vector-ref chord::minor-major-vec - ;; -1 (step=1 -> vector=0) + 7 = 6 - (modulo (+ i 6) 7))))))))) - -;; find the pitches that are not part of `normal' chord -(define (chord::additions chord-pitches) - (let ((tonic (car chord-pitches))) - ;; walk the chord steps: 1, 3, 5 - (let loop ((step 1) (pitches chord-pitches) (additions '())) - (if (pair? pitches) - (let* ((pitch (car pitches)) - (p-step (+ (- (pitch::note-pitch pitch) - (pitch::note-pitch tonic)) - 1))) - ;; pitch is an addition if - (if (or - ;; it comes before this step or - (< p-step step) - ;; its step is even or - (= (modulo p-step 2) 0) - ;; has same step, but different accidental or - (and (= p-step step) - (not (equal? pitch (chord::step-pitch tonic step)))) - ;; is the last of the chord and not one of base thirds - (and (> p-step 5) - (= (length pitches) 1))) - (loop step (cdr pitches) (cons pitch additions)) - (if (= p-step step) - (loop step (cdr pitches) additions) - (loop (+ step 2) pitches additions)))) - (reverse additions))))) - -;; find the pitches that are missing from `normal' chord -(define (chord::subtractions chord-pitches) - (let ((tonic (car chord-pitches))) - (let loop ((step 1) (pitches chord-pitches) (subtractions '())) - (if (pair? pitches) - (let* ((pitch (car pitches)) - (p-step (+ (- (pitch::note-pitch pitch) - (pitch::note-pitch tonic)) - 1))) - ;; pitch is an subtraction if - ;; a step is missing or - (if (> p-step step) - (loop (+ step 2) pitches - (cons (chord::step-pitch tonic step) subtractions)) - ;; there are no pitches left, but base thirds are not yet done and - (if (and (<= step 5) - (= (length pitches) 1)) - ;; present pitch is not missing step - (if (= p-step step) - (loop (+ step 2) pitches subtractions) - (loop (+ step 2) pitches - (cons (chord::step-pitch tonic step) subtractions))) - (if (= p-step step) - (loop (+ step 2) (cdr pitches) subtractions) - (loop step (cdr pitches) subtractions))))) - (reverse subtractions))))) - -;; combine tonic, user-specified chordname, -;; additions, subtractions and base or inversion to chord name -;; -(define (chord::inner-name-banter tonic user-name additions subtractions base-and-inversion) - (apply append - '(rows) - (pitch->chord-name-text-banter tonic) - (if user-name user-name '()) - ;; why does list->string not work, format seems only hope... - (if (and (string-match "super" (format "~s" user-name)) - (or (pair? additions) - (pair? subtractions))) - '((super "/")) - '()) - (let loop ((from additions) (to '())) - (if (pair? from) - (let ((p (car from))) - (loop (cdr from) - (append to - (cons - (list 'super (step->text-banter p)) - (if (or (pair? (cdr from)) - (pair? subtractions)) - '((super "/")) - '()))))) - to)) - (let loop ((from subtractions) (to '())) - (if (pair? from) - (let ((p (car from))) - (loop (cdr from) - (append to - (cons '(super "no") - (cons - (list 'super (step->text-banter p)) - (if (pair? (cdr from)) - '((super "/")) - '())))))) ; nesting? - to)) - (if (and (pair? base-and-inversion) - (or (car base-and-inversion) - (cdr base-and-inversion))) - (cons "/" (append - (if (car base-and-inversion) - (pitch->note-name-text-banter - (car base-and-inversion)) - (pitch->note-name-text-banter - (cdr base-and-inversion))) - '())) - '()) - '())) - -(define (chord::name-banter tonic user-name pitches base-and-inversion) - (let ((additions (chord::additions pitches)) - (subtractions (chord::subtractions pitches))) - (chord::inner-name-banter tonic user-name additions subtractions base-and-inversion))) - -;; american chordnames use no "no", -;; but otherwise very similar to banter for now -(define (chord::name-american tonic user-name pitches base-and-inversion) - (let ((additions (chord::additions pitches)) - (subtractions #f)) - (chord::inner-name-banter tonic user-name additions subtractions base-and-inversion))) + ;; sharp 7 only included for completeness? + ((-2) (cons (accidental->text -1) '("7"))) + ((-1) '("7")) + ((0) '("maj7")) + ((1) (cons (accidental->text-super 1) '("7"))) + ((2) (cons (accidental->text-super 2) '("7")))) + (step->text-alternate-jazz pitch))) + +(define (chord::additions->text-jazz additions subtractions) + (if (pair? additions) + (cons (apply append + (chord::text-cleanup + (list + (cons 'super (step->text-jazz (car additions))) + (if (or (pair? (cdr additions)) + (pair? subtractions)) + '(super "/"))))) + (chord::additions->text-jazz (cdr additions) subtractions)) + '())) + +(define (chord::subtractions->text-jazz subtractions) + (if (pair? subtractions) + (cons (apply append + (chord::text-cleanup + (list + '(super "omit") + (cons 'super (step->text-jazz (car subtractions))) + (if (pair? (cdr subtractions)) + '(super "/"))))) + (chord::subtractions->text-jazz (cdr subtractions))) + '())) + + +;; TODO: maybe merge with inner-name-banter +;; Combine tonic, exception-part of chord name, +;; additions, subtractions and bass or inversion into chord name +(define (chord::inner-name-jazz tonic exception-part additions subtractions + bass-and-inversion steps) + + ;; ugh + (apply + append + + (chord::text-cleanup + (list '(rows) + (pitch->chord-name-text-banter tonic steps) + exception-part + ;; why does list->string not work, format seems only hope... + (if (and (string-match "super" (format "~s" exception-part)) + (or (pair? additions) + (pair? subtractions))) + '((super "/"))) + (chord::additions->text-jazz additions subtractions) + (chord::subtractions->text-jazz subtractions) + (chord::bass-and-inversion->text-banter bass-and-inversion))))) ;; Jazz style--basically similar to american with minor changes -(define (chord::name-jazz tonic user-name pitches base-and-inversion) - (let ((additions (chord::additions pitches)) - (subtractions #f)) - (chord::inner-name-banter tonic user-name additions subtractions base-and-inversion))) - -(define (new-to-old-pitch p) - (if (pitch? p) - (list (pitch-octave p) (pitch-notename p) (pitch-alteration p)) - #f - )) - - - -;; C++ entry point -;; -;; Check for each subset of chord, full chord first, if there's a -;; user-override. Split the chord into user-overridden and to-be-done -;; parts, complete the missing user-override matched part with normal -;; chord to be name-calculated. -;; -;; CHORD: (pitches (base . inversion)) -(define (default-chord-name-function style chord) - (let* ((style-string (symbol->string style)) - (pitches (map new-to-old-pitch (car chord))) - (modifiers (cdr chord)) - (base-and-inversion (if (pair? modifiers) - (cons (new-to-old-pitch (car modifiers)) - (new-to-old-pitch (cdr modifiers))) - '(() . ()))) - (diff (pitch::diff '(0 0 0) (car pitches))) - (name-func - (ly-eval (string->symbol (string-append "chord::name-" style-string)))) - (names-alist - (ly-eval (string->symbol (string-append "chord::names-alist-" style-string))))) - (let loop ((note-names (reverse pitches)) - (chord '()) - (user-name #f)) - (if (pair? note-names) - (let ((entry (assoc - (reverse - (map (lambda (x) - (pitch->note-name (pitch::transpose x diff))) - note-names)) - names-alist))) - (if entry - ;; urg? found: break loop - (loop '() chord (cdr entry)) - (loop (cdr note-names) (cons (car note-names) chord) #f))) - (let* ((transposed (if pitches - (map (lambda (x) (pitch::transpose x diff)) chord) - '())) - (matched (if (= (length chord) 0) - 3 - (- (length pitches) (length chord)))) - (completed - (append (do ((i matched (- i 1)) - (base '() (cons `(0 ,(* (- i 1) 2) 0) base))) - ((= i 0) base) - ()) - transposed))) - (name-func (car pitches) user-name completed base-and-inversion)))))) - - +(define (chord::name-jazz tonic exception-part unmatched-steps + bass-and-inversion steps) + (let ((additions (chord::additions unmatched-steps)) + ;; get no 'omit' or 'no' + ;; (subtractions #f)) + (subtractions (chord::subtractions unmatched-steps))) + (chord::inner-name-jazz tonic exception-part additions subtractions + bass-and-inversion steps))) + +;; wip (set! chord::names-alist-jazz +(define amy-chord::names-alist-jazz + (append + '( + (((0 . 0) (2 . -1)) . ("m")) + ) + chord::names-alist-american)) diff --git a/scm/documentation-lib.scm b/scm/documentation-lib.scm index b12860eeb9..02f5a56063 100644 --- a/scm/documentation-lib.scm +++ b/scm/documentation-lib.scm @@ -134,13 +134,23 @@ Add a ref if REF is set ;; prepend GNU for dir, must be unique "\n* GNU " name ": (" file-name "). " name "." "\n@end direntry" - (node "Top") ",(lilypond)Index,(lilypond)Development," top + ;; ugh, prev and next should be settable, of course + (node "Top") ",(lilypond)Index,(lilypond)Full Grob interface list," top "\n@top" (texi-section 1 name #f) (texi-menu items-alist) "\n@contents" )) +(define (itexi-file-head name file-name top items-alist) + (string-append + "@c -*-texinfo-*-" + (node name) ",,," top + (texi-section 1 name #f) + (texi-menu items-alist) + "\n@contents" + )) + (define (context-name name) name) diff --git a/scm/generate-interface-doc.scm b/scm/generate-interface-doc.scm new file mode 100644 index 0000000000..565f72a240 --- /dev/null +++ b/scm/generate-interface-doc.scm @@ -0,0 +1,52 @@ + +;;; generate-interface-doc.scm -- Generate list of all intefaces, for refman +;;; +;;; source file of the GNU LilyPond music typesetter +;;; +;;; (c) 2000--2001 Han-Wen Nienhuys +;;; Jan Nieuwenhuizen + +;;; File entry point for generated documentation + +;;; Running LilyPond on this file generates the documentation + + + +;; We use ly-gulp because these files live in +;; +;; PATH=$LILYPONDPREFIX/scm:/scm +;; +(eval-string (ly-gulp-file "documentation-lib.scm")) +(eval-string (ly-gulp-file "engraver-documentation-lib.scm")) +(eval-string (ly-gulp-file "backend-documentation-lib.scm")) + +;;(define no-copies #t) ; from 490 to 410K, but doesn't look nice yet +;; +;; Also, copies of interfaces use up lots more space, but that's +;; functional because the default property values of the interfaces +;; are described... +(define no-copies #f) + +(let* ((doc (string-append + (document-all-interfaces "Full Grob interface list") + ) + ) + (name "interfaces") + (outname (string-append name ".itexi")) + (out (open-output-file outname))) + + (writing-wip outname) + (display + (string-append + ;;(itexi-file-head + ;; + ;; ;; we can't use (dir) and top if we're included by lilypond.tely + ;; "Grob interfaces" name "" + ;; '( + ;; ("Grob interfaces" . "Grob Interfaces") + ;; )) + doc + "\n") + out)) + +(newline (current-error-port)) diff --git a/scm/output-lib.scm b/scm/output-lib.scm index d6d57b3765..e3a9ad11ac 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -70,7 +70,7 @@ (if (< duration 0) "mensural" ""))) ((default) (number->string duration)) (else - (string-append (number->string duration) (symbol->string style))))) + (string-append (number->string (max 0 duration)) (symbol->string style))))) (define (note-head-style->attachment-coordinates style) @@ -79,9 +79,9 @@ bounding box, where to attach the stem. e.g.: X==0 means horizontally centered, X==1 is at the right, X == -1 is at the left." (case style - ((default) '(1.0 . 0.8)) - ((cross) '(1.0 . -1.0)) - ((mensural) '(0.0 . 1.0)) + ((default) '(1.0 . 0.5)) + ((cross) '(1.0 . 0.75)) + ((mensural) '(0.0 . 0.6)) ((diamond) '(1.0 . 0.8)) ((transparent) '(1.0 . 1.0)) ((slash) '(1.0 . 1.0)) diff --git a/scripts/abc2ly.py b/scripts/abc2ly.py index 79d241faa0..3e330e34e1 100644 --- a/scripts/abc2ly.py +++ b/scripts/abc2ly.py @@ -96,24 +96,24 @@ def check_clef(s): # about this we'll support that. s = s[4:] state.base_octave = -1 - voices_append("\\clef \"G_8\";\n") + voices_append("\\clef \"G_8\"\n") elif re.match('^treble', s): s = s[6:] if re.match ('^-8', s): s = s[2:] state.base_octave = -2 - voices_append("\\clef \"G_8\";\n") + voices_append("\\clef \"G_8\"\n") else: state.base_octave = 0 - voices_append("\\clef treble;\n") + voices_append("\\clef treble\n") elif re.match('^alto', s): s = s[4:] state.base_octave = -1 - voices_append ("\\clef alto;\n" ) + voices_append ("\\clef alto\n" ) elif re.match('^bass',s ): s = s[4:] state.base_octave = -2 - voices_append ("\\clef bass;\n" ) + voices_append ("\\clef bass\n" ) return s def select_voice (name, rol): @@ -153,7 +153,7 @@ def dump_header (outf,hdr): ks = hdr.keys () ks.sort () for k in ks: - outf.write ('\t%s = "%s";\n'% (k,hdr[k])) + outf.write ('\t%s = "%s"\n'% (k,hdr[k])) outf.write ('}') def dump_lyrics (outf): @@ -221,7 +221,7 @@ def dump_score (outf): if part_names: outf.write ("\t \\translator \n\t {\n") outf.write ("\t\t\\StaffContext\n") - outf.write ("\t\t\\consists Staff_margin_engraver;\n") + outf.write ("\t\t\\consists Staff_margin_engraver\n") outf.write ("\t }\n") outf.write ("\t}\n\t\\midi {}\n}\n") @@ -548,7 +548,7 @@ def try_parse_header_line (ln, state): set_default_len_from_time_sig (a) else: length_specified = 0 - voices_append ('\\time %s;' % a) + voices_append ('\\time %s' % a) state.next_bar = '' if g == 'K': # KEY a = check_clef(a) @@ -564,11 +564,11 @@ def try_parse_header_line (ln, state): key_info = m.group(1) clef_info = m.group(2) __main__.global_key = compute_key (key_info)# ugh. - voices_append ('\\key %s;' % lily_key(key_info)) + voices_append ('\\key %s' % lily_key(key_info)) check_clef(clef_info) else: __main__.global_key = compute_key (a)# ugh. - voices_append ('\\key %s \\major;' % lily_key(a)) + voices_append ('\\key %s \\major' % lily_key(a)) if g == 'N': # Notes header ['footnotes'] = header['footnotes'] + '\\\\\\\\' + a if g == 'O': # Origin @@ -599,9 +599,9 @@ def try_parse_header_line (ln, state): state.next_bar = '' select_voice (voice, rest) if g == 'W': # Words - lyrics_append(a); + lyrics_append(a) if g == 'w': # vocals - slyrics_append (a); + slyrics_append (a) return '' return ln @@ -702,7 +702,7 @@ def parse_duration (str, parser_state): str = str[1:] while str[0] == '>': str = str [1:] - current_dots = current_dots + 1; + current_dots = current_dots + 1 parser_state.next_den = parser_state.next_den * 2 while str[0] == '<': @@ -954,16 +954,16 @@ old_bar_dict = { '|' : '|' } bar_dict = { - '|]' : '\\bar "|.";', - '||' : '\\bar "||";', - '[|' : '\\bar "||";', + '|]' : '\\bar "|."', + '||' : '\\bar "||"', + '[|' : '\\bar "||"', ':|' : '}', '|:' : '\\repeat volta 2 {', '::' : '} \\repeat volta 2 {', '|1' : '} \\alternative{{', '|2' : '} {', ':|2' : '} {', - '|' : '\\bar "|";' + '|' : '\\bar "|"' } @@ -986,14 +986,14 @@ def try_parse_bar (str,state): if str[:trylen] and bar_dict.has_key (str[:trylen]): s = str[:trylen] if using_old: - bs = "\\bar \"%s\";" % old_bar_dict[s] + bs = "\\bar \"%s\"" % old_bar_dict[s] else: bs = "%s" % bar_dict[s] str = str[trylen:] if s in alternative_opener: if not in_repeat[current_voice_idx]: using_old = 't' - bs = "\\bar \"%s\";" % old_bar_dict[s] + bs = "\\bar \"%s\"" % old_bar_dict[s] else: doing_alternative[current_voice_idx] = 't' @@ -1006,7 +1006,7 @@ def try_parse_bar (str,state): if doing_alternative[current_voice_idx]: do_curly = 't' if using_old: - bs = "\\bar \"%s\";" % old_bar_dict[s] + bs = "\\bar \"%s\"" % old_bar_dict[s] else: bs = bar_dict[s] doing_alternative[current_voice_idx] = '' @@ -1014,7 +1014,7 @@ def try_parse_bar (str,state): if s in repeat_opener: in_repeat[current_voice_idx] = 't' if using_old: - bs = "\\bar \"%s\";" % old_bar_dict[s] + bs = "\\bar \"%s\"" % old_bar_dict[s] else: bs = bar_dict[s] break @@ -1083,7 +1083,7 @@ def try_parse_chord_delims (str, state): str = str[1:] - voices_append ("\\spanrequest \\stop \"slur\"" * end); + voices_append ("\\spanrequest \\stop \"slur\"" * end) voices_append (ch) return str diff --git a/scripts/convert-ly.py b/scripts/convert-ly.py index d35e379b41..03733c2d49 100644 --- a/scripts/convert-ly.py +++ b/scripts/convert-ly.py @@ -28,6 +28,8 @@ import time # lilypond_version_re_str = '\\\\version *\"(.*)\"' lilypond_version_re_str = '\\\\(mudela-)?version *\"(.*)\"' lilypond_version_re = re.compile (lilypond_version_re_str) +add_version = 1 + def program_id (): return '%s (GNU LilyPond) %s' %(program_name, version); @@ -45,9 +47,10 @@ Options: -a, --assume-old apply all conversions to unversioned files -h, --help print this help -e, --edit in place edit - -f, --from=VERSION start from version + -f, --from=VERSION start from version. Overrides \version found in file. -s, --show-rules print all rules. -t, --to=VERSION target version + -n, --no-version don't add new version stamp. --version print program version Report bugs to bugs-gnu-music@gnu.org @@ -792,6 +795,18 @@ if 1: conversions.append (((1,3,145), conv, 'ContextNameXxxxVerticalExtent -> XxxxVerticalExtent')) +if 1: + def conv (str): + str = re.sub ('\\\\key[ \t]*;', '\\key \\default;', str) + str = re.sub ('\\\\mark[ \t]*;', '\\mark \\default;', str) + + # only remove ; that are directly after words. + # otherwise we interfere with Scheme comments, which is badbadbad. + str = re.sub ("([^ \t]);", "\\1", str) + + return str + conversions.append (((1,3,146), conv, 'semicolons removed')) + ################################ # END OF CONVERSIONS ################################ @@ -823,13 +838,11 @@ def do_conversion (infile, from_version, outfile, to_version): if last_conversion: sys.stderr.write ('\n') new_ver = '\\version \"%s\"' % tup_to_str (last_conversion) - # JUNKME? - # ugh: this all really doesn't help - # esp. as current conversion rules are soo incomplete + if re.search (lilypond_version_re_str, str): str = re.sub (lilypond_version_re_str,'\\'+new_ver , str) - #else: - # str = new_ver + '\n' + str + elif add_version: + str = new_ver + '\n' + str outfile.write(str) @@ -896,7 +909,7 @@ from_version = () outfile_name = '' (options, files) = getopt.getopt ( - sys.argv[1:], 'ao:f:t:seh', ['assume-old', 'version', 'output', 'show-rules', 'help', 'edit', 'from=', 'to=']) + sys.argv[1:], 'ao:f:t:senh', ['no-version', 'assume-old', 'version', 'output', 'show-rules', 'help', 'edit', 'from=', 'to=']) for opt in options: o = opt[0] @@ -920,6 +933,8 @@ for opt in options: outfile_name = a elif o == '--assume-old' or o == '-a': assume_old = 1 + elif o == '--no-version' or o == '-n': + add_version = 0 else: print o raise getopt.error diff --git a/scripts/etf2ly.py b/scripts/etf2ly.py index 563e0308dc..1511bf2a96 100644 --- a/scripts/etf2ly.py +++ b/scripts/etf2ly.py @@ -283,7 +283,7 @@ articulation_dict ={ 1: '.', 3: '>', 18: '"arp"' , # arpeggio -}; +} class Articulation: def __init__ (self, a,b, finale): @@ -466,15 +466,15 @@ class Staff: g = m.global_measure e = '' if g and last_key <> g.keysignature: - e = e + "\\key %s \\major; " % lily_notename (g.keysignature) + e = e + "\\key %s \\major " % lily_notename (g.keysignature) last_key = g.keysignature if g and last_time <> g.timesig : - e = e + "\\time %d/%d; " % g.timesig + e = e + "\\time %d/%d " % g.timesig last_time = g.timesig if last_clef <> m.clef : - e = e + '\\clef "%s";' % lily_clef (m.clef) + e = e + '\\clef "%s"' % lily_clef (m.clef) last_clef = m.clef if e: if gap <> (0,1): diff --git a/scripts/lilypond-book.py b/scripts/lilypond-book.py index acfec670af..28e01f1a12 100644 --- a/scripts/lilypond-book.py +++ b/scripts/lilypond-book.py @@ -1,8 +1,9 @@ #!@PYTHON@ # vim: set noexpandtab: # TODO: -# * Figure out clean set of options. Hmm, isn't it pretty ok now? -# * add support for .lilyrc +# * junk --outdir for --output +# * Figure out clean set of options. +# * # * EndLilyPondOutput is def'd as vfil. Causes large white gaps. # * texinfo: add support for @pagesize @@ -549,7 +550,7 @@ def compose_full_body (body, opts): %% Generated automatically by: lilypond-book.py %% options are %s %%ughUGH not original options \include "paper%d.ly" -\paper { linewidth = %f \pt; } +\paper { linewidth = %f \pt } """ % (optstring, music_size, l) + body return body diff --git a/scripts/ly2dvi.py b/scripts/ly2dvi.py index cc2be23f75..fe178eb96d 100644 --- a/scripts/ly2dvi.py +++ b/scripts/ly2dvi.py @@ -329,10 +329,16 @@ def run_lilypond (files, outbase, dep_prefix): if track_dependencies_p: opts = opts + " --dependencies" if dep_prefix: - opts = ' --dep_prefix=%s' % dep_prefix + opts = opts + ' --dep-prefix=%s' % dep_prefix fs = string.join (files) + if not verbose_p: + progress ( _("Running %s...") % 'LilyPond') + # cmd = cmd + ' 1> /dev/null 2> /dev/null' + else: + opts = opts + ' --verbose' + system ('lilypond %s %s ' % (opts, fs)) def analyse_lilypond_output (filename, extra): @@ -604,6 +610,9 @@ if files and files[0] != '-': if not output: output = os.path.basename (files[0]) + for i in ('.dvi', '.latex', '.ly', '.ps', '.tex'): + output = strip_extension (output, i) + files = map (compat_abspath, files) if os.path.dirname (output) != '.': @@ -658,7 +667,7 @@ if files and files[0] != '-': # add DEP to targets? if track_dependencies_p: depfile = os.path.join (outdir, outbase + '.dep') - generate_dependency_file (depfile, dest) + generate_dependency_file (depfile, depfile) if os.path.isfile (depfile): progress (_ ("dependencies output to %s...") % depfile) diff --git a/scripts/mup2ly.py b/scripts/mup2ly.py index d4e4f4e2e0..0bb9cbf01b 100644 --- a/scripts/mup2ly.py +++ b/scripts/mup2ly.py @@ -81,7 +81,7 @@ def warranty (): sys.stdout.write ('\n') sys.stdout.write (_ (r''' Distributed under terms of the GNU General Public License. It comes with -NO WARRANTY.''')) +absolutely NO WARRANTY.''')) sys.stdout.write ('\n') def progress (s): @@ -162,7 +162,9 @@ def help (): sys.stdout.write (_ ("Options:")) sys.stdout.write ('\n') sys.stdout.write (options_help_str (option_definitions)) - sys.stdout.write ('\n\n') + sys.stdout.write ('\n') + warning (_ ("%s is far from completed. Not all constructs are recognised.") % program_name) + sys.stdout.write ('\n') sys.stdout.write (_ ("Report bugs to %s") % 'bug-gnu-music@gnu.org') sys.stdout.write ('\n') sys.exit (0) @@ -441,7 +443,7 @@ class Clef: self.type = cl def dump (self): - return '\\clef %s;' % self.type + return '\\clef %s' % self.type key_sharps = ('c', 'g', 'd', 'a', 'e', 'b', 'fis') key_flats = ('BUG', 'f', 'bes', 'es', 'as', 'des', 'ges') @@ -453,11 +455,11 @@ class Key: def dump (self): if self.sharps and self.flats: - k = '\\keysignature %s ;' % 'TODO' + k = '\\keysignature %s ' % 'TODO' elif self.sharps: - k = '\\notes\\key %s \major;' % key_sharps[self.sharps] + k = '\\notes\\key %s \major' % key_sharps[self.sharps] elif self.flats: - k = '\\notes\\key %s \major;' % key_flats[self.flats] + k = '\\notes\\key %s \major' % key_flats[self.flats] return k class Time: @@ -465,7 +467,7 @@ class Time: self.frac = frac def dump (self): - return '\\time %d/%d;' % (self.frac[0], self.frac[1]) + return '\\time %d/%d' % (self.frac[0], self.frac[1]) clef_table = { @@ -888,7 +890,9 @@ class Parser: def parse_context_score (self, line): debug ('score: ' + line) line = string.lstrip (line) - #ugh, these should also be matche in context_staff + # ugh: these (and lots more) should also be parsed in + # context staff. we should have a class Staff_properties + # and parse/set all those. m = re.match ('^(time[ \t]*=[ \t]*([0-9]+)[ \t]*/[ \t]*([0-9]+))', line) if m: line = line[len (m.group (1)):] @@ -1040,6 +1044,8 @@ class Pre_processor: s = '' return s + # duh: mup is strictly line-based, except for `define', + # which is `@' terminated and may span several lines def process_macro_define (self, line): global macros # don't define new macros in unactive areas diff --git a/scripts/musedata2ly.py b/scripts/musedata2ly.py index 81bb7bcc9e..9f1a3d1699 100644 --- a/scripts/musedata2ly.py +++ b/scripts/musedata2ly.py @@ -77,7 +77,7 @@ class Ref_parser: def dump( self): str = '' for (k,v) in self.dict.items (): - str = str +' %s = "%s";\n' % (k,v) + str = str +' %s = "%s"\n' % (k,v) str = '\\header {\n%s}' % str return str @@ -102,7 +102,7 @@ def get_key (s): return '' def get_timesig (s): - return '\\time %s;\n' % s + return '\\time %s\n' % s divisions = 4 diff --git a/scripts/pmx2ly.py b/scripts/pmx2ly.py index c260b06819..44535e503a 100644 --- a/scripts/pmx2ly.py +++ b/scripts/pmx2ly.py @@ -209,7 +209,7 @@ class Clef: def __init__ (self, cl): self.type = cl def dump(self): - return '\\clef %s;' % self.type + return '\\clef %s' % self.type clef_table = { 'b':'bass' , diff --git a/stepmake/bin/package-diff.py b/stepmake/bin/package-diff.py index bc2c8a8eba..da16975bf0 100644 --- a/stepmake/bin/package-diff.py +++ b/stepmake/bin/package-diff.py @@ -6,11 +6,14 @@ import find +import fnmatch import sys import os +import re import string import getopt import pipes + topdir = '' def gulp_file(f): try: @@ -90,12 +93,14 @@ def remove_automatic (dirnames): cleanup () sys.exit (1) - dirs = map (lambda d: find.find ('out', d), dirnames) + dirs = map (lambda d: find.find ('out*', d), dirnames) dirs = reduce (lambda x,y: x + y, dirs) - print dirs + #print dirs + for d in dirs: - files = files + find.find ('*', d) + if os.path.isdir (d): + files = files + find.find ('*', d) for f in files: try: -- 2.39.2