From 70616862ee425830c3c6bb63f2eec197fef9bbd7 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 21 Oct 1999 01:57:50 +0200 Subject: [PATCH] release: 1.2.16 --- CHANGES | 21 +- Documentation/GNUmakefile | 2 +- Documentation/bibliography/GNUmakefile | 2 +- Documentation/faq.texi | 119 ++++------ Documentation/footer.html.in | 4 +- Documentation/index.texi | 5 +- Documentation/misc/NEWS-1.2~ | 0 .../{lelie_icon.xpm => lelie-icon.xpm} | 0 Documentation/pictures/lelie-logo.xpm | 215 ++++++++++++++++++ Documentation/pictures/lelie_logo.xpm | 214 ----------------- .../{metadoc => programmer}/GNUmakefile | 0 .../{metadoc => programmer}/feta20.sty | 0 .../{metadoc => programmer}/fonts.doc | 0 .../{metadoc => programmer}/hacking.texi | 38 +++- .../lilypond-overview.doc | 0 .../{metadoc => programmer}/musicnotes.sty | 0 .../regression-test.tely | 4 +- Documentation/topdocs/index.tely | 22 +- TODO | 9 + VERSION | 4 +- ...beam-interstaff.ly => beam-cross-staff.ly} | 0 input/test/embedded-scm.ly | 4 - input/test/no-stem-extend.fly | 13 ++ ...slur-interstaff.ly => slur-cross-staff.ly} | 0 input/test/uniform-breaking.ly | 112 +++++++++ input/twinkle.ly | 13 +- lily/breathing-sign-engraver.cc | 1 - lily/breathing-sign.cc | 1 - lily/include/lily-guile.hh | 1 - lily/include/ly-symbols.hh | 1 + lily/include/midi-stream.hh | 1 - lily/include/music-iterator.hh | 8 +- lily/include/paper-stream.hh | 1 - lily/lexer.ll | 31 +-- lily/lily-guile.cc | 37 +-- lily/music-iterator.cc | 10 +- lily/my-lily-lexer.cc | 3 +- lily/my-lily-parser.cc | 1 - lily/paper-score.cc | 3 + lily/parser.yy | 23 +- lily/protected-scm.cc | 19 +- lily/score-element.cc | 17 +- lily/score.cc | 3 +- lily/simultaneous-music-iterator.cc | 2 +- lily/slur.cc | 6 +- lily/stem-engraver.cc | 6 + lily/stem-info.cc | 13 +- lily/stem.cc | 3 +- lily/unfolded-repeat-iterator.cc | 12 +- ly/accordion-defs.ly | 2 +- ly/params.ly | 2 +- ly/script.ly | 4 +- make/lilypond.spec.in | 5 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 9 +- .../Solo-Cello-Suites/allemande-cello.ly | 1 - scm/lily.scm | 3 + scripts/mudela-book.py | 2 +- stepmake/bin/package-diff.py | 32 ++- stepmake/bin/release.py | 7 +- .../stepmake/yolily-toplevel-targets.make | 2 +- tex/titledefs.tex | 8 +- 62 files changed, 589 insertions(+), 500 deletions(-) delete mode 100644 Documentation/misc/NEWS-1.2~ rename Documentation/pictures/{lelie_icon.xpm => lelie-icon.xpm} (100%) create mode 100644 Documentation/pictures/lelie-logo.xpm delete mode 100644 Documentation/pictures/lelie_logo.xpm rename Documentation/{metadoc => programmer}/GNUmakefile (100%) rename Documentation/{metadoc => programmer}/feta20.sty (100%) rename Documentation/{metadoc => programmer}/fonts.doc (100%) rename Documentation/{metadoc => programmer}/hacking.texi (95%) rename Documentation/{metadoc => programmer}/lilypond-overview.doc (100%) rename Documentation/{metadoc => programmer}/musicnotes.sty (100%) rename Documentation/{metadoc => programmer}/regression-test.tely (99%) rename input/test/{beam-interstaff.ly => beam-cross-staff.ly} (100%) delete mode 100644 input/test/embedded-scm.ly create mode 100644 input/test/no-stem-extend.fly rename input/test/{slur-interstaff.ly => slur-cross-staff.ly} (100%) create mode 100644 input/test/uniform-breaking.ly diff --git a/CHANGES b/CHANGES index 3c38ef3ad1..2fc2e6b428 100644 --- a/CHANGES +++ b/CHANGES @@ -1,19 +1,32 @@ -pl 15.jcn4 - - direct #... to scm parser (Tanks to Gary Houston) +pl 15.hwn1 + - reverted MIDI unfold patches. + - bf: cross staff beam, cross staff slur (2x) + - doco updates: + * metadoc/ -> programmer/ , + * FAQ + * hacking + * index with logo pl 15.jcn3 - - bf: smob fix? + - bf: smob fix - mutopia/doc target 'local-web': shorthand for 'CONFIGSUFFIX=www local-WWW' +pl 15.lu2 + - bf: close comments in website footer + - error messages for release didn't make it into .lu1? pl 15.jcn2 - small website fixes - pl 15.jcn1 - bfs: initialise members of Column-x-positions and Break_node - bf: Documentation/misc: don't include backups - bf: .gdbinit +pl 15.lu1 + - error messages for failing diff/release + - \property noStemExtend: don't extend normal or beamed stems to + middle staff line: input/test/no-stem-extend.fly +****** pl 15 (Oct 18) 14.jcn1 diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile index 3834700846..b3fda3a821 100644 --- a/Documentation/GNUmakefile +++ b/Documentation/GNUmakefile @@ -1,7 +1,7 @@ depth = .. NAME = documentation -SUBDIRS= user metadoc bibliography pictures topdocs ntweb misc +SUBDIRS= user programmer bibliography pictures topdocs ntweb misc STEPMAKE_TEMPLATES=documentation texinfo README_TOP_FILES=NEWS DEDICATION CHANGES TODO diff --git a/Documentation/bibliography/GNUmakefile b/Documentation/bibliography/GNUmakefile index a7862db9ae..ca0c7ae4a4 100644 --- a/Documentation/bibliography/GNUmakefile +++ b/Documentation/bibliography/GNUmakefile @@ -33,7 +33,7 @@ $(outdir)/%.bib: %.bib # ignore result since bib2html is nonstandard. Errors would halt the RPM build.j $(outdir)/%.html: %.bib -bib2html $< $@ - $(footify) $@ +# $(footify) $@ localclean: rm -f fonts.aux fonts.log feta*.tfm feta*.*pk diff --git a/Documentation/faq.texi b/Documentation/faq.texi index da64d5cc52..b8dbb30787 100644 --- a/Documentation/faq.texi +++ b/Documentation/faq.texi @@ -77,7 +77,7 @@ yourself: @subsubsection Some of your neat scripts fail, what directories do you use: -[This only applies if you don't do @code{make install}, and develop out +[This only applies if you don't do @code{make install}, and run out of the source directory] I have a directory which contains all our development projects @@ -100,16 +100,13 @@ which looks like @file{/usr/} @end example - - - -~/usr/src/bin is in the PATH, and contains symbolic links to the -compiled executables. +@file{~/usr/src/bin/} is in the variable PATH, and contains symbolic +links to the compiled executables. @subsubsection Is there an emacs mode? Yes. It is included with the source archive as mudela-mode.el. If -you have an rpm it is in /usr/doc/lilypond-X/. You have to install it +you have an rpm it is in @file{/usr/doc/lilypond-X/}. You have to install it yourself. @subsubsection How do I create the @file{.tfm} files? @@ -124,12 +121,12 @@ be used by LilyPond, not by any other programs. @subsubsection Why is the documentation/website/etc. so lousy? -LilyPond development is moving quite fast, documentation will often -lag a bit behind. We must always make a choice between writing more -doco, writing more code and answering email. +LilyPond development is moving quite fast, documentation will often lag +a bit behind. We must always make a choice between writing more +documentation, writing HTML, writing more code and answering email. -If you think you can make a correction, or devised a solution that -should be documented, please do so and send in a patch. +If you think you can make a correction, or devised a solution that +should be documented, please write it up, and us a diff. @node Language- mudela, Do you support -, Documentation, FAQ - GNU LilyPond FAQs @section Language: mudela @@ -195,20 +192,20 @@ notation. We would welcome anyone who could give this a try. @subsubsection Do you support TAB notation? -No. The same as for the previous subsubsection goes, but TAB is a lot -more work than diagrams (TAB needs modification of Parser, Lexer, -Staff, Notehead, Stem code and all the code that creates these graphic -elements.) +No. The same as for the previous subsubsection goes. + @subsubsection Do you support multiple staff-sizes? -Yes. At this time you can choose between 11, 13, 16, 19, 20, 23 and -20 pt staff-size. Use the staffLineLeading property for setting the -size of the staff, and fontSize for setting the size of the glyphs. +Yes. At this time you can choose between 11, 13, 16, 19, 20, 23 and 20 +pt staff-size. Use the @code{staffLineLeading} property for setting the +size of the staff, and @code{fontSize} for setting the size of the +glyphs. @subsubsection Do you support Gregorian chant notation? -No. Go ahead. +No. + @subsubsection Do you support grace notes? @@ -318,38 +315,34 @@ to get a bit less frivolous tagging. @subsubsection Could you implement feature XXXX? It is really easy, just extend the syntax to allow YYYY! -If it is reasonable, I'll add XXXX to the TODO list. In general -finding a cute syntax (such as YYYY) isn't very hard. The complicated -issue how to adapt the internals to do XXXX. The parser is really a -simple front end to the complicated internals. +In general finding a cute syntax (such as YYYY) isn't very hard. The +complicated issue how to adapt the internals to do XXXX. The parser is +really a simple front end to the complicated internals. @subsubsection Can I join in on LilyPond development? How do I do this? -LilyPond development is open for anyone who wants to join. We do -frequent releases, you are welcome to send in a patch or do suggestions. -Join the gnu-music-discuss mailing list to participate. +Yes, we do frequent releases, you are welcome to send in a patch or do +suggestions. Join the list @email{gnu-music-discuss@@gnu.org} to +participate. -@subsubsection I want to implement XXXX! Should I do this? - -Yes. - -But since there might be better ways of doing XXXX, so it's a good thing to -ask about this before you start hacking. If you want to keep in touch -with current developments, you should subscribe to the mailing list - @subsubsection Is there a GUI frontend? Should I start building one? -LilyPond currently has no graphical interface. The authors seriously -doubt if a simple-minded approach (dragging and dropping notes) is any -easier or quicker to use than mudela. But for composing a graphical -environment probably is indispensable. +LilyPond currently has no graphical interface. We (LilyPond authors) +don't feel the need to write a GUI, but several others do: Matthew Hiller has extended Midiscore and Koobase to handle mudela. -Check out @uref{http://zoo.cs.yale.edu/~meh25/}. +Check out @uref{http://zoo.cs.yale.edu/~meh25/}. He is now working on +`Denemo', a GTK based notation program (which is still being developed). -If you want to work on this, please send e-mail to the mailing list -@email{gnu-music-discuss@@gnu.org}. +Federico Mena-Quintero and Elliot Lee of RedHat Advanced Development +labs have plans to write a GNOME based Music notation program. However, +there is no code, only plans. + +Chris Cannam is working a rewrite of Rosegarden. The new design should +be more modular, and could conceivably be used to output +mudela. However, the not much seems to have happened the past year. See +@uref{http://www.all-day-breakfast.com/rosegarden/development.html}. @subsubsection I want to implement XXXX! How should I do this? @@ -360,32 +353,20 @@ Your best bet of getting us to include code, is to present it as a Please use the diff command to generate a patch, and don't send complete files, even if the diff is larger than the whole file. -Don't forget to put your name and e-mail address -in the @file{AUTHORS.pod} file, or you won't get credits :-] +Don't forget to put your name and e-mail address in the file +@file{Documentation/topdocs/AUTHORS.texi}, or you won't get credits +:-) @subsubsection Your make system does not adhere to GNU coding standards, could you please fix it? No. We have evaluated the standard GNU combination for compiling -programs (autoconf, automake, libtool) and found to be inadequate in -several respects. More detailed argumentation is included with -LilyPond's generic make package @code{StepMake} -(see @file{stepmake-x.x.x/Documentation/automake.urgh}) - -LilyPond already compiles into a different directory ((the different -directory is called out/, there is one in every source directory). -make distclean essentially reduces to @file{rm -f out/*} in every directory +programs (autoconf, automake, libtool) and found to be inadequate for +our needs. @subsubsection gdb crashes when I debug! -Upgrade to 4.17. - -@subsubsection Why do I need g++ >= 2.8 / EGCS-1.1 ? - -Supporting more compilers than EGCS/G++ 2.8 is unlikely to make -LilyPond run on more platforms. It would give us an enormous headache -in detecting and catering for every variant of every compiler: not -having to support other compilers saves us a @emph{lot} of trouble. +Upgrade/downgrade to 4.17. @node Running, Copyright, Development, FAQ - GNU LilyPond FAQs @section Running @@ -466,24 +447,6 @@ output, use TeX and @code{dvips}. The beams and slurs are done in PostScript. XDvi doesn't show PostScript in the magnifying glass. Complain to the XDvi maintainers. -@subsubsection I don't get midi-output, even if I use @strong{-m}! - -Your \score should include a \midi block, eg. -@example - - \score @{ - \melodic @{ c4 c g g @} - \paper @{@} - \midi @{ - output = "myfile.midi"; - \tempo 4=70; - @} - @} - -@end example - -The @strong{-m} option was added to LilyPond to suppress paper output, -because processing the \paper block is so slow. @subsubsection A lot of musical stuff doesn't make it to the MIDI file, eg. dynamics, articulation, etc. diff --git a/Documentation/footer.html.in b/Documentation/footer.html.in index 4b99be2c58..50bcaf5b2d 100644 --- a/Documentation/footer.html.in +++ b/Documentation/footer.html.in @@ -11,7 +11,7 @@ footer substitutions: * ENV:WEBMASTER, * ENV:WEBMASTER -> +-->
Go back to index of LilyPond. @@ -23,7 +23,7 @@ Please send GNU LilyPond questions and comments to gnu-music-discuss@gnu.org.

- Please send comments on these web pages to %s diff --git a/Documentation/index.texi b/Documentation/index.texi index 6f479604f1..0187a0a409 100644 --- a/Documentation/index.texi +++ b/Documentation/index.texi @@ -21,7 +21,7 @@ @item @uref{faq.html,Frequently asked questions}, with answers @item @uref{programs.html,`Manual pages'} @item @uref{../user/out-www/index.html,User documentation} -@item @uref{../metadoc/out-www/index.html,Hacker documentation} +@item @uref{../programmer/out-www/index.html,Programmer's documentation} @item @uref{../bibliography/out-www/index.html,Bibliography} @item @uref{../misc/out-www/index.html,Miscellaneous texts} @end itemize @@ -44,7 +44,8 @@ @unnumberedsubsec Logo: @itemize @item @uref{../pictures/out-www/lelieblond.png, logo} in large size -@item @uref{../pictures/out-www/lelie_logo.png, logo} in medium size +@item @uref{../pictures/out-www/lelie-logo.png, logo} in medium size +@item @uref{../pictures/out-www/lelie-icon.png, logo} in small size @end itemize @bye diff --git a/Documentation/misc/NEWS-1.2~ b/Documentation/misc/NEWS-1.2~ deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Documentation/pictures/lelie_icon.xpm b/Documentation/pictures/lelie-icon.xpm similarity index 100% rename from Documentation/pictures/lelie_icon.xpm rename to Documentation/pictures/lelie-icon.xpm diff --git a/Documentation/pictures/lelie-logo.xpm b/Documentation/pictures/lelie-logo.xpm new file mode 100644 index 0000000000..15408fb2ef --- /dev/null +++ b/Documentation/pictures/lelie-logo.xpm @@ -0,0 +1,215 @@ +/* XPM */ +static char *noname[] = { +/* width height ncolors chars_per_pixel */ +"100 143 65 1", +/* colors */ +" c #ADADAD", +". c #A5A5A5", +"X c #9D9D9D", +"o c #959595", +"O c #8D8D8D", +"+ c #858585", +"@ c #7D7D7D", +"# c #757575", +"$ c #6D6D6D", +"% c #656565", +"& c #5D5D5D", +"* c #555555", +"= c #4D4D4D", +"- c #FCFCFC", +"; c #FAFAFA", +": c #454545", +"> c #F2F2F2", +", c #3D3D3D", +"< c #EAEAEA", +"1 c #353535", +"2 c #E2E2E2", +"3 c #2D2D2D", +"4 c #DADADA", +"5 c #252525", +"6 c #D2D2D2", +"7 c #1D1D1D", +"8 c #CACACA", +"9 c #151515", +"0 c #C2C2C2", +"q c #0D0D0D", +"w c #BABABA", +"e c #050505", +"r c #B2B2B2", +"t c #AAAAAA", +"y c #A2A2A2", +"u c #9A9A9A", +"i c #929292", +"p c #8A8A8A", +"a c #828282", +"s c #7A7A7A", +"d c #727272", +"f c #6A6A6A", +"g c #626262", +"h c #5A5A5A", +"j c #525252", +"k c #FDFDFD", +"l c #4A4A4A", +"z c #F5F5F5", +"x c #424242", +"c c #EDEDED", +"v c #3A3A3A", +"b c #E5E5E5", +"n c #323232", +"m c #DDDDDD", +"M c #2A2A2A", +"N c #D5D5D5", +"B c #222222", +"V c #CDCDCD", +"C c #1A1A1A", +"Z c #C5C5C5", +"A c #121212", +"S c #BDBDBD", +"D c #0A0A0A", +"F c #B5B5B5", +"G c #020202", +/* pixels */ +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkk;kkkkkk;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkk;kkkkk;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkk;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkk;kkkk;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk.lexGGj*9jkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkhkkkkkkkkwhs+kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk6 kkkkkkkkkkkVeCkkkkkkkkkkkkrsspkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkk2G2kkkkkkkkkdkkkkekkkkkkkkkkkkkkkk", +"k;kkkk;kkkk;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk.Gkkkckkkkkkkkkkkk@kkkkkkkkskk:kkdokkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkk;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkw2rkkkkkkkkkkkkkkkkk1kkkkkkkdkGykuk@kkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkskk*kkkkkkkkkkkkkkkkrZkkkkkkGGtkm k%kkkkkkkkkkkkkkk", +"kkk;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkk$kkkkkkkkkkkkkkkkk=kkkkkkwniw kk@kkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk&kkkk3kkkkkkkkkkkkkkkkw6kkkkkk>X6kk4rkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkakkkkk=kkkkkkkkkkkkkkkk=kkkw:vNkkkk$kkkkkkkkkkkkkkkk", +"kkkkkkkkkkk;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk&k06kkkvckkkkkkkkkkkkkk+zkkqkkkkkk&kkkkkkkkkkkkkkkkk", +"kk;;kk;kkkkkkk;kk;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkukkk+kkkk,kkkkkkkkkkkkkkk%kMkkkkk.ykkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkX8kky+kkkkk:kkkkkkkkkkkkkk$kGZk2Fwykkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkNikkkkk+mkkkknckkkkkkkkkkkkk@l*kZM@vGkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk4okkkkkkkkkkkkkGkkkkkkkkkkkkkZfikXkc$Ckkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkGkkkkkkkkkkkkk9ry,>kktkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk% Zkkkkkkkkkkky.kkkkkkkkkkkXu6f$kkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkokpkknk*kh%kkkkkki4kkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkaikkkkkkkkkkkkkkkkkkkkkkk4rqZFskkk>kgk0>k%z44hk=kkkkkkk:kkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkk+ikkkkkkkkkkkkkkkkkkkkkkkkGhFFkkkk>Akskkvk*kxmZkkkkkkkkdkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkiikkkkkkkkkkkkkkkkkkkkkkk7D+0kkkk*FbNk,kkp.k*kkkkkkkkkzlkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkk>u.kkkkkkkkkkkkkkkkkkkkkkGGrF$;kkGkOkk7knkvkdkkkkkkkkkkzdkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkZoZkkkkkkkkkkkkkkkkkkkkkMM8$skk*zwkk:kkoNS@@kkkkkkkkkkkzMkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkSybkkkkkkkkkkkkkkkkkkkkfDO *kk=kwk>,kvk3kn>g$0kkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkku kkkkkkkkkkkkkkkkkkkV+G%uXkGkykk3kkfk+kjkkk*Mkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkO.kkkkkkkkkkkkkkk4o4k.G@&FS46;k4gkvkvk1gkkkkkG>kkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkiukkkkkkkkkkkkmSkSGG&GtrMFktkk9kk%kqkGckkkkkkGkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkcX kkkkkkkkkkukgGGG+;GMxZkOkkutkvk$k#xkkkkkkkk5kkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkNoVkkkkkkktjdGGsikkkGGVk+kmkBkkdkMkGhkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk X>kkyakk;;kyk7kkxkGkGykkkkkkkkkkkMkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkphk6k9Gqx1kkkkNSkkkkkSk,kk:k2skGmkkkkkkkkkkkb&kkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk+ukGG&=kkkkkkkkkkkkzakkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk.;G6i>kkkkkkkkkk+tkkjkh;kGpkkskkkkkkkkkkkkwrkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk6kG77n:VOk#kkkkkkkkkkkGkkskkqkjx6k; kkkkkkkkkkkkk&kkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk lGGxX,koykkkkkkkkkkkgbkk3k+tkGkkk$kkkkkkkkkkkkkk3kkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk6kGGGFXdkbyukkkkkkkkkkCkkf;kGk41kkkpkkkkkkkkkkkkk=kkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk4rGG1nyjm%kkkOakkkkkkDkkknkk1koGtkkkkokkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ,GC,5 cZ6kkkkO@kkkk.gkkONk1kkGZkkkk+kkkkkkkkkkkkkk=kkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOyGG=l#;%2kkkkkOakkkGkkknkkGkkCfkkkk;kkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk4GG:*OV@Zkkkkkkpiktpkk 8k56kv9;kkkkkkkkkkkkkkkkkkk,kkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkcGG#s>ykkkkkkk>obGkkk7kkGkkq8kkkkkkkkkkkkkkkkkkkk7kkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk2CGp*0rkkkkkkkk .akkurkp+kbqokkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkm#Gpd;bkkkkkkkkktukkDkkGkkxu>kkkkkkkkkkkkkkkkkkkk=kkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkNGgCkFkkkkkkkkkkpXmik<,kkGSkkkkkkkkkkkkkkkkkkkkk&kkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkktyGtVkkkkNkkkkkkkovkkGkkdd4kkkkkkkkNkkkkkkkkkkkkfkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkSGk.kkkkGkkkkkkk;o0kGkk9rkkkkkkkkkGkkkkkkkkkkkw8kkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkbAhkkkkkGkkkkkkkk2t3wkwx;kkkkkkkkkG2kkkkkkkkkkMkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk83MkkkkFGkkkkkkkkkuokkA*kkkkkkkkkkG&kkkkkkkkkkhkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkA=kkkkkGVkkkkkkkkkd.kGbkkkkkkkkkkGZkkkkkkkkk$;kkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk5ykkkkkGGkkkkkkkkkkfdnzkkkkkkkkkaGkkkkkkkkkkgkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkrGkkkkkkkkkkkdikkkkkkkkkkGDkkkkkkkkkkkkkkkkkkN&wukkkkkkkkkkkkkkGkkkkkkkkObkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkhkkkkkkkkkkkkkkkkkkGkkgkk9ykkkkkkpkkkkkkk2.kkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkykkkkkkkkkkkkkkkkk2gkjzkXkyskkkkkkkkkbkkkhkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkvkkxkk&k4@#kkkkkkkm5kk*kkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk7kkgkkfk&koZkkkkkk%kk;0kkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk2kkkkkkkkkf8k1kktNkjkiXkkkkkhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:kkkkkkkkkekk7kk$kkhk@akkkkfkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkobkkkkkkkk4#kr+kkjkOkkXhkkk ykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk5kkkkkkkkkCkkGkk6Zk%kkkkkkk7kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkik kkkkkkkkCkkGkkgkk%kkkkkk8pkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkpkskkkkkkkgbkOrkkgkV8kkkkkk9kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk2NkkkkkkkGkkGkkNXkhkkkkkkk3kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkGkkkkkkkukkkkkkk4&kkfkk$kk$kkkkkk$kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkFGkkkkkkk+kkkkkkkqkkFSkkfkz kkkkkkqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkGGckkkkkkukkkkkkkDkkjkk>ykdkkkkkkk7kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkhGGdkkkkkNSkkkkkk=4kkjkk*kk*kkkkkkk%kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkGGCGkkkkkkkkkkkkkGkka;kk=kk&kkkkkawikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkAGG%Gkkkkkkkkkkkk4&kkjkkkukXckkkkmn$.kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkk>G3Gnv%kkkkkkkkkkkCkkk&kk%kk=kkkkkkg3Xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkkGGe91gGkkkkkkkkkkkCkkpkkkjkk$kkkbS.99@kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkk GGA$B%pskkkkkkkkkd4kk=kkkdkVZkkkkbbdG3kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkkGGAG$Gi$v;kkkkkkkk7kk>skk+kk%kkkkkk0OG,okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkktGBqCaha9dXkkkkkkkk&kkhkkkhkk$kkkkk<#BvG9mpsfN>kkkkkkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkGGGeD=,Chtswkkkkkk1kkkjkkkskk+kkkk6mX@:BC:kNrm3$fwitkkkkkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkGGGj5*gl$12=kkkkkk1kkNokkozkskkkkkk0y&%1GtFkykkF$kckdpftkkkkkkkkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkkkkkkkkkGAG5en#Dwyk+7kkkkZ kkjkkkxkkgkkkkkkkF hCnGlgO.xz>4b+dyikkkkkkkkkkkk", +"kkkkkkkkkkkkkkkkkkbot&h akGGG5GG*@syi06.Gkkhkkrwkk bkF2kkkkkkkwp +*=DGGjokkSjNXk tkkkk2ud$2kkkkkkkkk", +"kkkkkkkkkkkkkkk6p3$48wNckknGG=*MfNSt.a*c#*Akkk3kkk*kk&kkkkkkkkkX@loD=Ge$apykkkNkkkm2mVVkkk8sXkkkkkkk", +"kkkkkkkkkkkkkXi4k>0NsZk+sSrGB,Cs,lMAX46fkkGlak&kkk&kk&kkkkkkkkkpt$$,%MGh%>kkkbFrwm2k4>kbkkmkN9#kkkkk", +"kkkkkkkkkkNvy6%SkkkbN8awiSkGeDBpl0Fdc0.k0Si;8G&kk4VkkS2uk", +"kkkkkk%zkkkk<800840kkkkkkkkkFGDG:O aOOkVoa.k%kkkbSk>Gn&GGBnD9uVwkzkkNZ4kkk6VSkkkGGCps&$k$gkDk4k5kkkgkk>kkkkkkkkkkkz0bd#vGvbFkkkk4mkkZNkkkkt6kkzrkkFpNkk>owbkkkrNkmw;y mk", +"kkk$kkkbkykkAkkkkkkkkkkkkkkkkkkkwoZ+$3orkkkkkk4 Zkkkkk.0kkkbkk4kbukkk", +"kkkhkk8Nkkb8>zckkckkbFVkkkkkGBGOj%r;#k2+kkkkkkkkkkkkkkkyww02k.wkkkk", +"kkkXscihna6kwkbzkkk0iVz0y8kckVykkGC7oZGky8,kkkkkkkkkkkkkkwZkkFuh=jll3kkkkkkkk<2kkkkkkkkVw;k ;hckkkkk", +"kkkkklkkk>wr6kkk>opkk.0k2kFkO;ZbkkqGxdM8Fpkkkkkkkkkkkkkkkkk FVkNn%F5kkkkkk2tcckkkk2kVtiukSwyokkkkkkk", +"kkkkkkXOkkkkkkkyVkkkkVSZZ kFNF48Nkk8Gl5FiakkkkkkkkkkkkkkkkkV0 dpka&kkkkkkkkkkkkwyF4kkzzkruykkkkkkkkk", +"kkkkkkkzsykkkNpkkm4wF2w2N8 +@end html + @c something breaks on 3.12 f -@c @center -@quotation -@mudela[fragment] - \relative c'' { \key es; r8 [c16 b] [c8 g] [as c16 b] [c8 d] | g,4 } -@end mudela -@end quotation -@c @end center -@c include BLURB? LilyPond is a music typesetter. It produces beautiful sheet music using a high level description file as input. LilyPond is part of the GNU Project. -@c include screenshot +@c @center +@quotation +@mudela[fragment] + \relative c'' { \key es; r8 [c16 b] [c8 g] [as c16 b] [c8 d] | g,4 } +@end mudela +@end quotation +@c @end center @unnumberedsec Sheet music diff --git a/TODO b/TODO index bd1b4f9110..a3956ed09b 100644 --- a/TODO +++ b/TODO @@ -9,12 +9,20 @@ Most of the items are marked in the code as well Grep -i for TODO, FIXME and ugh/ugr/urg. .* TODO +. * make this file understandable for 3rd parties. . * use Rhythmic_head::position_i () for all Staff_referenced . * .po -> .pot. . * why need to run -C mf twice? . * fix interstaff stuff . * junk BLURB files. . * setting indent to 0 with \shape fails +. * here's no difference at all in output. When either is jacked up to 7.0, +everything works and matches up; when either is set just a bit above the +default 5.0 (5.4 is what I was hoping to use), stems miss note heads. So +it's some sort of a numerical (truncation/roundoff) problem. +John +. * metre -> meter +. * Fixed size staff heights; . * ly2dvi : don't repeat opus if same. . * breaks before mmrests are favored. . * hara kiri _8 clef. @@ -83,6 +91,7 @@ melismatic. What's old about absolute to relative conversion? Could maybe use for abc2ly, midi2ly? + .* Cleanups needed . * \$ and $ identifier syntax in examples. . * Junk ghost positioning objects eg, Script leans on Staffside diff --git a/VERSION b/VERSION index bac0e1065b..406f84b12f 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=2 -PATCH_LEVEL=15 -MY_PATCH_LEVEL=jcn4 +PATCH_LEVEL=16 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/test/beam-interstaff.ly b/input/test/beam-cross-staff.ly similarity index 100% rename from input/test/beam-interstaff.ly rename to input/test/beam-cross-staff.ly diff --git a/input/test/embedded-scm.ly b/input/test/embedded-scm.ly deleted file mode 100644 index d530c85965..0000000000 --- a/input/test/embedded-scm.ly +++ /dev/null @@ -1,4 +0,0 @@ -#(begin (newline)(display "hello world")(newline))\score{ - \notes\relative c'{ c } -} - diff --git a/input/test/no-stem-extend.fly b/input/test/no-stem-extend.fly new file mode 100644 index 0000000000..35ef31eac4 --- /dev/null +++ b/input/test/no-stem-extend.fly @@ -0,0 +1,13 @@ +% test noStemExtend +\context Staff < + \context Voice = "a" { + f2 f8 g a b + \property Voice.noStemExtend = 1 + f2 f8 g a b + } + \context Voice = "b" { + c''2 c8 b a g + \property Voice.noStemExtend = 1 + c2 c8 b a g + } +> diff --git a/input/test/slur-interstaff.ly b/input/test/slur-cross-staff.ly similarity index 100% rename from input/test/slur-interstaff.ly rename to input/test/slur-cross-staff.ly diff --git a/input/test/uniform-breaking.ly b/input/test/uniform-breaking.ly new file mode 100644 index 0000000000..b07a7b21a6 --- /dev/null +++ b/input/test/uniform-breaking.ly @@ -0,0 +1,112 @@ +%{ +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; + +Neem als voorbeeld iets dat lijkt op allemande: keuze tussen 2 of drie +maten per regel. + +* 2 lange maten -> lelie kiest 2 /regel :beetje los +* 3 korte -> lelie kiest 3 /regel :beetje krap +* 2 korte, 1 lange -> 3/regel :krap +* 1 korte, 2 lange -> 3/regel :erg krap +* 3 lange -> 3/regel :urg krap + +als je naar beloningen kijkt, kan ik me goed voorstellen dat sprong +van 'al wat krapper' naar los te groot wordt, en ze dus steeds krapper +wordt, tot urg krap aan toe, want kracht lineair? Dat lijkt ook geval +in allemande. + +Zie hoe eerst 10 en 9 mooi op 2maat/regel staan terwijl later tot 14 +toe 3/regel. + +Heb niet zomaar beter idee, nog. +%} + +\score{ + \notes\relative c'{ + % 10 + c8 c c c c8 c c c + c8 c c c c8 c c c + c8 c c c c8 ces c ces + + % 9 + c8 c c c c8 c c c + c8 c c c c8 c c c + c8 c c c c8 c ces c + + % 1 + c4 c c c + c4 c c c + c4 c c c + + % 2 + c4 c c c + c4 c c c + c4 c c8 c c c + + % 3 + c4 c c c + c4 c c c + c8 c c c c8 c c c + + % 4 + c4 c c c + c4 c c8 c c c + c8 c c c c8 c c c + + % 5 + c4 c c c + c8 c c c c8 c c c + c8 c c c c8 c c c + + % 6 + c4 c c8 c c c + % c4 c c c8 c + c8 c c c c8 c c c + c8 c c c c8 c c c + + % 7 + c8 c c c c8 c c c + c8 c c c c8 c c c + c8 c c c c8 c c c + + % 8 + c8 c c c c8 c c c + c8 c c c c8 c c c + c8 c c c c8 c c ces + + % 9 + c8 c c c c8 c c c + c8 c c c c8 c c c + c8 c c c c8 c ces c + + % 10 + c8 c c c c8 c c c + c8 c c c c8 c c c + c8 c c c c8 ces c ces + + % 11 + c8 c c c c8 c c c + c8 c c c c8 c c c + c8 c c c ces8 c ces c + + % 12 + c8 c c c c8 c c c + c8 c c c c8 c c c + c8 c c ces c8 ces c ces + + % 13 + c8 c c c c8 c c c + c8 c c c c8 c c c + c8 c ces c ces8 c ces c + + } + \paper { + indent=0.0\mm; + linewidth=90.0\mm; + } +} + + diff --git a/input/twinkle.ly b/input/twinkle.ly index bc8d67cbe3..847368ebeb 100644 --- a/input/twinkle.ly +++ b/input/twinkle.ly @@ -48,9 +48,6 @@ accompany = \notes \relative c { d b | c a | f g | c,2 } -global = \notes { - \time 2/4; -} tekst = \lyrics{ Al -- tijd is Kort -- jak -- je ziek, " " @@ -120,14 +117,16 @@ textiii = \lyrics{ \context Staff=i s1 \context Lyrics=top s1 \context GrandStaff < - \context Staff=ii \repeat semi 2 < \global\melody > - \context Staff=iii \repeat semi 2 < \global\accompany > + \context Staff=ii \repeat volta 2 < + \time 2/4; + \melody > + \context Staff=iii \repeat volta 2 < + \accompany > > \context Lyrics=bottom s1 % ugh, \repeat in \addlyrics dumps core \addlyrics - % \context Staff = i \repeat semi 2 <\global\melody> - \context Staff = i <\global\melody> + \context Staff = i < \melody> < %\repeat fold 2 {} %\alternative { diff --git a/lily/breathing-sign-engraver.cc b/lily/breathing-sign-engraver.cc index e9f243532b..d574fb57d4 100644 --- a/lily/breathing-sign-engraver.cc +++ b/lily/breathing-sign-engraver.cc @@ -21,7 +21,6 @@ TODO: #include "note-head.hh" #include "local-key-item.hh" -#include Breathing_sign_engraver::Breathing_sign_engraver() { diff --git a/lily/breathing-sign.cc b/lily/breathing-sign.cc index 4c36f261aa..0fff51106f 100644 --- a/lily/breathing-sign.cc +++ b/lily/breathing-sign.cc @@ -18,7 +18,6 @@ TODO: --> see breathing-sign-engraver.cc #include "dimensions.hh" #include "direction.hh" -#include Breathing_sign::Breathing_sign () { diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index 55719cb91b..90773ac8d1 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -24,7 +24,6 @@ SCM ly_set_scm (String name , SCM val); SCM ly_append (SCM a, SCM b); SCM ly_eval (SCM a); SCM ly_func_o (char const* name); -SCM ly_parse_scm (char const* s, int* n); SCM ly_quote_scm (SCM s); void ly_display_scm (SCM s); String ly_scm2string (SCM s); diff --git a/lily/include/ly-symbols.hh b/lily/include/ly-symbols.hh index f0f3dd098d..0e3f1cf746 100644 --- a/lily/include/ly-symbols.hh +++ b/lily/include/ly-symbols.hh @@ -60,6 +60,7 @@ DECLARE_LY_SYMBOL(notewidth); DECLARE_LY_SYMBOL(non_default); DECLARE_LY_SYMBOL(non_rhythmic); DECLARE_LY_SYMBOL(no_staff_support); +DECLARE_LY_SYMBOL(no_stem_extend); DECLARE_LY_SYMBOL(octave_dir); DECLARE_LY_SYMBOL(origin); DECLARE_LY_SYMBOL(output); diff --git a/lily/include/midi-stream.hh b/lily/include/midi-stream.hh index f367d62a2a..06c4f84ffc 100644 --- a/lily/include/midi-stream.hh +++ b/lily/include/midi-stream.hh @@ -7,7 +7,6 @@ #ifndef MIDI_STREAM_HH #define MIDI_STREAM_HH -#include #include "string.hh" /// Midi outputfile diff --git a/lily/include/music-iterator.hh b/lily/include/music-iterator.hh index d5ca0e0560..f7d9c061e3 100644 --- a/lily/include/music-iterator.hh +++ b/lily/include/music-iterator.hh @@ -28,8 +28,6 @@ class Music_iterator { Interpretation_context_handle handle_; protected: - bool playback_b_; // Should use SCMs - Music const * music_l_; /// ugh. JUNKME @@ -75,9 +73,9 @@ public: void set_translator (Translator_group*); /** Get an iterator matching the type of MUS, and use TRANS to find - an accompanying translation unit. Repeated music can be fully - unfolded by setting PLAYING */ - static Music_iterator* static_get_iterator_p (Music const* mus, bool playing); + an accompanying translation unit + */ + static Music_iterator* static_get_iterator_p (Music const* mus); void init_translator (Music const *, Translator_group *); Music_iterator(); diff --git a/lily/include/paper-stream.hh b/lily/include/paper-stream.hh index e5429511f6..39b49013af 100644 --- a/lily/include/paper-stream.hh +++ b/lily/include/paper-stream.hh @@ -1,7 +1,6 @@ #ifndef PAPER_STREAM_HH #define PAPER_STREAM_HH -#include #include "string.hh" /** Paper output diff --git a/lily/lexer.ll b/lily/lexer.ll index a59d10de16..42e4996c58 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -4,8 +4,7 @@ source file of the LilyPond music typesetter - (c) 1996--1999 Han-Wen Nienhuys - Jan Nieuwenhuizen + (c) 1996,1997 Han-Wen Nienhuys */ @@ -30,7 +29,6 @@ #include "my-lily-lexer.hh" #include "array.hh" #include "interval.hh" -#include "lily-guile.hh" #include "parser.hh" #include "debug.hh" #include "main.hh" @@ -233,33 +231,6 @@ HYPHEN -- cerr << _ ("white expected") << endl; exit (1); } -# { //embedded scm - //char const* s = YYText () + 1; - char* s = (char*)YYText () + 1; - int n = 0; - if (!main_input_b_ && safe_global_b) { - error (_ ("Can't evaluate Scheme in safe mode")); - return SCM_EOL; - } - /* - urg: replace 0 char with original value - */ - *s = (char)yyinput (); - yylval.scm = ly_parse_scm (s, &n); - - if (!n) - unput (*s); - else - n--; - /* - urg, this - yyin->seekg (n, ios::cur); - doesn't work, is there no other way? - */ - for (int i=0; i < n; i++) - yyinput (); - return SCM_T; -} { {ALPHAWORD} { return scan_bare_word (YYText ()); diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index ded411da83..d46d4255ea 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -33,41 +33,6 @@ ly_ch_C_eval_scm (char const*c) return gh_eval_str ((char*)c); } - -/* - Pass string to scm parser, evaluate one expression. - Return result value and #chars read. - - Thanks to Gary Houston - - Need guile-1.3.4 (>1.3 anyway) for ftell on str ports -- jcn -*/ -SCM -ly_parse_scm (char const* s, int* n) -{ - SCM str = gh_str02scm ((char*)s); - SCM port = scm_mkstrport (SCM_INUM0, str, SCM_OPN | SCM_RDNG, - "scm_eval_0str"); - SCM from = scm_ftell (port); - - SCM form; - SCM answer = SCM_UNSPECIFIED; - - /* Read expression from port */ - if (!SCM_EOF_OBJECT_P (form = scm_read (port))) - answer = scm_eval_x (form); - - SCM to = scm_ftell (port); - *n = gh_scm2int (to) - gh_scm2int (from); - - /* Don't close the port here; if we re-enter this function via a - continuation, then the next time we enter it, we'll get an error. - It's a string port anyway, so there's no advantage to closing it - early. */ - - return answer; -} - /* scm_m_quote doesn't use any env, but needs one for a good signature in GUILE. */ @@ -164,7 +129,7 @@ ly_scm2string (SCM s) char * p = gh_scm2newstr (s , &len); String r (p); - // delete p; + free (p); return r; } diff --git a/lily/music-iterator.cc b/lily/music-iterator.cc index e5774c9f32..9de2bb6af7 100644 --- a/lily/music-iterator.cc +++ b/lily/music-iterator.cc @@ -114,7 +114,7 @@ Music_iterator::ok() const } Music_iterator* -Music_iterator::static_get_iterator_p (Music const *m, bool playing) +Music_iterator::static_get_iterator_p (Music const *m) { Music_iterator * p =0; @@ -142,15 +142,14 @@ Music_iterator::static_get_iterator_p (Music const *m, bool playing) p = new Music_wrapper_iterator; else if (Repeated_music const * n = dynamic_cast (m)) { - if (n->fold_b_ && !playing) + if (n->fold_b_) p = new Folded_repeat_iterator; else p = new Unfolded_repeat_iterator; } else assert (0); - - p->playback_b_ = playing; + p->music_l_ = m; return p; @@ -177,7 +176,7 @@ Music_iterator::init_translator (Music const *m, Translator_group *report_l) Music_iterator* Music_iterator::get_iterator_p (Music const*m) const { - Music_iterator*p = static_get_iterator_p (m, playback_b_); + Music_iterator*p = static_get_iterator_p (m); p->init_translator (m, report_to_l()); p->construct_children(); @@ -186,7 +185,6 @@ Music_iterator::get_iterator_p (Music const*m) const Music_iterator::Music_iterator() { - playback_b_ = false; first_b_ = true; } diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc index d58d5a49b7..49d84d6335 100644 --- a/lily/my-lily-lexer.cc +++ b/lily/my-lily-lexer.cc @@ -11,7 +11,6 @@ #include "notename-table.hh" #include "interval.hh" #include "identifier.hh" -#include "lily-guile.hh" #include "parser.hh" #include "keyword.hh" #include "my-lily-lexer.hh" @@ -65,6 +64,8 @@ static Keyword_ent the_key_tab[]={ {"repeat", REPEAT}, {"repetitions", REPETITIONS}, {"addlyrics", ADDLYRICS}, + {"scm", SCM_T}, + {"scmfile", SCMFILE}, {"score", SCORE}, {"script", SCRIPT}, {"shape", SHAPE}, diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc index 11ae2eeda4..aaae6a6d94 100644 --- a/lily/my-lily-parser.cc +++ b/lily/my-lily-parser.cc @@ -14,7 +14,6 @@ #include "music-list.hh" #include "musical-request.hh" #include "command-request.hh" -#include "lily-guile.hh" #include "parser.hh" #include "scope.hh" #include "file-results.hh" diff --git a/lily/paper-score.cc b/lily/paper-score.cc index ef983e8053..d8cba19d43 100644 --- a/lily/paper-score.cc +++ b/lily/paper-score.cc @@ -50,6 +50,9 @@ Paper_score::typeset_element (Score_element * elem_p) SCM_CDR(element_smob_list_) = gh_cons (elem_p->self_scm_, SCM_CDR (element_smob_list_)); + elem_p->set_elt_property (ly_symbol ("full-name"), + gh_str02scm((char*)elem_p->name())); + scm_unprotect_object (elem_p->self_scm_); } diff --git a/lily/parser.yy b/lily/parser.yy index c57599860d..4d84041f38 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -5,7 +5,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--1999 Han-Wen Nienhuys + (c) 1997 Han-Wen Nienhuys Jan Nieuwenhuizen */ @@ -99,7 +99,6 @@ print_mudela_versions (ostream &os) Real real; Request * request; Scalar *scalar; - SCM scm; String *string; Tempo_req *tempo; @@ -171,6 +170,7 @@ yylex (YYSTYPE *s, void * v_l) %token REPETITIONS %token ADDLYRICS %token SCM_T +%token SCMFILE %token SCORE %token SCRIPT %token SHAPE @@ -208,7 +208,6 @@ yylex (YYSTYPE *s, void * v_l) %token REAL %token DURATION RESTNAME %token STRING -%token SCM_T %token UNSIGNED @@ -240,7 +239,6 @@ yylex (YYSTYPE *s, void * v_l) %type duration_length %type scalar -%type embedded_scm %type Music Sequential_music Simultaneous_music Music_sequence %type relative_music re_rhythmed_music %type property_def translator_change @@ -302,14 +300,21 @@ toplevel_expression: Midi_def_identifier ($1, MIDI_IDENTIFIER); THIS->lexer_p_->set_identifier ("$defaultmidi", id) } - | embedded_scm { - // junk value - } + | embedded_scm { + } ; embedded_scm: - SCM_T - ; + SCMFILE STRING semicolon { + read_lily_scm_file (*$2); + delete $2; + } + | SCM_T STRING semicolon { + if (THIS->lexer_p_->main_input_b_ && safe_global_b) + error (_("Can't evaluate Scheme in safe mode")); + gh_eval_str ($2->ch_l ()); + delete $2; + }; chordmodifiers_block: diff --git a/lily/protected-scm.cc b/lily/protected-scm.cc index cf06c84a5d..1d8fd16b2a 100644 --- a/lily/protected-scm.cc +++ b/lily/protected-scm.cc @@ -10,14 +10,6 @@ #include "lily-guile.hh" #include "main.hh" -#ifdef LYPROT -#define PROTECT ly_protect_scm -#define UNPROTECT ly_unprotect_scm -#else -#define PROTECT scm_protect_object -#define UNPROTECT scm_unprotect_object -#endif - Protected_scm::Protected_scm () { object_ = 0; @@ -25,12 +17,12 @@ Protected_scm::Protected_scm () Protected_scm::Protected_scm (SCM s) { - object_ = s ? PROTECT (s): 0; + object_ = s ? scm_protect_object (s): 0; } Protected_scm::Protected_scm (Protected_scm const &s) { - object_ = s.object_ ? PROTECT (s.object_) : 0; + object_ = s.object_ ? scm_protect_object (s.object_) : 0; } Protected_scm & @@ -39,9 +31,9 @@ Protected_scm::operator =(SCM s) if (object_ == s) return *this; if (object_) - UNPROTECT(object_); + scm_unprotect_object(object_); - object_ = s ? PROTECT (s): 0; + object_ = s ? scm_protect_object (s): 0; return *this; } @@ -56,8 +48,7 @@ Protected_scm::~Protected_scm () { if (object_) { - UNPROTECT (object_); - object_ =0L; // be nice to conservative GC + scm_unprotect_object (object_); } } diff --git a/lily/score-element.cc b/lily/score-element.cc index 8ab1a73889..666b4c58ab 100644 --- a/lily/score-element.cc +++ b/lily/score-element.cc @@ -70,7 +70,7 @@ Score_element::Score_element (Score_element const&s) Score_element::~Score_element() { - delete output_p_; + assert (!output_p_); assert (status_i_ >=0); status_i_ = -1; } @@ -446,7 +446,11 @@ Score_element::smobify_self () { if (self_scm_ != SCM_EOL) return self_scm_; - + + /* + This is local. We don't assign to self_scm_ directly, to assure + that S isn't GC-ed from under us. + */ SCM s; SCM_NEWCELL(s); @@ -467,7 +471,14 @@ Score_element::mark_smob (SCM ses) void * mp = (void*) SCM_CDR(ses); Score_element * s = (Score_element*) mp; - assert (s->self_scm_ == ses); + if (s->self_scm_ != ses) + { + programming_error ("Score_element::mark_smob(): self_scm_ != ses; this will probably crash"); + cout << "ses == " << ses << endl; + cout << "name == " << s->name() << endl; + gh_display (s->element_property_alist_); + gh_newline (); + } return s->element_property_alist_; } diff --git a/lily/score.cc b/lily/score.cc index 5f9a2b65c5..19e7d8ba26 100644 --- a/lily/score.cc +++ b/lily/score.cc @@ -60,8 +60,7 @@ Score::run_translator (Music_output_def *odef_l) trans_p->last_mom_ = music_p_->length_mom (); - bool playing = odef_l->scope_p_->elem_b ("unfold_all"); - Music_iterator * iter = Music_iterator::static_get_iterator_p (music_p_, playing); + Music_iterator * iter = Music_iterator::static_get_iterator_p (music_p_); iter->init_translator(music_p_, trans_p); iter->construct_children(); diff --git a/lily/simultaneous-music-iterator.cc b/lily/simultaneous-music-iterator.cc index 7f1ff97560..1faaa67c13 100644 --- a/lily/simultaneous-music-iterator.cc +++ b/lily/simultaneous-music-iterator.cc @@ -31,7 +31,7 @@ Simultaneous_music_iterator::construct_children() Cons *i = (sim->music_p_list_p_) ? sim->music_p_list_p_->head_ : 0; for (; i; i = i->next_, j++) { - Music_iterator * mi = static_get_iterator_p (i->car_, playback_b_); + Music_iterator * mi = static_get_iterator_p (i->car_); /* if separate_contexts_b_ is set, create a new context with the number number as name */ diff --git a/lily/slur.cc b/lily/slur.cc index c8582e8abb..04b22471c0 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -243,11 +243,11 @@ Slur::do_post_processing () } while (flip (&d) != LEFT); - bool cross_count = cross_staff_count (); + int cross_count = cross_staff_count (); bool interstaff_b = (0 < cross_count) && (cross_count < encompass_arr_.size ()); Drul_array info_drul; - Interval interstaff_interval; + Drul_array interstaff_interval; do { @@ -257,7 +257,7 @@ Slur::do_post_processing () } while (flip (&d) != LEFT); - Real interstaff_f = interstaff_interval.length (); + Real interstaff_f = interstaff_interval[RIGHT] - interstaff_interval[LEFT]; if (fix_broken_b) { diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index 1679e52441..48cd944514 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -130,6 +130,12 @@ Stem_engraver::do_pre_move_processing() stem_p_->set_elt_property (style_scm_sym, ly_ch_C_to_scm (prop.ch_C())); } + prop = get_property ("noStemExtend", 0); + if (prop.to_bool ()) + { + stem_p_->set_elt_property (no_stem_extend_scm_sym, gh_int2scm (1)); + } + typeset_element(stem_p_); stem_p_ = 0; } diff --git a/lily/stem-info.cc b/lily/stem-info.cc index 4a9e06e05e..f555ab0a6b 100644 --- a/lily/stem-info.cc +++ b/lily/stem-info.cc @@ -35,7 +35,6 @@ Stem_info::Stem_info (Stem*s, int mult) SCM bd = stem_l_->remove_elt_property (beam_dir_scm_sym); beam_dir_ = gh_scm2int (SCM_CDR(bd)); - interstaff_f_ = 0; Paper_def* paper_l = stem_l_->paper_l (); Real internote_f = stem_l_->staff_line_leading_f ()/2; @@ -53,6 +52,8 @@ Stem_info::Stem_info (Stem*s, int mult) idealy_f_ *= beam_dir_; bool grace_b = stem_l_->get_elt_property (grace_scm_sym) != SCM_BOOL_F; + bool no_extend_b = stem_l_->get_elt_property (no_stem_extend_scm_sym) + != SCM_BOOL_F; int stem_max = (int)rint(paper_l->get_var ("stem_max")); String type_str = grace_b ? "grace_" : ""; @@ -85,7 +86,7 @@ Stem_info::Stem_info (Stem*s, int mult) than middle staffline, just as normal stems. */ - if (!grace_b) + if (!grace_b && !no_extend_b) { //highest beam of (UP) beam must never be lower than middle staffline miny_f_ = miny_f_ >? 0; @@ -116,9 +117,9 @@ Stem_info::Stem_info (Stem*s, int mult) // interstaff beam Beam* beam_l = stem_l_->beam_l_; - Real is = calc_interstaff_dist (stem_l_, beam_l); - idealy_f_ += is* beam_dir_; - miny_f_ += is * beam_dir_; - maxy_f_ += is * beam_dir_; + interstaff_f_ = calc_interstaff_dist (stem_l_, beam_l) / internote_f; + idealy_f_ += interstaff_f_* beam_dir_; + miny_f_ += interstaff_f_ * beam_dir_; + maxy_f_ += interstaff_f_ * beam_dir_; } diff --git a/lily/stem.cc b/lily/stem.cc index 919969187c..7c7797a385 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -201,7 +201,8 @@ Stem::set_default_stemlen () set_stemend ((dir_ > 0) ? head_positions()[BIGGER] + length_f: head_positions()[SMALLER] - length_f); - if (!grace_b && (dir_ * stem_end_f () < 0)) + bool no_extend_b = get_elt_property (no_stem_extend_scm_sym) != SCM_BOOL_F; + if (!grace_b && !no_extend_b && (dir_ * stem_end_f () < 0)) set_stemend (0); } diff --git a/lily/unfolded-repeat-iterator.cc b/lily/unfolded-repeat-iterator.cc index 901d69f80b..cbc5e008a6 100644 --- a/lily/unfolded-repeat-iterator.cc +++ b/lily/unfolded-repeat-iterator.cc @@ -49,7 +49,7 @@ Unfolded_repeat_iterator::next_element () { done_mom_ += mus->repeat_body_p_->length_mom (); - if (full_unfold_b_) + if (!mus->volta_fold_b_) done_count_ ++; if (alternative_cons_l_) @@ -57,7 +57,7 @@ Unfolded_repeat_iterator::next_element () current_iter_p_ = get_iterator_p (alternative_cons_l_->car_); do_main_b_ = false; } - else if (done_count_ < mus->repeats_i_ && full_unfold_b_) + else if (done_count_ < mus->repeats_i_ && !mus->volta_fold_b_) { current_iter_p_ = get_iterator_p (mus->repeat_body_p_); do_main_b_ = true; @@ -73,20 +73,20 @@ Unfolded_repeat_iterator::next_element () { done_mom_ += alternative_cons_l_->car_->length_mom (); - if (!full_unfold_b_ || + if (mus->volta_fold_b_ || mus->repeats_i_ - done_count_ < alternative_count_i_) alternative_cons_l_ = alternative_cons_l_->next_; /* we've done the main body as well, but didn't go over the other increment. */ - if (full_unfold_b_) + if (mus->volta_fold_b_) done_count_ ++; } if (done_count_ < mus->repeats_i_ && alternative_cons_l_) { - if (!full_unfold_b_) + if (mus->volta_fold_b_) current_iter_p_ = get_iterator_p (alternative_cons_l_->car_); else { @@ -114,8 +114,6 @@ void Unfolded_repeat_iterator::construct_children () { Repeated_music const* mus =dynamic_cast (music_l_); - full_unfold_b_ = playback_b_ || (!mus->volta_fold_b_); - alternative_cons_l_ = (mus->alternatives_p_) ? mus->alternatives_p_->music_p_list_p_->head_ : 0; diff --git a/ly/accordion-defs.ly b/ly/accordion-defs.ly index 1c90a9c16f..b4051d111a 100644 --- a/ly/accordion-defs.ly +++ b/ly/accordion-defs.ly @@ -6,7 +6,7 @@ % 16' = S % -#(primitive-load-path "accordion-script.scm") +\scmfile "accordion-script.scm"; accDiscant = \script "accDiscant" accDiscantF = \script "accDiscantF" diff --git a/ly/params.ly b/ly/params.ly index 96b0057fa8..a3e0eba66c 100644 --- a/ly/params.ly +++ b/ly/params.ly @@ -225,7 +225,7 @@ mmrest_x_minimum = 1.4*\staffheight; % chop off this much when next to pp / ff sign. crescendo_shorten = 4.0 * \interline; crescendo_thickness = \stafflinethickness; -crescendo_height = 1.5 * \interline; +crescendo_height = 0.666 * \interline; % in internote. restcollision_minimum_dist = 3.0; diff --git a/ly/script.ly b/ly/script.ly index 430f31d9ed..38f89853d2 100644 --- a/ly/script.ly +++ b/ly/script.ly @@ -1,5 +1,5 @@ -#(primitive-load-path "script.scm") +\scmfile "script.scm"; "dash-hat" = "marcato" "dash-plus" = "stopped" @@ -44,4 +44,4 @@ prallmordent = \script "prallmordent" upprall = \script "upprall" downprall = \script "downprall" segno = \script "segno" -coda = \script "coda" +coda = \script "coda" \ No newline at end of file diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index 74c0e642e9..91c6e7ca02 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -22,10 +22,7 @@ Group: Applications/Publishing %description documentation @BLURB@ -The documentation package is rather big, due to the many pictures and -different documentation formats. It is really a rip-off from the -LilyPond website. If you have direct internet access, you may always -read the documentation documentation there: http://www.lilypond.org. +The documentation of LilyPond, both in HTML and PostScript. %prep %setup diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 2997e73783..e13aa2a544 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.2.15 -Entered-date: 18OCT99 +Version: 1.2.16 +Entered-date: 21OCT99 Description: Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.2.15.tar.gz + 1000k lilypond-1.2.16.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.2.15.tar.gz + 1000k lilypond-1.2.16.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 7105c3e1f6..cc796c8485 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.2.15 +Version: 1.2.16 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.2.15.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.2.16.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys @@ -22,10 +22,7 @@ Group: Applications/Publishing %description documentation -The documentation package is rather big, due to the many pictures and -different documentation formats. It is really a rip-off from the -LilyPond website. If you have direct internet access, you may always -read the documentation documentation there: http://www.lilypond.org. +The documentation of LilyPond, both in HTML and PostScript. %prep %setup diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly index da8e76a773..473a743eca 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly @@ -1,6 +1,5 @@ - \version "1.2.0"; \include "allemande-urtext.ly"; diff --git a/scm/lily.scm b/scm/lily.scm index 8eafa4922a..de49911154 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -8,6 +8,9 @@ ;(debug-enable 'backtrace) ;;; library funtions + +; :use-module (ice-9 regex)) + (define (xnumbers->string l) (string-append diff --git a/scripts/mudela-book.py b/scripts/mudela-book.py index 1328087387..59bde3bbd7 100644 --- a/scripts/mudela-book.py +++ b/scripts/mudela-book.py @@ -682,7 +682,7 @@ def compile_all_files (chunks): system ('lilypond %s %s' % (lilyopts, texfiles)) for e in eps: - cmd = r"""tex %s; dvips -E -o %s %s""" % \ + cmd = r"""tex '\nonstopmode \input %s'; dvips -E -o %s %s""" % \ (e, e + '.eps', e) system (cmd) diff --git a/stepmake/bin/package-diff.py b/stepmake/bin/package-diff.py index 3fc89f375f..927cb0999e 100644 --- a/stepmake/bin/package-diff.py +++ b/stepmake/bin/package-diff.py @@ -52,9 +52,23 @@ def help (): ' -T, --dir-to=TO diff to directory TO\n' ) +def cleanup (): + global from_diff, to_diff, prev_cwd + os.chdir ('/tmp/package-diff') + sys.stderr.write ('Cleaning ... ') + os.system ('rm -fr %s %s' % (from_diff, to_diff)) + sys.stderr.write ('\n') + os.chdir (prev_cwd) + def untar (fn): # os.system ('pwd'); - sys.stderr.write ('untarring ' + fn + '\n') + try: + open (fn) + except: + sys.stderr.write ("Can't find tarball: %s\n" % fn) + cleanup () + sys.exit (1) + sys.stderr.write ("Untarring: %s\n" % fn) os.system ('gzip --quiet -dc ' + fn + '| tar xf - ') sys.stderr.flush () @@ -62,8 +76,13 @@ def remove_automatic (dirnames): files = [] for d in dirnames: - for p in pats: - files = files + find.find (p, d) + try: + for p in pats: + files = files + find.find (p, d) + except: + sys.stderr.write ("Can't find dir: %s\n" % d) + cleanup () + sys.exit (1) dirs = map (lambda d: find.find ('out', d), dirnames) dirs = reduce (lambda x,y: x + y, dirs) @@ -271,10 +290,5 @@ else: os.chdir (to_diff) makediff (from_diff, to_diff, patch_name) -os.chdir ('/tmp/package-diff') -sys.stderr.write ('cleaning ... ') -os.system ('rm -fr %s %s' % (from_diff, to_diff)) -sys.stderr.write ('\n') -os.chdir (prev_cwd) - +cleanup () diff --git a/stepmake/bin/release.py b/stepmake/bin/release.py index 9cad793748..cc6d6ec5ed 100755 --- a/stepmake/bin/release.py +++ b/stepmake/bin/release.py @@ -60,6 +60,7 @@ except: pass os.link(orig, os.path.join (package.release_dir, tarball)) +# urg: howto check exit code? os.system(sys.executable + ' ' + package.topdir + '/stepmake/bin/package-diff.py --package=' + topdir) diffname = pn + '.diff.gz' @@ -67,6 +68,10 @@ rel_pn = package.patch_dir + diffname diffname = os.path.join (outdir, diffname) -os.rename(diffname, rel_pn) +try: + os.rename(diffname, rel_pn) +except: + sys.stderr.write ("Can't find diff: %s\n" % diffname) + sys.exit (1) os.link(rel_pn, diffname) diff --git a/stepmake/stepmake/yolily-toplevel-targets.make b/stepmake/stepmake/yolily-toplevel-targets.make index 72612a2cfb..4de1e45739 100644 --- a/stepmake/stepmake/yolily-toplevel-targets.make +++ b/stepmake/stepmake/yolily-toplevel-targets.make @@ -18,7 +18,7 @@ htmldoc: rm -f `find . -name \*.html~ -print` $(footify-all-command) find `find Documentation -type d -name 'out-www'` -not -name '*dvi' -not -name '*ly' -not -name '*tex' -not -name '*.ps' -not -name 'out-www' > wwwlist - tar cfz $(outdir)/htmldoc.tar.gz `cat wwwlist` `ls *.png out-www/$(distname).diff.gz $(ERRORLOG)` index.html + tar cfz $(outdir)/htmldoc.tar.gz `cat wwwlist` `ls *.png $(ERRORLOG)` index.html localclean: rm -f wwwlist diff --git a/tex/titledefs.tex b/tex/titledefs.tex index 876dff5213..107b523442 100644 --- a/tex/titledefs.tex +++ b/tex/titledefs.tex @@ -25,7 +25,7 @@ \newcommand*{\instrument}[1]{\def\theinstrument{#1}} \newcommand*{\opus}[1]{\def\theopus{#1}} \newcommand*{\piece}[1]{\def\thepiece{#1}} -\newcommand*{\metre}[1]{\def\themetre{#1}} +\newcommand*{\meter}[1]{\def\themeter{#1}} \newcommand*{\poet}[1]{\def\thepoet{#1}} % \newcommand*{\mudelatitle}[1]{\def\thetitle{#1}} @@ -35,8 +35,8 @@ \newcommand*{\mudelainstrument}[1]{\def\theinstrument{#1}} \newcommand*{\mudelaopus}[1]{\def\theopus{#1}} \newcommand*{\mudelapiece}[1]{\def\thepiece{#1}} -\newcommand*{\mudelametre}[1]{\def\themetre{#1}} -\newcommand*{\mudelameter}[1]{\def\themetre{#1}} +\newcommand*{\mudelametre}[1]{\def\themeter{#1}} +\newcommand*{\mudelameter}[1]{\def\themeter{#1}} \newcommand*{\mudelapoet}[1]{\def\thepoet{#1}} % % @@ -53,7 +53,7 @@ \edef\saveparskip{\parskip}\parskip-5mm \begin{minipage}[t]{0.45\textwidth} \ifx\mudelanull\thepoet\else{\thepoet}\\ \fi - \ifx\mudelanull\themetre\else{\themetre}\\ \fi + \ifx\mudelanull\themeter\else{\themeter}\\ \fi \end{minipage}\hspace*{\fill} \begin{minipage}[t]{0.45\textwidth} \begin{flushright} -- 2.39.5