From 397619f8d14da1248ddc4a40231ae9360df40486 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 16 May 2001 23:29:07 +0200 Subject: [PATCH] patch::: 1.4.1.jcn1 1.4.1.jcn1 ========== * Fix for index, small doco fixes. * Bugfix: use roman font (instead of feta) for unacorda pedal. * Don't use cyclic symlinks for web doc. * Don't create `empty pngs' with touch, make symlinks instead. * Added extra header titling fields to ly2dvi too. 1.4.1 ===== --- CHANGES | 16 +++++++++ Documentation/regression-test.tely | 1 + Documentation/topdocs/README.texi | 6 ++-- Documentation/topdocs/index.tely | 14 ++++---- Documentation/user/GNUmakefile | 16 +++------ Documentation/user/macros.itexi | 35 +++++++++++++++--- Documentation/user/tutorial.itely | 16 +++++---- VERSION | 2 +- input/regression/tuplet-nest.ly | 31 ++++++++++++++++ input/test/octave-duplicate.ly | 58 ++++++++++++++++++++++++++++++ make/mutopia-rules.make | 6 ++-- scm/grob-description.scm | 1 + scripts/ly2dvi.py | 6 ++-- 13 files changed, 170 insertions(+), 38 deletions(-) create mode 100644 input/regression/tuplet-nest.ly create mode 100644 input/test/octave-duplicate.ly diff --git a/CHANGES b/CHANGES index a2aff5fc2b..31d6873fbd 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,19 @@ +1.4.1.jcn1 +========== + +* Fix for index, small doco fixes. + +* Bugfix: use roman font (instead of feta) for unacorda pedal. + +* Don't use cyclic symlinks for web doc. + +* Don't create `empty pngs' with touch, make symlinks instead. + +* Added extra header titling fields to ly2dvi too. + +1.4.1 +===== + 1.4.0.jcn7 ========== diff --git a/Documentation/regression-test.tely b/Documentation/regression-test.tely index 55db0ae143..2bf6020b77 100644 --- a/Documentation/regression-test.tely +++ b/Documentation/regression-test.tely @@ -143,6 +143,7 @@ and documenting bugfixes. @lilypondfile[printfilename]{tuplet-staffline-collision.ly} +@lilypondfile[printfilename]{tuplet-nest.ly} @section Property details diff --git a/Documentation/topdocs/README.texi b/Documentation/topdocs/README.texi index ba3de47ea6..a9160cdb0d 100644 --- a/Documentation/topdocs/README.texi +++ b/Documentation/topdocs/README.texi @@ -57,9 +57,9 @@ The printable documentation is left in @file{Documentation/user/out/}. @section Comments -LilyPond is a long way from finished and polished, so we please send -your criticism, comments, bugreports, patches, etc., to the mailing -list. and @emph{not} to us personally. +LilyPond is a long way from finished and polished, so please send your +criticism, comments, bugreports, patches, etc., to the mailing list, +@emph{not} to us personally. We have the following mailing lists: diff --git a/Documentation/topdocs/index.tely b/Documentation/topdocs/index.tely index 24aa57ecdc..a75fb37c1a 100644 --- a/Documentation/topdocs/index.tely +++ b/Documentation/topdocs/index.tely @@ -1,4 +1,4 @@ -i\input texinfo @c -*-texinfo-*- +\input texinfo @c -*-texinfo-*- @setfilename index.info @settitle LilyPond homepage @@ -20,21 +20,23 @@ can also print pop-songs. LilyPond input is @b{plain text}. So, you can use your favorite text editor to enter it, you can put it in mail or embed it in an article like this: +@quotation @lilypond[fragment,verbatim, relative 1] - \key c \minor r8 c16 b c8 g as c16 b c8 d | g,4 -@end lilypond +\key c \minor r8 c16 b c8 g as c16 b c8 d | g,4 +@end lilypond +@end quotation Or you can use it to print music from other programs, using one of the numerous input filters. LilyPond output looks @b{beautiful}. The font and the layout algorithms were inspired by engraved music, so you can expect that same clear and -elegant look from your LilyPond output. And if you don't like the -looks, you can tweak almost everything. +elegant look from your LilyPond output. And if anything is not to your +liking, you can tweak almost everything. LilyPond is @b{free software}. It is part of the @uref{http://www.gnu.org/,GNU Project}. It is licensed under GNU General Public License, so you can use, modify and redistribute the program with -almost no restrictions. LilyPond is part of the +almost no restrictions. @unnumberedsec Want to know more? diff --git a/Documentation/user/GNUmakefile b/Documentation/user/GNUmakefile index 2e0cf50d2c..566c3b2c1c 100644 --- a/Documentation/user/GNUmakefile +++ b/Documentation/user/GNUmakefile @@ -53,41 +53,35 @@ info: $(INFO_FILES) # Generic rule using % twice not possible? # $(outdir)/%/%.html: $(outdir)/%.texi $(outdir)/lilypond/lilypond.html: $(outdir)/lilypond.texi + mkdir -p $(dir $@) $(MAKEINFO) --output=$@ --html $< -cp -f $(outdir)/*.png $(outdir)/lilypond -cp -f $(outdir)/lilypond/index.html $@ $(deep-footify) $(shell find $(outdir)/$(*F)/*.html) $(outdir)/lilypond-internals/lilypond-internals.html: $(outdir)/lilypond-internals.texi + mkdir -p $(dir $@) $(MAKEINFO) --output=$@ --html $< -cp -f $(outdir)/*.png $(outdir)/lilypond-internals -cp -f $(outdir)/lilypond-internals/index.html $@ $(deep-footify) $(shell find $(outdir)/$(*F)/*.html) - ifeq ($(SPLITTING_MAKEINFO),yes) DEEP_HTML_FILES = $(outdir)/lilypond/lilypond.html $(outdir)/lilypond-internals/lilypond-internals.html -local-WWW: rm-deep-symlinks - -rm-deep-symlinks: - cd $(outdir) && rm -f lilypond lilypond-internals; true - else -DEEP_HTML_FILES = $(outdir)/lilypond.html $(outdir)/lilypond-internals.html - # Links referred to by Documentation index LILYPOND_LINKS=Reference-Manual.html Tutorial.html Ly2dvi.html Midi2ly.html local-WWW: deep-symlinks deep-symlinks: - cd $(outdir) && rm -f lilypond && ln -s . lilypond - cd $(outdir) && rm -f lilypond-internals && ln -s . lilypond-internals - cd $(outdir) && $(foreach i, $(LILYPOND_LINKS),\ + mkdir -p $(outdir)/lilypond + cd $(outdir)/lilypond && $(foreach i, $(LILYPOND_LINKS),\ rm -f $(i) && ln -s lilypond.html $(i) &&) true + endif diff --git a/Documentation/user/macros.itexi b/Documentation/user/macros.itexi index b817a23ab9..611537ed71 100644 --- a/Documentation/user/macros.itexi +++ b/Documentation/user/macros.itexi @@ -1,6 +1,6 @@ @ifnottex @macro reng {word} -@ref{ (lilypond-internals)\word\, \word\ }, +@ref{ (lilypond-internals)\word\, \word\ } @end macro @end ifnottex @@ -8,14 +8,13 @@ @iftex @macro reng {word} \word\ - @end macro @end iftex @ifnottex @macro rgrob {word} -@ref{ (lilypond-internals)\word\, \word\ }, +@ref{ (lilypond-internals)\word\, \word\ } @end macro @end ifnottex @@ -23,14 +22,13 @@ @iftex @macro rgrob {word} \word\ - @end macro @end iftex @ifnottex @macro rint {word} -@ref{ (lilypond-internals)\word\, \word\ }, +@ref{ (lilypond-internals)\word\, \word\ } @end macro @end ifnottex @@ -38,7 +36,34 @@ @iftex @macro rint {word} \word\ +@end macro +@end iftex +@ifnottex +@macro texisharp {word} +# +@end macro +@end ifnottex + +@iftex +@macro texisharp {word} +@tex +$\\sharp$ +@end tex +@end macro +@end iftex + +@ifnottex +@macro texiflat {word} +b +@end macro +@end ifnottex + +@iftex +@macro texiflat {word} +@tex +$\\flat$ +@end tex @end macro @end iftex diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index d764ad916c..241034151b 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -114,7 +114,8 @@ s16_" " @end quotation @separate -A sharp is made by adding ``@code{is}'', a flat by adding ``@code{es}'': +A sharp (@texisharp{}) is made by adding ``@code{is}'', a flat +(@texiflat{}) by adding ``@code{es}'': @quotation @example @@ -361,12 +362,13 @@ Don't worry about all the quotes. @end lilypond @end quotation +@c accidentals... There are some interesting points to note in this example. Firstly, -accidentals don't have to be marked explicitly: you just enter the -pitch, and LilyPond determines whether or not to print an accidental. -Secondly, bar lines and beams are drawn automatically. Thirdly, -LilyPond calculates line breaks for you; it doesn't matter where you -make new lines in the source file. +accidentals (sharps and flats) don't have to be marked explicitly: you +just enter the note name, and LilyPond determines whether or not to +print an accidental. Secondly, bar lines and beams are drawn +automatically. Thirdly, LilyPond calculates line breaks for you; it +doesn't matter where you make new lines in the source file. The example also indicates that a piece of music written in a high register needs lots of quotes. This makes the input a bit unreadable, @@ -441,7 +443,7 @@ A slur is drawn across many notes, and indicates bound articulation @quotation @lilypond[fragment,relative 1, verbatim] -c8( cis d )e +d4( )c16( cis d e c cis d )e( )d4 @end lilypond @end quotation @separate diff --git a/VERSION b/VERSION index e6420ebf80..0057b13635 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=4 PATCH_LEVEL=1 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=jcn1 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/regression/tuplet-nest.ly b/input/regression/tuplet-nest.ly new file mode 100644 index 0000000000..8219145784 --- /dev/null +++ b/input/regression/tuplet-nest.ly @@ -0,0 +1,31 @@ +\header { + texidoc="Manual hack for nested tuplets" +} + +#(define (make-text-checker-once text) + (lambda (grob) (and text-checker-once + (if (equal? text (ly-get-grob-property grob 'text)) + (begin + (set! text-checker-once #f) #t) + #f)))) + +#(define text-checker-once #t) + +\score { + \notes\relative c'' { + + \property Voice.tupletNumberFormatFunction = #fraction-tuplet-formatter + + \outputproperty #(make-text-checker-once "2:3") + #'extra-offset = #'(0 . 1) + \times 2/3 { + \times 2/3 { + a a a + } + \times 3/5 { + a a a a a + } + } + } + \paper { linewidth = -1. } +} diff --git a/input/test/octave-duplicate.ly b/input/test/octave-duplicate.ly new file mode 100644 index 0000000000..eaf17c4d0d --- /dev/null +++ b/input/test/octave-duplicate.ly @@ -0,0 +1,58 @@ +\header { +texidoc="Octave duplicate parts of music" +} + +upperOne = \notes\relative c'' { + a4 a a a + a4 a a a + a4 a a a + a4 a a a +} + +upperOctave = \notes < + \context Thread=upperOne { \transpose c \upperOne } + \context Thread=upperOne { + \property Thread.devNullThread = #'allways s1*2 + \property Thread.devNullThread = #'() s1*2 + } +> + +lowerOne = \notes\relative c { + a8 a a a a a a a + a8 a a a a a a a + a8 a a a a a a a + a8 a a a a a a a +} + +firstEight = \notes { + \property Thread.devNullThread = #'() s8 + \property Thread.devNullThread = #'allways s8*7 +} + +lowerOctave = \notes < + \context Thread=lowerOne { \transpose c \lowerOne } + \context Thread=lowerOne { + \repeat "unfold" 4 { \firstEight } + } +> + +\score { + < + \context PianoStaff < + \context Staff=upper < + \context Voice=upperOne < + \upperOne + \upperOctave + > + > + \context Staff=lower < + \clef bass + \context Voice=lowerOne < + \lowerOne + \lowerOctave + > + > + > + > + \paper { } +} diff --git a/make/mutopia-rules.make b/make/mutopia-rules.make index cf3db53943..f2328cb16a 100644 --- a/make/mutopia-rules.make +++ b/make/mutopia-rules.make @@ -3,12 +3,14 @@ $(outdir)/%.gif: $(outdir)/%.ps sh $(PS_TO_GIFS) $< -mv $(name-stem)-page*.gif $(outdir)/ - touch $@ +# touch $@ + ln -s $(outdir)/$(name-stem)-page1.gif $@ $(outdir)/%.png: $(outdir)/%.ps sh $(PS_TO_PNGS) $< -mv $(name-stem)-page*.png $(outdir)/ - touch $@ +# touch $@ + ln -s $(outdir)/$(name-stem)-page1.png $@ $(outdir)/%.ly.txt: %.ly ln -f $< $@ diff --git a/scm/grob-description.scm b/scm/grob-description.scm index b26ece9a3b..291566e75b 100644 --- a/scm/grob-description.scm +++ b/scm/grob-description.scm @@ -703,6 +703,7 @@ (UnaCordaPedal . ( (molecule-callback . ,Text_item::brew_molecule) + (font-family . roman) (font-shape . italic) (no-spacing-rods . #t) (self-alignment-X . 0) diff --git a/scripts/ly2dvi.py b/scripts/ly2dvi.py index 26823c489f..81011a87ab 100644 --- a/scripts/ly2dvi.py +++ b/scripts/ly2dvi.py @@ -77,9 +77,9 @@ except: return s -layout_fields = ['title', 'subtitle', 'subsubtitle', 'footer', 'head', - 'composer', 'arranger', 'instrument', 'opus', 'piece', 'metre', - 'meter', 'poet'] +layout_fields = ['dedication', 'title', 'subtitle', 'subsubtitle', + 'footer', 'head', 'composer', 'arranger', 'instrument', + 'opus', 'piece', 'metre', 'meter', 'poet', 'texttranslator'] # init to empty; values here take precedence over values in the file -- 2.39.2