+++ /dev/null
-[From a posting in rec.music.classical.guitar]
-
-I started coding on Lilypond because I am fascinated by music and by
-typography. I have never used any egngraving software, and do not
-feel the need to investigate other programs, for the simple reason
-that I have no need of typesetting music. In fact, I almost never use
-Lilypond. I believe that the largest thing I ever entered was Bach's
-WTK-I fugue 2, two pages of piano music. I entered it about 1.5 years
-ago.
-
-I am fascinated by this complicated problem, typesetting music with a
-computer. And that is why I started writing Lilypond: purely for the
-hack value, for the fun of coding. To me, music notation is like a
-giant puzzle. I have been coding on Lilypond and studying music
-notation in my spare time for the past three years. Since this is my
-hobby, strictly spoken I have no obligations concerning Lily, neither
-moral, nor legal. Of course, I am open to pleas and requests and
-often do respond to them, but I have the choice to ignore them, and
-occasionally I do.
-
-Lilypond tries to typeset music *automatically*. We (*) try to put as
-much of our knowledge of music typography into the program as
-possible, and have as little typographical information in the input as
-possible. Basically, you ought to be able to produce nicely printed
-scores with Lilypond without knowing anything about engraving.
-
- footnote (*): We = me and Jan Nieuwenhuizen, who wrote about
- 30% of the code, and provided most of the examples.)
-
-A second important issue is that Lilypond is free. Not only in the
-sense that you can download Lilypond at no charge, but it is also free
-as in "free speech". User are free to modify the program to suit
-their needs, and redistribute or sell the program. Moreover, since
-the program can be downloaded at no cost, I don't gain anything if it
-gets more users. And here I mean "use" as opposed to "use and
-enhance" or "use and give helpful comments".
-
-We have not made a program for professionals, and as a result, hackers
-have begun to use it. Some of them have sent me modifications that
-improve the software. This is good for us, because it helps us solve
-our puzzle more quickly. We would have made the program useful for
-professionals like you, presumably they would start using it, be glad
-they didn't have to pay, and ignore me. That would not help me solve
-my puzzle; I don't gain anything.
-
-The system has reached a point that it is useful for quite a lot of
-people (we get about 200 downloads per month from the main FTP site),
-and a lot of my users have thanked me for rescuing them from tedious
-typesetting work using Finale, Encore and what-have-you-more. I have
-a user in Russia who tries make a living by typesetting a 260-page
-book on harmonic-theory using Lilypond. I have a user that can
-typeset his own 45 page orchestral score. Laymen have called our
-printout of the Bach Cello Suite 2 of "professional quality".
-
-This program is now useful to more people than a program solely aimed
-at professional use.
-
-Obviously, we're not finished yet, since the program still contains
-quite a lot bugs. We know the examples on the website contain lots of
-errors. Tweaking the input to fix up and hide the errors would cost
-us a lot of time. Time that is better spent improving the program
-itself. So, we don't hide the errors.
-
-Most of the errors that are shown on the website are not caused by our
-lack of knowledge, but rather by a lack of time and the sheer
-complexity of this big puzzle we're solving.
-
-In the end, we also want a system that is fully tweakable, so you can
-also produce professional quality typesetting. But being
-straightforward to use for non-professionals is more important now.
-
-Finally, I would like to stress that my goals while programming on
-LilyPond are separate from my beliefs of what should be done with the
-program. I can not control what the program is used for, nor do I want
-to. People can typeset lullabies for their baby daughters or racist
-warsongs to help fascist leaders.
-
-A fortiori, I can not control what copyright users place on their
-input and output. If you want to do commercial music editing (with
-LilyPond) you can publish scores on paper and keep the input and
-output to your self. You can publish the score online, and keep the
-input to yourself. You can put the input online as well, while
-forbidding modifications. You can publish the input and allow
-modifications.
-
-This is all up to the user of the software, not to me.
-
-
-Han-Wen Nienhuys,
-
-April 11, 1999
-
+++ /dev/null
-Keywords: midi notation music typesetting gnu
-Subject: LilyPond 0.1 released - The GNU Project music typesetter
-
- BORN
-
- August 1, 1997
-
- Lily
-
- (GNU LilyPond 0.1)
-
- daughter to Jan 'Janneke' Nieuwenhuizen and Han-Wen 'Wendy' Nienhuys
-
-Lily is a healthy, bouncing baby weighing 345 kilobytes
-
-Visiting hours: 24 hours a day at
-
- ftp://pcnov095.win.tue.nl/pub/lilypond/lilypond-0.1.0.tar.gz (Europe)
- ftp://alpha.gnu.ai.mit.edu/gnu/lilypond-0.1.0.tar.gz (US)
-
-You can see some babyfood, diapers and pictures at
-
- http://www.stack.nl/~hanwen/lilypond/index.html
-
-You can send your congratulations to Janneke (janneke@gnu.org) and
-Wendy (hanwen@stack.nl)
-
-
-GNU LilyPond - The GNU Project Music Typesetter
-
-
-
-``WHAT IS GNU LilyPond?''
-
-Well Mike, GNU LilyPond is a program which converts music definition
-files into visual or auditive output: it can typeset formatted sheet
-music to a TeX file and (mechanical) performances to MIDI files.
-
-
-We have been working very hard on this system for the past year, and
-we finally think that it is ready to be used and hacked at by a larger
-public than us.
-
-
-WHY ?
-
-We want to create tools to produce production quality scores and parts
-of public domain music.
-
-
-BUT ..
-
-We haven't yet reached that goal:
-
-* The quality of the output isn't good enough yet due to some
-unsophisticated algorithms
-
-* Some features haven't been implemented, due to lack of time; most of
-them can be done quite simply
-
-This is why we don't consider this software stable yet. It generally
-does what it is supposed to, but we reserve the right to make
-(incompatible) changes to the input format. We consider it
-of BETA quality.
-
-
-WE WANT YOU!
-
-You can become a user, but we'd really appreciate it if you would start
-hacking at Lily, and help us advance our project more quickly.
-
-
-``YES, IT IS FANTASTIC! WHAT DO I NEED?''
-
-For compilation you need
-
- Unix. (windows32 is known to work, too)
- GNU C++ v2.7 or better, with libg++ installed.
- GNU make.
- Flex (2.5.1 or better).
- Bison. (1.25 or better)
-
-For running you need
-
- TeX
- MusiXTeX fonts
-
-The MusiXTeX fonts are part of the MusiXTeX package version T.73,
-available at any CTAN mirror, or http://www.gmd.de/Misc/Music/
-
-
-``WHAT CAN LILYPOND DO?''
-
-ASCII script input (mudela), with identifiers (for music reuse),
-customizable notenames.
-
-MIDI output lets you check if you have entered the correct notes.
-MIDI to Mudela conversion through the mi2mu program.
-
-Multiple staffs in one score. Each staff can have a different meters.
-Multiple voices within one staff (up to four handled graciously);
-beams optionally shared between voices. Multiple scores within one
-input file. Each score is output to a different file.
-
-Beams, slurs, chords, super/subscripts (accents and text),
-general n-plet (triplet, quadruplets, etc.), lyrics, transposition,
-dynamics (both absolute and hairpin style), clef changes, meter
-changes, cadenza-mode, key changes, repeat bars.
-
-Integration with LaTeX through Perl scripts.
-
-
-``WHERE CAN I FIND MORE INFO?''
-
-Sources for this project are on
-
- ftp://pcnov095.win.tue.nl/pub/lilypond/ (Europe)
- ftp://alpha.gnu.ai.mit.edu/gnu/ (US)
-
-More detailed info and examples can be found on the webpage at
-
- http://www.stack.nl/~hanwen/lilypond/index.html
-
-
-THANK YOU,
-
-Thanks go out to Mats Bengtsson, Werner Lemberg and Richard Stallman
-for comments and contributions.
-
-
-**** NOTE
-
-LilyPond might have a minor bug if you use glibc-2; we will look into it
-If you use glibc-2, please try 0.1.0 to see if it works and, download 0.1.1
-when it's available.
-
-LilyPond might exhibit a g++ bug on Solaris 1.5 (The stack frame gets corrupted
-by a constructor) if you compile with -O2. We don't know workarounds.
-
- --- * ---
-
- We would like to dedicate this program to all the friends that we
- met through music.
-
-
- Those deserving special mention (in no particular order):
-Esther, Marijke, Heike, Inge, Judith, Hannah, Auke, Ilse, Evelyn,
-Maartje, Suzanne, Ilse (gee, again?) and last (but certainly not least)
-Janneke!
-
- HWN
-
- That's a nice thought, Wendy. I've got a few too, to spread
-the credits a bit (Again, no particular order) Michelle, Illushka,
-Ruth, Eva, Fro/ydis, Monique, Noor, Sascha, Monique, Ilse, Monique,
-Eva, Roos, Judith, Tim and, of course, Wendy!
-
- JCN
-
-
-Of course, our other friends in the `Eindhovens Jongeren Ensemble'
-(http://www.stack.nl/~hanwen/eje.html) cannot go unmentioned either.
-
-
- --- * ---
+++ /dev/null
-Keywords: midi notation music typesetting gnu font engraving
-Subject: GNU LilyPond 1.0 released - The Music Typesetter
-
-GNU LilyPond - The Music Typesetter
-
-
-WHAT IS LilyPond?
-
-LilyPond is the GNU Project music typesetter. This program can print
-beautiful sheet music from a music definition file. It can also play
-performances to a MIDI file.
-
-
-WHAT'S NEW SINCE VERSION 0.1?
-
-* LilyPond now includes a completely new music font: the Feta font.
- We were quite disappointed with available music fonts, so we rolled
- our own. We did our best to copy the best symbol designs available,
- and we think that we've succeeded in doing so. We're proud of the
- result, and we hope you agree, so go check it out!
-
-* More elegant output due to
-
- * more sophisticated beam/slur formatting
- * better spacing
- * better line breaking
- * better font design
- * PostScript output for variable symbols
-
-* Lots of bugfixes
-
-* More robust, flexible and tweakable design
-
-* Better MIDI file importing
-
-* Easier to use due to better shell scripts and input format
-enhancements
-
-* MusixTeX is not needed anymore
-
-* Faster
-
-
-
-FEATURES
-
-* Multiple staffs, polyphonic music (more voices on one staff),
-Polymetric music.
-
-* Support for full orchestral score: Hara_kiri systems (lines with
-only rests are automatically skipped), multi-measure rests, bar
-numbering, brackets at the left.
-
-* Optimal beam slopes, slur/notehead collision resolution, dashed
-slurs. Formatting parameters are runtime tunable
-
-* Very beautiful symbols. Variable size symbols generated on the fly
-as embedded postscript.
-
-* MIDI output
-
-* Optimal linebreaking, manual intervention possible. Linelength is
-settable per line.
-
-* Readable yet very fast to type input language. With configurable
-note names and identifiers. Comes with an emacs-mode
-
-* With lots of examples (among others a fragment of Van Beethoven's
-Coriolan, J.S.Bach Cello Suite II, F. Schubert "Leise flehen meine
-Lieder")
-
-* Runs on UNIX and Windows-32.
-
-* Easy generation of titling.
-
-* WWW browsable documentation.
-
-* Support for Urtext: separation of modern and original interpretation.
-
-* Polyphonic music (with automatic collision resolution)
-
-* Spacing and collision resolution of accidentals and syllables is
-done automatically
-
-* Internationalisation support (Italian, Dutch)
-
-* Multiple font sizes within one piece
-
-* Integration with LaTeX and YODL
-
-
-MORE INFO
-
-Sources for this project are on
-
- ftp://pcnov095.win.tue.nl/pub/lilypond/ (Europe)
- ftp://ftp.gnu.org/pub/gnu/
-
-More detailed info and examples can be found on the webpage at
-
- http://www.cs.uu.nl/~hanwen/lilypond/index.html
-
+++ /dev/null
--*- text -*-
-
-
-Keywords: midi notation music typesetting gnu font engraving
-Subject: GNU LilyPond 1.2 released - The Music Typesetter
-
-GNU LilyPond - The Music Typesetter
-
-
-WHAT IS LilyPond?
-
-LilyPond is the GNU Project music typesetter.
-
-LilyPond produces beautiful sheet music using a high level description
-file as input.
-
-
-BROWSE
-
-Documentation and examples can be found on
-
- http://www.cs.uu.nl/~hanwen/lilypond/
-
-
-DOWNLOAD
-
-Sources for this project are on
-
- ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/v1.2/ (Europe)
- ftp://ftp.gnu.org/pub/lilypond/
-
-Prepackaged i386 and PPC packages for both Debian and RedHat GNU are
-also available.
-
-
-WHAT'S NEW?
-
-* Large cleanups, enhanced design and GUILE integration for smaller
- memory footprint and more flexible code.
-
-* Direct output to PostScript (optional), PDFTeX or as GUILE script
- (default output still to plain TeX).
-
-* Convertors for ABC and MUP formats.
-
-* Font: now available as scalable PostScript. New glyphs: time
- signature, more note heads.
-
-* Enhanced input: semi-automatic beaming, (nested) tuplets, (nested)
- repeats, chordnames, automatic Lyrics durations.
-
-* Grace notes, volta brackets, multiple styles for note heads and
- time signatures, breathing signs, lyric extenders, cross staff
- beaming and slurring.
-
-* --safe option for the paranoid.
-
-* More elegant spacing. Text is spaced exactly.
-
-* Lots of bugfixes.
-
-
+++ /dev/null
-
-
-AUTHORS - who did what on GNU LilyPond?
-***************************************
-
- This file lists authors of GNU LilyPond, and what they wrote. This
-list is alphabetically ordered.
-
- * Tom Cato Amundsen <tomcato@xoommail.com>, cembalo-partita in
- mudela, accordion symbols, some mudela-book.py
-
- * Mats Bengtsson <matsb@s3.kth.se>,
- `http://www.s3.kth.se/~matsb/' lots of testing, fixes, general
- comments and contributions.
-
- * Eric Bullinger <eric@aut.ee.ethz.ch>, accidental transposition.
-
- * Laura Conrad (lconrad@world.std.com) fixes to abc2ly
-
- * Jan Arne Fagertun <Jan.A.Fagertun@energy.sintef.no>, TeX
- titling and lytodvi.sh
-
- * Anthony Fok <foka@debian.org>, debian package: debian/*
-
- * Bjoern Jacke <bjoern.jacke@gmx.de> german glossary stuff.
-
- * Neil Jerram <nj104@cus.cam.ac.uk>. parts of
- Documentation/Vocab*
-
- * Donald Ervin Knuth, `http://www-cs-staff.stanford.edu/~knuth/'
- mf/ital-*.mf (these were taken from the CM fonts)
-
- * Michael Krause <m.krause@tu-harburg.de>, breathing signs
-
- * Werner Lemberg <wl@gnu.org>, misc bugfixes, some Beam and Stem
- code.
-
- * David R. Linn <drl@vuse.vanderbilt.edu>, Mailing list
- maintenance.
-
- * Adrian Mariano <> Reference manual, tutorial fixes, glossary.
-
- * Han-Wen Nienhuys <hanwen@cs.uu.nl>,
- `http://www.cs.uu.nl/~hanwen/' Main author (initials: HWN).
-
- * Jan Nieuwenhuizen <janneke@gnu.org>,
- `http://www.xs4all.nl/~jantien/' Main author (initials: JCN).
-
- * Alexandre Oliva <oliva@dcc.unicamp.br>,
- `http://sunsite.unicamp.br/~oliva/' testing
-
- * Franc <pinard@iro.umontreal.ca>ois Pinard, parts of
- Documentation/Vocab*, started internationalization stuff
-
- * Glen Prideaux <glenprideaux@iname.com>, minor bug fix to
- script used to generate doc++ documentation
-
- * Roy R. Rankin <Roy.Rankin@alcatel.com.au>, major extension,
- fixes to abc2ly, lilypond bug fixes
-
- * Jeffrey B. Reed <daboys@austin.rr.com>, Windows-NT support.
-
- * Shay Rojanski Some mudela source.
-
- Your name could be here! If you want to fix something, do it, and
-send us a patch!
-
+pl 15 (Oct 18)
+
14.jcn1
+ - Kludge for accented chars (thanks, Mats)
- bf: don't fail on error in doco package
- doco package: noarch
- bf: standchen: mutopia prep
+14.hwn1
+ - move some misc stuff into Documentation/misc/
+ - cleanups: slur & beam.
+ - junked Encompass_info
+ - Smobs -- simplifies sc_elt memory management
+ - Timing_engraver collects bar reqs
+ - unfold all if doing MIDI.
+ - bfs: do something sensible if it doesn't fit.
+ - penalties for break stuff supported.
+
+*******
13.jcn2,3
- mutopia/J.S.Bach/Petites-Preludes: bf's and mutopia preraration
- separate documentation package
+++ /dev/null
-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.
+++ /dev/null
-[Note to uninitiated readers. This is a Q&A document that explains
-what to watch out for when submitting scores for the Mutopia project.
-The Mutopia project is an effort to accumulate an archive of sheet
-music that is in the public domain. The project should be similar to
-the Gutenberg project.
-
-We will be using music typesetting software to produce the software.
-The project will only accept music for composers that have passed into
-the PD. The sole remaining problem is caused by the editorial
-changes. A recent edition may contain editorial amendments that are
-not in the PD, so we cannot simply copy the music from recent
-editions.]
-
-
-
-What is copyright?
-
-Copyright is a legal system that protects the expressions of ideas.
-It was originally conceived to foster development of art and
-knowledge.
-
-Copyright law gives "owners" of the expressions the right to restrict
-reproductions of these expressions and collect fees. In this way they
-can earn a living. For example, a poet may restrict xeroxing and
-public performances of his poems, and demand a fee for print for
-prints and performances.
-
-After some time ---for most forms of expression, this is 70 years
-after the author died--- the work goes into the public domain, which
-means that all restrictions are lifted. You can print, perform and
-modify the works as much as you like.
-
-Copyright law is internationalised. In most countries the conditions
-from the Berne convention have been adopted.
-
-
-
-
-How does copyright work for music scores?
-
-Let's analyze how a printed score is produced:
-
-1. The composer composes music.
-
-2. An editor edits the music, based on the composer's manuscript and
-on other editions.
-
-3. An engraver lays out the editor's product.
-
-As you can see, there are three individuals, whose expressions are
-protected by copyright law. Since we are interested in the scores
-that are in the PD.
-
-The copyright on the music itself passes into the PD 70 years after
-the death of the composer. (Or XXXX years after publication if the
-work is published posthumously.)
-
-The copyright on the editorial changes pass in to the PD 70 years
-after death of the editor, or XXX years after publication. Depending on YYY
-
-The copyright of the engraver is of no interest to us, since we will
-not reproduce any of the layout.
-
-
-
-What are editorial changes?
-
-
-
-
-
-
-How do I find out what changes might be copyrighted?
-
-You cannot copyright something you did not create yourself. So if you
-find the same editorial changes across different editions it is
-unlikely that it is copyrighted.
-
-
-
-
-Urtexts?
-
-
-
-Scores that are not marked with dates?
-
-
-# Documentation/Makefile
-
depth = ..
NAME = documentation
-SUBDIRS= user metadoc bibliography pictures topdocs ntweb
+SUBDIRS= user metadoc bibliography pictures topdocs ntweb misc
STEPMAKE_TEMPLATES=documentation texinfo
-README_TOP_FILES=NEWS DEDICATION TODO AIMS CHANGES
-INFO_FILES = $(wildcard $(outdir)/$(package).info*)
-EXTRA_DIST_FILES = COPYRIGHT
-
-
-
-BLURBS=BLURB
+README_TOP_FILES=NEWS DEDICATION CHANGES
+EXTRA_DIST_FILES =
include $(depth)/make/stepmake.make
default: do-doc
-info: $(outdir)/$(package).info
-
local-WWW: copy-for-me
copy-for-me:
+++ /dev/null
-\input texinfo @c -*-texinfo-*-
-@setfilename MANIFESTO.info
-@settitle MANIFESTO - Rationale behind the GNU LilyPond project
-
-@node Top, , Goals for mudela, (dir)
-@top
-@menu
-* MANIFESTO - Rationale behind the GNU LilyPond project::MANIFESTO - Rationale behind the GNU LilyPond project
-@end menu
-
-
-
-@node MANIFESTO - Rationale behind the GNU LilyPond project, Goals for LilyPond, , Top
-@menu
-* Goals for LilyPond:: Goals for LilyPond
-* Development constraints:: Development constraints
-* Goals for mudela:: Goals for mudela
-@end menu
-@chapter MANIFESTO -- Rationale behind the GNU LilyPond project
-
-
-@node Goals for LilyPond, Development constraints, MANIFESTO - Rationale behind the GNU LilyPond project, MANIFESTO - Rationale behind the GNU LilyPond project
-@section Goals for LilyPond
-
-GNU LilyPond was written with some considerations in mind:
-
-@itemize @bullet
-@item Describing a well-defined language for defining music. We call
- this language (rather arrogantly) The Musical Definition Language
- (mudela for short). GNU LilyPond reads a mudela sourcefile and outputs a
- TeX file.
-@item Providing an easy-to-use interface for typesetting music in
- its broadest sense. This interface should be intuitive from a musical
- point of view. By broadest sense we mean: it is designed for music
- printed left to right in staffs, using notes to designate rythm and
- pitch.
-@item Generating high-quality output. Ideally it should be of a professional
- quality. We'd like to render Herbert Chlapiks words, "Fine music
- setting is not possible without a knowledgeable printer," untrue.
-@item Making a system which is fully tweakable. It should be possible to
- typeset a book on how not to typeset music.
-@end itemize
-
-@node Development constraints, Goals for mudela, Goals for LilyPond, MANIFESTO - Rationale behind the GNU LilyPond project
-@section Development constraints
-
-Further considerations while doing the programming
-
-@itemize @bullet
-@item GNU LilyPond uses TeX for its output. This is not a key issue: in a
- future version, GNU LilyPond might bypass TeX, but at the moment TeX
- is convenient for producing output.
-@item GNU LilyPond does not display notes directly, nor will it be rehacked
- to be used interactively. GNU LilyPond writes output to a file. It
- will not be extended to play music, or to recognize music.
-@item GNU LilyPond is intended to run on Unix platforms, but it should
- be portable to any platform which can run TeX and the GNU tools
-@item GNU LilyPond is free. Commercial windows packages for setting music are
- abundant. Free musicprinting software is scarce. For more thoughts on
- this, please consult the @file{gnu-music} documentation.
-@item GNU LilyPond is written in GNU C++. It will not be downgraded/ported to fit
- broken systems.
-@end itemize
-
-@node Goals for mudela, Top, Development constraints, MANIFESTO - Rationale behind the GNU LilyPond project
-@section Goals for mudela
-
-The design of Mudela has been (perfect past tense, hopefully) an
-ongoing process, the most important criteria being:
-
-@itemize @bullet
-@item define the (musical) message of the composer as unambiguously as possible.
- This means that, given a piece Mudela, it should be possible for a
- program to play a reasonable interpretation of the piece.
-
- It also means that, given a piece of Mudela, it should be possible for a
- program to print a score of the piece.
-@item be intuitive, and easily readable (compared to, say, Musi*TeX input,
- or MIDI :-),
-@item be easily writable in ASCII with a simple texteditor
-@end itemize
-
-Other considerations were (and will be):
-
-@itemize @bullet
-@item be able to edit the layout without danger of changing the original
- music (Urtext),
-@item allow for adding different interpretations, again,
- without danger of changing the original,
-@item easy to create a conductor's score,
- as well as the scores for all individual instruments,
-@item provide simple musical manipulations, such as @emph{i} extracting a
- slice of music from a previously defined piece, @emph{ii} extracting
- only the rhythm from a piece of music, @emph{iii} transposing, etc.,
-@item easy to comprehend to both programmers and others.
-@end itemize
-
-One of the things that (might) be here would be: feasible to use in a
-graphic editor. We don't have experience with these beasts, so we
-don't know how to do this. Comments appreciated.
-
-Musical pieces could be
-
-@itemize @bullet
-@item Orchestral scores, (eg Mahler)
-@item piano pieces (eg. Schubert, Rachmaninov),
-@item pop songs (lyrics and chords),
-@item Gregorian chants,
-@item Bach multivoice organ pieces,
-@item Short excerpts to be used in musicological publications.
-@end itemize
-
-
-@bye
@unnumberedsubsec Introduction
@itemize
-@item @uref{../topdocs/out-www/README.html, README}
-@item @uref{../topdocs/out-www/INSTALL.html, Installation Instructions}
-@item @uref{../topdocs/out-www/AUTHORS.html,The Authors}
+@item @uref{DEDICATION.txt,Dedication}
+@item @uref{../topdocs/out-www/AUTHORS.html, Authors}
+@item @uref{../topdocs/out-www/README.html, Readme file}
+@item @uref{../topdocs/out-www/INSTALL.html, Installation instructions}
@end itemize
-
-
@unnumberedsubsec Documentation
@itemize @bullet
-@item @uref{faq.html,FAQs}
+@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{../bibliography/out-www/,Bibliography}
+@item @uref{../misc/out-www/index.html,Miscellaneous texts}
@end itemize
-@unnumberedsubsec Miscellaneous blurbs
-
-
-@itemize @bullet
-@item @uref{TODO.txt, TODO list}
-@item @uref{CHANGES.txt,Change log}
-@item @uref{DEDICATION.html,DEDICATION}
-@item @uref{AIMS.txt,Why?}
+@unnumberedsubsec{Status}
+@itemize
+@item @uref{TODO.txt, Thing to do}
+@item @uref{CHANGES.txt, Things recently done}
@end itemize
@mudelafile{repeat-unfold.ly}
-Semi (un)folded behavior. Voltas can start on non-barline moments.
+Volta (Semi folded) behavior. Voltas can start on non-barline moments.
If they don't barlines should still be shown.
-@mudelafile{repeat-semifold.ly}
+@mudelafile{repeat-volta.ly}
Folded. This doesn't make sense without alternatives, but it works.
@mudelafile{spacing-loose.ly}
+Adding a @code{Bar_engraver} to the LyricsVoice context makes sure that
+lyrics don't collide with barlines.
+
+@mudelafile{lyrics-bar.ly}
@section Global stuff
+Breaks can be encouraged and discouraged using @code{\break} and
+@code{\nobreak}. They are abbrevs for @code{\penalty} commands.
+
+@mudelafile{break.ly}
+
+
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.
--- /dev/null
+[From a posting in rec.music.classical.guitar]
+
+I started coding on Lilypond because I am fascinated by music and by
+typography. I have never used any egngraving software, and do not
+feel the need to investigate other programs, for the simple reason
+that I have no need of typesetting music. In fact, I almost never use
+Lilypond. I believe that the largest thing I ever entered was Bach's
+WTK-I fugue 2, two pages of piano music. I entered it about 1.5 years
+ago.
+
+I am fascinated by this complicated problem, typesetting music with a
+computer. And that is why I started writing Lilypond: purely for the
+hack value, for the fun of coding. To me, music notation is like a
+giant puzzle. I have been coding on Lilypond and studying music
+notation in my spare time for the past three years. Since this is my
+hobby, strictly spoken I have no obligations concerning Lily, neither
+moral, nor legal. Of course, I am open to pleas and requests and
+often do respond to them, but I have the choice to ignore them, and
+occasionally I do.
+
+Lilypond tries to typeset music *automatically*. We (*) try to put as
+much of our knowledge of music typography into the program as
+possible, and have as little typographical information in the input as
+possible. Basically, you ought to be able to produce nicely printed
+scores with Lilypond without knowing anything about engraving.
+
+ footnote (*): We = me and Jan Nieuwenhuizen, who wrote about
+ 30% of the code, and provided most of the examples.)
+
+A second important issue is that Lilypond is free. Not only in the
+sense that you can download Lilypond at no charge, but it is also free
+as in "free speech". User are free to modify the program to suit
+their needs, and redistribute or sell the program. Moreover, since
+the program can be downloaded at no cost, I don't gain anything if it
+gets more users. And here I mean "use" as opposed to "use and
+enhance" or "use and give helpful comments".
+
+We have not made a program for professionals, and as a result, hackers
+have begun to use it. Some of them have sent me modifications that
+improve the software. This is good for us, because it helps us solve
+our puzzle more quickly. We would have made the program useful for
+professionals like you, presumably they would start using it, be glad
+they didn't have to pay, and ignore me. That would not help me solve
+my puzzle; I don't gain anything.
+
+The system has reached a point that it is useful for quite a lot of
+people (we get about 200 downloads per month from the main FTP site),
+and a lot of my users have thanked me for rescuing them from tedious
+typesetting work using Finale, Encore and what-have-you-more. I have
+a user in Russia who tries make a living by typesetting a 260-page
+book on harmonic-theory using Lilypond. I have a user that can
+typeset his own 45 page orchestral score. Laymen have called our
+printout of the Bach Cello Suite 2 of "professional quality".
+
+This program is now useful to more people than a program solely aimed
+at professional use.
+
+Obviously, we're not finished yet, since the program still contains
+quite a lot bugs. We know the examples on the website contain lots of
+errors. Tweaking the input to fix up and hide the errors would cost
+us a lot of time. Time that is better spent improving the program
+itself. So, we don't hide the errors.
+
+Most of the errors that are shown on the website are not caused by our
+lack of knowledge, but rather by a lack of time and the sheer
+complexity of this big puzzle we're solving.
+
+In the end, we also want a system that is fully tweakable, so you can
+also produce professional quality typesetting. But being
+straightforward to use for non-professionals is more important now.
+
+Finally, I would like to stress that my goals while programming on
+LilyPond are separate from my beliefs of what should be done with the
+program. I can not control what the program is used for, nor do I want
+to. People can typeset lullabies for their baby daughters or racist
+warsongs to help fascist leaders.
+
+A fortiori, I can not control what copyright users place on their
+input and output. If you want to do commercial music editing (with
+LilyPond) you can publish scores on paper and keep the input and
+output to your self. You can publish the score online, and keep the
+input to yourself. You can put the input online as well, while
+forbidding modifications. You can publish the input and allow
+modifications.
+
+This is all up to the user of the software, not to me.
+
+
+Han-Wen Nienhuys,
+
+April 11, 1999
+
--- /dev/null
+Keywords: midi notation music typesetting gnu
+Subject: LilyPond 0.1 released - The GNU Project music typesetter
+
+ BORN
+
+ August 1, 1997
+
+ Lily
+
+ (GNU LilyPond 0.1)
+
+ daughter to Jan 'Janneke' Nieuwenhuizen and Han-Wen 'Wendy' Nienhuys
+
+Lily is a healthy, bouncing baby weighing 345 kilobytes
+
+Visiting hours: 24 hours a day at
+
+ ftp://pcnov095.win.tue.nl/pub/lilypond/lilypond-0.1.0.tar.gz (Europe)
+ ftp://alpha.gnu.ai.mit.edu/gnu/lilypond-0.1.0.tar.gz (US)
+
+You can see some babyfood, diapers and pictures at
+
+ http://www.stack.nl/~hanwen/lilypond/index.html
+
+You can send your congratulations to Janneke (janneke@gnu.org) and
+Wendy (hanwen@stack.nl)
+
+
+GNU LilyPond - The GNU Project Music Typesetter
+
+
+
+``WHAT IS GNU LilyPond?''
+
+Well Mike, GNU LilyPond is a program which converts music definition
+files into visual or auditive output: it can typeset formatted sheet
+music to a TeX file and (mechanical) performances to MIDI files.
+
+
+We have been working very hard on this system for the past year, and
+we finally think that it is ready to be used and hacked at by a larger
+public than us.
+
+
+WHY ?
+
+We want to create tools to produce production quality scores and parts
+of public domain music.
+
+
+BUT ..
+
+We haven't yet reached that goal:
+
+* The quality of the output isn't good enough yet due to some
+unsophisticated algorithms
+
+* Some features haven't been implemented, due to lack of time; most of
+them can be done quite simply
+
+This is why we don't consider this software stable yet. It generally
+does what it is supposed to, but we reserve the right to make
+(incompatible) changes to the input format. We consider it
+of BETA quality.
+
+
+WE WANT YOU!
+
+You can become a user, but we'd really appreciate it if you would start
+hacking at Lily, and help us advance our project more quickly.
+
+
+``YES, IT IS FANTASTIC! WHAT DO I NEED?''
+
+For compilation you need
+
+ Unix. (windows32 is known to work, too)
+ GNU C++ v2.7 or better, with libg++ installed.
+ GNU make.
+ Flex (2.5.1 or better).
+ Bison. (1.25 or better)
+
+For running you need
+
+ TeX
+ MusiXTeX fonts
+
+The MusiXTeX fonts are part of the MusiXTeX package version T.73,
+available at any CTAN mirror, or http://www.gmd.de/Misc/Music/
+
+
+``WHAT CAN LILYPOND DO?''
+
+ASCII script input (mudela), with identifiers (for music reuse),
+customizable notenames.
+
+MIDI output lets you check if you have entered the correct notes.
+MIDI to Mudela conversion through the mi2mu program.
+
+Multiple staffs in one score. Each staff can have a different meters.
+Multiple voices within one staff (up to four handled graciously);
+beams optionally shared between voices. Multiple scores within one
+input file. Each score is output to a different file.
+
+Beams, slurs, chords, super/subscripts (accents and text),
+general n-plet (triplet, quadruplets, etc.), lyrics, transposition,
+dynamics (both absolute and hairpin style), clef changes, meter
+changes, cadenza-mode, key changes, repeat bars.
+
+Integration with LaTeX through Perl scripts.
+
+
+``WHERE CAN I FIND MORE INFO?''
+
+Sources for this project are on
+
+ ftp://pcnov095.win.tue.nl/pub/lilypond/ (Europe)
+ ftp://alpha.gnu.ai.mit.edu/gnu/ (US)
+
+More detailed info and examples can be found on the webpage at
+
+ http://www.stack.nl/~hanwen/lilypond/index.html
+
+
+THANK YOU,
+
+Thanks go out to Mats Bengtsson, Werner Lemberg and Richard Stallman
+for comments and contributions.
+
+
+**** NOTE
+
+LilyPond might have a minor bug if you use glibc-2; we will look into it
+If you use glibc-2, please try 0.1.0 to see if it works and, download 0.1.1
+when it's available.
+
+LilyPond might exhibit a g++ bug on Solaris 1.5 (The stack frame gets corrupted
+by a constructor) if you compile with -O2. We don't know workarounds.
+
+ --- * ---
+
+ We would like to dedicate this program to all the friends that we
+ met through music.
+
+
+ Those deserving special mention (in no particular order):
+Esther, Marijke, Heike, Inge, Judith, Hannah, Auke, Ilse, Evelyn,
+Maartje, Suzanne, Ilse (gee, again?) and last (but certainly not least)
+Janneke!
+
+ HWN
+
+ That's a nice thought, Wendy. I've got a few too, to spread
+the credits a bit (Again, no particular order) Michelle, Illushka,
+Ruth, Eva, Fro/ydis, Monique, Noor, Sascha, Monique, Ilse, Monique,
+Eva, Roos, Judith, Tim and, of course, Wendy!
+
+ JCN
+
+
+Of course, our other friends in the `Eindhovens Jongeren Ensemble'
+(http://www.stack.nl/~hanwen/eje.html) cannot go unmentioned either.
+
+
+ --- * ---
--- /dev/null
+Keywords: midi notation music typesetting gnu font engraving
+Subject: GNU LilyPond 1.0 released - The Music Typesetter
+
+GNU LilyPond - The Music Typesetter
+
+
+WHAT IS LilyPond?
+
+LilyPond is the GNU Project music typesetter. This program can print
+beautiful sheet music from a music definition file. It can also play
+performances to a MIDI file.
+
+
+WHAT'S NEW SINCE VERSION 0.1?
+
+* LilyPond now includes a completely new music font: the Feta font.
+ We were quite disappointed with available music fonts, so we rolled
+ our own. We did our best to copy the best symbol designs available,
+ and we think that we've succeeded in doing so. We're proud of the
+ result, and we hope you agree, so go check it out!
+
+* More elegant output due to
+
+ * more sophisticated beam/slur formatting
+ * better spacing
+ * better line breaking
+ * better font design
+ * PostScript output for variable symbols
+
+* Lots of bugfixes
+
+* More robust, flexible and tweakable design
+
+* Better MIDI file importing
+
+* Easier to use due to better shell scripts and input format
+enhancements
+
+* MusixTeX is not needed anymore
+
+* Faster
+
+
+
+FEATURES
+
+* Multiple staffs, polyphonic music (more voices on one staff),
+Polymetric music.
+
+* Support for full orchestral score: Hara_kiri systems (lines with
+only rests are automatically skipped), multi-measure rests, bar
+numbering, brackets at the left.
+
+* Optimal beam slopes, slur/notehead collision resolution, dashed
+slurs. Formatting parameters are runtime tunable
+
+* Very beautiful symbols. Variable size symbols generated on the fly
+as embedded postscript.
+
+* MIDI output
+
+* Optimal linebreaking, manual intervention possible. Linelength is
+settable per line.
+
+* Readable yet very fast to type input language. With configurable
+note names and identifiers. Comes with an emacs-mode
+
+* With lots of examples (among others a fragment of Van Beethoven's
+Coriolan, J.S.Bach Cello Suite II, F. Schubert "Leise flehen meine
+Lieder")
+
+* Runs on UNIX and Windows-32.
+
+* Easy generation of titling.
+
+* WWW browsable documentation.
+
+* Support for Urtext: separation of modern and original interpretation.
+
+* Polyphonic music (with automatic collision resolution)
+
+* Spacing and collision resolution of accidentals and syllables is
+done automatically
+
+* Internationalisation support (Italian, Dutch)
+
+* Multiple font sizes within one piece
+
+* Integration with LaTeX and YODL
+
+
+MORE INFO
+
+Sources for this project are on
+
+ ftp://pcnov095.win.tue.nl/pub/lilypond/ (Europe)
+ ftp://ftp.gnu.org/pub/gnu/
+
+More detailed info and examples can be found on the webpage at
+
+ http://www.cs.uu.nl/~hanwen/lilypond/index.html
+
--- /dev/null
+-*- text -*-
+
+
+Keywords: midi notation music typesetting gnu font engraving
+Subject: GNU LilyPond 1.2 released - The Music Typesetter
+
+GNU LilyPond - The Music Typesetter
+
+
+WHAT IS LilyPond?
+
+LilyPond is the GNU Project music typesetter.
+
+LilyPond produces beautiful sheet music using a high level description
+file as input.
+
+
+BROWSE
+
+Documentation and examples can be found on
+
+ http://www.cs.uu.nl/~hanwen/lilypond/
+
+
+DOWNLOAD
+
+Sources for this project are on
+
+ ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/v1.2/ (Europe)
+ ftp://ftp.gnu.org/pub/lilypond/
+
+Prepackaged i386 and PPC packages for both Debian and RedHat GNU are
+also available.
+
+
+WHAT'S NEW?
+
+* Large cleanups, enhanced design and GUILE integration for smaller
+ memory footprint and more flexible code.
+
+* Direct output to PostScript (optional), PDFTeX or as GUILE script
+ (default output still to plain TeX).
+
+* Convertors for ABC and MUP formats.
+
+* Font: now available as scalable PostScript. New glyphs: time
+ signature, more note heads.
+
+* Enhanced input: semi-automatic beaming, (nested) tuplets, (nested)
+ repeats, chordnames, automatic Lyrics durations.
+
+* Grace notes, volta brackets, multiple styles for note heads and
+ time signatures, breathing signs, lyric extenders, cross staff
+ beaming and slurring.
+
+* --safe option for the paranoid.
+
+* More elegant spacing. Text is spaced exactly.
+
+* Lots of bugfixes.
+
+
--- /dev/null
+
+This file documents changes in version 0.0
+
+august 1
+
+VERSION 0.1.0
+
+ - bf: output tempo to track 0 too
+ - bf: don't forget to copy id_str_, so moved into Music
+
+pl 78.jcn2
+ - INFTY doze fixes
+
+pl 78.jcn1
+ - fix for multi-staff midi: wohltemperirt.ly, standchen.ly
+ - doze fixes
+ - bf: conflily, configure (text)
+*****
+july 31
+pl 78
+ - bf: Midi_instrument
+ - added enable/disable defaults to help.
+ - incredibly ugly NAME_MEMBERS(); bug. Immediately changed to
+DECLARE_MY_RUNTIME_TYPEINFO;
+ - \stem -1 -> \stem \down in input
+ - bf: slurchar index
+ - configure warnings
+ - preliminary stuff for multiarch building
+ - #!/usr/bin/perl fixes (AO)
+ - some Makefile cleanups: now faster.
+
+pl 77.jcn2
+ - Midi_instrument
+
+******
+july 29
+pl 77
+ - some fixes for internal compiler errors
+derive from Pointer_list with default dtor gives error with -O2
+ - .ini -> .ly
+ - lyrics fix
+ - Performer beautification: got rid of set_track(), midi_output()
+ - pseudo RTTI for midi-items
+ - bf: Performer*::print()
+ - links.pod
+ - Voice_element -> Request_chord
+ - fixed flex problems: stdin input works again
+ - Documentation/Rules.make, make-website via make
+ - spacing: now add basicspace
+
+*******
+july 28
+pl 76
+ - mudela version bumped to 0.1
+ - mudela-book
+ - doco updates, now some stuff in LaTeX
+ - junked book.{ly,tex} example
+ - progress indicator
+ - rhythm.ly updated
+ - removed mf sources from distribution due to (c) stuff
+ - allowal of breaks handled cleanly
+ - junked Subtle_reqs, junked Request_iterator. Request
+ iteration now by Voice_element_iterator
+ - Piano_bar, Piano_bar_engraver, Span_score_bar_engraver,
+ Span_score_bar
+ - Swallow_performer
+ - removed Staff_engravers, grouping into Line_group_engraver
+ - Head_column as base for Rest_column,Note_column
+ - Score_column derived from PCol
+ - regurgled Line spacing: interface and implementation
+ separate. Idealspacing moved into Spring_spacer
+ - Gourlay style linespacing
+
+pl 75.jcn6
+ - {lyric,meter,key}-performer
+ - span-brace-* (Removed again. Such is life)
+ - doze compile
+ - midi output, notes only
+ - working midi output -- hacked
+ - doze compile, mingw32 configure (still triggers gcc int. comp err)
+
+pl 74pre.jcn2
+ - mi2mu fixes after scott snyder <snyder@d0sgif.fnal.gov> [sss]
+ - mi2mu update for mudela 0.0.61
+ - conflily fixes
+
+*******
+july 21
+
+pl 75
+ - inbook.ly & book.tex example.
+ - natural width: linewidth = -1.0\cm
+
+pl 74pre.jcn1
+ - oversimplified midi output thru performer hierarchy
+ - bf: Spanner::doprint
+
+pl 72pre.jcn1
+ - naming fixes; some iter*() explicitations
+ - removed acceptor.hh
+ - *performer*: second draft of midi (audio/...)
+
+*******
+july 9
+
+pl 74pre
+ - Input_engraver -> Input_translator
+ - bf: span start/stop is now a "used" col.
+ - Rest_column/Rest_collisions bugfixes
+ - bf: crescendi.
+ - Spanner do_print()
+
+******
+july 7
+pl 73pre
+ - some refs doco.
+ - move Input_engraver into Paper_def
+ - junk Interpreter
+ - naming: Request_engraver -> Engraver,
+ - Music_iterator::next() -> process_and_next()
+ - junk Voice_engravers
+ - Span_bar, Span_bar_engraver
+ - Vertical_align_engraver
+
+*******
+july 2
+pl 72pre
+ - \paper{} syntax: var = 1.0\pt;, with an Assoc array
+ - sketch of MIDI Performer classes.
+ - bf: memleak in parser
+ - naming: Acceptor -> Translator
+ - input: bf collisions.ly, scales.ly
+ - bf: [r8 c8]
+ - naming: Register -> Engraver
+ - force \\ on identifiers
+ - doco updates
+ - musixtex T73 fonts
+
+pl 70.mb
+ - bf: find syntax in Variables.make
+*****
+july 1
+pl 71pre
+ - nested \melodic and \lyric constructs
+ - init id's, Input_register aliases.
+ - bf: notehead x-swap
+ - bf: auto-keys.
+ - bf: first clef
+ - junked \init_end; construct
+ - Preparatory work for MIDI output:
+ * Acceptor as baseclass for Register_group_register
+ * Global_acceptor as interface of Register to Score
+ - bf: empty voice
+ - Lyrics: partially working
+ - some doco updates (junks, mostly)
+
+
+******
+june 30
+
+
+pl 70pre
+ - bf: text Script
+ - bf: Script::dir_i_ checks.
+ - bf: script stacking
+ - bf: Text_spanner::do_subst.
+ - bf: Text_spanner::Text_spanner(Text_spanner&)
+ - bf: script priority read from script.ini
+ - bf: Script_def::do_equal_b
+ - bf: script dims.
+ - mudela: ; obligatory for \paper {}.
+ - some cosmetic changes involving RTTI macros
+
+*******
+june 29
+pl 69pre
+ - bf: whole rest position, whole/half rest dots.
+ - bf: scripts
+ - reg termination
+ - centered bars
+ - bf: init of Tie::dir_i_
+ - bf: Staff_side depends on staff_sym_
+ - bf: Script::do_substitute_dependency() now implemented
+ - more print info (also in output)
+ - bf: Vertical_align_element
+ - stemless beams now allowed (with warning)
+ - bf: Rest_column::stem_l_ init
+ - merge rests.ly with collisions.ly
+
+pl 67.jcn3
+ - rests under beam [c8 r c]
+
+pl 67.jcn2
+ - first attempt at rest collisions
+ - rests.ly
+
+pl 67.jcn1
+ - beam stem length: beams.ly
+ - bf: mingw configure
+ - re: conflily
+
+******
+june 26
+pl 68pre
+ - doco: other-packages.pod, lots of lilyliterature.pod
+ - last duration mode now is default.
+ - some OpusTeX stuff.
+ - bf Y2K in convert-mudela
+ - Grand rewrite of Music/Register stuff:
+ * separation of Y and X-elt-groups
+ * Registers: info up: broadcasts, info down: get_xxx_info()
+ * Registers: try_request works from bottom to top of tree.
+ * Score_elem empty_b_ and transparent_b_ flag
+ * Junk Staff_column, and find the requests while walking the
+ Voices.
+ * Score_register
+ * Staff_group, Score_request_register.
+ * align key/Meters/bar across staffs
+ * junked Staff, Staff_column, Staff_walker, Complex_walker,
+ Request_column Pulk_voice, Pulk_voices, Walker_registers,
+ Voice_element,
+ Input_score, Input_staff, Input_music and a lot of
+ parserjunk.
+ * mudela: lots of structure changes : now much simpler
+ * generation of pre/postbreak items now in Score_elem with deps.
+
+ - bf: make_patch explanation
+ - bf: make install TeX stuff
+ - mudela: . mandatory for REALs
+
+
+pl 67
+ - damped beamslope after wanske
+
+******
+june 3
+pl 67
+ - sketch of Music classes
+ - General_script_def as baseclass for Text_def and Script_def
+ - bf: clean lib/out/liblily.a
+ - bf: rests shorter than 1/4
+
+pl 66.jcn3
+ - bf: make uninstall
+ - conflily
+ - f: some pedaling
+ - plet hack removed :-( [ c c c ]2/3 -> [2/3 c c c ]1/1
+
+pl 66.jcn2
+ - bf: bar, Hilfslinie
+ - bf: configure for mingw32
+
+pl 66.jcn1
+ - WIN32 -> WINDOWS32, more win32->windows32
+ - some GNU/Linux changes
+ - cygnus b18 / mingw update
+ - doze compile; bf: p-score.cc compares
+ - reincluded toccata fixes
+ - small stuff: vi tags, typos, bibl
+
+******
+may 27
+pl 66
+ - make_website --jpeg, --png and --gif
+ - win32 -> windows32
+ - bf: Score_elem::TeXstring assert fail
+ - bf: headswap with stemdown
+ - bf: broken tie
+ - bf: broken slur
+ - bf: accidental dims
+ - bf: measure bar width
+
+
+******
+may 26
+
+pl 65
+ - bf pathfind /root/file
+ - massive Score_elem rewrite:
+ * group_element_i_ count
+ * support for removing an individual Score_elem cleanly.
+ * moved dep stuff into class Directed_graph_node
+ * Score_elems can be copied and deleted freely.
+ * junk PStaff
+ * Spanner_elem_group
+ * Line_of_{score,staff} now are Score_elems
+ * clean dep handling upon deletion
+ * delete unbroken spanners
+ * added a break_processing round.
+ * Super_elem
+ - junk Complex_staff,
+ - clean {lily}?proto.hh
+ - Element_group
+ - Score_elem now as virtual base class everywhere
+ - naming: Staff_elem -> Score_elem
+ - bf: make in toplevel dir
+ - bf: broken tie y-pos
+ - bf: sharing 4th, 8th and 16th noteheads
+ - bf: overlapping chords. <\multivoice c d >
+
+pl 64.wl
+ - new stem direction code
+ - bfs: wohltemperirt.ly (thanks, Werner)
+ - bf: stem direction
+
+pl 63.jcn2
+ - doze compile
+
+pl 63.jcn1
+ - bf: mi2mu mudela commands
+ - bf: mi2mu tracks
+ - mi2mu quantify tuning
+ - mi2mu TODO
+
+*********
+may 16
+pl 64
+ - exe's now built in out/
+ - toplevel Makefile dep from make/Toplevel.make.in
+ - make_website: add version footer
+ - make_website: bf dist *.txt
+ - bf: fix loose bars : \meter 4/4; c1.
+ - Staff_elem -> Score_elem
+ - bf <cis cis>
+ - vbrace lookup
+ - resync barcheck
+
+*******
+
+may 15
+pl 63
+ - bf: segfault during MIDI output with mi2mu output.
+ - kludge: parse error beyond eof
+ - don't read ini if toplevel file not found
+ - accumulate \kern in TeX output.
+ - bf: try to prevent long lines; TeX breaks on them.
+ - naming: Pointer->Link, IPointer->Pointer
+ - bf: \plet didn't work (MB)
+ - GMP manifesto.
+
+pl 61.jcn4
+ - mi2mu -p -s16 fugua2.midi getting better!
+ plus factor 2 mi2mu speedup (fugue2.midi 5.50user)
+ - bf: Duration_convert quantify threshold down
+ - bf: (on quantify): tcols quantified; no silly voices
+
+pl 61.jcn3
+ - lily parsing speedup: backup rules for lexer.l
+ - bf: mi2mu, using midi_voice list...
+
+pl 61.jcn2
+ - all in all mi2mu speedup of about factor 8 since pl61
+ (fugue.midi 82.72user to 10.30user on a 586.133)
+ what about lily?
+ - binary search on track-columns
+ - mi2mu IP*list to Array (implications?!) conversion
+ - mi2mu parsing speedup: backup rules for midi-lexer.l
+ - bf: zero denominator
+
+**********
+may 14
+pl 62
+ - make clean bf: remove lex & yacc files too
+ - added kludge in case measure too long
+ - added kludge in case of unconnected columns.
+ - kludged columns get error marker
+ - kludged lines get error marker
+
+
+pl 61.jcn1
+ - smarter + faster duration-convert using Array
+ - bf: mi2mu compilation/duration-conversions
+ - lots faster mi2mu, hopefully does type 1 too...
+pl 60.jcn1
+ - mi2mu handles non-quantified rests, try mi2mu -b wtk-i/fugue2.midi
+
+
+
+**********
+pl 61
+ - scales.ly bugfix: dimensions default to ((0,0), (0,0))
+ - naming: PointerList->Pointer_list
+ - tied notes don't get accidental
+ - bf: crescendo size
+ - fixes: make_patch,
+ - bf: _"text" direction
+ - mailing list into lilypond.pod
+
+pl 60.mb
+ - set_flower_debug: Warning if -d is used when NPRINT is defined.
+ - Fixed several TeX details. vcenter renamed since it interfered
+ with LaTeX. Position of accents changed.
+ - New example; scripts.ly
+ - table_sixteen: added scriptdefinition (Lilypond breaks if a
+ script is defined without dimensions).
+ - bf: ifndef typos in p-score.cc, choleski.cc
+ - bf: Slur::do_post_processing(), whole notes caused SIGSEGV.
+
+(ascension break :-)
+*******
+pl 57.jcn4
+ - mi2mu handles rests (quantified only)
+ - fixed configure buglet
+ - "!date" Fri May 2 02:18:12 MET DST 1997
+
+pl 60
+ - Request_register::get_feature(), tie direction, Slur direction
+ - lilypond output is now directly texable.
+ - make_website checks return status
+
+*******
+may 5
+pl 59
+ - Slur now into voicegroups, and take stems into account.
+ - bf: rest size in table.
+ - split Slur in baseclass Bow
+ - Tie, Tie_req, Tie_register
+
+******
+may 2
+pl 58.jcn1
+ - bf: toccata-fuga-E.ly
+
+pl 57.jcn4
+ - mi2mu handles rests (quantified only)
+ - fixed configure buglet
+ - "!date" Fri May 2 02:18:12 MET DST 1997
+
+pl 58
+ - lexer cleanup
+ - national chars in lyrics
+ - \stem 2; bf
+ - long comments: %{ %}
+ - *.ini mode bf
+ - bf: partial may be everywhere
+ - bf: meterchange not at start of measure
+ - some doc updates
+ - bf: stem too long if stem is down.
+
+pl 57.jcn3
+ - dank je schat, voor wtk-i
+ - mi2mu tries to handle rests
+ - "!date" Thu May 1 02:34:04 MET DST 1997
+ - maak je het niet te laat schat?
+ XXXX HWN
+
+pl 57.jcn2
+ - small toccata-fuga-E.ly fixes
+ - \bar "||"; is now doublebar, "|." is finishbar
+ - collision hshift fix, with on-line assistance
+******
+pl 57
+ - lots of TODO doco
+ - text alignment bugfix
+ - bugfix Voice_group_regs::get_register_p() now is actually called too
+ - bugfix init of Text_item::pos_i_
+
+pl 56.jcn1
+ - toccata-fuga-in-E.ly, excerpts with real-life collisions
+ - \{l,r}{b,f}{toe,heel} --- using cmsy fonts...
+ - pedal.ly
+
+pl 55.jcn1
+ - mi2mu man page
+ - make doc fixlet
+ - \[lr]heel \[lr]toe scripts (happy pedal studies, pa)
+ - lyric with width
+ - removal of some example files
+
+pl 56.mb:
+ - last duration fix
+ - makefile fixes
+ - space rest
+ - swedish note name update
+
+******
+pl 56
+ - Massive Rest/Stem/Collision/Note_column rewrite: resolve
+notehead/rest ambiguities and bugs. eg, [c8 r8 c8]
+
+pl 54.jcn1
+ - standchen.ly: repeats; lyricii to end
+ - convert-mudela: help + usage
+ - fixed midi key/meter-change (triggered by martien.ly) bug
+
+******
+April 23
+pl 55
+ - staff-side robustification
+ - script-on-rest bug
+ - doc update
+ - transpose syntax
+******
+pl 54
+ - bugfix Colhpos.cc::OK assert fail.
+ - Inclusion of MusixTeX MF files,
+ - detection of MF dir
+pl 53.hwn
+ - stacked lyrics
+ - configure/make buglets.
+******
+pl 53
+ - spurious accidental bug.
+ - simultaneity check.
+ - added AUTHORS.pod
+ - convert-mudela auto from guess
+ - include -> \include
+ - change order of opening parse/init file
+ - Pulk_voice, Pulk_voices
+ - Request_column
+ - revised request-from-voice extraction. Now much faster
+
+******
+april 17
+pl 52
+ - Buildroot RPM
+ - tex-prefix and tex-dir sep'd (here you are jan)
+ - convert-mudela framework
+ - Collision_register, Collision
+ - \hshift 1; input
+ - Features changed
+pl 50.jcn1
+ - LILYINCLUDE dir searched before DIR_DATADIR(?)
+ - lily reads from stdin again (but does not now when to stop)
+******
+pl 51
+ - transposition bugfix + doco
+ - LilyPond -> GNU LilyPond
+ - bugfixes for Staff_side and Note_column*
+ - wohltemperirt: complete
+
+******
+april 11
+
+pl 50
+ - merge rest / notehead.
+ - Staff_side as a base class for most "staff-side" symbols.
+ - version check
+ - Note_column_register, Note_column
+ - multiple scripts
+
+********
+april 8
+pl 49.jcn1
+Bugfix
+ - configure[.in], make/Configure_variables.make.in c++ (=doze fix)
+ - "configure; make" ok for doze, win32 target may be removed now
+ - win32/gcc 2.7.2 compile fixes -- why does this all compile
+ (without warnings, why can-t i even trigger warnings) under
+ linux/gcc-2.7.2.1? it's quite a tedious job fixing this
+ shit _on doze_ all the time.
+ * fixed #includes global-regs.cc, staff-info.cc, staff.cc
+ * key.hh:Key() -> Octave_key()
+ * added missing lily/include/input.hh: Input( Input const& )
+
+pl 49
+ - lsm template
+ - clef in cadenza mode.
+ - notename clear
+ - \command bla; for \meter, \clef, \octave etc.
+*******
+pl 48
+ - notenames init
+ - Duration order -> grouping
+ - broken key s
+ - default octave
+
+******
+april 3
+pl 47
+ - dynamic flowerlib
+ - Input mods: now use Source_file iso Sources
+ - makefile lib deps restructured
+ - make_website now produces in out/
+
+pl 46
+ - examples.pod
+ - LILYINCLUDE env var.
+ - push/popgroup
+ - website updated
+ - Swallow_register
+ - Lyric_register.
+ - Staff_sym_register
+ - user settable register config
+ - struct Input now used iso defined_ch_C_
+ - Walker_registers and Staff_registers separated
+ - dynamic-reg -> hairpins
+
+pl 44.jcn2
+ - doze configure/compile fixes
+ - doze make refixed
+ - faq
+ - install mudela manpage too
+ - RedHat spec lilypond.spec fixed
+ - target: rpm (make RedHat packages)
+
+******
+Mar 26
+pl 45
+ - Removing unused Voice_regs & Voice_groups
+ - -O2 bugfix
+
+pl 44.jcn1
+ - merged 42.3 42.jcn4 code trees (see stuff below)
+ - moving towards Mudela 0.1 (again)
+ * keyword "music" dropped for horizontal music
+ * keywords "\lyric" "\melodic" introduced, e.g.:
+ melody = \melodic { c c | g g }
+ * removed level of indirection:
+ - staff initialisable with music identifier list:
+ \staff{ global melody }
+ - \score and staffs alike
+ - gnu standard(?) help texts
+ - configure "creates" toplevel Makefile from make/Toplevel.make
+
+Bugfix
+ - fixed mi2mu
+ - write meter to track0 too...
+ - default octave
+ - new Sources in My_midi_lexer: sourcefile_p_ = get_file_l(): oeps.
+ (ain-t hungarian grand?)
+
+Examples
+ - updated for mudela 0.1
+
+******
+pl 44
+ - naming: _c_l -> _C
+ - pure parser, My_lily_parser
+ - ''a iso ``a
+ - Includable_lexer
+ - junk Input_file
+ - Duration in parser, Duration restructuring
+ - grandiose lexer hax. Flex should be fixed, really.
+ Lexer much faster now.
+ - opps. mi2mu broken
+
+******
+pl 43
+ - transposition.
+ - $variable&@name
+ - warnings if incorrect mode
+ - missing scsii measure
+ - declaration used check.
+ -
+
+pl 42.jcn4
+ - lily writes midi meter/key changes from requests
+ - mi2mu:
+ + write mudela 0.1
+ + write bar change requests
+ + more tunable quantisation
+
+Examples
+ - half-new-menuetto.ly converted to mudela -almost- 0.1
+ - new mi2mu of bach's wtk pre1/fugue1
+
+pl 42.3 (jcn version)
+ - oeps, branched source tree
+
+pl 42.hwn3
+ - const naming change (T const <-> const T)
+ - Mudela 0.1 (roughly the same as below..)
+
+pl 42.3
+ - moving towards Mudela 0.1:
+ * all keywords must be preceded by backslash '\'
+ * explicit lexer switches '$' and '@' dropped
+ * keyword "music" dropped for horizontal music
+ * keywords "\lyric" " introduced, e.g.:
+ melody = \melodic { c c | g g }
+ * staff initialisable with music identifier:
+ \staff{ melody }
+ * chords: < c e >
+ * octavate ''c``
+ * \meter{ 2/4 }
+ * \octave{ ''`` }
+ - configure sets CXX (to c++, commonly)
+Internal
+ - renamed lexer.hh, mylexer.cc My_flex_lexer to my.lily.lexer.*
+
+pl 42.2
+ - new lilyinput (Mudela 0.1) doc.
+Examples
+ - new-twinkle.ly (in Mudela 0.1, hopefully)
+
+pl 42.1
+ - further Makefile revamping.
+ - moved flowerlib
+
+*******
+pl 42
+
+
+pl 41.hwn3
+ - struct Lexer_prefs
+ - parser bug
+ - make uninstall
+
+pl 41.hwn2
+ - make file rehack
+ - spec update
+ - make install
+ - detect TeX directory
+
+pl 41.hwn1
+ - cygnus configure,
+ - updated versioning
+ - install.pod
+
+pl 41.jn1
+Bugfix
+ - doze compile
+*******
+pl 41
+ - release
+
+pl 40.3
+ - all of the above
+ - hw's configure.in
+ - p-name.xx fixes
+
+pl 40.hwn1
+ - hairpin dynamics
+ - notename now as identifier. Parser/lexer cleanup
+
+pl 40.2
+ - mi2mu --blonde-durations, --no-silly options.
+ - mi2mu starts to look promising, see examples
+Examples
+ - pre1.midi.ly, fugue.midi.ly
+Internal
+ - Duration handles blonde midi-durations
+ - More settings for Duration_convert
+ - lily writes meter too (ugh, howto?)
+Bugfix
+ - mi2mu auto track number fix
+ - mi2mu / lily Midi_tempo fixed/added
+
+pl 40.1
+Bugfix
+ - lily midi output track 0 name
+ - mi2mu tempo fixed
+ - make out/make and out/make/Site.make in configure script!
+ - mi2mu double newline fix
+
+
+******
+Mar 11
+pl 40
+ - release
+
+pl 39-5
+ - own versioning for mi2mu: 0.0.10
+ - some file renaming mi2mu
+pl 39-4
+ - all of the above
+
+pl 39-hwn2
+ - last bar bugfix
+Internal
+ - simple dynamics
+ - experimental RPM spec.
+ - doco update.
+
+pl 39-3
+ - all of the above
+ - m2m renamed to mi2mu
+ - better line breaking in mi2mu
+ - (somewhat broken) progress indicator for mi2mu
+ - mi2mu output === lily input (in names and durations,
+ always assuming voices > 1 though)
+
+Bugfix
+ - midi: note on/off only once per pitch per track
+ (sending all note-on events introduces cool mi2mu feature)
+ - make clean removes deps too
+ - mi2mu notename/accidental/octave, and key fixed
+
+Internal
+ - auto create of out-dirs, config headers, using tag file .GENERATE
+
+Examples
+ - stanchen.ly debugged
+
+pl 39-2
+ - configure script help and in topdir again, duh.
+ - auto configure upon virgin make
+ - configured makefile stuff in make/out/
+
+
+********
+pl 39-1
+ - doze target (for 16 bit dos xcompiler: gcc-go32)
+Internal
+ - make/User.make; C..FLAGS sorted out
+Bugfix
+ - make clean...
+
+pl 39
+ - new make structure, featuring:
+ * top-level/sub-level build
+ * auto custom-library dependencies/build
+ * top-level/sub-level dist
+ * minimal(? can even smaller) specific Makefiles
+ * which makes for simple lib/exe module split (make/Template.make)
+ * integrated flowerlib
+ * all stuff into subbirs (make/Stuff.make)
+ * all headers into <module>/include dirs (make/Include.make)
+ * all output into <module>/out (executables into bin/)
+ * more make features, like make config, make help
+ * small lily lib
+ * lilypond-x.x.x/.version for toplevel lily version
+ * lilypond-x.x.x/<module>/.version for <module> version (eg: flower)
+ * versioning using additional optional MY_PATCH_LEVEL
+ for easy make_patch
+
+ - bin/cptogen
+
+Internal
+ - generic m2m header: m2m.hh
+
+Bugfix
+ - small fixes, make, dist, configure
+
+pl 38-5
+ - all of the below, e.g. new filenames and new makefile
+ structure patches merged
+******
+pl 38
+
+Internal
+ - great filename renaming operation with - convention.
+ - printing methods for paper_def/lookup/symtab(s)
+ - untied all registers from complexwalker. Now registers are
+intrinsically hierarchical. All walker communication is done via a
+"top level" register.
+
+pl 37-3
+ - m2m handles voices
+ - instrument, track_name, copyright/left stuff for m2m/ly
+
+Internal
+ - Midi_voice
+
+pl 37-1
+ - text, key, tempo event in midi output/ly input
+
+Internal
+ - simple makefile structure, allows for multiple projects
+
+******
+pl 37
+
+
+Documentation
+ - language.pod as starting point for mudela devel.
+
+ - Jan's patches:
+Features
+ - m2m patchy --no-triplet option;
+ lilypond accepts m2m's real midi output (hand-add red tape)
+ - m2m output only valid durations, resync option wip
+ - m2m produces .ly output
+Internal
+ - simpler and better naming for Duration*
+ - the great String renaming / index to base=0 change
+ - Track_column, Lily_stream
+ - Duration, Plet, Duration_convert taking load off duration calc.
+Bugfix
+ - m2m duration calc
+
+
+
+******
+pl 36
+ - Jan's patches:
+ - do MIDI rests cleanly.
+ - lily/m2m: time and tempo fixed for metric timing
+Internal
+ - Midi_tempo
+ - m2m parses more midi stuff (all of bach-wtc); timing??
+ - m2m recognises some commandline options
+Examples
+ - fixed midi.ly
+
+*******
+Feb 25
+pl 35
+ - Register_group
+Bugfix
+ - alignment of breakable items.
+
+*******
+pl 34
+ - better midi syntax.
+ - --midi,-M option.
+ - preliminary midi2mudela (/mudela2midi) converter: m2m (JCN)
+Internal
+ - m2m sources: midi-*; (JCN)
+ - new Midi_walker, fixes several MIDI bugs.
+ - junked Midi_staff, Staff_column children, Midi_walker
+ - Midi_output
+
+pl 33-1
+ - m2m parses midi
+Internal
+ - Binary_source_file
+ - Source_file::error_str simplified
+*******
+pl33
+Examples
+ - Swedish notenames (MB)
+
+pl pre33-2
+
+Bugfix
+ - midi pitch
+
+Features
+ - Jan's patches, see below
+Bugfix
+ - some midi bugfixes.
+
+pl pre33-1 (JCN)
+
+
+ - midi output using pitches iso notename
+Examples
+ - added midi output (some midi output files broken?)
+ - all melodic fixed (except for error.ly:-)
+ - midi.ly
+Bugfix
+ - midiwalker line break
+ - empty/nonexistent include at top of ly
+ - midi #tracks
+ - midi pitch c0
+ - midi poor man-s staff dynamics
+Internal
+ - Midi_column, Midi_staff, Midi_walker
+
+pl pre33 (JCN)
+ - Jan's patches, see below
+
+Features
+ - simple plet notation (JCN)
+ - lyrics centred, but no fully suppored? (JCN)
+Internal
+ - Midi_stream
+ - Mididef
+ - Midi_item, Midi_pitch, Midi_duration
+ - Midi_chunk, Midi_header, Midi_track
+ - preparations for midi output
+ - no exit upon context error (JCN)
+ - converted some "warnings" to errors; no output (JCN)
+Bugfix:
+ - simple plet bugfix
+Examples
+ - updated standchen, menuetto (JCN)
+ - new plet notation (JCN)
+ - plet.ly (parse and spacing tests) (JCN)
+
+*******
+pl 32
+Features
+ - multiple meters, see rhythm.ly
+ - skip syntax/Skip_req
+ - score_wide_music: commands in staff now override commands in score.
+Internal:
+ - command carnage
+ - Key_register
+ - Bar_register
+ - Meter_register
+ - meters now kept in baseclass Staff_walker
+ - Score_walker (to ease MIDI output)
+Doc:
+ - Hungarian doco added to CodingStyle
+
+pl 32-1
+ - music processing speedup
+ - website added to doco
+ - clef must *inside* music
+ - fixed spurious "beam too narrow" messages.
+Internal:
+ - merge musical / non-musical staff_column
+ - musical/ non-musical requests
+ - Clef_register
+ - split up request.hh, Musical_req vs. Nonmusical_req
+*******
+pl 31
+
+Examples
+ - Coriolan example (JN)
+ - standchen updated
+Bugfix
+ - calcideal assertion bugfix
+*******
+Feb 12 13:55
+pl 30
+
+Features
+ - better multivoice spacing
+ - move rest in multivoice staff
+ - errors in TeX output now warnings
+ - progress indicator
+ - music processing speedup.
+Internal
+ - make spanner for staffsym; scrap Line_pstaff
+ - scrap simplestaff (Rhythmic_staff temporarily disabled)
+ - docxx 3.0 format comments
+ - split register source files
+ - hardcoded dimensions compile time
+ - Lookup::tex_hairpin
+Bugfix
+ - non G-clef clefs
+ - script junking (2x)
+ - empty files
+ - beam::center (plet position!)
+
+pl 29
+ - multiplatform Makefile (JN)
+ - context errors: bugfixes (JN)
+*******
+pl 28
+
+Internal
+ - idealspacing slightly better for multivoice.
+Doc
+ - Request_register
+Bugfix
+ - Script.cc : float exception (MB)
+ - Request::Request(Request) copying of definition pointer (JN)
+ - cleaned dependencies for broken spanners
+ - stupid typo in Staff_elem::post_processing()
+ - init of hpos in PCol::PCol
+ - Word_wrap::solve() bug
+*******
+pl 27
+ - preliminary WIN32 support (JN)
+Features
+ - errors converted to warnings (JN)
+ - context errors (JN)
+ - As vs. as notename.
+ - WARNING: "melodic" stafftype will create the new Complex_staff!
+Examples
+ - Lohman's Viola Quartet (JN)
+ - JS Bach Solo Cello suite II menuet (JN)
+
+
+pl pre27
+
+Features
+ - option --init
+ - last_duration_mode: default_duration is last duration entered
+ (\duration{\last})
+ - syntax: grouping 2*4 3*8
+ - preliminary multivoice support
+Examples
+ - JS Bach's WTK example added.
+
+Internal:
+ - Text_reg and Script_reg
+*******
+pl 26
+ - Documentation/lelie_logo.png
+ - 8-bit chars for input (see ltest.tex) (MB)
+ - quotes around string now optional
+Bugfixes:
+ - unmatched ] (MB)
+Internal:
+ - print/name methods of Staff_elem
+ - added Request_register
+ - Voice_group_registers, Voice_registers, *_register
+ - Complex_staff
+*******
+ Jan 27 '97
+pl 25
+ - other clefs added, keys typeset properly (MB)
+
+*******
+pl 24:
+ - Lyrics (JCN)
+ - Commands in music-mode (an input feature) (there you are, Mats)
+
+*******
+pl 23:
+ - TODO file inc'd
+ - cadenza mode.
+ - default extension, search path.
+ - error.pod,faq.pod
+ - Markers
+ - configure script
+ - inputfile name in output.
+Internal changes:
+ - scrapped VPATH
+ - Make dependencies per .o
+ - Split Input_* parsing steps to enable marking
+Bugfixes:
+ - unconnected columns
+
+
+*******
+pl 22:
+ - doco from mpp
+ - repeat signs
+ - | checks for bar in a voice (Barcheck_req)
+Internal changes:
+ - naming (Hungarian notation, svec vs. Array)
+ - cleanup PScore, Score
+ - removed Staff_commands, plugging commands into Staff_column directly
+Bugfixes:
+ - bug noteheadswap
+ - huge memleak fixed; unearthed lots of bugs
+
+*******
+pl 21:
+ - scripts
+ - texts
+ - nplets (triplets!)
+Internal changes:
+ - Move breaking stuff into a separate class Break_algorithm
+ - dependencies for Staff_elem's
+
+*******
+Dec 23
+pl 20:
+ - updated doco to .pod
+ - include files from .ly
+Internal changes:
+ - Rational for time measurement
+ - directionalspanner/textspanner
+
+*******
+pl 19:
+ - grouping code: LilyPond can set advanced multibeams.
+Internal changes:
+ - struct Moment
+
+*******
+
+pl 18:
+ - robust Staff_commands
+
+*******
+pl 17:
+ - robust Input_commands
+ - merged Vertical_/Horizontal music
+ - PARTIALs with duration
+ - modularized lexer: multiple runs
+
+*******
+pl 16
+ - notenames configurable
+
+*******
+pl 15
+ - grouping code
+ - multibeams (simple)
+
+*******
+pl 14
+ - symtables from .ly
+ - Input_command
+ - Input_{score/staff}
+
+*******
+Dec 2
+pl 13
+ - Horizontal/Vertical music
+ - Input_commands
--- /dev/null
+August 1
+
+VERSION 1.0.0
+
+ - scsii-paper: no wordwrap
+ - bf's: texinfo
+
+pl 85.jcn2
+ - ONEWS -> NEWS-0.1
+ - bf: zip: list of docfiles
+ - bf: install info
+ - bf's: rpm spec
+ - website ok
+ - mudela version bump -> 1.0.0
+ - bf's: '[a-g] -> ,
+ - bf: broken.ly
+ - ly2dvi fixes, (PC)
+
+pl 85.hwn1
+ - search & replace: jan@digicash.com -> janneke@gnu.org
+
+pl 85.jcn1
+ - website fixes
+ - debian fixes (thanks, Bastian Kleineidam)
+ - some (yet unfinished) doco
+
+*********
+pl 85
+july 30
+
+pl 84.hwn4
+ - revamped install directions.
+pl 84.eb1
+ - key undo
+
+pl 84.hwn3
+ - misc scsii fixes.
+ - doco fixes
+
+pl 84.jcn3
+ - bf: titledefs without poet
+ - scsii fixes
+
+pl 84.hwn2
+ - don't make key items if no accs present.
+ - Oops. Lyric spacing should go to the right (and not left) (thanks, PC)
+ - barnumbering break priority.
+ - bf: tied chords
+ - 16pt init for yodl-mudela
+ - split span-score-bar.{cc,hh}
+ - junked most experimental_features_global_b stuff
+ - revised AUTHORS.yo
+ - dot stuff. Added a Dot_column_engraver (thanks, Mats)
+
+pl 84.jcn2
+ - ly2dvi fixes
+ - w32/install doco fixes
+ - mutopia fixes
+
+pl 84.hwn1
+ - fixes for ly2dvi + titledefs (Peter Chubb)
+ - merge Span_dynamic_reqs too
+
+pl 84.mb1
+ - MF: Added breve and longa rests.
+
+pl 84 jcn1
+ - top website
+ - ps-to-gifs: TRANSPARENT_IS_BROKEN (ppc hack)
+
+pl 84.uu1
+ - doco fixes
+
+*************
+pl 84
+
+pl 83.jcn5
+ - bf: typo mudela-doc
+ - long getopt all the way
+
+pl 83.hwn5
+ - doco fixes
+ - bf: initialise axis_ filed of script
+ - separate versioning for mi2mu and flowerlib dropped.
+ - split bin/ in buildscripts/ and scripts/
+
+pl 83.jcn3
+ - egcs ICE stuff.
+
+pl 83.jbr2
+ - lily/midi-stream.cc: added appropriate MODE options to open
+ midi output as a binary file. This should be pretty harmless.
+ - lily/lexer.ll: added \r as white and black space to enable
+ W32 native editors. This also should be harmless.
+
+pl 83.jbr1
+ - flower/lgetopt.cc: report method fix. (String + char needs to be
+ fixed)
+
+
+pl 83.hwn4
+ - stepmake := stuff
+
+
+pl 83.hwn3
+ - \property maxVerticalAlign, minVerticalAlign tunes vertical
+ staff distances. See input/test/vertical-align.ly
+ - bf: scripts over chords. (thanks, PC)
+ - revamped aligning stuff: Align_element is baseclass
+ for Horizontal_align_item and Vertical_align_spanner
+ - bf: Clef_item with _8 does new/del correctly.
+ - more file renaming -elem -> -element
+
+pl 83.hwn2
+ - doco fixes (thanks, Lambert)
+ - tieydirection,slurydirection overrides ydirection (thanks, PC)
+
+pl 83.jcn1
+ - bf: stepmake
+
+pl 83.hwn1
+ - rm'd clean-embeds.sh
+ - rm'd \octave from all examples.
+
+pl 83.uu1
+ - mi2mu output mudela 0.1.21
+ - meter -> time_signature
+ - bugfixes for mi2mu, divide by zero error. (thx, JBR)
+
+
+********
+july 23
+
+pl 83
+pl 82.hwn2
+ - \musical_pitch -> \musicalpitch (mudela 0.1.21)
+ - meter -> time_signature,
+ - \meter -> \time (mudela 0.1.21)
+ - moving around files : -grav -> -engraver
+ - doco fixes
+
+pl 82.jcn5
+ - doc make fixes; stepmake 34
+
+pl 82.jcn4
+ - lots of doco build/install/website fixes
+ - junked some doubles from doco
+
+ - mi2mu syntax to 0.1.20
+ - bf: mi2mu col creation
+ - bf: stream << '\t', int
+ - bf: mi2mu version
+ - bf: font-body.ly
+
+pl 82.jcn3
+ - bf's: diff/stepmake
+
+pl 82.jcn2
+ - bf: slur blow
+ - tie/slur ydirection
+ - makeflags / diff fixes
+
+pl 82.jcn1
+ - rejects: verbatim copy of Coriolan from 81.jcn2
+
+pl 81.jbr2
+ - Documentation/README-W32.yo: Additions to section 2
+
+*******
+
+pl 82
+
+pl 81.jbr1
+ - NT fixes for release target
+ * stepmake/stepmake: %=--% => %=% in diff target
+ Cygnus make with MAKE_MODE=unix forces a MAKEFLAG of --unix.
+ This results in a ----unix switch being passed to package-diff.
+ This may break normal operation of this target.
+ * stepmake/bin/package-diff.py: added a do nothing option --unix
+pl 81.jcn2
+ - bf: abbrev
+ - found ugly slur bug
+ - egcs workaround
+ - more Coriolan fixes
+ - half-beam fix
+
+pl 81.hwn2
+ - lots of vocabulary
+ - break_priority_i_ fixes: barnumbering, marginstuff, marks now work more or less
+ - wrote lilypond-docs RPM spec
+ - major brainsurgery: class Graphical_axis_group:
+ * derive Axis_group_element from Graphical_axis_group,
+ * derive Graphical_axis_group from Graphical_element
+ - junked input/minimal.ly
+
+
+pl 81.hwn1
+ - cleaned up parser.yy (removed \textstyle from parser, other stuff)
+ - Slurs have height too.
+ - typewrite textstyle
+ - added error rule to music.
+ - Documentation/pictures/ subdir
+ - Documentation/topdocs/ subdir
+
+
+pl 81.jcn1
+ - coriolan fixes.
+
+******
+july 16
+
+pl 81
+
+pl 80.jcn1
+ - Coriolan: bulk remainder of strings
+
+pl 80.hwn1
+ - junked coriolan-alto.ly
+ - the great Search & Replace
+ * Score_elem -> Score_element
+ * hanwen@stack.nl -> hanwen@cs.uu.nl
+ * Colinfo -> Column_info
+ * add () -> add_xxxx ()
+ * Col_hpositions -> Column_x_positionso
+ - lily-proto.hh cleanup
+ - moved Dot_column creation. Dot bug fixed
+ - typos README-W32
+ - ADD_THIS_TRANSLATOR uses templates now.
+
+pl 80.eb1
+ - accidental transposition
+
+
+*******
+
+pl 80
+ - some make vs $(MAKE) bugs
+
+pl 79.hwn1
+ - bf lily/VERSION depends on toplevel VERSION
+ - bf postbreak_only scripts
+ - Staff_side now is horizontal too
+ - rm'd \octave in scales.ly
+
+pl 79.jcn2
+ - w32 support doco (JBR)
+ - bf: install info
+ - truncated some very long filenames (not bo length)
+
+pl 79.jcn1
+ - bf: ps-to-gifs
+ - html fixes
+ - more italian (TDM)
+ - more coriolan
+
+
+*********
+pl 79
+
+pl 78.hwn2
+ - reversed some of the beyond-too-ugly hacks for script/staffside.
+ - bf: Axis_group_element::access_Axis_group_element () (2nd fix for Hara_kiri)
+ - more .bib stuff.
+ - more doco, lots of small fixes for .yo stuff.
+
+
+pl 78.jcn2
+ - bf: make docxx
+ - some doco/website fixes
+i - screenshots for website
+ - fixed locale
+ - v78
+ - w32 doco
+
+pl 78.hwn1
+ - more bib fixes
+ - uniformised virtual accessors for Score_elem children.
+ - bf Hara_kiri seg fault
+ - changed left == right spanpoint assert into warning
+ - changed Lyrics.textstyle to Voice.textstyle where appropriate
+
+pl 78.jcn1
+ - counter fix
+
+************
+
+pl 78
+
+pl 77.hwn1
+ - Key transposition (MB)
+ - move .dstreamrc to dstreamrc
+ - make website fixes. junked z.yo, language.yo
+ - split off computer stuff from engraving.bib
+ - articles from CMJ added to computer-notation.bib
+ - doco fixes
+ - syntax of \skip and \partial changed; take only single durations
+
+
+
+pl 77.jcn2
+ - mark placement
+ - w32 doco
+ - html-footer: (PACKAGE)_COUNTERPATH
+
+pl 77.jcn1
+ - doco, bib fixes
+ - fixed \mark A; \mark 12;
+
+pl 77.hwjc
+ - dropped perl
+ - py fixes
+
+
+pl 77.uu1
+ - \textstyle obsoletized, use \property Voice.textstyle now.
+
+*******
+pl 77
+ - bf: install info
+ - bf: key-grav.cc: ambiguous conversion
+ - bf: mudela.yo glossary em() -> \emph{}
+
+pl 76.jcn1
+ - irix compile install fixes, .bib stuff (HWN)
+ - bracket bit lighter
+ - brace/bracket placement
+ - minor fixes in key code
+ - small website fixes
+ - invocation mudela-book
+ - try at bracket/brace placement
+
+pl 75.mb1
+ - Introduced real key names, \key e; gives E major!
+ - Previous use of the \key command now called \accidentals,
+ \accidentals fis cis gis dis; gives E major.
+ - Support for special keys with different accidentals on
+ different octaves, \specialkey \accidentals Fis Bes gis aiss';
+
+**********
+pl 76
+ - website examples:
+ * Thread -> Voice
+ * 18 -> 19
+ * type /consists Engraver vs Line_engraver stuff
+ - bf: mutopia-index
+ - to relative: twinke-pop
+ - bf: clef-grav: null pointer assignment
+ - ran convert-mudela
+
+pl 75.jcn3
+ - minieme fixes (HWN)
+ - bf's: node() names have changed: Mudela Book/ Convert Mudela
+ - bf: lilyponddefs.tex: removed \fi, added braces
+
+pl 75.hwn2
+ - bf lilyponddefs.tex: added \fi to \ifs
+ - convert-mudela in python
+ - mudela-book in python.
+ - bf memleak Score_elem::do_brew_molecule ()
+ - bf array bound read String_convert::split_arr
+ - bf free mem read Item::Item (Item const &)
+ - bf memleak Midi_walker::do_{stop,start}_note ()
+ - bf memleak Spanner::do_brew_molecule ()
+ - bf plet-engraver memleak
+ - checked input/bugs dir.
+
+pl 75.hwn1
+ - junked octave (mudela 0.1.19)
+ - more .bib stuff
+ - doco fixes.
+
+pl 75.jcn2
+ - binary releases:
+ * make deb
+ * dpkg 1.4.0.23.2
+ * debhelper 0.96
+ * /usr/bin/db_*: remove -p from install options (urg)
+ * make rpm
+ * make zip
+ - path to nice lilypond.info (must have a go at auto-nodes):
+ * mv'd Documentation/man/lilypond-info.yo -> Documentation/topinfo.yo
+ * included mutopia as example
+ - bf: gifs: $(wildcard)
+ - leave tarball in out/ too, after 'make release'
+ - mf-to-table: --package
+ - typo configure.in
+ - nt make fixes (JBR)
+
+pl 75.hwn1
+ - clef 8 fix (AG)
+ - junked octave (mudela 0.1.19)
+ - more .bib stuff
+ - doco fixes.
+
+pl 75.jcn1
+ - dropped mf/Rules.make
+ - dropped target doosdist
+ - dropped lilypython/pythonblurb
+ - --package rest of python exes
+ - packagepython/package-diff fixes
+
+
+**********
+pl 75
+
+pl 74.jcn5
+ - lost of (step)make fixes
+ - 'make release'
+ - --package
+
+pl 74.mb1
+ - Fix ":|:" that spans several staffs
+ - bf: bar.cc, table of breaks
+ - bf: engraver.ly, Complete the addition of ChoireStaff
+ - bf: lilyponddefs.tex, placement of ":|".
+ - Cleanup clef-item and clef-grav, prepare for dictionary
+ of clef names.
+
+pl 74.jcn4
+ - cygnus fixes: doco, compile, install
+
+pl 74.jcn3
+ - packagepythonified genheader
+ - stepmake 21
+
+pl 74.jcn2
+ - renamed: ../redhat to ../RedHat
+ - renamed (or huh, was this a typo?):
+ ../sourcetree -> lilypond-x.y.z to ../lilypond -> lilypond-x.y.z
+ - what about ~/rpms; see stepmake/Variables.make?
+ - README.txt
+ - debashify: zet-lily (HWN)
+ - www, yodl, stepmake fixes
+ - ls-latex fixes
+ - mudela.yo fixes
+
+pl 74.jcn1
+ - mudela.yo fixes
+ - bf: add-html-footer: duplicate <body>
+
+*********
+pl 74
+ - bf: ps-to-gifs fix
+
+pl 73.jcn2
+ - irix configure/link fixes (HWN)
+ - untested fix for "^\f" (HWN)
+ - add-html-footer: bgcolor=white
+ - m.yo: successful 2tex and 2html
+ - ps-to-gifs additions and fixes
+ - bf: --output
+ - (step)make targets:
+ * diff
+ * help
+ * rpm
+ * zip
+ - yodl-1.30.pre4: handle mudela(options)(mudela)
+ - small m.yo example for mudela.yo
+ - crude tex2yodl in stepmake
+ - mudela from stdin: default to filter behaviour
+ - allow lelie to act as a pseudo-filter --output=-
+ - fixed faq.yo
+ - atvariables
+ - bf's: module-deps
+ - bf's table-to-html and invocation
+ - small doco fixes
+
+pl 73.hwn1
+ - more doco
+ - got rid of weird <> semantics
+ * Ties_engraver, Note_heads_engraver
+ * depracated \multi
+ * depracated Thread context
+
+ - wtk1-fugue{1,2} now in relative mode.
+ - don't create Rest_collision, Collision if no more than one
+ collider (interpreting should be faster, less mem usage)
+ - depracate Line_group_engraver, must use Line_group_engraver_group
+
+
+pl 73.jcn1
+ - tiny topweb.yo fixes (added 'Documentation/out-www/' to some urls)
+
+*********
+pl 73
+ Yodl developent:
+ ftp://pcnov095.win.tue.nl/pub/yodl/
+ http://www.digicash.com/~jan/yodl/
+ - removed BLURBS from makefile
+ - stepmake pl 16
+ - To Yodl:
+ * *.pod -> *.yo (should fixup pod 'manpage' legacy)
+ * dropped pod2* config stuff
+
+pl 72.hwn1
+ - count "constraint off" as degeneracy
+ - zet-lily stuff.
+ - bf: add Meter_engraver
+ - bfs: tutorial
+
+pl 72.jcn3
+ - Documentation/man texinfo-> YODL!
+
+pl 72.jcn2
+ - more texinfo:
+ * texi2html workarounds: junked man/*.pod
+ * Documentation/man: pod -> texinfo
+ - Coriolan: viola part
+
+pl 72.jcn1
+ - doco/mutopia/website fixes
+
+*********
+pl 72
+
+pl 71.jcn4
+ - try at texinfo:
+ * lilypond.texinfo
+ * stepmake pl 13: texi2man
+ * lilypond.1 now generated from texinfo
+ * lilypond.info
+
+pl 71.hwn2
+ - changed QLP asserts to warnings; now you can see the
+shabbyness of the QLP code
+ - ChoireStaff context
+ - more tutorial doco
+ - mudela-book: name output files to per section and chapter.
+
+pl 71.jcn3
+ - bf: convert-mudela: added StaffGroup
+ - bf: various .ly: (WhyIsThis; we'll drop a_"bla" and use '_', no?)
+ - stepmake pl 12
+ - bf: abbrev + beam (urg: internote y dim bug)
+ - debian conffiles (AF)
+
+pl 71.hwn1
+ - vocab fixes
+ - more tutorial stuff
+ - quart -> fourth
+ - depracated contexts with _ in name (mudela 0.1.17)
+ - bf: don't crash if default context can't be found
+ - distinction between global and local \header block.
+
+pl 71.jcn2
+ - msgfmt check
+ - rpm: crude fix for input dir (urg: should get doc on rpm spec;
+ why is that so hard to get hold of in plain text?)
+ - found (bit undocumented) sticky abbrev mode in stem-grav:
+ c8:16 c: c:
+ * bf: enable disabling
+ * disabled sticky abbrev req
+ - urg: transposing for midi (should fix audio-items)
+ - sticky abbrev req: a8:16 a a a8:
+ - bit more coriolan
+
+pl 71.jcn1
+ - added PATCHES to web page
+ - rpm-dist, doos-dist, show-latest to step
+
+********
+pl 71
+ - bf: po install
+ - fixed somewhere: space between bar line and first note [HWN]
+ - bf: DOTTEXT
+ - bf: (don't) install libintl
+ - configure fix for irix tr
+ - bf release.py
+ - stepmake-0.1.9: fixes make install, rmp-dist
+ - bf: mf-to-table
+ - make-patch: lily-diff
+
+pl 70.jcn6
+ - make htmldoc defaults to out-www
+ - moved some python stuff to stepmake-0.1.8
+ - aux config scripts from stepmake
+ - stepmake-0.1.7 as ./stepmake: drop versioning on sub-package dirnames
+ - po fixes
+ - computer-forms.el
+
+pl 70.jcn5
+ - bf: Documentation/make html
+ - bf: coriolan ... almost there
+ - bf's: lilyponddefs: (fixes make website)
+ * moved errordefs (mmm, perhaps \input's should have been moved...)
+ * moved def of interscoreline
+ * moved def of setdynamic
+ - stepmake 0.1.6
+ - include fixes
+
+pl 70.jcn4
+ - configure stepmake too
+ - make dist recurses into stepmake
+ - stepmake-0.1.5
+
+pl 70.jcn3
+ - make; make dist work (without packaging) stepmake-*
+ - mv'd outputter* tex-outputter*
+ its not so handy to have files with the same prefix as our out dir :-)
+ - verbatim included stepmake-0.1.4
+ - DOTTEXT->.txt
+ - verbatim included stepmake-0.1.3
+
+pl 70.jcn2
+ - changed 'current' to 'lilypond' in scripts that only i ever use...
+ - tenuto shorter, thicker and follow into staff
+ - computer{.data,-forms.el}
+ - mark
+ - by default don't make libintl
+ - make install for libintl
+
+pl 70.jcn1
+ - generic make fixes
+
+********
+pl 70
+
+pl 69.jcn4
+ - included libintl from gettext-0.10
+ - fix: staff-bracket on one staff too
+ - bf: lilymake/Rules
+ - generic lily-make-0.1.0 package; shared as example with lilyx-0.1.0
+ - junked automake stuff from aclocal.m4
+ - bf: BASH scripts
+
+pl 69.hwn1
+ - standardised virtual accessor naming for Requests
+ - doco updates.
+ - bf: tied accidentals.
+
+pl 69.jcn2
+ - now DATADIR = datadir = /usr/local/share/lilypond ...
+ - bf's: DATADIR/datadir: by default: /usr/local/share; '/lilypond'
+ must be added whenever necessary
+ - bf: begin/end html for BLURBS; junked html-accents...
+ - html-accents
+
+********
+pl 69 (june 2)
+ - bf: table-to-html: convert_html
+ - bf: added fingerfont in fetdefs.tex
+ - crude fix: fetdef repeatcolon
+ - gallina.ly to relative octave mode (MB)
+
+pl 68.jcn3
+ - bf: libintl.h include
+ - readded: DATAFILES =.*data (too late, computer vocab missing...)
+ - span-score-bar:
+ * don't set piano braces that span less than two staffs
+ * don't set staff brackets that span less than one staff
+ - bf: abbrev (internote dim)
+ - more coriolan, hara-kiri
+ - add arcs to bracket height to avoid colliding of brackets
+ - HAVE_GETTEXT
+ - computer.data: modest start of computer-related vocabulary
+ - configure (localdir/datadir) fixes
+
+pl 68.nenn1
+ - fix for postbreaks past line_group
+ - bf: harakiri: set empty
+
+pl 68.hwn1
+ - use AFM iso autogenerated table.
+ - more bits of tutorial
+
+*********
+pl 68.jcn2 (may 29)
+ - bf: configure.in localedir/datadir (urg)
+ - libc-extension.cc: vsnprintf + check
+ - bf: blurbs
+ - @BASH@ for scripts that are actually (still...) bash iso sh
+ - check for bash
+
+pl 68.jcn1
+ - gettext/intl checks; (AO)
+ - bf: meter-switch
+ - COPERTINA
+
+pl 68
+ - AFM file stuff: afm.cc, afm-reader.cc, mf-to-table.py
+ - removed c0 position from get_staff_info ()
+
+pl 67.jcn2
+ - grace example
+ - bf: sticky plets
+ - bf: s0
+ - bf: twinkle.ly
+ - junked implicit to-string conversions
+ * now used Scalar for all explicit implicit conversions
+ * moved implicit-conversion String constructors to to_str (...)
+ - _f with Strings
+ - bf: BLUB: re-added empty line
+ - bf's: reincluded: tar-docxx.sh, topweb.pod.in (<aol>me too!</aol>)
+ - po: unification/breaking-up of (some) messages
+ - crude get-lily/build-lily scripts
+ - make targets "po-update" "show-po-update LANGUAGE=xxx"
+ - handier internationalisation funcs _(), _f () iso macro
+ - String_convert::form_str (fmt, ...)
+
+
+*******
+pl 67 (may 27)
+ - multiple font sizes. See input/test/sizes.ly
+ - w32 blurb by Dominique Cretel
+ - bfs faqs
+ - cleaned Identifier further; canonical accessors
+
+pl 66.jcn7
+ - bf: hara-kiri clefs: (the "u" is "\unknown"; how to fix this?)
+ - bf's: make website
+ - better configure language message
+ - bf: lilpond.spec
+ - bf: configure/localedir
+ - internationalisation: po/*
+ - distribute mutopia/ in binary rpm too
+ - FLAPTEKST
+ - "generate" all debian conffiles in out/
+ - BLOEP; and BLURB substituted by configure throughout doco
+
+pl 66.jcn4
+ - bf's standchen
+ - website fixes for .fly
+ - target doc++; tar-docxx fixes
+ - topweb fixes
+ - configure check for pod2html 5004/5003
+ - switch init file on extension (some new ones):
+ * init.ly: normal structured Mudela
+ * init.fly: simple Mudela (for on-the-* without tape ly's)
+ * init.sly for simple init (no properties,scripts,midi)
+
+ - bf: stem with flags (forgot internote dimension)
+ - bf's mutopia (urg, properties)
+ - String_storage: parse string identifiers (i didn't do it, nobody saw me do it, you can't prove anything)
+ - scsii-prelude: urtext and suggested slurs separated
+ - converted twinkle, kortjakje, standchen, preludes to relative
+ - conflily -> zet-lily
+ - -Q --find-quarts option
+ - bf: add-html-header: mailaddress () iso mailaddress
+ - bf: show-latest looks at MY_PATCHLEVEL too
+ - fixes scsii
+
+
+
+***********
+pl 66 (may 18)
+ - junked literature.pod (we now have the .bib file)
+ - bits of mudela.doc
+ - other-packages.pod -> other-packages.bib
+
+pl 65.jcn3
+ - print_dimen: don't print "NaNpt"
+ - fixed Coriolan, added "instrument" and "instr"
+ - MIDI favours property "midi_instrument" over "instrument"
+ - Bar::do_height iso brew_molecule hack: not quite yet...
+ - stem/beam: more stuff runtime
+ * beam-dir-algorithms
+ * beam-stemlengths: take unnatural dir into account
+ * natural stemlength
+ * forced stemlength shortening
+ - bf: Bar: don't make molecule if invisible; fixes hara-kiri
+ - robustification of MIDI: never return "", always return sane
+ string and print warning
+ - bf: typo Key_change_req::sharps(); fixes MIDI
+ - scsii: new relative octave fixes, gigue
+
+pl 65.jcn2
+ - included some auto-generated mf files for MikTeX (doos).
+ - hara-kir: nicer set-transparent
+ - relative.pod: doco'd blonder relativeness
+
+
+pl 65.jcn1
+ - staff-margin-engraver
+ - blind scsii fixes for new relative mode
+ - bf's: hara-kiri-*
+ - jumps in topweb.pod
+
+*********
+
+pl 65 (may 15)
+ - fixes for template instantiation (AO)
+ - junked standchen-easy,
+ - mudela 0.1.15: deprecate \duration, junked \octave relative
+ - small doco fixes
+ - moved data from Melodic_req into Musical_pitch (analogous to
+ Duration and Rhythmic_req)
+ - implemented \relative c' { .. } and associated Relative_octave_music
+ - junked \octave relative;
+
+pl 64.jcn2
+ - simple compile fixes
+ - bf: beam:stemlens:knee
+ - hara-kiri-*
+ - bf: ctags
+ - preludes-3.lym4
+
+*********
+pl 64 (may 13)
+
+pl 63.jcn3
+ - beam stemlength stuff runtime
+ - dropped lq for beam-stemlengths, fixes [d d d] [d g d]
+ - ugly sed fix for commas in .ly.m4
+ - beam damp corrent fix
+ - scsii: small fixes
+ - preludes.ly; dropped silly preludes.tex
+
+pl 63.jcn2
+ - vocabulary on website
+ - data-to-html.py
+ - bf: beam damped-slope correct
+ - bf: make website
+ - some preludes-* fixes
+
+pl 63.jcn1
+ - "relative" sizes for titledefs
+ - bib2html/man2html urls in INSTALL.pod
+ - auto-generated feta stuff in doosdist
+ - bf's: make dist, docdeps
+ - bf's scsii
+
+************
+pl 63 (may 11)
+
+ - non_fatal_error () (should use!)
+ - Mozart Horn concerto 3, horn part
+ - bf: plet-spanner
+
+pl 62.jcn11
+ - bf: beam::set-stemlen:iterations
+ - knee-bug.ly
+ - use knee in menuetto-ii
+ - bit on slope damping
+ - some bf's and doco
+ - bf's scsii
+ - scsii: bf' new: sarabande
+ - bf's allemande, courante
+ - bf: knee: stem through beams
+ - bf: too high beams
+
+pl 62.hwn1
+ - bf jcn8: deep copy Scope (ughugh. I want GC!)
+ - cleaned Identifier
+ - mudela 0.1.14 'a -> a,
+ - class Scope
+ - .bib updates
+ - key robustifiction for extreme octaves
+ - ly2dvi 0.11
+ - energy "normalisation" removed.
+
+pl 62.jcn8
+ - beam: knee input/test/knee.ly
+ - vimrc init for lily
+ - errors display column number too
+ - scsii: bf's, new: allemande, courante
+ - looked at lyric lengthen "mir________." (eerste weigering)
+ - beam: knee [c \stemdown c' \stemup 'c]
+ - expressions parsed at identifier_init
+ - bf: slur/stem/whole x-adjust:
+ * use note-col width iso mean note-witdth
+ * note-column:width ()
+ - now string variables in paper too -> mudelapapersize
+ - paper_def: real dict -> identifier dict
+ - My_lily_lexer: identifier dict stack
+ - init paper and a4 stuff
+ - \include \string
+ - all rvalues from parser var pool -> access rvalue as \rvalue
+ - string variables
+ - ly2dvi 0.10.jcn1
+ * mudelapiece, mudelaopus (ugh, fix)
+ * textheight
+ - more titledefs
+ - bf: table 20 typeface widths
+ - bf: toplevel/*.txt
+ - bf: ugly Documentation/mutopia fix (should rename dir to Mutopia/ ?)
+ - bf: make examples
+ - www.digicash.com/~jan/lilypond
+ - make website fixes
+ - ambiguity fixes in .ly's
+ - bf: relative-octave warning
+ - relative-octave: guess if ambiguous
+ - ambiguity warning for relative mode
+ - scsii: prelude
+ - bf: slur gap
+ - bf's: scsii: menuetto
+ - .txt -> $(DOTTEXT)
+ - make website fixes
+ - .txt fixes
+ - bf: typo make-patch
+ - bf: *dist.sh cleanup
+ - bf: release.py
+ - bf: make/Targets doc (removed .txt extension)
+ - rpm-dist.sh
+ - make doos dist fixes
+ - doos-dist.sh windoze dist script
+ -- removed useless spacing hack at spring-spacer.cc:692
+ - bf: los-toros: do multi-bar rests (setting SkipBars = 1)
+ - scsii-menuetto.ly -> menuetto-urtext.ly, -cello.ly and -alto.ly
+ - bf: \octave c'; for relative-octaves
+ - bf: Documentation make
+
+*********
+pl 62
+ - no-touch hak.
+ - bfs: multi measure rests
+ - fixed the website.
+ - add extra space after breakable columns.
+
+
+pl 61.jcn8
+ - mudela relative octave feature:
+ * Documentation/relative-octaves.pod
+ * \octave relative;
+ * lilypond -f for automatically finding new relative quote positions
+ (sorry, fully automated convert is too complex)
+ * mutopia/ltor.ly: octave quotes reduced from 511 to 59
+ - better conflily
+ - bf: abbreviation-beam-engraver: set beam::multiple_i_
+ - bf: open_abbrev_parens
+ - dotted/dashed slurs/ties
+ - fixed-up scsii-menuetto; use dotted-slurs
+ - slur_thickness runtime
+ - bf: typo lilyponddefs: elevendefs
+ - moved hard-coded slur parameters to runtime
+ - make-patch -r: diff against latest release
+ - allow semicolons after paper_identifier and \include
+ - params.ly: parameterised some paper vars
+ - bf: beam quantise for slope = 0
+ - interbeam (mult>3) open-up to paper-def to paper!
+ - "implemented" Paper-def::staffheight
+ - simplification + bf bezier clipping
+ - vandale fix
+ - moved doco from paper*ly to fonts.doc
+ - papers with expressions
+ - paper20.ly: rewrote precalculated values as expressions
+ - simple expressions in mudela (paper-body only)
+ - beam_thickness centralised and run-time...
+ - \nobreak
+ - bf: beamquantise: never sit if mult > 1
+ - bf: broken slur y-offset (not!)
+ - pagelength hack in tex/headers
+ - alignment of bracket (in span-score-bar.cc)
+ - boolean *break_b to continue break_penalty_i; maar nu...
+ - removed paper20 includes, \paper_twenty from examples
+ - dropped latex files
+ - renamed standje, standchen.
+ - parser accepts range of mudela-versions
+ - Mudela_version
+ - String_convert::split
+ - bf's: los-toros-oboe
+ - braindead Break_req with penalty; junked Disallow_break_req and
+ Break_force_req
+
+pl 61.ag1
+ - implemented octave-shifted clefs.
+
+********
+
+pl 61
+ - bf: mudela-book error msgs
+ - don't dist feta-tables.
+ - bf: mf-to-table, deps[0] catch
+ - reworked initialisation parsing logic; Got a no-redtape mode
+ for free
+ - 20 pt staffsize now default
+ - dependencies for LilyPond (-d, --dependencies). --debug moved to -D
+ - (c) 1998
+ - ly2dvi 0.10 (JAF)
+ - changed \begin[options]{mudela} to \begin{mudela}[options]
+ - more WWW hacks.
+
+pl 60.jcn2
+ - minor adjust for asymmetricity of beam symbol
+ - added TEST beam quantisation; see input/test/beam-pos.ly
+ - removed some empty .cc .hh
+ - Grandstaff -> Grand_staff (After [Gerou] and Harvard Dictionary of
+ Music)
+ - bf's: slur and tie post-processing
+ - cleaned-up bow: get encompass
+ - cleaned-up beam-yspan and beam-leftpos quantisation
+ - misc.cc: some funcs to get lower and upper bounds from array of values
+ - interval.*: Slice (Interval of int)
+ - added some doco to beam.cc
+ - removed some x,y by-ref passing in Lookup
+ - cleaned-up beam-yspan quantisation
+ - cleaned-up slur get encompass
+ - configure: --disable-optimise for compile without -O
+
+pl 59.jcn4
+ - bf: beam quantise
+ - bf: sticky plet bug
+ - bf: chords in beam
+ - bf: typo beamquantisaton
+ - bf: don't blow_fit infeasible bows (x_i < x_0 || x_i > x_n)
+ - bf's: beam/stemlengths, beam-bug [c8 c16 c16]
+ - bf: placement broken tie
+ - yet another try to raise bar-number
+ - bf's: bow tangent clipping, allow higher bows
+
+************
+pl 60
+ - mats patches: use Latex font stuff.
+ - fixes to the .59 patch release (jcn)
+ - make website|examples target
+
+pl 59.jcn3
+ - bf: preludes-5
+ - no inline compiler warnings by default
+ - bf: gcc 2.8 compile bow.cc
+ - moved functions with loops from varray.hh to varray.cc
+ - bf: minimum length for tie
+ - slur clipping standard
+ - bf: second broken slur minimum length
+
+pl 59.jcn2
+ - added some to .dstream
+ - bf: second part of broken slur
+ - slur encompassing noteheads adjust
+ - bwv'd preludes
+ - bf: make-patch -d
+ - doc'd rerunning of autoconf
+ - rest of real standje (rename and move simplified standchen to
+ input/test?)
+ - bf: clipping
+ - bit better bar number placement
+
+pl 59.jcn1
+ - more INLINE
+ - bf: multi-measure rest
+
+pl 58.jcn7
+ - los-toros: do multi-bar rest
+
+
+
+***************
+pl 59
+ - ly2dvi 0.9.hwn1, -K switch,
+ - doc: moved manpages in separate directory.
+ - do WWW stuff via make
+ - mutopia-index.py
+ - ly2dvi 0.9 (JAF)
+ - multi platform build fixes
+ - junked embedded switches, embedded MF, obsolete TeX stuff
+ - junked virtual matrix storage: inlined most matrix computation,
+ speed increase of 30%
+ - junked taupindefs, eglerdefs
+ - rm'd taupin/egler from INSTALL
+ - doc: engraving.bib, colorado.bib
+ - input hierarchy.
+
+
+pl 58.jcn6
+ - multi-measure rests: moved acknowledge from timing-translator
+ to -grav
+ - slur clipping experimental...
+ - bo to b
+ - always announce multi-measure
+
+pl 58.jcn5
+ - bf: reset plet after reading mmrest
+ - try at not generating moments...
+ - Multi_measure_rest 'symbol'
+
+pl 58.jcn4
+ - try at multi-measure rests: part.ly
+ - bf's: slur get_encompass
+ - bf: slur clipping
+
+pl 58.jcn3
+ - experimental (--test) clipping of too high or tilted slurs
+ - nicer slur control output and ps code
+ - bit thicker and round-capped tuplet bracket
+ - bf: slur.cc: RESIZE_ICE
+
+pl 58.jcn1
+ - varray.hh bezier.cc, slur.cc patches to avoid gcc 2.8.1 ice
+ - some inlining fixes
+ - configure: use -O to enable inlining
+ - included and fixed new make-patch.py
+ - bf: Mutopia.make
+ - bf: offset: operator - ()
+ - ugly hack bezier: do blow_fit twice
+ - bf's: bezier: rotate,translate
+
+***************
+pl 58
+ - more *.make hacking
+ - bracket fix (AG)
+ - clef fix (PC)
+
+pl 57.jcn1
+ - reincluded test/bow.cc
+ - promoted Bezier bows to standard
+ * bf's: broken slurs
+ * some bf's: verneukeratificering van JCN code
+ * some bezier slur doco
+ * calculate Ties with Bezier bow
+ * junked tex-slur.cc
+ * junked ps-slur code
+ * junked height-only slur-correction
+ * lots of bezier/slur fixes
+ * bezier:blow_fit
+
+**************
+pl 57
+ - verneukeratificering van JCN code.
+ - lots of updates on our own makefile system.
+ - junked automake & documented it
+ - put rods into Spring_spacer too. Much cleaner
+ - bf: weird spacings (enge floats)
+ - bf: too many constraints added.
+ - smarter constraint check
+ - bf: table16 fontsize.
+
+ - 56.jcn1's empiric computer science.
+ - debian patches (AF)
+ - solaris/irix patches (AO)
+
+
+ pl 56.jcn5
+ - bezier and slur: cleaning and fixes
+ - bf: removed silly experimental beam feature
+
+pl 56.jcn4
+ - reintruduced slope in bug [c8 c16 c16] in favour of stemlen bug...
+ - staff-side: accent half line higher
+ - reincluded silly los-toros latex file
+ - bf's: bezier.cc,bow.cc, mat.hh: rotate
+ - bf: bezier slur: handle broken slurs
+ - bf: beam
+ - dehairifications of bezier.cc
+
+pl 56.jcn3
+ - bf's: offset multiply, matrix rotate
+ - dropped los-toros latex file
+
+pl 56.jcn2
+ - even nicer excentric slurs;
+ - input/slur-bug.ly
+ - los-toros with barnumbers ;-)
+ - nice version of height-ajust bezier slurs (see sleur.ly --test)
+ - bf's beam:
+ * slope in[c8 c16 c16];
+ * allow no INTER position for normal quantising
+
+pl 56.jcn1
+ - bezier curves with raaklijnen
+
+pl 56.ag1
+ - `Makefile.am.wild's now should work correctly with VPATH (AG)
+
+************
+
+pl 56
+ - more dutch vocabulary
+ - Barnumber FAQ added
+ - bf: abbrev over whole note.
+ - feta: reverse turn.
+ - bf: rod distance
+ - bf: local key clashing
+
+***********
+pl 55
+ - bezier check and ajust for slur height
+ - better slur height ajust
+ - DO chmod 755 *test/*sh
+ - bf: discretionary of ||
+ - bf: scripts within staff
+ - NOT Grandstaff -> Grand_staff (yet?)
+ - bf: cresc. decresc. height lookup.cc,init/table*
+ - bf: staff-symbol (script placements)
+ - staff-group-bracket
+ - bf's preludes, los-toros
+ - nicer trills
+ - adjustment slur extend
+
+**********
+pl 54
+ - bf dynamic_grav
+ - bf accidentals with key change
+ - bfs with command-items in non-breakable columns.
+ - typos (thanks LM)
+
+pl 53.jcn1
+ - two new BUGs
+ - preludes-* with trills
+ - nicer trills
+ - fixed ugly slur extend bug
+ - first try at symphonic work: (start of) Coriolan
+ - fixes: los-toros
+ - test/ with some stupid tests
+ - bf, again midi-output
+ - --no-timestamps options for lily/mi2mu (to enable make check targets)
+ - removed doubles in lilypython
+ - smarter prev_version for make-patch
+
+***********
+
+pl 53
+ - bf: c4 \< c4 \<
+ - bfs of spacing stuff
+
+
+pl 52.jcn6
+ - make check target
+ - moved flower/test to flowertest
+ - dist fixes
+ - flower no longer independent package
+ - bf: GNUmakefile
+ - bf's: configure: debugging (default) /profiling
+ - bf: Rational iface (fixes MIDI output)
+ - bf: non --srcdir configure + build with GNU make (ugh)
+ - ugh: autowildflower
+ - bf's: invoking wild-perl
+ - bf: ugh: staff-side.cc: placement height
+ - bf's: gnu 2.7.2 link (huh?, everyone using 2.8?)
+ - make-patch: default diff against (copy of) srcdir
+ - bin/conflily configures in ../build
+ - GNUmakefiles that do:
+ * auto-update of Makefile.am.wild
+ * auto-switch to builddir
+ - bf's: configure --srcdir
+ - fixes for los-toros/twinkle/test-lyrics
+ - latex file for los-toros (ugh)
+ - staff-side: symbols closer...
+ - half fix of midi output? duh.
+ - oboe1 los-toros
+
+************
+pl 52
+ - split up elem-group stuff.
+ - per line widths
+ - miscellaneous fixes by WL.
+
+
+pl 51.jcn1
+ - bf's: dutch->nederlands
+ - Cygnus b19 compile/link fixes
+
+************
+march 27
+pl 51
+ - changed dutch -> nederlands, german -> deutsch etc.
+ - norwegian (AG)
+
+pl 50.jcn4
+ - fixes for cygnus' gnu-windows32 beta19
+ be sure to compile with -fno-rtti
+ - proof of concept for automated updating of Makefile.am
+ see mi2mu/GNUmakefile (still somewhat clumsy)
+ - mv'd both config.hh.in to acconfig.h
+ - copied printing/debugging/optimising options to flower conf
+ - (some modified) fixes from AO
+ - beginnetje los-toros-oboe
+ - bf: DIR_DATADIR
+ - bf: trills
+
+************
+pl 50
+ - deprecate autowild
+ - --srcdir fixes
+ - ly2dvi 0.8
+
+pl 49.jcn2
+ - static (default) and/or shared libs flower and lily
+ - patch from AO 'libtool 1.1.1'
+ - mf: trill-symbols: feta-slag.mf
+ - shared libs (ugh: hardcoded switch in configure set to static)
+ - some fixes: denneboom.ly, standje.ly/standchen.ly
+
+********
+march 19
+
+pl 49
+ - parser assert changed to warning
+ - fix stdin reading
+ - small jcn fix
+ - changed unbound Spanner from assert to warning
+ - forced breakpoints
+ - add a nowildcard: stmt to wild-perl
+
+pl 48.jcn5
+ - ugh: double parser/lexer:
+ be sure to rm lily/parser.cc lily/lexer.cc or bin/clien
+ before re-running autowild!
+ - V.RSION
+ - bin/clien bin/meek
+ - bf's: flower/VERSION, flower/config.hh, lily/lexer/VURSION
+ lib/config.hh bin/convent-mudela
+ - lost of automake fixes
+ - automake
+
+******
+march 12
+pl 48
+ - Pitch_squash_engraver makes Rhythmic_staff possible.
+ - some fixes to buildscripts for sgi irix
+ - misc. patches (WL)
+ - move away from libg++: rolled own Rational class..
+ - don't make gif files Documentation/ by default
+ - ly2dvi manpage (JAF)
+ - ly2dvi 0.7 (JAF)
+ - more clefs. (MB)
+
+pl 47.jcn2
+ - bf: interbeams and beam-stemlengths for size != 16
+ - bf's: preludes
+ - more introduction
+
+pl 47.jcn1
+ - voice{one,two,three} defines
+ - preludes-*: fixes, junked multi, broke-down score-block
+ - mudela-book: added center option
+
+******
+march 6
+pl 47
+ - Abbreviation now a separate item.
+ - bf'd some gcc 2.8 warnings.
+ - bf'd spurious space in autodep.
+ - more clefs (MB)
+
+pl 46.jcn1
+ - start mudela introduction
+
+
+pl 46.jcn2
+ - bf's: preludes-*
+
+*******
+feb 27
+
+pl 46
+ - span-bar at upstep.
+ - bf: \score { \score_identifier }
+ - tenor clef (MB)
+
+pl 45.jcn2
+ - preludes-4,5,6
+ - bf's denneboom (oeps, see loop)
+
+pl 44.jcn7
+ - text-item.cc: try to get fingers just above note...
+ - set minimum space between columns
+ - bff: mf/Makefile out/*log required: new .ly .tex's with make-dist :-(
+ - bf's midi ascii-debug output
+ - bf: property instrument
+
+*******
+feb 12
+pl 45
+ - bf: translator switching
+ - SunOS and IRIX patches (AO)
+ - preludes bugfixes; preludes.tex ugh (JCN)
+ - shared lib numbering (AF)
+ - various fixes for debian (AF)
+ - ly2dvi .6.jaf (JAF)
+pl 44.jcn6
+ - bf: crescendo.cc: bigger and use bar_size
+ - slur: guess extra height for height limit for extending notes/stems
+ - ps: adjustable slur height limit, bf crescendo
+
+
+******
+feb 6
+pl 44
+ - ly2dvi 0.6.hwn1
+ - ly2dvi 0.6 (JAF)
+ - use ly2dvi for website
+
+pl 44.jcn2
+ - fingers default to above note
+ - preludes-2.ly
+ - parser: fingerings
+ - preludes-1.ly
+ - bf: denneboom.ly
+ - preludes-3.ly.m4, standje.ly, preludes-4.ly
+ - make rule for macro ly-files
+ - pletvisibility (init/property.ly):
+ * default no bracket with beams
+ * invisible plet bracket feature
+ - finger dir in text-def
+
+*******
+feb 2
+
+pl 43
+ - bf: broken Plet_spanners
+ - more GNITting
+ - avoid some more global ctors, for NeXTstep
+ - some NeXTStep patches from tiggr
+ - don't do overstrike/bold chars in textfiles
+
+
+pl 42.jcn2
+ - bit hesitating start of mutopia
+ - bf: don't try to typeset unterminated plet
+ - separately sticky plet durations: "c4 c4*2/3 c8 c4*1/1", ok Mats?
+ - denneboom.ly (half-baked version)
+ - indent and shape, see ^
+
+pl 42.jcn1
+ - bf: memmem revisited
+ - bf: ps: draw_plet vertical endings
+ - renamed stem_start to stem_begin
+ - bf: plet bracket placing on differently orientated stems
+ - more standje.ly and fixes
+******
+jan 28
+
+pl 42
+ - ly2dvi 0.5 (JAF)
+ - italian.ly (thanks, Paolo)
+ - bf: first \mudelapaper output (BS)
+ - bf: cathedral + bazaar URL (thanks, Barrie)
+ - bf: libc-extension.hh (AO)
+
+pl 41.jcn4
+ - plet brackets (always) in ps (only)
+ - Plet_spanner derives from bow
+ - bf: mf/Makefile: let %.tex %.ly depend on %.mf,
+ iso non-distributed %.log
+ - mi2mu mudela 0.1.8
+ - bit better plet number placement
+ - handier plet syntax: [2/3 c8 c c ]1/1 and \[2/3 c2 c c \]
+ - Plet_swallow_engraver for lyrics
+ - bit better plet number placement (NOT)
+ - new plet syntax: combined beam and plet open
+ - more standje.ly
+ - new plet syntax: start: \plet2/3 stop: \telp1/1
+ - Plet_req, Plet_engraver; removed plet stuff from beam
+
+******
+jan 20
+pl 41
+ - warn for score with multiple Music blocks
+ - bf: \plet (MB)
+ - \textsharp in 16pt
+ - malloc frobnifying
+ - more fontsizes: 26pt, 11pt, 13pt
+ - \textstyle "bold"
+ - .rpm: remove old fonts
+
+pl 40.jcn2
+ - bf: typo scores.cc
+ - bfs: non-default base constructor calls
+ - bfs: virtual destructors
+ - standje.ly: the real standchen (first bit)
+ - gcc 2.8 compile
+ - nicer scsii-menuetto
+
+pl 40.jcn1
+ - bf: breaking of :| bar
+ - bf: lyric substitution of _ -> ' ' flower/libc-ext:memmem
+ - no slope=0 beams between stafflines
+ - bf: tex without lily-ps-defs
+ - bf: embedded mf shift: added '%' to \embeddedps
+ - doos compile
+
+******
+jan 12
+pl 40
+ - some doco fixes
+ - debian diffs (AF)
+
+pl 39.jcn2
+ - bf: bit smarter atan() for feta-sleur (thanks wendy)
+ - bf: y quantise of multiple down beams (typo)
+ - minor doc fixes
+ - bf: distribute mfdeps and moved from mf/out/mfdeps to mf/mf.dep
+ - some changes to ANNOUNCE
+ - fixes for simple slur/tie placement
+ - embedded MF fonts identified by parameters -> reusable runtime fonts
+ - clean-embeds.sh
+ - runtime MF beams: feta-beum.mf
+ - bf: enable switching PS off
+ - updated runtime MF feta-sleur.mf with new PS slur algorithm
+
+******
+jan 5 1998
+pl 39
+ - 0.2 ANNOUNCE sketch
+ - unix style paths for LILYINCLUDE env
+ - show all output pages on website
+ - ps-to-gifs.sh
+ - bf: wtk1-fugue2
+ - python make-website
+ - higher brace resolution
+ - phased out musixtex stuff
+ - bf: rhythm.ly
+ - PS slurs
+ - PS beams
+ - Bow units
+ - turn on PS by default
+ - turn off barnumbers by default.
+ - bf: halfbeam size.
+ - bf: -M bug
+ - stafflinethick in PS (crescendi)
+ - continued (de)crescendi (in PS)
+ - bf: spurious beam reqs
+ - handle unfeasible spacing cleanly.
+ - ML-address change
+ - output naming: default to basename[-serialnumber].{midi,tex}
+ - bf: clef width
+
+pl 39.jcn2
+ - make-examples.sh
+ - leftright repeat sign + repeatbar dims
+ - smaller minimum sized rod at end of bar
+ - bf: spacing.ly
+ - less space at begin of bar
+ - experimental whitespace fixes at begin and end of bar
+ - added to beams.ly
+ - open-up beam spacing for mult > 3
+ - fixed hang/sit to overlap iso aligne with staffline
+ - fixed inter beam spacing, paper*.ly
+ - scsii-menuetto.ly fixes
+ - init/property.ly
+ - property settings for beam quantiseing and damping
+ - provisionary multiple-beam fix
+
+******
+pl 38
+ - bf: \> \! \ff (crescendo overlap)
+ - misc feta-fixes, flageolet sign.
+ - midi tempo fixes.
+pl 37.jcn3
+ - max beam slope "compile time parameterised" and set to 0.6
+ (oh, how we need runtime generated beams!)
+ - beam's left y-pos quantisation
+ - beam slopes' y-span quantisation
+ - stem.ly
+
+pl 37.jcn2
+ - feta: fixed sizes small numerals + flageolet
+
+
+*******
+dec 12
+pl 37
+ - --postscript
+ - don't crash non-fitting grouping (thx, John)
+ - attach unended spanners to a column (thanks John)
+ - bf: unended tie
+ - bf: tie direction
+ - bf: unended slur
+
+pl 36.jcn2
+ - feta: small numerals
+
+********
+dec 9
+
+pl 36
+ - bf: notehead collisions
+ - bf: dot y-position
+ - use Item::break_priority_i_ for horizontal alignment of breakables.
+ (it still sucks)
+ - junk some derivation checks, junk Normal_*_bar
+ - FlowerLib fixes.
+ - twinkle fixes.
+ - feta: flag/clefspacing
+
+
+*******
+dec 5
+pl 35
+ - naming: lily-init iso symbol.ly
+ - mf braces
+ - center textscripts.
+
+pl 34.jcn1
+ - mf: nicening of dyn, klef, rest
+ - fingerfont
+ - bf: 12/8
+
+
+********
+dec 2
+pl 34
+ - bf: mf: numbers and alto clef
+ - bf: scsi-menuet
+ - PS crescendos
+ - ly2dvi diffs (JAF)
+ - debian diffs (AF)
+ - w32 doco fix (JCN)
+
+
+********
+nov 24
+
+pl 33
+ - added abbrev.ly to font.ly; rm'd abbrev.ly
+ - don't process scores on parse errors.
+ - bf: kortjakje.ly
+ - bf: invisible stems in beams (abbrev.ly)
+ - lytodvi script (JAF)
+ - output Paper_def settings to TeX file. (eg: linewidth)
+
+********
+nov 19
+pl 32
+ - change type checks (ughugh) to derivation checks (ugh)
+ - this fixes clef bug.
+ - bf: order of breakables: meter comes after bar.
+ - bf: do error iso coredump on unknown symbol-table
+ - bf: release.py, copy patch too.
+ - bf: add makefile dep for disting MF logs.
+ - bf: don't read font-en-tja*.ly, but feta*.ly
+
+pl 31.jcn2
+ - first version of (non-ugh) c-klef
+ - bf: mi2mu: notes of zero duration as comments
+ - feta: ugh c clef
+
+
+********
+nov 17
+
+pl 31
+ - bf: replaced Score_column assert by a warning (thanks Scott)
+ - bf: mi2mu version output (thanks Scott)
+ - faq updates
+ - always output lily header with Lily version
+ - bar mucking: make scorebars/braces different from repeat bars.
+ - feta: repeatcolon, clef bf's
+ - debian/ updates. (AF)
+ - moved debian stuff into toplevel dir
+
+********
+nov 11
+
+pl 30
+ - feta: G clef.
+ - scripts now do relative coords (fixes lyrics + barnumber bug)
+ - bf: Lyrics lexer mode
+ - bf: bass clef
+
+********
+nov 6
+pl 29
+ - feta: bass clef, bf: dynamics, bf: 64th flag
+
+
+********
+oct 30
+pl 28
+ - revised Staff_symbol::brew_molecule_p ()
+ - naming: \makelilytitle
+ - fixes for TeX titledefs (JAF)
+ - junked some obsolete pedal stuff.
+
+pl 27.om-je-te-helpen-met-je-ps-spul.jcn1
+ - embedded slurs:
+ * bf: placements
+ * added \embeddedtex
+ * postscript is default
+ * fixed \embeddedps
+ * fixed mf: draw_slur
+ * postscript macro: draw_slur
+
+********
+oct 29
+pl 27
+ - -t/--test switch for experimental stuff.
+ - bf: debian optimize is not with 'z'
+ - mf: naming feta fonts are now called feta16, feta-beams16, etc.
+ - feta: ledgerline
+ - lily adjustments for new and elegant ledger line
+ - bf: mf-source path.
+
+pl 26.jcn1
+ - bf: numerals
+ - sleur.ly
+ - embedded slur testing
+ - bf + patch: make-patch release.py / VERSION
+
+
+********
+oct 26
+pl 26
+ - bf: \transpose
+ - feta: numerals 0 - 9, rewrote flags.
+
+
+
+********
+oct 22
+
+pl 25
+ - variable stemlength
+ - feta: 32nd, 64th flags
+ - font.ly
+ - dist & tarball made in out/
+ - rewrote release.sh in python
+ - notehead/stem attachment better.
+ - more Stem cleanage
+ - related Beam cleanage
+ - started numeral font (JCN)
+ - bf: whole rest outside staff.
+
+*********
+oct 20
+pl 24
+ - internationalization preps (FP)
+ - rewrote make-patch in python
+ - BUGS: added another flex/libio crash explanation
+ - feta: flags
+
+
+********
+pl 23
+ - feta changes: 1/4 rest, flat, bf 8-128 rest
+ - bf: cadenza
+ - bf: scripts
+ - bf: rest-collision
+ - bf: meter placement
+ - junked cpgento.sh
+
+*********
+
+pl 22
+ - bf: lyric 's- Zondags
+ - bf: colliding accidentals: renamed translate(Real,Axis) to translate_axis()
+ - renaming of scripts
+ - strings with escaped characters.
+ - bf "string_with_\"_embedded"
+ - bf: mf/Makefile
+ - feta changes (trill, organ pedals)
+ - updated mf-to-table for new feta conventions
+ - changed header format to something sensible.
+ - moved staff to centerline == 0;
+
+********
+
+pl 21
+ - shrinking uses more energy than stretching
+ - check IO error on writing (disk full?)
+
+
+*********
+
+oct 8
+pl 20
+ - don't swallow non lyric-stuff in lyrics
+ - x-position of Stem
+ - more feta changes
+ - move scripts to right
+ - genheader.py replaces genheader.perl
+
+pl 19.jcn2
+ - bf's mi2mu:
+ * Midi_track_parser::note_end_all
+ * staff output uses key, meter, tempo read
+ * command line read minor key
+ * minor key notenames
+
+pl 19.jcn1
+ - small changes to sharp, fermata
+ - small changes to lilypond.lsm+doc, lelievijver.lsm
+ - mi2mu updeet + bf
+
+pl 19
+ - bf: keyword.cc rm'd struct defs
+ - dots: support for feta dots.
+ - lots of font (feta) tjanges
+ - mf-to-table rewrite in python
+
+*********
+pl 18.jcn1
+ - check for python, mf-deps fix
+
+pl 18
+ - bf: Box[X_AXIS] = b
+ - bin/mf-deps.py script
+ - moved beams out of font-en-tja into vette-beams.
+ - Made corresponding .cc changes.
+
+
+jcn patches
+ - egcs compile (no link yet)
+ - nicer 4rest
+ - beam font (je kunt wel tegen een grapje, eva?)
+ - mf-to-table:
+ * "breapth" (x-depth) feature
+ * handle generic stuff such as beams
+ - polished noteheads
+ - fixed 8-128 rests
+ - 4rest
+ - mf-to-table generates tex defs
+ - bf:mf-to-table and conflily outname check
+ - 8-128 rests
+
+******
+sep 24
+
+pl 17
+ - bf: ledgerline width
+ - bf: toccata-fuga-E
+ - took out some hardwiring of tex-beam
+
+pl 16.jcn1
+ - mf-to-table.in: generate mozarella metric info tables
+ - autometric.mf: write metric info to mf logfile
+ - ital-r.mf, smaller ital-m.mf
+ - variable streepjes length (top/bottomlines); fixed (for 20pt?)
+ - streepjes twice as thick as staffrules
+ - even more pronounced bolletjes -- how 'bout this wendy?
+ - quarter and half note after drawings (a/b less distinct)
+
+*****
+sep 19
+pl 16
+ - revised mudela-man a bit
+ - ; optional after \musicidentifier
+ - bf: doco about {Mus*,Opus}TeX
+ - bf: configure: MFDIR
+ - bf: String::operator bool () removed
+ - bf: String::operator char const * () removed
+ - bf: Line_spacer::~Line_spacer () added: plugged memleak
+ - bf: Line_of_score::do_unlink () call Spanner::do_unlink
+ - bf: rests in beams
+ - bf: textnatural
+ - bf: 20 pt flags
+ - bf: longarest
+
+pl 15.jcn1
+ - bf: typos whole and half notehead
+ - de-uglyfied bolletjes.mf
+ - ascii output of font metrics in mf logfile
+
+******
+sep 17
+
+
+pl 15
+ - put top of NEWS file in the webpage
+ - breadth first search for engravers.
+ - bf: coriolan-alto.ly
+ - Stem / Notehead width now properly calced
+ - Atom and Symbol merged
+
+pl 14.jcn1
+ - lily's own noteheads (balls/globes :) (font-en-tja*.mf)
+ - {table,paper}* and taupindefs adaptations (when are we moving?)
+ - fp, sf, sfz dynamics
+ - font.ly
+ - bf: dist mudela-mode
+
+*******
+sep 15
+
+pl 14
+ - Simple but nifty mudela-mode.el for Emacs
+ - slightly better syntax for single-note-repeat, now default kept in
+Stem_engraver
+ - bf: Abbrev_beams are not the only beams (see: jcn4, stem-info, thanks, Jan)
+ - a CPU timer for Interpreting and Breaking
+ - Separate Score_elem:
+ * invoke-once stuff in Super_elem (using function pointers; much cleaner now)
+ * geometrical stuff into Graphical_element
+ * Axis_group_* accept Graphical_elements iso. Score_elems
+ * A dimension cache, hopefully this makes lily a bit faster
+ * TeX output moved out of Score_elem, separate interface Outputter
+
+ - < \multi 2; bla > -> \multi 2 < bla > (mudela 0.1.6)
+ - bf: don't do \multi if \type specified
+ - Translator switching: Change_translator, Change_iterator
+
+
+pl 12.jcn4
+ - fixed dynamic f, magstep bug
+ - gaps on abbrev-beams
+ - bf: stem-info
+ - bf: last abbrev
+ - bf: stem: do_width
+ - bf: removed rest-column.hh
+
+*******
+sep 11
+
+pl 13
+ - big Rest/notehead rewrite:
+ * separated Rest, Note_head and Dots
+ * Dot_column: dots are now chord-wise aligned
+ * Rhythmic_head is base for Rest, Note_head
+ * Merged Note_column and Rest_column
+ * Rest_engraver
+ - grand Engraver/Translator/Performer rewrite.
+ * properties: \property voice.dir = -1 (mudela 0.1.3)
+ * Input_translator junked, now Translators are generated
+by the parser (mudela 0.1.4)
+ * Translator changing: \translator Staff=oboesolo
+ * Translator preselect: \type Staff=bla < c4 >. (mudela 0.1.5)
+ * Engraver/Performer now derived of Translator.
+ * Engraver_group_engraver/ Performer_group_performer derived of
+ Translator_group
+ * renamed: Voice -> Thread, Voice_group -> Voice
+ - renamed Audio_score to Performance
+ - junked mididef statics
+ - Audio debug output
+ - bf: excess [] in scsi
+ - bf: swallow \skips
+ - bf: don't crash on infinite dims
+ - renamed wohltemperirt to wtk1-fugue2
+ - bf: address in GPL
+ - bf: errors in stdin
+ - bf: stop if errors in init files
+ - bf: move stem too when doing collisions
+ - Molecule::add_XXXX -> Molecule::add_at_edge ()
+ - doco updeet: why no midi FAQ, index, CodingStyle hungarian
+
+
+pl 12.jcn3
+ - try at better dynamic font, copied from cmbxti10: mf/*
+ - typesetting abbreviation beams; abbreviation-*
+ - some simple abbrev fixes + code cleanup (dank je, lieverd)
+ - typesetting simple abbreviations: c4:16 === [c16 c c c]
+
+pl 11mb
+ - Support also for \longa in duration-convert.cc, init/ and tex/
+ files. (MB)
+
+********
+sep 3
+
+
+pl 12
+ - bf: don't redefine tex primitives like \textfont and \mathfont
+ - nicer broken slurs (?)
+ - bf: error status upon parse error
+ - robustness in Lookup::*slur
+ - bf: mi2mu: warn if 0-length string in midi-file
+ - output id-footer
+
+********
+sep 1
+
+pl 11
+ - forms for Musical vocabulary
+ - ignore \r for windows
+ - Now paper{score,def} & midi{def,score} derived of class
+Music_output[_def]. Score is almost empty.
+ - Engraver hacking:
+ * junk Text_engraver
+ * Timing_engraver
+ * barnumber now really counts the number of bars
+ * Separated Stem_engraver and Beam_engraver
+ * junk Stem_beam_engraver
+ * no need for Stem_reqs
+ - use Direction = {LEFT, RIGHT, UP, DOWN} iso. -1, 1 throughout source
+ - ties and slurs with Drul_array
+ - junked Spanner_elem_group
+ - bf: w32 fixes
+ - Spanner now spans items.
+ - more GNITting ( bla ) -> (bla), indentation
+ - Drul_array
+ - Paper_column now is derived of Horizontal_group_item. Items
+are no longer hardwired into a Paper_column
+ - bf: stdin input
+ - PCol -> Paper_column
+ - Wtk-i, fugue1, prelude1 (SR)
+
+*******
+aug 21
+pl 10
+ - bf: init pending_indent_i_
+ - output header to TeX file. Who wants to write TeX to make it work?
+
+ - mi2mu: bf's, --key option
+ - removed Duration(int,int)
+ - bf: Duration_convert::dur2_str
+
+pl 9.jcn2
+ - redo of mi2mu frontend (midi-parser)
+ - bf: String_convert::bin2_i; added bin2_u
+ - bf's: Binary_source_file
+ - bf: constr. Tempo/Timing_req
+pl 0.1.8.jcn3
+ - table20, standchen-{16,20}*
+*******
+aug 18
+
+pl 9
+ - declare rhythic_request
+ - preliminary support for real \mudelaheaders
+ - context-sensitive arithmetic spacing. Looks alot better
+ - silly GNU braces.
+ - JCN fixes for pl 8
+ - bf: midi instrument
+ - Vocabs from GMP-I
+
+pl 8.mb:
+ - use log of duration-name
+
+*******
+aug 15
+pl 8
+
+ - gif -> xpm
+ - bf: Whoops! Open eyes now, when finding shortest note in
+spring-spacer. Fixes spacing problems.
+ - GNU coding: parentheses (here you are, Franc,ois :-)
+ - all macros now UPPERCASE
+ - Identifier blondification: don't use void*
+ - Identifier doesn't store its name. Much cleaner now.
+ - bf: Rest_collision_engraver now always announces
+ - bf: announce Staff_sym only once
+pl 0.1.7.jcn1
+ - complete redo mid/back-end of mi2mu
+ - bf: do not create/play empty Audio-{text,instrument} events
+
+
+********
+aug 14
+
+pl 7
+ - Audio_element as base for Audio_item and Audio_staff. fixes
+midi-lyric segfault
+ - added "Gallina a due violini" (MB)
+ - make MIDI files on website.
+ - Collision now also is an Element_group.
+ - bf: announce Collision when created
+
+********
+aug 13
+pl 6
+ - bf: 13 shift/reduce in parser fixed
+ - bf: plets in parser
+ - bf: main.o (again)
+ - german notenames (RM)
+ - Score_elem::offset_ now relative to its X/Y groups. Slight
+speed increase?
+
+********
+aug 12
+pl 5
+
+ - Wordwrap revert
+ - added LilyPond in WWW titles
+ - oops. A quaver is a 8th note, not a 4th
+ - bf: main.o remaking in lily/Makefile
+ - unhair Voice_iterator
+ - bf: error if no music in score
+ - bf: don't create translators if Chord element is empty
+ - bf: ctor of Tempo_req
+ - use virtual do_equal_b() for request comparison
+ - bf: turned off default plets: c4*2/3 c4*2/3 -> c4*2/3 c4*4/9
+ - bf: time_int() of an empty chord/voice
+ - more corrections to GMP Manifesto
+ - debian updates (AF)
+ - bf: g++ ICE in Performer_group_performer
+ - use fread() for reading in Simple_file_storage
+
+pl 0.1.3.jcn1
+ - mi2mu: simplification +bf lily_stream: indentation and wordwrap
+ - mi2mu: bf: blunt: non-alpha(num) chars from identifiers
+
+*********
+aug 11
+
+pl 4
+ - correction of GNU Music Manifesto
+ - moved lowlevel stuff of Source_file to Mapped_file_storage.
+Interface via File_storage. (Now using Simple_file_storage)
+ - bf: c4-"A"-"B"
+ - bf: exit status
+ - declarable keys
+ - Engraver_group_engraver::find_simple_engraver()
+ - bf: lily/Makefile
+ - bf: Midi_note_event ctor
+ - bf: tempo request
+ - popular twinkle twinkle (JV)
+ - mudela: parse tempo requests, \midi{ \tempo 4= 60;}
+
+******
+aug 8
+pl 3
+ - don't crash if no Clef_engraver.
+ - PScore -> Paper_score
+ - bf: Score_elem::extent() init of interval
+ - bfs: {Horizontal,Vertical}_group related
+ - bf: don't change original Item while doing making
+ multiple copies
+ - bf: configure DATADIR
+ - bf: type of spanbar.
+
+pl 0.1.2.jcn1
+ - minor doco fixes
+ - revived Midi_walker
+ - moved midi out of performer-* to audio-*
+ - Audio_staff
+ - removed all <ugh> members from performers
+
+*******
+aug 7
+pl 2
+ - junked Line_of_staff
+ - bf: --output
+ - bf: . in lexer
+ - bf: mi2mu version number.
+ - bf: in mudela-book
+ - bf: don't forget to make mi2mu
+ - Bar_number_grav: measure numbers (experimental)
+ - Bar_column_engraver, Bar_column: scripts on bars
+ - rewrite of {Horizontal,Vertical}_group. Yes, again.
+Now neatly integrated into class hierarchy
+ - Axis, Axis_group
+ - Debian rules (AF)
+
+pl 0.1.1.jcn1
+ - Audio{column,score,item,...}, more generic audio
+ - bf: Makefiles
+ - bf: mi2mu mudela version
+*********
+aug 5
+
+pl 0.1.1
+ - {Horizontal, Vertical}_group. A score_element may be in at most one.
+ - This means Horizontal_group_item and Vertical_group_spanner need special support.
+ - This also means a big speed increase
+ - configure cleanup
+ - bf: Choleski solve.
+ - doc updates: lilygut, INSTALL
+
+pl 0.1.1.hwn
+ - recode of Break/Colhpos interfaces
+ - Gourlay_breaking: dynamic-programming optimal solution for
+ casting off. Word_wrap is still optional
+ - some printing short cuts if no -d specced.
+ - band_matrices for column calcs
+ - more Diagonal_storage fixes
+ - retake: INFTY fixes ( now infinity_mom, infinity_f )
+
+pl 78.jcn3
+ - configure: ln and zip
+ - target doosdist -> lilypond-x.x.x.exe.zip: + executables - sources
+
+
+
--- /dev/null
+pl 17
+ - fixed RPM building.
+
+pl 16.hwn1
+ - ridiculous slur dims fixed.
+ - ly2dvi32.py -> ly2dvi.py, ly2dvi.sh -> ly2dvi-old
+ - use re iso. regex for python stuff.
+ - bf: mudela-book.py
+ - updated install directions. Made lilypond-login for csh
+ - bf: installdirs of MF stuff
+ - Dictionary implementation using hash tables (LilyPond is 3% faster)
+ - Cache [non]group_l_arr () calls in translator-group.cc (LilyPond is 4% faster)
+
+pl 16.uu1
+ - debian URLs, make/stepmake.make patch
+ - further debian fixes.
+
+pl 14.tca1
+ - partitas
+ - prall{mordent,prall} patch.
+
+******
+pl 16
+ - read property ydirection and tieYDirection for tie direction.
+ - bf: slur over rest.
+ - bf: include path
+ - part of jcn2
+ - configure --enable-guile
+
+pl 15.jcn1
+ - autoconf on mf,mfont mp,mpost
+
+pl 15.am
+ - Lots of patches from *Adrian* *Mariano*!
+
+**********
+
+pl 15
+pl 14.hwn1
+ - \lyrics iso \lyric (mudela 1.0.7)
+ - cleaned up real_expression syntax.
+ - removed optional_semicolon nonterminal after toplevel assignment
+ - MInterval Music::time_int () -> Moment Music::duration ()
+ - junked Music_iterator::daddy_iter_l_
+ - junked Sequential_music::offset_mom_
+ - tempo compression:
+ * syntax: \times 2/3 Music
+ * Compressed_music, Compressed_music_iterator
+ - flower: init rational to 0
+ - flower: removed P?Cursor<>::P?Cursor (), using pointer iso ref now.
+ - don't install into TeX, but into ${datadir}/{mf,tex,ly} (todo: ps)
+
+
+*********
+pl 14
+
+pl 13.uu1
+ - syntax for \translator: (\name "Name")
+ - bfs for footer
+ - bf: init/{book,center}-fragment.ly, YODL nofooter stuff.
+ - bf: redeclaration
+ - bf: doc fixes
+ - bfs: egcs 1.1
+
+pl 13.mb1
+ - bf: Lookup::afm_find, the width was undefined for the feta fonts.
+ - bf: refman.yo
+
+pl 13.jcn5
+ - bf: init/paper* missing `;'
+ - lilyponddefs.ps fixes
+ - crude output name fix, see scores.cc
+
+pl 13.jcn4
+ - some ps output fixes
+ - lilyponddefs.ps: some sane implemenations
+ - removed (some) ghostscript internals
+
+pl 13.jcn3
+ - PostScript output version 0.0; do
+ export GS_LIB=$HOME/usr/src/lilypond/tex
+ export GS_FONTPATH=$HOME/usr/src/lilypond/mf/out
+ make -C mf pfa
+ lilypond -t example-1 # or try: lilypond -t twinkle :-)
+ gv lelie.ps
+ - ps:
+ * lots of output fixes, chars, strings
+ * tex/lilyponddefs.ps: added rather braindead defs
+
+pl 13.jcn2
+ - tex/lily-ps-defs.ps (./tex?)
+ - grand output rehack
+ * dropped {dimen,tex}.{cc,hh}
+ * {ps,tex} stuf to {Ps,Tex}_lookup
+ * init/table*.ly: added #parameters
+ - ps fonts:
+ * ps-to-pfa.py generates valid type-3 fonts
+ * do: make -C mf pfa
+ * set: GS_FONT=GS_FONTPATH=$HOME/usr/src/lilypond/mf/out
+
+pl 13.jcn1
+ - crude postscript type 3 font:
+ make sure to have mfplain.mem metapost precompiled macros
+ make -C mf ps
+ gv out/feta20.sp
+
+********
+
+pl 12.mb1
+ - bf: feta-timesig.mf Added horizontal space, minor corrections.
+ - Changed meaning of Staff.timeSignatureStyle:
+ C Use C and stroked C for 4/4,2/2
+ old Use old style mensuration marks
+ 1 Use single number
+ Cn/m Set symbol explicitly, n/m=2/2 or 4/4
+ oldn/m Set symbol explicitly, n/m=2/2,3/2,3/4,4/4,6/4 or 9/4.
+ All other time signatures are typeset with the default two-digit
+ layout.
+
+
+pl 12.jcn2
+ - Lookup abstract base class
+ - Lookup/Symtable(s): separation of input/output
+
+pl 12.jcn1
+ - preparations for braindead PostScript output
+
+pl 12.hwn3
+ - praeludium-fuga-E to relative mode
+ - bf: mudela-mode.el
+ - bf: BIBINPUTS
+ - more dutch glossary + explanations
+ - table-to-html fixes
+pl 12.hwn2
+ - bf: mymycode in .yo
+ - VERSION to out/
+ - add VPATH to mutopia
+ - access_Identifier (bool): (non)copy arg now explicit.
+ - bf: lilypond-latex.tex
+
+
+
+pl 12.hwn1
+ - \remove "Engraver_type";
+ - \output "bla" -> output = "bla" (mudela 0.1.6)
+ - \property defaultclef -> \property defaultClef
+ - naming of access_{Engraver,Performer,Translator_group} ()
+ - changed syntax for \translator in \paper{} (mudela 0.1.6)
+ - declared contexts:
+
+ StaffContext = \translator { .. }
+ \translator { \StaffContext }
+
+ - elt_b -> elem_b
+ - bf: add Separating_line_group_engraver to RhythmicStaff.
+
+
+pl 12.am1
+ - large doc patch, ChoireStaff -> ChoirStaff
+
+*******
+pl 12
+
+pl 11.uu2
+ - added Transposed_music for mixing transposition and relative
+
+pl 11.jcn1
+ - bf: config.make striproff
+ - texinfo
+pl 11.mb2
+ - feta-timesig.mf: Added some flesh on C and C2,
+ added old-style mensuration marks.
+
+pl 11.mb1
+ - Added feta-timesig.mf, font for C and alla breve.
+
+
+pl 11.uu1
+ - new \property: meterSignatureStyle for C and C2 time sigs
+ - bf: BIBINPUTS
+ - stepmake 53
+ - bf: gif vs. png stuff
+
+*******
+pl 11
+
+pl 10.uu2
+ - plet-spanner fix.
+ - large doc patch (thanks Adrian)
+
+pl 10.jbr1
+ - aclocal.m4, stepmake/aclocal.m4: Choose specific python
+ - stepmake/bin/release.py: Use the same python calling process
+ - make/lilypond-vars.make: PATH should not use PATHSEP. It is fine
+ to hard code it to `:' on both Windows NT and UNIX.
+ - stepmake/bin/package-zip32.sh: Perform configure with a specific
+ python, ie cygwin32 python on Windows NT
+
+pl 10.uu1
+ - junked \octave
+ - marginBreakPriority, direction==LEFT
+ - mf-to-table NT fix (JBR)
+ - createKeyOnClefChange property
+
+
+pl 10.jcn1
+ - mf-to-xpms for Harmonia
+
+pl 9.jbr1
+ - scripts/convert-mudela.py: We must close infile and outfile before
+ a rename occurs. NT Windows locks open files.
+ stepmake/bin/package-zip32.sh: renamed all python bins to:
+ <filename>.py in NT Windows distribution.
+
+
+*********
+pl 10
+
+pl 9.jcn1
+ - started gnuisation of website
+ * filetype and size
+ * 'no gifs due to patent problems'
+ - bumped stepmake version nr (again):
+ please update stepmake/VERSION after making changes to stepmake...
+
+pl 9.hwn1
+ - do default midi,paper by toplevel \paper / \midi (mudela 1.0.4)
+ - bf: error if no Score context
+ - notename table now can be declared as well.
+ - junked \clear
+
+*********
+pl 9
+
+pl 8.uu1
+ - junked \staff, \multi
+ - bf Music_list::Music_list (Music_list const&)
+ - AC_SUBST(PATHSEP,DIRSEP)
+ - generate Documentation/tex/out/*.bib (AM)
+ - a4 fixes (AM)
+ - bf: metafont-*.make
+ - parser.yy: intlist mods. (mudela 1.0.2)
+ - \melodic -> \notes (mudela 1.0.3)
+ - typo: calcalute_dependencies ()
+
+pl 8.jcn3
+ - gif -> png
+ * ps-to-pngs.sh
+ * stepmake
+ * website
+ * yodl-1.31.4 (to be released)
+ - target 'texinfo' -> 'info'
+
+pl 8.jcn2
+ - more doco in texinfo (with yodl pl3)
+ - bf's: package-diff
+
+pl 8.jcn1
+ - removed tutorial from texinfo, yodl2texinfo is still rather broken
+ - bf: setlocale NUMERIC to 'C'
+ - removed ugly space from print-dimen
+
+*******
+pl 8
+ - make website fixes.
+
+pl 7.jcn1
+ - minor stepmake/yodl fixes
+
+pl 7.uu1
+
+ - changed separator in vocabulary
+ - added barAlways and defaultBarType properties.
+
+pl 7.hwn1
+ - changed header format. Use a + for concatenation.
+
+ \header { key = "concat" + "string" }
+
+ (mudela 1.0.2)
+ - allow computed properties in translator definition
+
+ GrandStaff = \translator {
+ minVerticalAlign = 1.5\staffheight;
+ ..
+ }
+
+ - Music inheritance. Datastructure and parser now follow this grammar
+
+ Music_list:
+ | Music_list Music
+ ;
+ Simultaneous_music: '<' Music_list '>'
+ ;
+ Sequential_music: '{' Music_list '}'
+ ;
+
+ - bf: Item::do_unlink () don't iterate on attached_span_l_arr_,
+because it is changed by Spanner::set_bounds () (thanks Thomas)
+ - bf: URL Documentation/index (thanks EP)
+ - bf: twinkle.ly (thanks EP)
+ - bf: mi2mu (thanks Murray)
+ - bf: mudela-book --dependencies
+ - split LaTeX and TeX stuff
+
+pl 7.tca1
+ - more Partita's
+
+pl 7.jbr1
+ - aclocal.m4,make/lilypond-vars.make: added PATHSEP as AC_SUBST to
+ help support Windows NT doco build.
+ Documentation/ntweb/index.yo: minor spelling changes
+
+
+*************
+pl 7
+ - refman updates by Adriano Moriano.
+
+
+pl 6.jbr2
+ - scripts/ly2dvi32.py: Fixed bug with lily input including multiple
+ files. Also, we now stream out lilypond log one line at a time
+ for better feedback.
+
+pl 6.jbr1
+ - scripts/ly2dvi32.py: Added some doco, add postscript option, set
+ MFINPUTS along with TEXINPUTS, modified initialization sequence.
+ Made some Python style changes per Han-Wen suggestions.
+ - Documentation/man/ly2dvi32.yo: Added a manpage for ly2dvi32.
+ - stepmake/bin/package-zip32.sh: Added doco distribution. Removed
+ the installation directory after zip operation.
+ - Documentation/ntweb/index.yo: LILYPOND -> LILYPONDPREFIX and
+ comments about MiKTeX-1.11.
+
+pl 6.tca1
+ - First movement of Partita II (BWV 826) in
+ mutopia/J.S.Bach/Cembalo-Partitas. Lilypond output was so
+ beautiful that I'll have to write the rest of the partita.
+
+pl 6.uu2
+ - mudela-book.py --dependencies
+ - more doc fixes (AM)
+ - warn if declaring a keyword.
+ - \grouping 4 2*3; now accepted.
+ - patches to standchen.ly
+
+pl 6.uu1
+
+ - mudela-book handles \input now
+ - vocabulary fixes by Adrian Moriano
+
+********
+pl 6
+ - largish rehack:
+ * Super_element is now an `abstract' class,
+ * Paper_score directly contains one Line_of_score. The
+ breaking/postprocessing/deletion is mixed with the output phase.
+ * Hopefully this will save memory for large scores. (benchmarks, anyone?)
+ * bf: Horizontal_vertical_group_item::do_unlink () should call
+
+ Axis_group_item::do_unlink ()
+
+ - changed LILYPOND to LILYPONDPREFIX
+ - added tfm and dvi target for mf/
+ - reincluded english.ly
+ - doc fixes (thanks, Adrian Moriano)
+ - doc fixes.
+ - mf: ex height added.
+
+pl 5.mb1
+ - Mudela 1.0.1: Changed \accidentals -> \keysignature
+ - Identifiers can be used in textual scripts:
+
+
+ tempoString="Allegro molto assai";
+
+ [...]
+
+ c^\tempoString
+
+
+
+pl 5.jbr2
+ - aclocal.m4,config.h.in,flower/file-path.cc: Added PATHSEP and
+ DIRSEP to configuration to support windows style path and pathlists.
+ - stepmake/bin/package-zip32.sh,stepmake/stepmake/package.make:
+ zip target now calls package-zip32.sh which creates winnt
+ binary distribution zip file. xzip target continues to use
+ package-zip.sh for Jan's cross-compiled version.
+ - lily/main.cc: Added a search for LILYPOND environment variable to
+ better facilitate binary distributions.
+ - Documentation/README-W32.yo: Updated information on running lilypond
+ on winnt.
+
+
+
+pl 5.jcn1
+ - (step)make fixes from yodl
+ - minor doco fixes
+ - bf: patch in website after 'make release'
+
+pl 5.jbr1
+ - Documentation/ntweb/Makefile: Used absolute url for LilyPond Homepage
+ - Documentation/ntweb/index.yo: Minor mods per Jan's suggestions
+
+
+
+
+*************
+pl 5
+
+pl 4.jcn1
+ - texinfo docs, lots of yodl TODO
+ - junked some makefiles
+ - ntweb: use BLURB
+ - bf: pletvisibility
+ - adaptions for yodl-1.31.2's automatic texinfo conversion
+ - reinclude of 1.jcn2:
+ - renamed -alto -> viola
+ - bf: avant-gardish six preludes
+ - bf: ly2dvi warnings
+
+pl 4.jbr1
+ - stepmake/stepmake/install-outfiles.sub.make: fixed typo
+ - scripts/GNUmakefile: add ly2dvi32 to installation list and fixed
+ included executable-targets.make to facilate installation of scripts
+ - Documentation/ntweb: Fixes to nt web page and added topdoc like
+ automation.
+
+*********
+pl 4
+pl 3.mb2
+ - Changed text script alignment: center -> left
+ - TeX commands counts as one character when calculating
+ the length of a Text_def
+
+pl 3.jbr2
+ - Documentation/topdocs/index.yo: Added link to NT dist page
+ - Documentation/ntweb/: Added Makefile and index.yo to build the
+ NT dist page
+
+pl 3.hwn1
+ - stepmake hacking
+
+pl 3.uu1
+ - stepmake MAKEFILES -> STEPMAKE_TEMPLATES
+ - count \texcommands in tex string
+
+
+pl 3.jcn1
+ - bf: website: empty toplevel readme's
+ - bf: xs4all (again?)
+ - can't administer ftp site now: put patch into website
+
+
+pl 3.jbr1
+ - stepmake/stepmake/Executable_targets: UNIX cross-compile doesn't
+ work with $(DOTEXE) on source of install command.
+ - stepmake/Generic_targets: creating multiple dirs with mkdir
+ requires -p option
+ - scripts/ly2dvi32.py: General and Winnt specific fixes
+
+
+*********
+pl 3
+
+pl 2.uu1
+ - solaris 2.6 compile/make website fixes.
+ - rm'd WWW.make
+ - stepmake .43
+ - pcnov095.win.tue.nl -> ftp.cs.uu.nl
+
+pl 2.hwn1
+ - mi2mu naming of track output
+ - bf: do key restore sign only once
+ - ly2dvi32 preliminary version (JBR)
+ - bf index.html link
+ - bf mudela-book.py
+
+
+**********
+pl 2
+ - scalar compile stuff
+ - bf install directory
+ - YODL note
+ - GUI faq update
+ - bf ly2dvi
+ - stepmake split: Po.make
+ - make check target
+ - dist AFMs and manpages
+ - split up mudela.yo in glossary.yo, tutorial.yo and refman.yo
+
+pl 1.jcn1
+ - www.digicash.com www.xs4all.nl
+ - fake msgfmt
+ - make uninstall fixes
+
+pl 1.jbr2 - aclocal.m4,stepmake/aclocal.m4,stepmake/stepmake/Variables.make:
+ Support install target for unix, unix cross compile, and
+ Windows NT
+
+pl 1.jbr1 - stepmake/stepmake/Executable.make: DOTEXE was missplaced
+ - scripts/convert-mudela.py: program_id should write to stderr
+
+**************
+pl 1
+ - mi2mu fix: \key "D"
+ - \hoffset
+ - started new NEWS file
+ - lots of stepmake hacking
+ - aclocal.m4 copied from stepmake
+ - ly2dvi 0.12
+ - build the doco from the source tree.
+ - include website in RPM
+
--- /dev/null
+1.2.0
+ - website fixes.
+ - initialize Script::dir_
+
+pl 69.jcn1
+ - doco typos
+ - tex-rules typo
+ - added missing feta-braces*.mf
+pl 68.lu1
+ - texinfo fixes
+****************
+
+pl 68.jcn2,3
+
+pl 68.hwn1
+ - more tutorial stuff.
+ - note^\dynamic scriptdir.
+ - dynamics listen to verticalDirection as well.
+ - \property automaticMelismas -> \property automaticMelismata
+ - dynamic padding for crescendi.
+
+pl 68.jcn1
+ - small tutorial fixes
+
+*********
+
+pl 67.hwn1
+ - tutorial updates
+ - \property beamAuto -> noAutoBeaming
+
+pl 67.uu1
+ - abc2ly updates
+
+pl 67.jcn1
+ - bfs: refman/parser subtract
+ - chord::find_additions_and_subtractions: termination assurance
+ - bf: refman: chord-inversion examples
+
+
+********
+
+pl 66.hwn1
+ - bf: chord mode unsigned '-' -> unsigned CHORD_MINUS (1 SR conflict).
+ - refman reedit.
+ - dotdown only when verticalDirection is set.
+ - bfs: abc2ly convertor (more or less) successfully converts
+movement 2 of Beethoven 7.
+ - \repeat "semi" -> \repeat "volta"
+ - all spacing params into paper vars.
+ - spacing before grace notes.
+ - warn if font not found.
+ - staccato dot / tenuto centering
+ - spacing for clefs.
+ - bf: Stem_staff_side::do_substitute_element_pointer ();
+ - new screenshot
+
+********
+pl 65.hwn1
+ - refman updates
+ - added \simultaneous { } , \sequential { } syntax, for
+consistency.
+
+pl 65.jcn2
+ - bf: if tie then melisma
+
+pl 65.uu1
+ - bf: squashed 2 sr conflicts in parser.
+
+pl 64.jcn2
+ - stanchen almost without " " hacks
+ - if tie then melisma..?
+ - refman updates
+ - Abbreviation.beam -> Chord_tremolo
+ - bf: chord tremolo vs beam over rests
+ - bf: note width for noteless stem
+
+
+
+********
+pl 64.jcn1
+ - resurrected abbreviation beam
+ - coriolan fixes
+
+pl 64.hwn1
+ - reference-manual updates.
+ - slurdash -> slurDash, keyoctaviation -> keyOctaviation
+
+pl 64.uu1
+ - \property forceHorizontalShift
+ - bf: denneboom.ly
+ - warn if translator switching to self.
+ - warn if brace at end of lyric syllable.
+ - bf: Repeated_music::alternatives_length_mom ()
+ - \property automaticMelismas: if slur then melisma
+ - \property noVoltaBraces
+ - bf: star-spangled-banner
+
+pl 63.lu2
+ - very tight: hinterfleisch -> 0 : input/bugs/spacing-very-tight.ly
+ - bfs: neutral beam and tie directions (daar was ik al bang voor:-)
+ - bf: abe: may beam over skip, as long as note present too
+ - bf: scsii-prelude: added slurs using skips
+
+*********
+pl 63.uu1
+ - mutopia updates courtesy Peter Chubb
+ - Don't make Time_scaled_music for c4*2/3 entry, only do the
+time compression. Should cure spurious Tuplet_brace/spanner warnings.
+
+pl 63.hwn1
+ - bf: Spacing for key/timesig at end of staff.
+ - negative font magnification
+ - slurs on grace notes.
+ - paper var stem_default_neutral_direction
+ - bf: dot-columns.
+
+pl 63.jcn2
+ - bf: midi2ly/duration-iter/convert: handle durations >= 1
+ - set reasonable default for text/dynamic paddings
+
+pl 63.jcn1
+ - junked some of (my) old metapost stuff
+
+pl 63.lu1
+ - some faq entries
+ - chord input and proceccing fixes
+ - bf: nederlands.ly
+
+**********
+pl 62.jcn4
+ - fixes coriolan
+
+pl 62.hwn1
+ - ps-to-pfa.py: use std modules re, find
+ - minor input fixes
+ - use mfplain.mp
+ - Metapost does unfill with setgray. This confuses
+GS. Do text substitution with eofill.
+
+pl 62.jcn3
+ - bfs: preludes
+ - found more wierd spacing
+
+pl 62.jcn2
+ - bf: don't start auto-beam on stem that contains only a rest
+ - bf: rm .ms yodl output
+ - bumped stepmake version
+
+pl 62.uu1
+ - don't space rhythmic requests coming from Lyrics.
+
+pl 62.jcn1
+ - bf: auto-beamer: consider starting beam based on new rhythmic head
+ - bfs: preludes-4, cello-suites
+ - \addlyricsified standchen and twinkle (ugh: \repeat and \addlyrics)
+ - bf: interstaff slur slope damping
+ - bf: in-band signaling slur snap
+
+pl 61.jbr1
+ - Documentation/ntweb/GNUmakefile: Made EXTRA_DIST_FILE style fix and
+ added dist-plain target as dependency to the default target.
+ - scripts/ly2dvi.py: getpid does not behave very well across platforms
+ so I am creating temp file names with the Python tempfile module.
+ The generate lilypond dependency file option was broken and
+ is now operational. I also changed the dependency switch
+ from -d or -M to match lilypond.
+ - stepmake/bin/package-zip32.sh: Added build of ntweb html
+ documentation
+
+***********
+pl 61.hwn2
+ - revise / junk various input files.
+ - junk Music_list_iterator
+ - bf: declared paper + \shape
+ - bf: \shape and wordwrap
+ - Busy_playing_req ()
+ - Music_iterator::try_music_in_children (),
+so explicit \context Staff is often not needed for
+ * tuplets
+ * repeats
+ - automatic rest detection for \rhythm
+ - regtest tight-spacing.ly
+ - regtest lyric-combine.ly
+ - Melisma_playing_req, Melisma_engraver, Busy_playing_req:
+stuff for syncing music & lyrics.
+ - simplify Extender_engraver, Hyphen_engraver. Assume lyrics come in from only one voice.
+ - docced ambiguities in grammar.
+ - mudela-book -I behavior, verbosity.
+ - state search path when file not found
+
+pl 61.hwn1
+ - bf: \scm with --safe
+ - (ly-gulp-file)
+ - no need to set GS_LIBDIR, .ps files are inlined and directly
+printable.
+ - bf: spacing engine
+ - fixed paper11/13/16/20/23/26.ly
+ - use (header-end) iso {ps,tex}setting
+ - bf: convert-mudela --output
+ - move \version check to lexer.ll
+ - moved repeated-music-iterator.cc to folded-repeat-iterator.cc
+ - bf: broken crescendi
+ - removed delayed Spanner breaking.
+ - new implementation of \rhythm:
+ * Lyric_combine_music
+ * Lyric_combine_music_iterator
+ * \property melismaBusy sets melisma state.
+ * (commented out in parser.yy -- solution is not good enough yet.)
+ - bf: record def spot of seq/sim music
+ - junk Music_iterator::next_music_l (), Music::to_rhythm () & friends.
+ - junk Re_rhythmed_music & friends
+ - mudela 1.1.62: \shape = -1 -2 -3; -> \shape -1, -2, -3; etc.
+ solves one ambiguity.
+ - grace notes at end of music don't crash Lily.
+
+*******
+pl 60.jcn2
+ - moved creation of $BUILDDIR/share/locale into set-lily.sh
+ - slur slope change constraints when snapping
+ - slur height damping based on bow height
+ - don't typeset unfinished (auto) beams
+
+pl 60.jbr1
+ - Documentation/ntweb/angels.ly, Documentation/ntweb/guile.patch: added
+ - Documentation/ntweb/GNUmakefile: add above to EXTRA_DIST_FILES
+
+pl 59.mb2
+ - Tempo changes in MIDI output!
+ - gallina.ly:auto-beaming
+ - added property articulationScriptVerticalDirection
+ (useful in N.W.Gade/score.ly)
+ - bf, N.W.Gade: removed some more misprints
+
+pl 60.uu1
+ - bf: hara-kiri.ly
+
+pl 60.jcn1
+ - interstaff slur tuning
+ - added some regtests
+ - removed now silly check in encompass-info
+
+**********
+
+pl 59.uu1
+ - papervar loose_column_distance
+ - scripts don't collide.
+ - bf: midi2ly outputs \context iso \type
+
+pl 59.jbr1
+ - lily/colhpos.cc: fixed typo
+ - Documentation/ntweb: Updated News and added all the files
+ associated with Windows Distribution web page.
+ - stepmake/bin/package-zip32.sh: added the ntweb page to formated
+ distribution.
+
+pl 59.jcn1
+ - bfs: slur damping
+ - papervar slur_interstaff_snap_to_stem
+
+pl 59.hwn1
+ - \property graceAlignPosition : put grace notes after main note.
+ - moved pianobrace stuff into Lookup
+ - moved Local_key_engraver out of Voice context, and
+acknowledge Grace_align_items. Solves tie + accidental problem.
+
+pl 59.mb1
+ - Some small clean-ups and bug fixes
+
+***********
+
+pl 58.uu1
+ - experimental pdftex support, courtesy Stephen Peters.
+ - --version support
+ - junked complicated loose column handling.
+ - only stretch the extra space after prefatory matter, not the
+entire width of prefatory matter.
+ - standardise(d) switches:-d for debug, -M for Make deps, -m for midi-only.
+ - bf: papervar non_musical_space_strength now works. Set to 8 (-> Strong! )
+ - bf: space after time_sig.
+ - bf: decrescendi.
+ - bf: barlines on voltas
+
+************
+pl 57.hwn1
+ - bf: accidentals on grace notes.
+ - \property graceAccidentalSpace
+ - bf: ignore grace notes duration for non-grace spacing.
+ - uncommented Key_req::transpose.
+ - Dot_column::do_post_processing (): better dot collisions, see dots.fly.
+ - derive Dot_column from Note_side_item.
+ - renaming of files
+ * heads-engraver
+ * request-iterator
+ * p-score
+ * engraver-group
+
+pl 57.jcn3
+ - bf: no extension: assume .ly
+ - bf: bow::do_width; which in turn allowed
+ - removed broken interstaff slur damping hack, and
+ - bf: slur height damping fixes damping
+
+pl 57.jcn2
+ - bf: ? priority and snap to stem
+
+pl 56.jcn4
+ - interstaff slur fixes and damping
+
+pl 56.mk1
+ - bf: collision.cc: collisions between chords with different
+ stem directions and close heads.
+
+****************s**************
+
+pl 56.jcn3
+ - slur de-hairification
+ * slurs always attached to noteheads, by default
+ * corrections for steep and high slurs
+ * snap to stem end when close
+ - bow/tie/slur dy/dx fix
+
+pl 56.hwn1
+ - some spacing tweaks.
+ - bf: two repeats + alts after each other.
+pl 56.jcn2
+ - tie: bfs + even simpler
+
+pl 56.jcn1
+ - bf: re-added \textflat,sharp to fix chords...
+ - bf: chord-modifier and mandatory dot: c-maj5
+ - tutorial chord fixes
+ - tie fixes and boldifying:
+ * removed sloping (dy!=0) code
+ * use actual note-widths
+ * y[left] == y[right]
+ * follow OSU rules, I hope (from comments in text -- must check)
+ * undetermined direction -> down; inverse of stem
+ - bf: beam: undetermined direction -> up; like stem
+ - slur-symmetry fixes
+ - fix for \rhythm and seq_iter childs (still crude, but more effective)
+*********
+
+pl 55.uu1
+ - use GS' anti aliasing
+
+pl 55.jcn1
+ - auto-beamer: consider current duration first in ending/starting beam
+ this way, you can have 16ths auto-beamed, in some way, but 8ths never
+ beamAutoEnd_16 = 1;
+ beamAutoEnd_8 = 1/8;
+ - added some classes and few lines of doco to .dstreamrc
+ - refman:
+ * comment out broken
+ * commented out stale tex macros (tex/* dir too)
+ * bfs/new syntax: chords
+ - more midi2ly renaming stuff
+ - bf: make info (midi2ly and other renaming)
+
+pl 54.jcn2
+ - bf: auto-beamer: don't beam over skips
+ - update BUGS
+
+
+pl 55.mb2
+ - Font update: added more mensural style time signatures,
+ old2/4, old6/8alt, old4/8 thanks to Christian Mondrup.
+ - bf: correct indentation of first line (removed \leavevmode)
+ plain TeX still gives wrong indentation
+ - bf: volta brackets broken over several lines get open end.
+ Final bracket gets vertical end if it stops at double bar.
+ - Dashed grace flags also for durations shorter than 8.
+ - N.W.Gade: fixed some details
+
+pl 55.mb1
+ - bf: font magnification also in PS output
+ - bf: set the GS_* variables correctly in buildscripts/lilypond-*.sh
+ - bf, lily.scm: errors in (de)crescendo
+ - bf, lilyponddefs: removed \noindent
+
+
+pl 55.hwn1
+ - fixes: horn-concerto-3.ly
+ - bf: grace before tuplet.
+ - bf: decrescendo
+ - bf: multimeasrest numbers centered.
+
+****************
+
+pl 53.jbr2
+ - Documentation/ntweb/index.html: Updated nt distribution web page
+
+pl 54.uu1
+ - bf: Stem lens for beams.
+ - move meta doco to Documentation/metadoc
+ - move .bibb to Documentation/bibliography
+ - rename mi2mu to midi2ly
+ - removed other-packages.bib to comply with GNU standards
+
+pl 54.jcn1
+ - mutopia/J.S.Bach/Duette 1&2
+
+pl 54.mb1
+ - Renamed \wheel to the \coda
+ - bf: correct gap in tuplet braces
+
+pl 53.hwn2
+ - move more parameters from PS/TeX to Lily.
+ - PS cleanup
+ - TeX cleanup.
+ - bf: also make (empty) bar at end of voltabracket.
+ - bf: don't put slur over rest.
+
+
+pl 54.uu1
+ - debian updates (anthony fok).
+
+*************
+pl 54 (july, 8)
+pl 53.jbr1
+ - scripts/ly2dvi.py: A fix for the multitude of file systems supported
+ by windows. As long as the paths that the cygwin apps use are
+ UNC style and the paths that the native windows apps use are DOS
+ style everybody is happy. I add quick and dirty unc2dos function
+ to facilitate this approach.
+
+pl 53.hwn1
+ - bf mudela-book.
+ - better min distance for multi measure rests.
+ - junk ATOM_SMOB
+ - control tuplet gap size from paper.
+ - bf: output header as PS strings for PS out.
+ - bf: cached-fontname
+ - control volta height from paper block.
+
+pl 53.jcn5
+ - \rhythm-ified and text bfs: standchen.ly
+ - walk rhythm through *_iterator::next_music_l ()
+
+pl 53.jcn4
+ - more abc2ly hacking, including lyrics and \rhythm
+ - bfs: \rhythm
+ - \rhythm-ified input/twinkle.ly
+
+pl 53.jcn3
+ - put rhythm A on pitches/lyrics B: \rhythm MUSICA MUSICB
+ input/test/rhythm-melody.fly
+ input/test/rhythm-lyrics.fly
+ - syntax changes:
+o * dot-only duration dropped: use c4 c4. iso now invalid: c4 c.
+ * chords: optional_dot now mandatory:
+ \chords { c-1.2.3 } iso now invalid: \chords { c-1 2 3 }
+ * @c@ (notemode_chords) syntax dropped. rather use:
+ \notes { c d \chords { e f } }
+
+pl 53.jcn2
+ - \property graceFraction: part of next note taken-up by grace(s).
+ - Note_performer: add moments for delayed notes,
+ fine for single grace notes: hear gnossienne-4.ly
+
+pl 53.jcn1
+ - grace performance
+ - fixed tie-performance
+ - bf: abe
+
+pl 53.gp1
+ - added Hyphen-engraver, Hyphen-spanner
+************
+pl 52.jcn3
+ - bf: mi2mu: midi without key
+ - try at grace-performer-group; breaks MIDI output even when no \grace
+ - silly tie-performer
+ - performers play_element () delayed to do_pre_move_processing ()
+
+pl 52.jcn2
+ - bfs standchen + grace, gnossienne-4
+ - decoupled midi output from input
+
+pl 52.jcn1
+ - bf: moved accidental code from Key_engraver to Key_change_req
+ - bf: midi-key
+ - bfs: mi2mu: core-dumps, keys, key-names, key-changes, notenames
+
+pl 52.hwn2
+ - new-beaming.cc: new beaming code
+ * now does [c8. c32 c32] correct by itself.
+ * beam over barlines
+ * non-fitting stems handled gracefully (eg. [c8 c4 c8] )
+ - junked rhythmic grouping, \grouping and all associated bits.
+ - bf: do try_visibility_lambda for nonbreakable items as well
+ (fixes \nobreak on barline)
+ - bf: Cons_list::truncate()
+
+pl 52.hwn1
+ - repeat-engraver cleanup
+pl 52.gp1
+ - bf: make doc++ corrected to only include *.h and *.hh files.
+pl 52.mb2
+ - Added \repetitions: prints symbol for repeated bars.
+ Same syntax as multi-measure rests!
+ - Added \segno and \wheel script symbols
+pl 52.mb3
+ - Added barSize property. Junked barsize variable.
+
+************
+pl 51.uu2
+ - grace note flags, move Lookup::flag into Stem
+ - faq updates: doc++, Matt's page
+ - fixes for doc++.
+ - bartype string uses "brace" and "bracket" iso. "{" and "["
+ - some of assert()s replaced by programming_error ()
+
+pl 51.mb1
+ - N.W.Gade: added real grace notes
+ - feta-banier.mf: added grace note flag
+
+pl 51.uu1
+ - use weAreGraceContext \property to determine self_grace_b_
+ - made more engravers grace aware.
+
+pl 50.jcn2
+ - filed egcs bug report for powerpc.
+ - removed unnecessary #ifdef powerpc
+ - grace and other fixes for auto-beamer
+ - grace and other fixes for (beam-)stem-lengths
+ - input/test/bugs/hairy-grace.ly (urg)
+ - input/test/bugs/grace-accidents.ly (urg)
+ - input/test/bugs/grace-grace.ly (core)
+ - fixes: gnossienne-4.ly
+
+pl 50.hwn2
+ - Timing_translator: add proccing moments to nearest global translator,
+not to top global translator.
+ - cadenza.ly: grace notes.
+ - bf: auto staff switching
+
+************
+pl 51
+pl 50.hwn1
+ - grace notes:
+ * Grace_iterator
+ * Grace_music
+ * Grace_engraver_group
+ * move Score::run_translator to Global_translator::run_iterator_on_me
+ * stemLength property, Stem::length elt property
+ * Grace_align_item
+ * Note_head_side baseclasses Local_key_item, Grace_align_item
+ * Local_key_engraver moved to Voice.
+ * Grace_position_engraver
+ * Added Rhythmic_head::stem_l_
+ * Various other robustifications.
+ - lily.scm: scm->string
+ - folded reps without alts.
+ - Paper_outputter uses scm->string
+ - stem params now in staff positions iso. real dimensions
+ - internal: Junk all G_ and g- prefixes
+
+************
+pl 49.mb1
+ - bf: ly2dvi -N
+ - Added dynamicPadding property (applies only to dynamic marks,
+ not (de)crescendi.
+
+pl 49.jcn4
+ - resurrected gnossienne-4
+ - Documentation fixes (for texinfo get yodl-1.31.13, tbr)
+ - minor abc2ly fixes; successfully converted some simple abc files from
+ http://faeryland.tamu-commerce.edu/joyce/
+ - www.mail-archive.COM
+
+pl 49.jcn1
+ - guile scm_gc_mark () workaround:
+ - via scm output wrapper buildscripts/lilypond.sh, set:
+ PATH=$LILYPONDPREFIX/buildscripts/out:$PATH
+ - scm output fixes
+
+pl 48.hwn2
+ - bf: rest-collisions.
+ - cleaned up standchen
+ - bf: slur dims.
+ - bf: unfold without enough alternatives.
+ - Use Lily version for \version.
+
+
+pl 49.uu1
+ - ran purify. Fixed some small problems, plugged some leaks.
+ - bf: linebreak at |:
+ - doc updates by Adrian Mariano
+
+pl 49.mk1
+ - Breathing signs by Michael Krause
+
+************
+
+pl 48.hwn1
+ - \property hshift -> \property horizontalNoteShift (mudela 1.0.21)
+ - cleaned up collision. \property hshift = 2 now supported.
+ - Spacing:
+ * bf: don't divide strength by distance if distance == 0.0
+ * cleaned up Spacing_spanner
+ * simplistic optical illusion spacing for opposite stems.
+ - don't use Protected_scm for Score_element::element_property_alist_
+ - some scsii fixes.
+ - Lookup cleanups; junked Lookup::paper_l_
+ - abc-2-ly: tuplets, guitar chords., chords,
+
+pl 48.mb2
+ - bf: correct accidentals after tied over note.
+
+pl 48.mb1
+ - bf, lookup.cc: Count '{' also directly after a TeX macro
+ - bf: textstyle->textStyle in all examples.
+
+pl 48.jcn1
+ - bd: interstaff slurs at line break
+
+pl 48.uu1
+ - add a WX field to AFM output.
+ - add space before ; in AFM output
+
+*********
+pl 47.jcn1
+ - bf: interstaff slurs (urg: more segfaults in scm_gc_mark ())
+
+pl 45.hwn3
+ - Abbreviation -> Stem_tremolo.
+ - bf: Stem_tremolo in Beam.
+ - bf: Stem_tremolo over whole note.
+ - spacing before clefs.
+ - Spacing_spanner is now on by default
+ - junked most of Spring_spacer
+ - Tunable space after barline.
+
+*********
+pl 46.mb2
+ - Reintroduced the tupletVisibility property. Same values as
+ the old version (pletvisibility), see the Reference Manual.
+ Note: does not work correctly with automatic beams.
+ - Added a tupletDirection property.
+
+pl 46.uu1
+ - bf: {} in texts.
+
+pl 45.hwn2
+ - more doc updates.
+
+
+pl 46.mb1
+ - Added property articulationScriptPadding
+ - N.W.Gade: layout fixes
+
+*********
+
+pl 45.hwn1
+ - Audio broadcast & acknowledge.
+ - more advanced spacing for prefatory matter
+ - tuplet appearance tweaking
+ - bf: ChoirStaff
+
+pl 45.uu1
+ - glossary fixes (thanks Dirk).
+
+pl 44.jcn2
+ - bf: auto-beamer: long standing br form AM
+
+
+*********
+
+pl 45 (may 28)
+ - reinstalled Thread (there you are, John)
+ - german vocab.
+
+
+pl 43.hwn2
+ - split G_staff_side_item into G_staff_side_element and G_staff_side_item.
+ - junked old Staff_side
+ - Crescendo also uses G_staff_side_element
+ - crescendo_shorten paper var.
+ - create horizontal groups for break_aligment inside Break_align_item.
+ - more abc-2-ly fudging
+
+pl 44.mb1
+ - bf, property.ly: change fontsize->fontSize
+ - N.W.Gade: removed old tie behaviour
+ - bf, ly2dvi: expand .sly extensions
+
+*********
+pl 44
+pl 43.jcn2
+ - bf: repeat :| placement + core dump
+ input/test/repeat.ly
+ input/test/coda-kludge.ly
+ - bf: mf without ljfour
+ * feta-accordion fix/hack for feta11 at 300dpi
+
+pl 43.hwn1
+ - half assed attempt at ABC convertor.
+ - Spacing_spanner: "decentral" spacing stuff. Use -t to try.
+ - bf: StaffGroup vertical alignment
+ - \property {slur,tie,}ydirection -> {slurV,tieV,v}erticalDirection (1.0.20)
+ - Spanner now hangs on left endpoint.
+ - \property forgetAccidentals: do not remember accidentals.
+ Every note not in the key triggers typesetting of an accidental.
+ - \property noResetKey: do not reset key at start of measure:
+ accidental remain in effect until overriden
+ - bf: ties & accidentals (fix breaks oldTieBehavior)
+ - junked Tie::same_pitch_b_
+
+pl 43.jcn1
+ - configure, set-lily.sh, release stuff
+
+pl 42.tca2
+ - lilypond don't put \interstaffline after last line. This to
+ get really nice vertical spacing for mudela-book.
+ - mudela-book: vertical spacing
+ - lilyponddefs.tex: commented out \parindent=0pt to get correct
+ paragraph indent for mudela-book
+
+************
+pl 43
+
+pl 41.hwn3
+ - reinstated \property inheritance
+ - \property SkipBars -> skipBars
+ - \property midi_instrument -> midiInstrument
+ - \property fontsize -> fontSize (mudela 1.0.18).
+ - bf: add a space after lyrics.
+ - junked flower DLL classes
+ - rewrote repeat music and iterators (mudela 1.0.17)
+ * Folded_repeat_iterator
+ * Unfolded_repeat_iterator
+ * New_repeated_music
+ * syntax change: \repeat FOLDSTRING NUMBER Music [ALTERNATIVE Music_se
+quence]
+ - data struct simplification: junked Dynamic_req,
+Absolute_dynamic_req, Span_dynamic_req, Slur_req, Beam_req. Use
+Span_reqs and Text_script_reqs with type fields instead.
+
+pl 42.tca1
+ - updated mudela-book documentation
+ - misc mudela-book.py
+ - accordion: smaller dots + little script renaming
+
+
+pl 42.jcn1
+ - bf: hp-u(rg)x: user build; sm 73
+ - bf: hp-u(rg)x: sm74
+
+pl 41.mb1
+ - convert-mudela: convert textstyle -> textStyle
+ - refman.yo: properties moved to correct contexts.
+ - mudela-book.py: Added singleline, multiline options.
+ Fixed default line width bug.
+
+***************
+pl 41.hwn2 (may 10, 1999)
+ - bf: Score bar line thickness.
+ - more paper writing
+ - website tweaks.
+ - Graphical_element::dim_cache_ now alloced separately.
+ - junked Graphical_element::absgolute_offset
+ - Musique-de-Table
+ - mmrest_x_minimum now works at begin-of-line.
+ - junked Span_bar::extra_x_off
+ - \property foo.bar = \stringid + \otherstringid
+ - bf: stop on lexer errors as well.
+ - only do vertical alignment at Score level.
+ - tweaked ledger endings a bit.
+
+
+pl 41.hwn1
+ - small fixes.
+ - mudela-book.py patch (thanks MB)
+
+pl 41.mb1
+ - Added the installation instructions to the top web page.
+ - N.W.Gade: Added triangolo part, minor changes.
+
+pl 41.tca1
+ - Lookup::accordion and removed some accordionfonts
+
+***************
+
+pl 40.uu2
+ - rest ledger lines are dimensionless.
+ - Score_elements are added to the Paper_score directly when
+announce_element () is called. This makes it possible to init
+molecules from within engravers.
+ - changed \type to \context
+ - \context Contextname = ID Music is now a real separate production
+ * you can do
+ \context C1 \context C2
+
+ and C1 won't overwrite C2
+
+ * you need some extra explicit context specs, eg. if you start a
+voice with a chord.
+
+ \score { \notes { <c e g> } }
+
+ should be
+
+ \score { \notes \context Voice { <c e g > }
+
+ - set staff margins on grandstaffs too. Center staffmargins vertically.
+ - \property values are not inherited anymore, i.e. setting
+Score.minVerticalAlign does not set GrandStaff.minVerticalAlign, Staff.minVerticalAlign and Voice.minVerticalAlign as well.
+ - {Axis_spanner, Hara_kiri}_engraver which can be added at wish.
+Hara_kiri should be working again.
+ - boilerplate for accordion stuff.
+ - some more paper writing.
+ - bf: substitute vertical refpoint as well for broken items.
+(fixes clef^8)
+ - bf: translating molecule without elts but with dims. (bf: accidental
+spacing.)
+
+pl 40.mb1
+ - bf: ly2dvi set MFINPUTS so standard tree is found before lilypond
+ - bf: lilypond-regtest.doc, ls-latex.py; now finds author/title
+
+pl 40.uu1
+ - large documentation patch by Adrian Mariano
+
+********
+pl 40
+pl 39.mb2
+ - added more mensural style time signatures, old3/4, old6/8, old9/8
+ - redesigned old6/4, old9/4
+ - Updated refman.yo, lilypond-regtest.doc, clefs.ly, time.fly
+
+pl 39.hwn1
+ - consified mi2mu (pl 37.jcn1)
+
+pl 39.mb1
+ - bf: invisible clefs don't take any space, moved _8 below clef
+ - updated incipit example and macro
+
+pl 39.uu1
+ - delete graphical objects in reverse
+ - faq updates.
+
+********
+pl 39 (april 12)
+ - \property textstyle -> textStyle
+
+pl 38.tca1
+ - added scm/accordion-script.scm and update ly/accordion-defs.ly
+ - renamed some accordion symbols to make them more english and less
+ norwenglish.
+ - removed dot from \accBayanbase
+
+pl 37.script4
+ - bf: molecule
+ - bf: tuplet spanner appearance.
+ - bf: less spacing after clef. Invisible bar has no dims.
+ - included AIMS. The why of Lily.
+ - warning if duplicate engraver.
+ - warning if no ties could be created.
+ - bf: \time1/4; .. beams ..
+ - bf: staff switching beams / slurs.
+ - tuplets on multiple beams.
+ - Documentation/tex/lilypond-regtest.doc
+ - bf: nested tuplets
+ - slur cleanups.
+ - bf: multi_measure_rest_engraver in Score_context.
+
+pl 38.uu1
+ - bf: clef_8
+ - bf: barnumbers.
+
+pl 37.script3
+ - fixes for spring_spacer, introduced
+Spacing_engraver
+ - cleanup for rest-collisions.
+ - hacks for GUILE gc
+ - mudela-book \mudelafile
+ - Documentation/tex/lilypond-regtest.doc
+ - MF rest fixes
+
+
+********
+pl 38 (april 6)
+pl 37.script2
+ - bf: AFM for BlueSky AFM files.
+ - \penalty = 4278 -> \penalty 4278
+ - URG!! fixed major (unnoticed) bug in dependency engine
+ - Further Script hacking:
+ * G_script_column
+ * G_script_column_engraver
+
+pl 37.script1
+ - major Script rehack:
+ * G_stem_staff_side_item
+ * G_script
+ * G_script_engraver
+ * G_script_req
+ - junked Text_def, changed \property textstyle -> \property textStyle
+(todo -> convert-mudela)
+ - Line_of_score is an Axis_group_element, no more overlapping
+lines, hopefully.
+ - mf: whole diamond head tweak
+
+pl 37.mb2
+ - Added property clefStyle: "" / "transparent" / "fullSizeChanges"
+ - New example: input/test/incipit.ly
+ - Documented clefStyle and restStyle in refman.tex
+ - Partial bug fix: octaviated clefs. Still broken!!!
+
+
+pl 37.mb1
+ - Added property restStyle.
+ - mensural 4th, 8th and 16th rests.
+pl 37.uu1
+ - FreeBSD bf
+
+****
+pl 37 (march 30, 1999)
+ - note head styles, see input/test/noteheadstyle.fly
+ * \property noteHeadStyle:
+ * diamond note heads (probably really ugly)
+ * cross note head.
+ * harmonic head (mf sources were tweaked)
+ * transparent for no \heads
+ * \property noteHeadStyle ="" for normal heads.
+
+pl 36.mb2
+ - bf: timeSignatureStyle
+ - Added dynamic fz (forzando) to Lilypond
+ - bf: N.W.Gade, sfz -> fz
+
+pl 36.hwn1
+ - debian fixes.
+ - don't insert extra alignment space for empty stuff.
+ - Align_element derives from Axis_group_element
+ - junk cruft for detecting upbeam / downbeam.
+ - junk all *{horizontal,vertical}* Score_element derived classes.
+ - G_staff_side_item::padding_f_ now generic property.
+ - some tweaking of beam & stem.
+ - junk pointerlist in Sources
+ - junk Stem::mult_i_, Stem::beam_gap_i_, G_staff_side_item::padding,
+ Bar::at_line_start_b_, Key_item::c_position_, Note_head::type_str_,
+ Note_head::staff_size, Stem::xdir_
+
+pl 36.mb1
+ - bf: N.W.Gade
+
+**************
+
+pl 35.uu1
+ - more memory tweaks: don't do Score_element::line_l () when deleting lines.
+ - more generic properties.
+ - change ridic. dims assert into warning.
+ - tex/ midi fixes (thanks, Mats).
+ - bf: don't crash when no Stem_infos are set.
+ - extender-spanner simplification
+ - working MIDI chords (Thanks Dscho)
+
+pl 35.jcn1
+ - some ps fixes
+
+************
+pl 35
+
+pl 34.hwn2
+ - "Lily Was Here" is def'd as \mudelatagline, override with
+ \header { tagline = "... " ; }
+ - \property currentBarNumber: set
+ current bar number.
+ - \property postBreakPadding: tune extra
+ space padding after linebreaks.
+ - \property textEmptyDimension: disregard script text
+ dimensions (untested)
+ - \property staffLineLeading: set the staff space
+ - adjustable staff space size (per staff)
+ - Staff_symbol_referencer as base class for elements that use
+ info of the staff symbol. \property numberOfStaffLines also works OK
+ with ledger lines. (Is that useful? dunno.)
+ - warning if someone does \translator with no name
+ - junk Item::breakable_b_
+ - junk PointerList<Music*>, use Killing_cons
+ - bf: Auto_beam_engraver.
+ - bf: mmrest engraver.
+ - use callbacks for Dimension_cache.
+ - lots of small cleanups. Junk various members of
+ Score_element & derived classes:
+ * Item::original_l_,
+ * Spanner::original_l_,
+ * Score_element::transparent_b_,
+ * Item::break_priority_i_,
+ * Item::break_status_dir_,
+ - merge Score_priority_engraver / Score_horizontal_align_engraver
+ - Use more generic element properties.
+ - precompute SCM symbols.
+ - remove_elt_property (): Try to junk an element property, if not
+ needed anymore.
+
+
+
+pl 34.uu1
+ - more PointerList junkings.
+ - MIDI bugfix.
+ - be more conservative with Dicts/Hashes mem usage
+
+*********
+pl 34
+
+pl 33.uu2
+ - some performance cleanups: junked PointerList instance, plugged some leaks.
+ - style -> fontname now in scheme.
+ - minor Score_element brainsurgery:
+ * generic element properties.
+ * junked Score_element::junk_links, Score_element::unlink
+ * junked Directed_graph_node as superclass of
+Score_element, this should reduce mem usage a bit.
+
+pl 33.jcn2
+ - fixed autobeamer's beam->unlink ()
+
+pl 33.jcn1
+ - allow autobeaming according to duration iso (crude) multiplicity
+
+pl 33.jbr1
+ - change my email address
+ - Windows platform does a cp -r instead of a ln -s
+
+pl 33.uu1
+ - bf: ^ and _
+ - junked poor man's dynamics.
+
+*********
+pl 33
+
+pl 32.mb1
+ - bf: \> and \< were interchanged!!
+ - Added property: textScriptPadding
+ - Changed copyright text on the Gade score.
+
+pl 32.uu1
+ - really include Gade score now.
+ - fixes: install-[out-]targets, INSTALLATION_[OUT_]SUFFIXES
+ - install TFMs in separate dir.
+pl 31.hwn3
+ - Span_bar bugfix (there you go, Mats).
+ - bf: Score copy ctor (-> bf declaring score)
+ - new Tie behavior: only tie identical pitches, switchable with
+ oldTieBehavior
+ - junked cautionary_b_ from Musical_pitch
+
+pl 32.jcn1
+ - set-lily: set weird locale links for $LILYPONDPREFIX
+
+**********
+pl 31.mb2
+ - Added example: "Imellan Fjeldene" by Niels W. Gade.
+ - bf: don't attach staff margin text to clef changes within the
+ lines. (Still not perfect: no text when a clef change happens
+
+pl 31.hwn2
+ - be somewhat lazy in break/object multiplication.
+ - print # elements for memory usage impression (try -t)
+ - Paper_score cleanup
+ - junked various Pointer_list instances. Executable now is smaller.
+ - junked various cruft
+ - merged do_substitute_dependen{t,cy} to
+do_substitute_element_pointer ()
+ - more parser cleanup
+ - Interval uses Drul_array
+ - bf: I've been drinking too much
+ - delete break helpers before object breaking/multiplication. Try
+to save some memory.
+
+pl 31.jcn4
+ - bf: toplevel install, kpsewhich
+ - sm 71, require yodl-1.31.11
+ - fix: slur macros
+ - bf: info in rpm, if available
+ - fix: rat != float
+ - bf: slur-follow-music
+
+pl 31.uu1
+ - config.make: include GUILE_LDFLAGS
+
+******
+pl 31 (feb 16)
+
+pl 30.jcn1
+ - sm fixes, intl/ fixes
+
+pl 30.mb1
+ - Added support for magnification of TeX fonts ==>
+ larger dynamics in 20pt scores. (Doesn't work in Postscript)
+
+pl 30.hwn1
+ - Debian patches (thanks, Anthony)
+ - Italian support (thanks, Maurizio)
+ - parser cleanup
+ - minor chord.cc cleanups.
+ - bf: \rc \rced
+ - hara kiri doesn't do suicide with normal rests.
+ - Hara_kiri_vertical_group_spanner generalised
+ - extender engraver rewrite, now __ is like ~ [] |, ie. in between
+notes/lyrics.
+ - lyric engraver now engraves only single voices. Use
+separate LyricVoices to get stacked lyrics.
+ - bf: bar(Non)Auto first barline
+ - barAuto -> barNonAuto
+
+
+*******
+
+pl 30 (feb 15)
+
+pl 29.uu1
+ - typewriter font
+ - star-spangled-banner bf (slur.cc).
+
+
+pl 29.jcn3
+ - fix: slur-case3.ly
+ - init.sly: .fly with linewidt=-1
+
+pl 29.jcn2
+ - resurrected ps output
+
+pl 29.hwn1
+ - bf: coord relative to self.
+ - bf: error msg if no AFM found
+ - bf: hang script on bar in other axis too (fixes staff-side-slur bug)
+ - hang on scripts on clef as well (more to left for single staffs)
+
+
+pl 29.jcn1
+ - bf: volta sizes
+ - GNU stuff on home page
+
+*******
+pl 29
+
+pl 28.hwn1
+ - bf: mid measure clefs (breakable items in non-breakable columns.)
+ - spanner.cc assert changed to warning
+ - (c) 1998 -> 1999 search replace.
+
+pl 28.jcn1
+ - new outline TODO + .emacs setup
+*******
+pl 28
+pl 27.hwn2
+ - un-SMOB Atom. Cons and Killing_cons as simple cons replacements.
+
+pl 27.jcn5
+ - outline TODO
+
+pl 27.jcn4
+ - measure-end hinterfleish patch
+ - input/test/coda-kludge.ly
+ - bf: volta-number placement
+ - volta: support for "1.-2." "3"
+
+pl 27.jcn3
+ - bf's: zero-length repeats
+ - Auto beamer:
+ * turned on by default
+ * input/test/auto-beam*.ly
+ * support for time-defaults
+ - Chords:
+ * input/just-friends.ly
+ * ChordNameContext
+ * bf's: chord mode: accept STRINGS, rests
+ * bf's: banter_str
+ - new bool \property Score.barAtLineStart
+
+pl 27.hwn1
+ - global ctors
+ - read lily.scm before all .lys
+ - Link_array derives from Array<void*>
+ - search repl: Array<X*> -> Link_array<X>
+ - junked most static casts
+ - revamped Atom / Molecule: Molecule now is the public interface.
+Atom is a GUILE smob. Guile takes care of allocation and list stuff.
+ - bar scripts on score bars (there you are, Mats)
+ - :||: span bar fixed
+ - using generic ledger lines now (regenerate fonts!)
+ - refman updates (Thanks, Adrian!)
+ - Molecule::operator = (), Molecule::do_center ()
+ - junked Span_score_bar, Score_bar, Staff_bracket, Piano_brace. Folded functionality into Span_bar
+ - textstyle property for textual scripts.
+ - lookup cleanups (time_signature, text, stem, junked extender, filledbox, simple_bar)
+ - junked obsolete TeX stuff.
+ - ly2dvi-testpage.ly
+ - only make AFMs for feta[0-9]+.mf
+ - using strings for abs loudness.
+
+
+pl 27.jcn2
+ - grand renaming: Duration vs Moment / Rational
+
+pl 27.uu1
+ - extra beam warning
+
+pl 27.jcn1
+ - complete redo of chord and chord name code
+ - small fixes
+
+*************
+pl 27 (feb 3)
+
+pl 26.uu1
+ - make TFMs too.
+ - bf: dynamics. (Don't hang on spanner!)
+ - read TFM before AFM.
+ - fix din-MF stuff (UGH)
+
+pl 26.jcn4
+ - Chord: handle all chord stuff; lots of chord fixes
+ - bf: Chord-name-engraver: find tonic
+ - bf: my-lily-parser: get_chord
+
+
+pl 26.jcn3
+ - bf's: spring spacer end of measure
+ - bf: tie/slur rods (dankje, lieverd)
+ - bf's: intl/ compile, install, uninstall
+
+pl 26.jcn2
+ - enforce {slur,tie}_x_minimum (urg, paper vars?)
+ - tie listens to tieydirection/ydirection
+ - bf: tie placement
+
+pl 26.jcn1
+ - tutorial fixes
+ - bf: OrchestralScore should do hara-kiri..
+ - bf: makeinfo:
+ - info in rpm again
+ - update to yodl pl10, yodl2texinfo fixes
+ - use --force, .info should always be generated
+
+*********
+pl 26 (feb 1, 99)
+
+25.jcn2
+ - bf: staffside axis init
+ - bf: staffmargin stuff.
+ - Timesig C fixes
+
+
+pl 25.uu2
+ - junked Scarlatti clef
+ - fixed clef^8
+ - Interpretation_context_handle is interface to interpretation context
+ - Staff_switching_translator: automatic staff switching for Piano staffs.
+
+pl25.jcn1
+ - volta-spanner: junked dot_p_; not so handy after all: kerning??
+ - feta-nummer: added : ,-.
+ - volta/tuplet thickness
+ - bf: scs-paper
+ - bf: ".|", and bar-thicknesses
+
+pl 25.uu1
+ - bf: default duration is 4
+
+**********
+pl 25
+
+pl 23.ms2
+ - property noteheadStyle
+ - first attempt to make harmonics : see input/test/harmonics.fly
+
+pl 23.ms1
+ - sinfonia.ly: several fixes
+ - dynamics
+ * increased range pppppp to ffffff
+ * added sp, spp, sff, rfz
+ * example see input/test/tchaikovsky.ly
+ * updated dynamics in refman
+
+
+pl 24.jcn2
+ - website fixes
+ - bf's: chords:
+ * reverted c1*2, collides with \times {}
+ * should use: c\breve, c\longa for long chords
+ * addition: c-9, subtraction: c^5
+ * multiple -add, ^sub: c-7+.9-^3.5
+ - bf: lyric chord
+ - bf: lookup text height
+ - bf's: autobeamer
+
+ pl 24.jcn1
+ - bf: rest collisions
+ - separate tfm-reader
+ - bf: :|: should not have thin lines
+
+
+pl 24.mb1
+ - bf: Correct units now used in the .afm files.
+
+******
+
+pl 24, Hacking Apart Together (Jan 25)
+
+pl 23.jcn9
+ - bf's: preludes-* (found a \meter and \transpose c`` there!)
+ - bf: ly2dvi: don't barf on 'linewidth = -1.;'
+ - bf: lily-version
+
+pl 23.jbr1
+ - scripts/ly2dvi.py: Windows 95 shell does not support redivrection
+ of stderr. We now distribute ash and use it when needed.
+ - stepmake/bin/package-zip32.sh: distribute ash, and guild ice-9/
+ directory. We build and distribute manpages in html format instead
+ of text format.
+ - Documentation/ntweb: Updated doco and now distributing as a self
+ extracted binary with install script.
+
+pl 23.hwn4
+ - bugfixes
+ - changed All_font_metrics to do TFM as well.
+ - changed init/ to ly/
+
+pl 23.jcn8
+ - tfm reader; revamped code from fontutils-0.6
+
+pl 23.hwn3
+ - {Bar numbers|staff margin stuff|marks} fixed using
+Bar_script_engraver as base class
+ - bf: PS points != Lily \pt
+ - junked Bar_column_engraver
+ - junked Text_item and some old files.
+
+
+pl 23.jcn7
+ - bf: piano-brace size (veels te simpel: kruis vingers tegen reject)
+ - crude autobeam stuff in mi2mu
+ - brevis, longa chords: c1*2,*4
+ - mutopia/E.Satie/petite-ouverture-a-danser.ly
+ - prop: voltaVisibility
+ - more cello-suite-ii fixes:
+ * nice repeats
+ * removed all beams ifo auto-beamer
+ - bf's: autobeam
+ - junked dur2real; beamAutoEndx now as rational string: "1/2"
+
+pl 23.hwn2
+ - _8 clef
+ - junked #args symtable def.
+ - junked Text_item.
+ - moved Bar assembling into LilyPond
+ - junked symtables reads
+ - Lookup cleanups
+ - junked Symtable from init/table*
+
+pl 23.hwn1
+ - revamped Scarlatti K3-L378
+ - some more doco
+ - use interning/SCM for Scopes
+ - hanging on now works for breakables too.
+
+pl 23.jcn6
+ - chord fixes; notemode chord syntax changed: @c@ @c-7@
+ - fixed cello-suite ii
+ - bf's: auto-beamer; but nasty bug remains: input/bug/auto-beam.ly
+ - bf: extender
+ - (bit ugly) fix for lyric-chords
+ - fixed repeats (dankjewel lieverd)
+ * input/twinkle.ly
+ * input/star*.ly
+
+pl 23.jcn3
+ - succussfully removed []s from wtk1-fugue2.ly
+ - bf + smarter autobeamer
+
+pl 23.jcn2
+ - mi2mu: d-minor: des->cis, g-minor ges->fis
+
+pl 23.mb1
+ - bf: Position and possible SIGSEGV in Mark_engraver
+ - Added padding support in G_staff_side_item
+ - bf: Correct direction of textual scripts.
+ - bf, lookup.cc: Fewer warnings about missing text styles.
+ Same units used in all .afm files.
+
+pl 22.jcn5
+ - auto-beaming v0: input/test/auto-beam.ly
+
+
+
+***********
+
+pl 22.jcn4
+ - bf's: repeat-engraver; \bar "|:", ":|" now deprecated for repeats
+ - bf: :|, |:
+ - property barAlways changed to boolean (0/1)
+ - added boolean property: barAuto
+
+pl 22.jcn3
+ - bf: mmrest
+
+pl 22.jcn2
+ - updated mi2mu
+ - bf: multi-measure-rest (input/test/m.ly)
+ - half fix for staff-margin-engraver
+
+pl 22.jcn1
+ - bf's: cross-staff slur
+ - bf: gnossienne-4
+pl 22.tca1
+ - buxfix, \mudela{ \times 2/3{ ...} } works now
+
+******
+
+pl 22
+ - fixed "already have a Beam" error
+
+pl 21.jcn2
+ - gnossienne: hmm, how to
+ * undisplay bars
+ * don't put 'grace notes' in beam
+ * put separator between "] \translator Staff=x"
+
+pl 21.jcn1
+ - gnossienne-4.ly (start of)
+
+pl 20.jcn2
+ - mutopia fixes; see preludes-1.ly for cross-staff beams and slurs
+ - bf: broken interstaff slur
+ - sm66: check for gmake
+
+*******
+pl 20.jcn1
+ - interstaff slurs v0: preludes-1.ly
+ - warnings for silly interbeam settings
+
+pl 20.hwn1
+ - inclusion of WIP article about LilyPond.
+ - L.Mozart sinfonfia
+ - bf: [c8 [c8 c8]
+
+********
+pl 20
+
+pl 19.jcn5
+ - interstaff beams v0: see beam-interstaff.ly and wtk1-fugue2.ly
+
+pl 19.jcn4
+ - new stem/beam parameters
+ - bf: forced stem shorten
+
+pl 19.jcn3
+ - dehairification of beam code; cleanup and bugfixes
+ * stemlength
+ * forced stem shorten
+ * slope calculation
+ * damping and correction
+ * catch for silly beams: input/test/beam-suspect.ly
+
+pl 19.jcn2
+ - multi-measure-rest is now spanner SkipBars=0 is broken
+
+pl 19.jcn1
+ - hmm, almost centered whole-bar rests -- NOT
+
+********
+pl 18.jcn5
+ - bf: beamtrend
+ - bf: vv-duet
+
+pl 18.mb1
+ - \mark now works, using G_staff_side_item.
+ - Improved layout of multi-bar rests, including a new
+ font symbol.
+
+pl 18.jcn4
+ - beam length adjustments
+ - ugly beamtrend fix: input/test/beam-trend.ly
+
+pl 18.jcn3
+ - bf: (beamed) forced stem shorten
+ - bf: broken slurs and ties; minimal slur/tie length setting ignored
+ - bf: separators on cygwin
+
+pl 18.jcn2
+ - bf: stem-length algorithm
+ - bf: beam direction algorithm
+ - bf's: wtk1-fugue2.ly
+
+pl 18.jcn1
+ - stepmake update
+ - small fixes: spacing.ly, wtk1-fugue2-ly, violino-viola duet.
+
+*******
+pl 18 (jan 4 '99)
+
+pl 17.jbr2
+ - Documentation/README-W32: Brought my stuff up to date
+ - Documentation/ntweb: updated for realease
+ - stepmake/bin/package-zip32.sh: cygwin-b20 changes
+ - scripts/ly2dvi.py: LILYPONDPREFIX fixes
+
+pl 17.jbr1
+ - scripts/ly2dvi.py root is now the shared directory path not the
+ root of the lily installation. Environment variable LILYPONDPREFIX
+ is also the path to shared directory.
+ - lily/main.cc WINNT conditional added to avoid a casting of
+ main_prog
+
+pl 17.hwn1
+ - bfs wtk1-fugue1
+ - spacing tweak: very widely and tightly spaced lines look
+better.
+ - allow Beam settings to be overriden: property
+ stemLeftBeamCount, stemRightBeamCount
+ - junked Assoc, Assoc_iter
+ - junked Graphical_element::{width,height}
+ - junked Plet_swallow_engraver, Plet_engraver
+ - Command_tie_engraver -> Tie_engraver, Command_beam_engraver -> Beam_engraver
+ - naming brew_molecule_p / do_brew_molecule -> output_processing, do_brew_molecule_p
+ - experimental Text_item, Staff_side
+ - junked old Beam_engraver and old Tie_engraver.
+ - AFM administration cleanup.
+ - cache brewed molecules. Speed up ?
+ - rehacked Graphical_element, introduced Dimension_cache
+
+********
+
+pl 17
+pl 16.jcn2
+ - fix: TEMPO 4., well urg, "TEMPO 4 ."
+ - beginning of violino/violoncello (viola) duet
+
+pl 16.jcn1
+ - resurrected po-stuff
+
+*********
+pl 16
+
+pl 15.uu1
+ - dynamic fix.
+ - junked abbrev stuff from parser.
+
+pl15.tca1
+ - fixed verbatim option behaviour for mudela-book.
+ - added mudela-book option intertext="some text"
+ - mudela-book now understand latex \begin{verbatim}
+
+pl 15.jcn1
+ - chord inversion:
+ * enter C/E
+ * display chord names according to boolean property
+ \property Score.chordInversion;
+
+*********
+pl 15
+
+pl 14.hwn1
+ - new beam syntax: { [<c e> <c e>] }, changed in lilypond,
+parser, lilypond (mudela 1.0.14), manual
+ - new tie syntax: { <c e > ~ <c e > } changed in manual,
+parser, lilypond (Mudela 1.0.13)
+
+pl 14.jcn1
+ - bf: get_chord C-m5-
+ - typos: chord-name
+
+pl 14.tca2
+ - move option proccing out of main
+
+**********
+
+pl 14
+
+pl 13.hwn1
+ - tutorial fixes.
+ - junked find-quarts
+ - junked various plet goryness.
+ - preps for <c e> ~ <c e> syntax
+ - bib fixes
+
+pl 12.jcn3
+ - bf's: standchen
+ - added repeat, chord stuff to website
+ - bf: dashed slur
+ - hacks for barlines, dynamics
+
+pl 12.jcn2
+ - bf: package-diff
+ - new chord syntax, again: TONIC [DURATION] ['-' MODIFIERS/ADDITIONS]
+ - shorthand prefix for note-mode: '@', no shorthand for notes in chord
+ mode...
+
+pl 11.jcn6
+ - bf: ly2dvi: better guess LILYPONDPREFIX: <bin>../share/lilypond
+ - chord-table; urg bugs:
+ * note-collisions
+ * accidental-placement
+ - bf: cis m (\textsharpm, urg)
+
+pl 11.jcn5
+ - bib entry, twinkle-pop
+ - bf's: chords
+
+pl 11.jcn4
+
+**********
+pl 13
+ - mutopia stuff (thanks, Peter)
+ - bugfix : \maininput
+
+*********
+
+
+pl 12
+pl 11.jcn3
+ - bf: missing triads
+ - @c @c min (* is taken, <<, <> don't work)
+ - chord-modifiers (urg, "sus" should also subtract 2...)
+
+pl 11.uu3
+ - --safe: security paranoia: disallow untrusted \include,
+disallow untrusted TeX code, disallow named output
+
+pl 11.jcn2
+ - duration with chords + change: @4 c @c7
+
+pl 11.jcn1
+ - minor chord syntax change: *c6 iso @c6;
+
+**********
+
+pl 11
+
+pl9.tca1
+ - included that missing init/mudela-book-defs.py. Added
+ one line to init/GNUMakefile to make .py-files be included.
+ - fragment and nonfragment options to override autodetection
+
+pl 10.jcn1
+ - input/test/chords.ly
+ - \type ChordNames and chord-name-engraver.*
+ - chords mode: \chords { <c e g> @c; @d7; }
+
+pl 10.uu1
+ - scm/ directory. install .scm stuff too.
+ - tuplet bug fixed.
+
+**********
+pl 10
+
+pl 9.jcn3
+ - property: unfoldRepeats; unfolding still broken
+ - volta spanner y-collision
+ - bf: volta number,dot placement
+ - bf's: init/table16,20
+ - small additions to init/lily.scm to enable some testing
+ - junked extra repeat braces
+
+
+pl 9.uu2
+ - bib stuff
+ - removed \output from parser/lexer
+
+pl 9.jcn2
+ - bf/redo: slur.cc, encompass-info: setting of encompass array.
+ - switched tuplet-engaver off (core dumps)
+
+pl 9.jcn1
+ - bf (urg): no |: at start of piece
+ - bf?: text defs without width
+ - alignment absolute dynamics
+ - mutopia/opus-130.ly (excerpt, triggered by GUIDO)
+ - bf: crescendo symbol
+
+
+pl 9.uu1
+ - added faq entry
+ - copertina (thanks Maurizio)
+
+*****************
+pl 9
+ - fixed \relative
+
+pl8.tca1
+ - changes to mudela-book. Junked fragment and floating options,
+ added eps option. Options should not stay as long that you get
+ comfortable with them. ;)
+ - Also possible to define your own commands with
+ a syntax like \mudela{c d e}
+ - updated mudela-book-doc.doc
+
+pl 8.jcn3
+ - website: gnuisation of footers
+
+pl 8.jcn2
+ - input/test/vertical-text.ly: urg ydim of text chords
+ - bf: one set of |: :| volta per staff
+ - bf: init/table* braces + more braces
+ - try at score-volta-bracket
+
+pl 8.jcn1
+ - bf: lyric-engraver: handle multiple requests (don't overwrite)
+ - bf: guile-config
+ - music-list-iterator
+
+pl 8.hwn3
+ - coriolan corno 1
+
+pl 8.hwn2
+ - more output revamping.
+
+pl 8.hwn1
+ - Scheme output stuff
+ - tutorial fixes.
+
+*****************
+pl 8
+
+pl7.jcn3
+ - bf's: spanner/volta
+ - volta-support: via Note, Bar, and Paper-column to Bar (item)
+
+pl7.jcn2
+ - note repeats
+
+pl7.jcn1
+ - configure/guile fixes (still no check for 1.2/1.3)
+
+pl7.hwn1
+ - tutorial fixes
+ - tuplets over beams.
+
+*****************
+pl 7
+
+pl6.jcn5
+ - repeatbars, volta-spanner work, alternative iteration still broken
+ - volta symbol
+
+pl5.szmulewicz2
+ - more GUILE stuff.
+ - tutorial doco updates
+
+pl6.jcn4
+ - volta-spanner
+ - repeat-engraver
+ - repeat/alternative music layout (hehe)
+
+pl6.uu1
+ - Doco of music iterators.
+
+********
+pl 6
+
+pl5.szmulewicz1
+ - rtti stuff
+ - bf's: lily.scm
+
+pl5.mb1
+ - bf: array.hh, don't make copy if resized to the same size
+ - bf: feta.tex
+
+pl5.jcn4
+ - scm additions: plet, hairpin
+ - website fixes
+
+pl5.jcn3
+ - website fixes
+
+pl5.jcn2
+ - extender-*, see input/test/extender.ly
+ - bf: half-beam length (urg)
+ - fixes: standchen, star
+
+pl5.jcn1
+ - tex/lily-ps-defs.tex fixes
+ - lily.ps
+
+pl 5.hwn1
+ - Tuplet_engraver
+ - lily.ps fix.
+ - junked MY_RTTI stuff, simpler VIRTUAL_COPY_CONS
+
+********
+1.1.5
+
+pl4.jcn4
+ - fixes; preludes, finger
+
+pl4.jcn3
+ - bf: text staff vertical align; see input/test/vertical-text.ly
+ - urg, scaled cmr8 by factor 4/5
+ - apart from end/begin of measure spacing urgs, stars-and-stripes.ly
+ is rather cool
+
+pl4.jcn2
+ - read (cmrxx)afm for text char widths
+ - tfmtoafm.sh (quite urg)
+ - alphabet.ly
+
+pl 4.uu1
+ - read .scm files. No need for GUILE_LOAD_PATH
+ - .ps hack. No need for lily.ps on the printer
+
+ (&$^@M&@^$@^&$@ Damn TeX)
+
+
+ - bf: mudela-book -> \default_paper is obsolete.
+
+pl 3.ms1
+ - thumb-upgrade
+
+pl4.jcn1
+ - bf: dotted slur
+ - bf: text ssb
+ - bf: empty/unknown in ps
+
+pl 4.tca1
+ - 40% speedup executing mudela-book on mudela-book-doc.doc
+ - change of lilypond's output filenames. Given multiple input
+ files, eg. 'm.ly y.ly', output names will now be 'm.tex y.tex'
+ not 'm.tex y-1.tex', but if m.ly containts two paper definitions
+ output will be 'm.tex m-1.tex y.tex'
+
+*******
+1.1.4
+
+pl 3.tca1
+ - accordion symbols in mf/feta-accordion.mf and
+ init/accordion-defs.ly.
+ - small changes to mudela-book and Documentation/man/mudela-book.yo
+ - mudela-book example file in Documentation/tex/mudela-book-doc.doc
+
+pl 3.jcn5
+ - bf: dashed-slur
+ - bf: LilyIdString
+ - more star fixes
+ - repeatbar fixes
+
+pl 3.jcn3
+ - mup-to-ly.py: version 0.0
+ - init/test/stars-and-stripes.ly (from star.mup)
+ - GrandStaffContext
+
+pl 3.hwn1
+ - junked musical info from key-item
+ - tutorial fixes.
+
+pl 3.jcn2
+ - bf: font switch
+
+******
+1.1.3
+
+pl 2.jcn2
+
+pl 2.uu1
+ - ly2dvi.py -I fix
+ - obsoleted ly2dvi.sh
+ - removed Note_head_engraver
+
+pl 2.hwn1
+ - scm cleanups, chop-decimal
+ - scarlatti clef.
+
+pl 2.jcn1
+ - commented-out Level-2 PostScript in lily.ps (J. Buehler)
+ - moved tex/*.ps to ps/
+ - merged lilyponddefs.ps, lily-ps-defs: tex/lily.ps
+ - be sure to set:
+ export GS_LIB=$HOME/usr/src/lilypond/ps
+ - added tex and empty ps-symbols
+
+pl 1.jcn4
+ - more little website fixes
+
+********
+
+pl 2
+
+pl 1.mb1
+ - Support for cautionary accidentals. , i.e. accidentals
+ within parantheses. Syntax: 'cis?'. Try input/test/accid.fly
+ Note that the font has changed.
+ - bf: No unnecessary warnings about time signatures
+ - Added optional second argument of \key. Set to \major or \minor
+ to get a major or minor key. Default: major.
+ - bf: Compilation error in midi-walker.cc
+
+pl 1.jcn2
+ - fixes for htmldoc, website
+ - silly jcn1 fixes
+ - junked MODULE stuff from lily/GNUmakefile (again)
+
+pl 0.jcn4
+ -set:
+ export GUILE_LOAD_PATH=$HOME/usr/src/lilypond/init
+ - dstream: Score_element, Column_info
+ - -fscm debug hack: lilypond -fscm a; guile a.scm > a.tex; tex a
+ - init/lily.scm
+
+
+********
+
+pl 1
+pl 0.uu5
+ - fixed MIDI output.
+
+pl 0.jcn3
+ - dropped stepmake/aclocal.m4
+ - removed silly -lguile (BLA_LIBS, EXTRA_LIBS ??)
+ - added debugging output format: -fscm
+ - ly2dvi.py -I fix
+ - Documentation/tex/feta.tex
+ - doco fixes: PATCHES.yo, yodl-1.31.7
+
+pl 0.uu4
+ - Protected_scm to fixup GUILE gc
+
+pl 0.uu3
+ - more RTTI cleaning.
+
+pl 0.uu2
+ - undone type_info::before hack. (Ugh. RTFM).
+
+pl 0.uu1
+ - more RTTI stuff: is_type_b -> type_info::before
+
+pl 0.jcn1
+pl 17.jcn7
+ - added: set*text, timesig, beam
+ - guile-1.3 is fine; my egcs-1.0.2's -O2 is broken
+pl 17.jbr1
+ - stepmake/stepmake/bin/package-zip32.sh: Updated configure statement
+ and modified win32 specific distribution file names to match
+ pl 16.hwn1 changes.
+ - scripts/ly2dvi.py: Modified search paths to match the new lilypond
+ installation tree.
+ - scripts/convert-mudela.py: Remove the an existing backup file
+ before renaming original. This is a WINDOWS32 Python requirement.
+ - Documentation/ntweb/index.html: Updated documentation to match
+ new lilypond installation tree.
+ - lily/main.cc: Fixed LILYPONDPREFIX search paths.
+
+
+
+**********
+
+1.1.0
+
+pl 18.exp
+ - use C++ RTTI iso access_Xxx ()
+ - junk Graphical_lisp_element
+ - catalan.ly
+
+pl 17.tca1
+ - rewrite of mudela-book
+
+pl 17.ms1
+ - added \thumb (used very often in cello music) in
+ mf/feta-schrift.mf.
+ - added /input/test/thumb.ly (example)
+
+pl 16.jcn1
+ - dashed-slur through scheme
+
+pl 15.jcn4
+ - more scheme hacks
+
+pl 15.jcn3
+ - try at scheme in Atom
+
+pl 15.jcn2 # rest of
+ - graphical-lisp-element + silly half hook-up with autuplet
+
+pl 17.jcn5
+ - stepmake pl59: templatised install (see mf/)
+ - reasonably ps/tex success (with guile-1.2):
+ * input/kortjakje.ly
+ - lots more scm stuff
+ - bf: mf/mfplain.ini
+ - stepmake pl58: guile 1.3 configure fix
+ - working font-switch:
+ guile-1.2 and -lreadline -ldl from 1.3 configure...
+
+pl 17.jcn4
+ - installable stepmake pl57
+ - urg, FIXME guile-1.3:
+ * don't install shared libs! configure can't handle
+ * manually add: EXTRA_LIBS = -lguile -lreadline -ldl
+ * lily's truely broken, downgrade do 1.2
+
+pl 17.jcn3
+ - lots of stuff still broken, notably font selection, just try
+ a()b
+ or so
+ - tex output support
+ - all output through scheme
+ - option: f, output-format=X
+ - geile placebox
+ - mf/mfplain.ini
+
+pl 17.jcn2
+ - all paper output through scheme, about half way
+
+pl 17.jcn1
+ - 16.jcn1
+
--- /dev/null
+depth = ../..
+
+NAME = documentation
+
+STEPMAKE_TEMPLATES=documentation texinfo
+
+TEXTS =AIMS $(wildcard CHANGES-*) $(wildcard ANNOUNCE-*) $(wildcard NEWS-*) interview
+EXTRA_DIST_FILES = $(TEXTS)
+
+
+include $(depth)/make/stepmake.make
+
+default: do-doc
+
+local-WWW: $(addprefix $(outdir)/, $(addsuffix .txt, $(TEXTS)))
+
+copy-for-me:
+ $(foreach a, $(README_TOP_FILES),cp ../$(a) $(outdir)/$(a).txt && ) true
+
+$(outdir)/%.txt: %
+ cp $< $@
--- /dev/null
+WHAT'S NEW SINCE 1.0.17
+
+* Large cleanups, enhanced design and GUILE integration for smaller
+ memory footprint and more flexible code.
+
+* Direct output to PostScript (optional), PDFTeX or as GUILE script
+ (default output still to plain TeX).
+
+* Convertors for ABC and MUP formats.
+
+* Font: now available as scalable PostScript. New glyphs: time
+ signature, more note heads.
+
+* Enhanced input: semi-automatic beaming, (nested) tuplets, (nested)
+ repeats, chordnames, automatic Lyrics durations.
+
+* Grace notes, volta brackets, multiple styles for note heads and
+ time signatures, breathing signs, lyric extenders, cross staff
+ beaming and slurring.
+
+* --safe option for the paranoid.
+
+* More elegant spacing. Text is spaced exactly.
+
+* Lots of bugfixes.
--- /dev/null
+WHAT'S NEW SINCE 1.0.17
+
+* Large cleanups, enhanced design and GUILE integration for smaller
+ memory footprint and more flexible code.
+
+* Direct output to PostScript (optional), PDFTeX or as GUILE script
+ (default output still to plain TeX).
+
+* Convertors for ABC and MUP formats.
+
+* Font: now available as scalable PostScript. New glyphs: time
+ signature, more note heads.
+
+* Enhanced input: semi-automatic beaming, (nested) tuplets, (nested)
+ repeats, chordnames, automatic Lyrics durations.
+
+* Grace notes, volta brackets, multiple styles for note heads and
+ time signatures, breathing signs, lyric extenders, cross staff
+ beaming and slurring.
+
+* --safe option for the paranoid.
+
+* More elegant spacing. Text is spaced exactly.
+
+* Lots of bugfixes.
--- /dev/null
+\input texinfo @c -*-texinfo-*-
+@setfilename index.info
+@settitle index
+
+@node Top, , , (dir)
+@top
+
+Miscellaneous texts
+@itemize
+@item @uref{CHANGES-0.0.txt, Change logs from 0.0 till 0.1 }
+@item @uref{CHANGES-0.1.txt, Change logs from 0.1 till 1.0 }
+@item @uref{CHANGES-1.0.txt, Change logs from 1.0 till 1.1 }
+@item @uref{CHANGES-1.1.txt, Change logs from 1.1 till 1.2 }
+@item @uref{NEWS-1.2.txt, summary of changes from 1.1 till 1.2 }
+@item @uref{ANNOUNCE-0.1.txt, Announcement of 0.1 (includes summary of
+changes)}
+@item @uref{ANNOUNCE-1.0.txt, Announcement of 1.0 (includes summary of
+changes)}
+@item @uref{ANNOUNCE-1.2.txt, Announcement of 1.2 (includes summary of changes)}
+
+@item @uref{AIMS.txt}
+@end itemize
+
--- /dev/null
+(Oct / 99)
+
+* What is it?
+
+In short, LilyPond does for sheet music what (La)TeX does for printed
+text: the input describes the music you want printed, the program
+processes the input like a compiler, and the output file contains
+printed music.
+
+* Who would use it?
+
+People who want beautifully printed music, but don't have time to
+learn intricacies of music notation.
+
+ * Why would they use it instead of similar projects?
+
+Within the free software movement, LilyPond is unique: free music
+notation software is very scarce, and is either difficult to use,
+clumsy or does not give pretty results.
+
+ * Special features/strengths?
+
+Just like LaTeX, the input format is very abstract, and the output is
+very elegant. Additionally, most aspects of the formatting can be
+adjusted to taste.
+
+LilyPond also allows very easy integration with TeX: you can write a
+paper that mixes fragments of notation with LaTeX.
+
+* Special problems?
+
+Music notation is very complicated. It is much more difficult than
+typesetting mathematics which is TeX's forte. Almost everything in
+music notation is a "Special problem".
+
+Generally, the more modern the music is, the more problems it
+contains: classical and baroque music like Mozart and Bach should pose
+no problems for LilyPond. Romantic music like Brahms and Schumann will
+get printed but with some formatting errors. Twentieth century music
+like Schoenberg and Bartok can be very difficult to typeset.
+
+Luckily for most, Pop-music is relatively uncomplicated: it should not
+be a problem to print that kind of music.
+
+* Who is working on it?
+
+Jan Nieuwenhuizen and me (Han-Wen Nienhuys) have written most of the
+core of the program, but the most elaborate example in the
+distribution (a 40 page orchestral score) was contributed by one of
+our long-time users. He is a member of a small band of developers
+that contribute small patches.
+
+ * Plans for the close and distant future?
+
+The most concrete development plan for now is to use GUILE much more
+pervasively: LilyPond started out as a C++ program, with lots of
+formatting rules that were hard-wired into the system. We want to
+express those rules in Scheme, so that they can be changed at
+run-time.
+
+A much more interesting development is The Mutopia Project: it is a
+website where you can download sheet music that has passed into the
+public domain. Just think of Project Gutenberg, but then for sheet
+music. We hope that in the future you can just point your browser to
+Mutopia if you need classical music.
+
+The Mutopia website has not gone live yet, but you can preview some
+scores at http://sca.uwaterloo.ca/Mutopia/. What we need now is lots
+of help with entering sheet music. If you like classical music, come
+out and help us!
+
+
+
+ * Interesting/fun stories that might juice up the story?
+
+Jan Nieuwenhuizen and me have been best friends for a some four years
+now. LilyPond development catalyses our friendship, and our friendship
+catalyses LilyPond development. We call each other a few times a week
+to discuss development, and the most revolutionary improvements in
+Lily have often been the result of a long nights of discussions on
+software design over glasses of Whisky
+
+Another question that pops up in outsiders is: ``what do aquatic
+flowers have to do with music typography? Why the weird name?''
+
+I started Lily (our affectionate name for LilyPond) three years
+ago. Back then, I was in an amateur symphonic orchestra together with
+Jan. I had a crush on this magnificent girl in the orchestra: her
+name was Suzanne, she played both the flute and the cello, and (of
+course) I thought she was very pretty.
+
+At the time, Jan was dating Roos (Dutch for `Rose' -- she also played
+the cello). I also knew about about a package Rosegarden (a GUI MIDI
+sequencer and notation editor). When I found out that `Susan' is
+Hebrew for `lily', I decided that calling the package `LilyPond' would
+match make the nomenclature of the rest of my life perfectly.
+
+Some things don't last---the two girls, the cellos and the orchestra,
+all have disappeared from our lives. LilyPond however has survived
+over time. It is a big, mature program with a healthy user-base and
+good prospects. Best of all is, that we still have a good time
+hacking on it
+
+
+* License?!
+
+GPL, of course.
+
-@node Properties, , , Top
+@node Properties, , , Reference Manual
@cindex properties!Lyrics
@mudela[fragment,verbatim,center]
\notes \context Staff {
\cadenza 1;
- <a c'> <b d' > <c' e' >
- <{a b c'}{c' d' e'}>
+ <a c'> <b d' > <c' e'>
+ < { a b c' } { c' d' e' } >
}
@end mudela
@cindex context selection
-@keyindex{context}
+@c @keyindex{context}
@example
- \context
- @var{contexttype} [= @var{contextname}] @var{musicexpr}
+ \context @var{contexttype} [= @var{contextname}] @var{musicexpr}
@end example
Interpret @var{musicexpr} within a context of type @var{contexttype}.
\include "paper16.ly"
melody = \notes \relative c' {
\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.
construct the music within the score block.
@example
-
\partial 8;
-
@end example
-The piece starts with an anacrusis of one eighth. @example
+The piece starts with an anacrusis of one eighth.
+@example
+ \key c \minor
+@end example
+The key is C minor: we have three flats.
+
+
+@example
c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g |
c4 c8 d [es () d] c4 | d4 es8 d c4.
* Documentation now all is in texinfo.
-WHAT'S NEW SINCE 1.0.17
-
-* Large cleanups, enhanced design and GUILE integration for smaller
- memory footprint and more flexible code.
-
-* Direct output to PostScript (optional), PDFTeX or as GUILE script
- (default output still to plain TeX).
-
-* Convertors for ABC and MUP formats.
-
-* Font: now available as scalable PostScript. New glyphs: time
- signature, more note heads.
-
-* Enhanced input: semi-automatic beaming, (nested) tuplets, (nested)
- repeats, chordnames, automatic Lyrics durations.
-
-* Grace notes, volta brackets, multiple styles for note heads and
- time signatures, breathing signs, lyric extenders, cross staff
- beaming and slurring.
-
-* --safe option for the paranoid.
-
-* More elegant spacing. Text is spaced exactly.
-
-* Lots of bugfixes.
+++ /dev/null
-
-This file documents changes in version 0.0
-
-august 1
-
-VERSION 0.1.0
-
- - bf: output tempo to track 0 too
- - bf: don't forget to copy id_str_, so moved into Music
-
-pl 78.jcn2
- - INFTY doze fixes
-
-pl 78.jcn1
- - fix for multi-staff midi: wohltemperirt.ly, standchen.ly
- - doze fixes
- - bf: conflily, configure (text)
-*****
-july 31
-pl 78
- - bf: Midi_instrument
- - added enable/disable defaults to help.
- - incredibly ugly NAME_MEMBERS(); bug. Immediately changed to
-DECLARE_MY_RUNTIME_TYPEINFO;
- - \stem -1 -> \stem \down in input
- - bf: slurchar index
- - configure warnings
- - preliminary stuff for multiarch building
- - #!/usr/bin/perl fixes (AO)
- - some Makefile cleanups: now faster.
-
-pl 77.jcn2
- - Midi_instrument
-
-******
-july 29
-pl 77
- - some fixes for internal compiler errors
-derive from Pointer_list with default dtor gives error with -O2
- - .ini -> .ly
- - lyrics fix
- - Performer beautification: got rid of set_track(), midi_output()
- - pseudo RTTI for midi-items
- - bf: Performer*::print()
- - links.pod
- - Voice_element -> Request_chord
- - fixed flex problems: stdin input works again
- - Documentation/Rules.make, make-website via make
- - spacing: now add basicspace
-
-*******
-july 28
-pl 76
- - mudela version bumped to 0.1
- - mudela-book
- - doco updates, now some stuff in LaTeX
- - junked book.{ly,tex} example
- - progress indicator
- - rhythm.ly updated
- - removed mf sources from distribution due to (c) stuff
- - allowal of breaks handled cleanly
- - junked Subtle_reqs, junked Request_iterator. Request
- iteration now by Voice_element_iterator
- - Piano_bar, Piano_bar_engraver, Span_score_bar_engraver,
- Span_score_bar
- - Swallow_performer
- - removed Staff_engravers, grouping into Line_group_engraver
- - Head_column as base for Rest_column,Note_column
- - Score_column derived from PCol
- - regurgled Line spacing: interface and implementation
- separate. Idealspacing moved into Spring_spacer
- - Gourlay style linespacing
-
-pl 75.jcn6
- - {lyric,meter,key}-performer
- - span-brace-* (Removed again. Such is life)
- - doze compile
- - midi output, notes only
- - working midi output -- hacked
- - doze compile, mingw32 configure (still triggers gcc int. comp err)
-
-pl 74pre.jcn2
- - mi2mu fixes after scott snyder <snyder@d0sgif.fnal.gov> [sss]
- - mi2mu update for mudela 0.0.61
- - conflily fixes
-
-*******
-july 21
-
-pl 75
- - inbook.ly & book.tex example.
- - natural width: linewidth = -1.0\cm
-
-pl 74pre.jcn1
- - oversimplified midi output thru performer hierarchy
- - bf: Spanner::doprint
-
-pl 72pre.jcn1
- - naming fixes; some iter*() explicitations
- - removed acceptor.hh
- - *performer*: second draft of midi (audio/...)
-
-*******
-july 9
-
-pl 74pre
- - Input_engraver -> Input_translator
- - bf: span start/stop is now a "used" col.
- - Rest_column/Rest_collisions bugfixes
- - bf: crescendi.
- - Spanner do_print()
-
-******
-july 7
-pl 73pre
- - some refs doco.
- - move Input_engraver into Paper_def
- - junk Interpreter
- - naming: Request_engraver -> Engraver,
- - Music_iterator::next() -> process_and_next()
- - junk Voice_engravers
- - Span_bar, Span_bar_engraver
- - Vertical_align_engraver
-
-*******
-july 2
-pl 72pre
- - \paper{} syntax: var = 1.0\pt;, with an Assoc array
- - sketch of MIDI Performer classes.
- - bf: memleak in parser
- - naming: Acceptor -> Translator
- - input: bf collisions.ly, scales.ly
- - bf: [r8 c8]
- - naming: Register -> Engraver
- - force \\ on identifiers
- - doco updates
- - musixtex T73 fonts
-
-pl 70.mb
- - bf: find syntax in Variables.make
-*****
-july 1
-pl 71pre
- - nested \melodic and \lyric constructs
- - init id's, Input_register aliases.
- - bf: notehead x-swap
- - bf: auto-keys.
- - bf: first clef
- - junked \init_end; construct
- - Preparatory work for MIDI output:
- * Acceptor as baseclass for Register_group_register
- * Global_acceptor as interface of Register to Score
- - bf: empty voice
- - Lyrics: partially working
- - some doco updates (junks, mostly)
-
-
-******
-june 30
-
-
-pl 70pre
- - bf: text Script
- - bf: Script::dir_i_ checks.
- - bf: script stacking
- - bf: Text_spanner::do_subst.
- - bf: Text_spanner::Text_spanner(Text_spanner&)
- - bf: script priority read from script.ini
- - bf: Script_def::do_equal_b
- - bf: script dims.
- - mudela: ; obligatory for \paper {}.
- - some cosmetic changes involving RTTI macros
-
-*******
-june 29
-pl 69pre
- - bf: whole rest position, whole/half rest dots.
- - bf: scripts
- - reg termination
- - centered bars
- - bf: init of Tie::dir_i_
- - bf: Staff_side depends on staff_sym_
- - bf: Script::do_substitute_dependency() now implemented
- - more print info (also in output)
- - bf: Vertical_align_element
- - stemless beams now allowed (with warning)
- - bf: Rest_column::stem_l_ init
- - merge rests.ly with collisions.ly
-
-pl 67.jcn3
- - rests under beam [c8 r c]
-
-pl 67.jcn2
- - first attempt at rest collisions
- - rests.ly
-
-pl 67.jcn1
- - beam stem length: beams.ly
- - bf: mingw configure
- - re: conflily
-
-******
-june 26
-pl 68pre
- - doco: other-packages.pod, lots of lilyliterature.pod
- - last duration mode now is default.
- - some OpusTeX stuff.
- - bf Y2K in convert-mudela
- - Grand rewrite of Music/Register stuff:
- * separation of Y and X-elt-groups
- * Registers: info up: broadcasts, info down: get_xxx_info()
- * Registers: try_request works from bottom to top of tree.
- * Score_elem empty_b_ and transparent_b_ flag
- * Junk Staff_column, and find the requests while walking the
- Voices.
- * Score_register
- * Staff_group, Score_request_register.
- * align key/Meters/bar across staffs
- * junked Staff, Staff_column, Staff_walker, Complex_walker,
- Request_column Pulk_voice, Pulk_voices, Walker_registers,
- Voice_element,
- Input_score, Input_staff, Input_music and a lot of
- parserjunk.
- * mudela: lots of structure changes : now much simpler
- * generation of pre/postbreak items now in Score_elem with deps.
-
- - bf: make_patch explanation
- - bf: make install TeX stuff
- - mudela: . mandatory for REALs
-
-
-pl 67
- - damped beamslope after wanske
-
-******
-june 3
-pl 67
- - sketch of Music classes
- - General_script_def as baseclass for Text_def and Script_def
- - bf: clean lib/out/liblily.a
- - bf: rests shorter than 1/4
-
-pl 66.jcn3
- - bf: make uninstall
- - conflily
- - f: some pedaling
- - plet hack removed :-( [ c c c ]2/3 -> [2/3 c c c ]1/1
-
-pl 66.jcn2
- - bf: bar, Hilfslinie
- - bf: configure for mingw32
-
-pl 66.jcn1
- - WIN32 -> WINDOWS32, more win32->windows32
- - some GNU/Linux changes
- - cygnus b18 / mingw update
- - doze compile; bf: p-score.cc compares
- - reincluded toccata fixes
- - small stuff: vi tags, typos, bibl
-
-******
-may 27
-pl 66
- - make_website --jpeg, --png and --gif
- - win32 -> windows32
- - bf: Score_elem::TeXstring assert fail
- - bf: headswap with stemdown
- - bf: broken tie
- - bf: broken slur
- - bf: accidental dims
- - bf: measure bar width
-
-
-******
-may 26
-
-pl 65
- - bf pathfind /root/file
- - massive Score_elem rewrite:
- * group_element_i_ count
- * support for removing an individual Score_elem cleanly.
- * moved dep stuff into class Directed_graph_node
- * Score_elems can be copied and deleted freely.
- * junk PStaff
- * Spanner_elem_group
- * Line_of_{score,staff} now are Score_elems
- * clean dep handling upon deletion
- * delete unbroken spanners
- * added a break_processing round.
- * Super_elem
- - junk Complex_staff,
- - clean {lily}?proto.hh
- - Element_group
- - Score_elem now as virtual base class everywhere
- - naming: Staff_elem -> Score_elem
- - bf: make in toplevel dir
- - bf: broken tie y-pos
- - bf: sharing 4th, 8th and 16th noteheads
- - bf: overlapping chords. <\multivoice c d >
-
-pl 64.wl
- - new stem direction code
- - bfs: wohltemperirt.ly (thanks, Werner)
- - bf: stem direction
-
-pl 63.jcn2
- - doze compile
-
-pl 63.jcn1
- - bf: mi2mu mudela commands
- - bf: mi2mu tracks
- - mi2mu quantify tuning
- - mi2mu TODO
-
-*********
-may 16
-pl 64
- - exe's now built in out/
- - toplevel Makefile dep from make/Toplevel.make.in
- - make_website: add version footer
- - make_website: bf dist *.txt
- - bf: fix loose bars : \meter 4/4; c1.
- - Staff_elem -> Score_elem
- - bf <cis cis>
- - vbrace lookup
- - resync barcheck
-
-*******
-
-may 15
-pl 63
- - bf: segfault during MIDI output with mi2mu output.
- - kludge: parse error beyond eof
- - don't read ini if toplevel file not found
- - accumulate \kern in TeX output.
- - bf: try to prevent long lines; TeX breaks on them.
- - naming: Pointer->Link, IPointer->Pointer
- - bf: \plet didn't work (MB)
- - GMP manifesto.
-
-pl 61.jcn4
- - mi2mu -p -s16 fugua2.midi getting better!
- plus factor 2 mi2mu speedup (fugue2.midi 5.50user)
- - bf: Duration_convert quantify threshold down
- - bf: (on quantify): tcols quantified; no silly voices
-
-pl 61.jcn3
- - lily parsing speedup: backup rules for lexer.l
- - bf: mi2mu, using midi_voice list...
-
-pl 61.jcn2
- - all in all mi2mu speedup of about factor 8 since pl61
- (fugue.midi 82.72user to 10.30user on a 586.133)
- what about lily?
- - binary search on track-columns
- - mi2mu IP*list to Array (implications?!) conversion
- - mi2mu parsing speedup: backup rules for midi-lexer.l
- - bf: zero denominator
-
-**********
-may 14
-pl 62
- - make clean bf: remove lex & yacc files too
- - added kludge in case measure too long
- - added kludge in case of unconnected columns.
- - kludged columns get error marker
- - kludged lines get error marker
-
-
-pl 61.jcn1
- - smarter + faster duration-convert using Array
- - bf: mi2mu compilation/duration-conversions
- - lots faster mi2mu, hopefully does type 1 too...
-pl 60.jcn1
- - mi2mu handles non-quantified rests, try mi2mu -b wtk-i/fugue2.midi
-
-
-
-**********
-pl 61
- - scales.ly bugfix: dimensions default to ((0,0), (0,0))
- - naming: PointerList->Pointer_list
- - tied notes don't get accidental
- - bf: crescendo size
- - fixes: make_patch,
- - bf: _"text" direction
- - mailing list into lilypond.pod
-
-pl 60.mb
- - set_flower_debug: Warning if -d is used when NPRINT is defined.
- - Fixed several TeX details. vcenter renamed since it interfered
- with LaTeX. Position of accents changed.
- - New example; scripts.ly
- - table_sixteen: added scriptdefinition (Lilypond breaks if a
- script is defined without dimensions).
- - bf: ifndef typos in p-score.cc, choleski.cc
- - bf: Slur::do_post_processing(), whole notes caused SIGSEGV.
-
-(ascension break :-)
-*******
-pl 57.jcn4
- - mi2mu handles rests (quantified only)
- - fixed configure buglet
- - "!date" Fri May 2 02:18:12 MET DST 1997
-
-pl 60
- - Request_register::get_feature(), tie direction, Slur direction
- - lilypond output is now directly texable.
- - make_website checks return status
-
-*******
-may 5
-pl 59
- - Slur now into voicegroups, and take stems into account.
- - bf: rest size in table.
- - split Slur in baseclass Bow
- - Tie, Tie_req, Tie_register
-
-******
-may 2
-pl 58.jcn1
- - bf: toccata-fuga-E.ly
-
-pl 57.jcn4
- - mi2mu handles rests (quantified only)
- - fixed configure buglet
- - "!date" Fri May 2 02:18:12 MET DST 1997
-
-pl 58
- - lexer cleanup
- - national chars in lyrics
- - \stem 2; bf
- - long comments: %{ %}
- - *.ini mode bf
- - bf: partial may be everywhere
- - bf: meterchange not at start of measure
- - some doc updates
- - bf: stem too long if stem is down.
-
-pl 57.jcn3
- - dank je schat, voor wtk-i
- - mi2mu tries to handle rests
- - "!date" Thu May 1 02:34:04 MET DST 1997
- - maak je het niet te laat schat?
- XXXX HWN
-
-pl 57.jcn2
- - small toccata-fuga-E.ly fixes
- - \bar "||"; is now doublebar, "|." is finishbar
- - collision hshift fix, with on-line assistance
-******
-pl 57
- - lots of TODO doco
- - text alignment bugfix
- - bugfix Voice_group_regs::get_register_p() now is actually called too
- - bugfix init of Text_item::pos_i_
-
-pl 56.jcn1
- - toccata-fuga-in-E.ly, excerpts with real-life collisions
- - \{l,r}{b,f}{toe,heel} --- using cmsy fonts...
- - pedal.ly
-
-pl 55.jcn1
- - mi2mu man page
- - make doc fixlet
- - \[lr]heel \[lr]toe scripts (happy pedal studies, pa)
- - lyric with width
- - removal of some example files
-
-pl 56.mb:
- - last duration fix
- - makefile fixes
- - space rest
- - swedish note name update
-
-******
-pl 56
- - Massive Rest/Stem/Collision/Note_column rewrite: resolve
-notehead/rest ambiguities and bugs. eg, [c8 r8 c8]
-
-pl 54.jcn1
- - standchen.ly: repeats; lyricii to end
- - convert-mudela: help + usage
- - fixed midi key/meter-change (triggered by martien.ly) bug
-
-******
-April 23
-pl 55
- - staff-side robustification
- - script-on-rest bug
- - doc update
- - transpose syntax
-******
-pl 54
- - bugfix Colhpos.cc::OK assert fail.
- - Inclusion of MusixTeX MF files,
- - detection of MF dir
-pl 53.hwn
- - stacked lyrics
- - configure/make buglets.
-******
-pl 53
- - spurious accidental bug.
- - simultaneity check.
- - added AUTHORS.pod
- - convert-mudela auto from guess
- - include -> \include
- - change order of opening parse/init file
- - Pulk_voice, Pulk_voices
- - Request_column
- - revised request-from-voice extraction. Now much faster
-
-******
-april 17
-pl 52
- - Buildroot RPM
- - tex-prefix and tex-dir sep'd (here you are jan)
- - convert-mudela framework
- - Collision_register, Collision
- - \hshift 1; input
- - Features changed
-pl 50.jcn1
- - LILYINCLUDE dir searched before DIR_DATADIR(?)
- - lily reads from stdin again (but does not now when to stop)
-******
-pl 51
- - transposition bugfix + doco
- - LilyPond -> GNU LilyPond
- - bugfixes for Staff_side and Note_column*
- - wohltemperirt: complete
-
-******
-april 11
-
-pl 50
- - merge rest / notehead.
- - Staff_side as a base class for most "staff-side" symbols.
- - version check
- - Note_column_register, Note_column
- - multiple scripts
-
-********
-april 8
-pl 49.jcn1
-Bugfix
- - configure[.in], make/Configure_variables.make.in c++ (=doze fix)
- - "configure; make" ok for doze, win32 target may be removed now
- - win32/gcc 2.7.2 compile fixes -- why does this all compile
- (without warnings, why can-t i even trigger warnings) under
- linux/gcc-2.7.2.1? it's quite a tedious job fixing this
- shit _on doze_ all the time.
- * fixed #includes global-regs.cc, staff-info.cc, staff.cc
- * key.hh:Key() -> Octave_key()
- * added missing lily/include/input.hh: Input( Input const& )
-
-pl 49
- - lsm template
- - clef in cadenza mode.
- - notename clear
- - \command bla; for \meter, \clef, \octave etc.
-*******
-pl 48
- - notenames init
- - Duration order -> grouping
- - broken key s
- - default octave
-
-******
-april 3
-pl 47
- - dynamic flowerlib
- - Input mods: now use Source_file iso Sources
- - makefile lib deps restructured
- - make_website now produces in out/
-
-pl 46
- - examples.pod
- - LILYINCLUDE env var.
- - push/popgroup
- - website updated
- - Swallow_register
- - Lyric_register.
- - Staff_sym_register
- - user settable register config
- - struct Input now used iso defined_ch_C_
- - Walker_registers and Staff_registers separated
- - dynamic-reg -> hairpins
-
-pl 44.jcn2
- - doze configure/compile fixes
- - doze make refixed
- - faq
- - install mudela manpage too
- - RedHat spec lilypond.spec fixed
- - target: rpm (make RedHat packages)
-
-******
-Mar 26
-pl 45
- - Removing unused Voice_regs & Voice_groups
- - -O2 bugfix
-
-pl 44.jcn1
- - merged 42.3 42.jcn4 code trees (see stuff below)
- - moving towards Mudela 0.1 (again)
- * keyword "music" dropped for horizontal music
- * keywords "\lyric" "\melodic" introduced, e.g.:
- melody = \melodic { c c | g g }
- * removed level of indirection:
- - staff initialisable with music identifier list:
- \staff{ global melody }
- - \score and staffs alike
- - gnu standard(?) help texts
- - configure "creates" toplevel Makefile from make/Toplevel.make
-
-Bugfix
- - fixed mi2mu
- - write meter to track0 too...
- - default octave
- - new Sources in My_midi_lexer: sourcefile_p_ = get_file_l(): oeps.
- (ain-t hungarian grand?)
-
-Examples
- - updated for mudela 0.1
-
-******
-pl 44
- - naming: _c_l -> _C
- - pure parser, My_lily_parser
- - ''a iso ``a
- - Includable_lexer
- - junk Input_file
- - Duration in parser, Duration restructuring
- - grandiose lexer hax. Flex should be fixed, really.
- Lexer much faster now.
- - opps. mi2mu broken
-
-******
-pl 43
- - transposition.
- - $variable&@name
- - warnings if incorrect mode
- - missing scsii measure
- - declaration used check.
- -
-
-pl 42.jcn4
- - lily writes midi meter/key changes from requests
- - mi2mu:
- + write mudela 0.1
- + write bar change requests
- + more tunable quantisation
-
-Examples
- - half-new-menuetto.ly converted to mudela -almost- 0.1
- - new mi2mu of bach's wtk pre1/fugue1
-
-pl 42.3 (jcn version)
- - oeps, branched source tree
-
-pl 42.hwn3
- - const naming change (T const <-> const T)
- - Mudela 0.1 (roughly the same as below..)
-
-pl 42.3
- - moving towards Mudela 0.1:
- * all keywords must be preceded by backslash '\'
- * explicit lexer switches '$' and '@' dropped
- * keyword "music" dropped for horizontal music
- * keywords "\lyric" " introduced, e.g.:
- melody = \melodic { c c | g g }
- * staff initialisable with music identifier:
- \staff{ melody }
- * chords: < c e >
- * octavate ''c``
- * \meter{ 2/4 }
- * \octave{ ''`` }
- - configure sets CXX (to c++, commonly)
-Internal
- - renamed lexer.hh, mylexer.cc My_flex_lexer to my.lily.lexer.*
-
-pl 42.2
- - new lilyinput (Mudela 0.1) doc.
-Examples
- - new-twinkle.ly (in Mudela 0.1, hopefully)
-
-pl 42.1
- - further Makefile revamping.
- - moved flowerlib
-
-*******
-pl 42
-
-
-pl 41.hwn3
- - struct Lexer_prefs
- - parser bug
- - make uninstall
-
-pl 41.hwn2
- - make file rehack
- - spec update
- - make install
- - detect TeX directory
-
-pl 41.hwn1
- - cygnus configure,
- - updated versioning
- - install.pod
-
-pl 41.jn1
-Bugfix
- - doze compile
-*******
-pl 41
- - release
-
-pl 40.3
- - all of the above
- - hw's configure.in
- - p-name.xx fixes
-
-pl 40.hwn1
- - hairpin dynamics
- - notename now as identifier. Parser/lexer cleanup
-
-pl 40.2
- - mi2mu --blonde-durations, --no-silly options.
- - mi2mu starts to look promising, see examples
-Examples
- - pre1.midi.ly, fugue.midi.ly
-Internal
- - Duration handles blonde midi-durations
- - More settings for Duration_convert
- - lily writes meter too (ugh, howto?)
-Bugfix
- - mi2mu auto track number fix
- - mi2mu / lily Midi_tempo fixed/added
-
-pl 40.1
-Bugfix
- - lily midi output track 0 name
- - mi2mu tempo fixed
- - make out/make and out/make/Site.make in configure script!
- - mi2mu double newline fix
-
-
-******
-Mar 11
-pl 40
- - release
-
-pl 39-5
- - own versioning for mi2mu: 0.0.10
- - some file renaming mi2mu
-pl 39-4
- - all of the above
-
-pl 39-hwn2
- - last bar bugfix
-Internal
- - simple dynamics
- - experimental RPM spec.
- - doco update.
-
-pl 39-3
- - all of the above
- - m2m renamed to mi2mu
- - better line breaking in mi2mu
- - (somewhat broken) progress indicator for mi2mu
- - mi2mu output === lily input (in names and durations,
- always assuming voices > 1 though)
-
-Bugfix
- - midi: note on/off only once per pitch per track
- (sending all note-on events introduces cool mi2mu feature)
- - make clean removes deps too
- - mi2mu notename/accidental/octave, and key fixed
-
-Internal
- - auto create of out-dirs, config headers, using tag file .GENERATE
-
-Examples
- - stanchen.ly debugged
-
-pl 39-2
- - configure script help and in topdir again, duh.
- - auto configure upon virgin make
- - configured makefile stuff in make/out/
-
-
-********
-pl 39-1
- - doze target (for 16 bit dos xcompiler: gcc-go32)
-Internal
- - make/User.make; C..FLAGS sorted out
-Bugfix
- - make clean...
-
-pl 39
- - new make structure, featuring:
- * top-level/sub-level build
- * auto custom-library dependencies/build
- * top-level/sub-level dist
- * minimal(? can even smaller) specific Makefiles
- * which makes for simple lib/exe module split (make/Template.make)
- * integrated flowerlib
- * all stuff into subbirs (make/Stuff.make)
- * all headers into <module>/include dirs (make/Include.make)
- * all output into <module>/out (executables into bin/)
- * more make features, like make config, make help
- * small lily lib
- * lilypond-x.x.x/.version for toplevel lily version
- * lilypond-x.x.x/<module>/.version for <module> version (eg: flower)
- * versioning using additional optional MY_PATCH_LEVEL
- for easy make_patch
-
- - bin/cptogen
-
-Internal
- - generic m2m header: m2m.hh
-
-Bugfix
- - small fixes, make, dist, configure
-
-pl 38-5
- - all of the below, e.g. new filenames and new makefile
- structure patches merged
-******
-pl 38
-
-Internal
- - great filename renaming operation with - convention.
- - printing methods for paper_def/lookup/symtab(s)
- - untied all registers from complexwalker. Now registers are
-intrinsically hierarchical. All walker communication is done via a
-"top level" register.
-
-pl 37-3
- - m2m handles voices
- - instrument, track_name, copyright/left stuff for m2m/ly
-
-Internal
- - Midi_voice
-
-pl 37-1
- - text, key, tempo event in midi output/ly input
-
-Internal
- - simple makefile structure, allows for multiple projects
-
-******
-pl 37
-
-
-Documentation
- - language.pod as starting point for mudela devel.
-
- - Jan's patches:
-Features
- - m2m patchy --no-triplet option;
- lilypond accepts m2m's real midi output (hand-add red tape)
- - m2m output only valid durations, resync option wip
- - m2m produces .ly output
-Internal
- - simpler and better naming for Duration*
- - the great String renaming / index to base=0 change
- - Track_column, Lily_stream
- - Duration, Plet, Duration_convert taking load off duration calc.
-Bugfix
- - m2m duration calc
-
-
-
-******
-pl 36
- - Jan's patches:
- - do MIDI rests cleanly.
- - lily/m2m: time and tempo fixed for metric timing
-Internal
- - Midi_tempo
- - m2m parses more midi stuff (all of bach-wtc); timing??
- - m2m recognises some commandline options
-Examples
- - fixed midi.ly
-
-*******
-Feb 25
-pl 35
- - Register_group
-Bugfix
- - alignment of breakable items.
-
-*******
-pl 34
- - better midi syntax.
- - --midi,-M option.
- - preliminary midi2mudela (/mudela2midi) converter: m2m (JCN)
-Internal
- - m2m sources: midi-*; (JCN)
- - new Midi_walker, fixes several MIDI bugs.
- - junked Midi_staff, Staff_column children, Midi_walker
- - Midi_output
-
-pl 33-1
- - m2m parses midi
-Internal
- - Binary_source_file
- - Source_file::error_str simplified
-*******
-pl33
-Examples
- - Swedish notenames (MB)
-
-pl pre33-2
-
-Bugfix
- - midi pitch
-
-Features
- - Jan's patches, see below
-Bugfix
- - some midi bugfixes.
-
-pl pre33-1 (JCN)
-
-
- - midi output using pitches iso notename
-Examples
- - added midi output (some midi output files broken?)
- - all melodic fixed (except for error.ly:-)
- - midi.ly
-Bugfix
- - midiwalker line break
- - empty/nonexistent include at top of ly
- - midi #tracks
- - midi pitch c0
- - midi poor man-s staff dynamics
-Internal
- - Midi_column, Midi_staff, Midi_walker
-
-pl pre33 (JCN)
- - Jan's patches, see below
-
-Features
- - simple plet notation (JCN)
- - lyrics centred, but no fully suppored? (JCN)
-Internal
- - Midi_stream
- - Mididef
- - Midi_item, Midi_pitch, Midi_duration
- - Midi_chunk, Midi_header, Midi_track
- - preparations for midi output
- - no exit upon context error (JCN)
- - converted some "warnings" to errors; no output (JCN)
-Bugfix:
- - simple plet bugfix
-Examples
- - updated standchen, menuetto (JCN)
- - new plet notation (JCN)
- - plet.ly (parse and spacing tests) (JCN)
-
-*******
-pl 32
-Features
- - multiple meters, see rhythm.ly
- - skip syntax/Skip_req
- - score_wide_music: commands in staff now override commands in score.
-Internal:
- - command carnage
- - Key_register
- - Bar_register
- - Meter_register
- - meters now kept in baseclass Staff_walker
- - Score_walker (to ease MIDI output)
-Doc:
- - Hungarian doco added to CodingStyle
-
-pl 32-1
- - music processing speedup
- - website added to doco
- - clef must *inside* music
- - fixed spurious "beam too narrow" messages.
-Internal:
- - merge musical / non-musical staff_column
- - musical/ non-musical requests
- - Clef_register
- - split up request.hh, Musical_req vs. Nonmusical_req
-*******
-pl 31
-
-Examples
- - Coriolan example (JN)
- - standchen updated
-Bugfix
- - calcideal assertion bugfix
-*******
-Feb 12 13:55
-pl 30
-
-Features
- - better multivoice spacing
- - move rest in multivoice staff
- - errors in TeX output now warnings
- - progress indicator
- - music processing speedup.
-Internal
- - make spanner for staffsym; scrap Line_pstaff
- - scrap simplestaff (Rhythmic_staff temporarily disabled)
- - docxx 3.0 format comments
- - split register source files
- - hardcoded dimensions compile time
- - Lookup::tex_hairpin
-Bugfix
- - non G-clef clefs
- - script junking (2x)
- - empty files
- - beam::center (plet position!)
-
-pl 29
- - multiplatform Makefile (JN)
- - context errors: bugfixes (JN)
-*******
-pl 28
-
-Internal
- - idealspacing slightly better for multivoice.
-Doc
- - Request_register
-Bugfix
- - Script.cc : float exception (MB)
- - Request::Request(Request) copying of definition pointer (JN)
- - cleaned dependencies for broken spanners
- - stupid typo in Staff_elem::post_processing()
- - init of hpos in PCol::PCol
- - Word_wrap::solve() bug
-*******
-pl 27
- - preliminary WIN32 support (JN)
-Features
- - errors converted to warnings (JN)
- - context errors (JN)
- - As vs. as notename.
- - WARNING: "melodic" stafftype will create the new Complex_staff!
-Examples
- - Lohman's Viola Quartet (JN)
- - JS Bach Solo Cello suite II menuet (JN)
-
-
-pl pre27
-
-Features
- - option --init
- - last_duration_mode: default_duration is last duration entered
- (\duration{\last})
- - syntax: grouping 2*4 3*8
- - preliminary multivoice support
-Examples
- - JS Bach's WTK example added.
-
-Internal:
- - Text_reg and Script_reg
-*******
-pl 26
- - Documentation/lelie_logo.png
- - 8-bit chars for input (see ltest.tex) (MB)
- - quotes around string now optional
-Bugfixes:
- - unmatched ] (MB)
-Internal:
- - print/name methods of Staff_elem
- - added Request_register
- - Voice_group_registers, Voice_registers, *_register
- - Complex_staff
-*******
- Jan 27 '97
-pl 25
- - other clefs added, keys typeset properly (MB)
-
-*******
-pl 24:
- - Lyrics (JCN)
- - Commands in music-mode (an input feature) (there you are, Mats)
-
-*******
-pl 23:
- - TODO file inc'd
- - cadenza mode.
- - default extension, search path.
- - error.pod,faq.pod
- - Markers
- - configure script
- - inputfile name in output.
-Internal changes:
- - scrapped VPATH
- - Make dependencies per .o
- - Split Input_* parsing steps to enable marking
-Bugfixes:
- - unconnected columns
-
-
-*******
-pl 22:
- - doco from mpp
- - repeat signs
- - | checks for bar in a voice (Barcheck_req)
-Internal changes:
- - naming (Hungarian notation, svec vs. Array)
- - cleanup PScore, Score
- - removed Staff_commands, plugging commands into Staff_column directly
-Bugfixes:
- - bug noteheadswap
- - huge memleak fixed; unearthed lots of bugs
-
-*******
-pl 21:
- - scripts
- - texts
- - nplets (triplets!)
-Internal changes:
- - Move breaking stuff into a separate class Break_algorithm
- - dependencies for Staff_elem's
-
-*******
-Dec 23
-pl 20:
- - updated doco to .pod
- - include files from .ly
-Internal changes:
- - Rational for time measurement
- - directionalspanner/textspanner
-
-*******
-pl 19:
- - grouping code: LilyPond can set advanced multibeams.
-Internal changes:
- - struct Moment
-
-*******
-
-pl 18:
- - robust Staff_commands
-
-*******
-pl 17:
- - robust Input_commands
- - merged Vertical_/Horizontal music
- - PARTIALs with duration
- - modularized lexer: multiple runs
-
-*******
-pl 16
- - notenames configurable
-
-*******
-pl 15
- - grouping code
- - multibeams (simple)
-
-*******
-pl 14
- - symtables from .ly
- - Input_command
- - Input_{score/staff}
-
-*******
-Dec 2
-pl 13
- - Horizontal/Vertical music
- - Input_commands
+++ /dev/null
-August 1
-
-VERSION 1.0.0
-
- - scsii-paper: no wordwrap
- - bf's: texinfo
-
-pl 85.jcn2
- - ONEWS -> NEWS-0.1
- - bf: zip: list of docfiles
- - bf: install info
- - bf's: rpm spec
- - website ok
- - mudela version bump -> 1.0.0
- - bf's: '[a-g] -> ,
- - bf: broken.ly
- - ly2dvi fixes, (PC)
-
-pl 85.hwn1
- - search & replace: jan@digicash.com -> janneke@gnu.org
-
-pl 85.jcn1
- - website fixes
- - debian fixes (thanks, Bastian Kleineidam)
- - some (yet unfinished) doco
-
-*********
-pl 85
-july 30
-
-pl 84.hwn4
- - revamped install directions.
-pl 84.eb1
- - key undo
-
-pl 84.hwn3
- - misc scsii fixes.
- - doco fixes
-
-pl 84.jcn3
- - bf: titledefs without poet
- - scsii fixes
-
-pl 84.hwn2
- - don't make key items if no accs present.
- - Oops. Lyric spacing should go to the right (and not left) (thanks, PC)
- - barnumbering break priority.
- - bf: tied chords
- - 16pt init for yodl-mudela
- - split span-score-bar.{cc,hh}
- - junked most experimental_features_global_b stuff
- - revised AUTHORS.yo
- - dot stuff. Added a Dot_column_engraver (thanks, Mats)
-
-pl 84.jcn2
- - ly2dvi fixes
- - w32/install doco fixes
- - mutopia fixes
-
-pl 84.hwn1
- - fixes for ly2dvi + titledefs (Peter Chubb)
- - merge Span_dynamic_reqs too
-
-pl 84.mb1
- - MF: Added breve and longa rests.
-
-pl 84 jcn1
- - top website
- - ps-to-gifs: TRANSPARENT_IS_BROKEN (ppc hack)
-
-pl 84.uu1
- - doco fixes
-
-*************
-pl 84
-
-pl 83.jcn5
- - bf: typo mudela-doc
- - long getopt all the way
-
-pl 83.hwn5
- - doco fixes
- - bf: initialise axis_ filed of script
- - separate versioning for mi2mu and flowerlib dropped.
- - split bin/ in buildscripts/ and scripts/
-
-pl 83.jcn3
- - egcs ICE stuff.
-
-pl 83.jbr2
- - lily/midi-stream.cc: added appropriate MODE options to open
- midi output as a binary file. This should be pretty harmless.
- - lily/lexer.ll: added \r as white and black space to enable
- W32 native editors. This also should be harmless.
-
-pl 83.jbr1
- - flower/lgetopt.cc: report method fix. (String + char needs to be
- fixed)
-
-
-pl 83.hwn4
- - stepmake := stuff
-
-
-pl 83.hwn3
- - \property maxVerticalAlign, minVerticalAlign tunes vertical
- staff distances. See input/test/vertical-align.ly
- - bf: scripts over chords. (thanks, PC)
- - revamped aligning stuff: Align_element is baseclass
- for Horizontal_align_item and Vertical_align_spanner
- - bf: Clef_item with _8 does new/del correctly.
- - more file renaming -elem -> -element
-
-pl 83.hwn2
- - doco fixes (thanks, Lambert)
- - tieydirection,slurydirection overrides ydirection (thanks, PC)
-
-pl 83.jcn1
- - bf: stepmake
-
-pl 83.hwn1
- - rm'd clean-embeds.sh
- - rm'd \octave from all examples.
-
-pl 83.uu1
- - mi2mu output mudela 0.1.21
- - meter -> time_signature
- - bugfixes for mi2mu, divide by zero error. (thx, JBR)
-
-
-********
-july 23
-
-pl 83
-pl 82.hwn2
- - \musical_pitch -> \musicalpitch (mudela 0.1.21)
- - meter -> time_signature,
- - \meter -> \time (mudela 0.1.21)
- - moving around files : -grav -> -engraver
- - doco fixes
-
-pl 82.jcn5
- - doc make fixes; stepmake 34
-
-pl 82.jcn4
- - lots of doco build/install/website fixes
- - junked some doubles from doco
-
- - mi2mu syntax to 0.1.20
- - bf: mi2mu col creation
- - bf: stream << '\t', int
- - bf: mi2mu version
- - bf: font-body.ly
-
-pl 82.jcn3
- - bf's: diff/stepmake
-
-pl 82.jcn2
- - bf: slur blow
- - tie/slur ydirection
- - makeflags / diff fixes
-
-pl 82.jcn1
- - rejects: verbatim copy of Coriolan from 81.jcn2
-
-pl 81.jbr2
- - Documentation/README-W32.yo: Additions to section 2
-
-*******
-
-pl 82
-
-pl 81.jbr1
- - NT fixes for release target
- * stepmake/stepmake: %=--% => %=% in diff target
- Cygnus make with MAKE_MODE=unix forces a MAKEFLAG of --unix.
- This results in a ----unix switch being passed to package-diff.
- This may break normal operation of this target.
- * stepmake/bin/package-diff.py: added a do nothing option --unix
-pl 81.jcn2
- - bf: abbrev
- - found ugly slur bug
- - egcs workaround
- - more Coriolan fixes
- - half-beam fix
-
-pl 81.hwn2
- - lots of vocabulary
- - break_priority_i_ fixes: barnumbering, marginstuff, marks now work more or less
- - wrote lilypond-docs RPM spec
- - major brainsurgery: class Graphical_axis_group:
- * derive Axis_group_element from Graphical_axis_group,
- * derive Graphical_axis_group from Graphical_element
- - junked input/minimal.ly
-
-
-pl 81.hwn1
- - cleaned up parser.yy (removed \textstyle from parser, other stuff)
- - Slurs have height too.
- - typewrite textstyle
- - added error rule to music.
- - Documentation/pictures/ subdir
- - Documentation/topdocs/ subdir
-
-
-pl 81.jcn1
- - coriolan fixes.
-
-******
-july 16
-
-pl 81
-
-pl 80.jcn1
- - Coriolan: bulk remainder of strings
-
-pl 80.hwn1
- - junked coriolan-alto.ly
- - the great Search & Replace
- * Score_elem -> Score_element
- * hanwen@stack.nl -> hanwen@cs.uu.nl
- * Colinfo -> Column_info
- * add () -> add_xxxx ()
- * Col_hpositions -> Column_x_positionso
- - lily-proto.hh cleanup
- - moved Dot_column creation. Dot bug fixed
- - typos README-W32
- - ADD_THIS_TRANSLATOR uses templates now.
-
-pl 80.eb1
- - accidental transposition
-
-
-*******
-
-pl 80
- - some make vs $(MAKE) bugs
-
-pl 79.hwn1
- - bf lily/VERSION depends on toplevel VERSION
- - bf postbreak_only scripts
- - Staff_side now is horizontal too
- - rm'd \octave in scales.ly
-
-pl 79.jcn2
- - w32 support doco (JBR)
- - bf: install info
- - truncated some very long filenames (not bo length)
-
-pl 79.jcn1
- - bf: ps-to-gifs
- - html fixes
- - more italian (TDM)
- - more coriolan
-
-
-*********
-pl 79
-
-pl 78.hwn2
- - reversed some of the beyond-too-ugly hacks for script/staffside.
- - bf: Axis_group_element::access_Axis_group_element () (2nd fix for Hara_kiri)
- - more .bib stuff.
- - more doco, lots of small fixes for .yo stuff.
-
-
-pl 78.jcn2
- - bf: make docxx
- - some doco/website fixes
-i - screenshots for website
- - fixed locale
- - v78
- - w32 doco
-
-pl 78.hwn1
- - more bib fixes
- - uniformised virtual accessors for Score_elem children.
- - bf Hara_kiri seg fault
- - changed left == right spanpoint assert into warning
- - changed Lyrics.textstyle to Voice.textstyle where appropriate
-
-pl 78.jcn1
- - counter fix
-
-************
-
-pl 78
-
-pl 77.hwn1
- - Key transposition (MB)
- - move .dstreamrc to dstreamrc
- - make website fixes. junked z.yo, language.yo
- - split off computer stuff from engraving.bib
- - articles from CMJ added to computer-notation.bib
- - doco fixes
- - syntax of \skip and \partial changed; take only single durations
-
-
-
-pl 77.jcn2
- - mark placement
- - w32 doco
- - html-footer: (PACKAGE)_COUNTERPATH
-
-pl 77.jcn1
- - doco, bib fixes
- - fixed \mark A; \mark 12;
-
-pl 77.hwjc
- - dropped perl
- - py fixes
-
-
-pl 77.uu1
- - \textstyle obsoletized, use \property Voice.textstyle now.
-
-*******
-pl 77
- - bf: install info
- - bf: key-grav.cc: ambiguous conversion
- - bf: mudela.yo glossary em() -> \emph{}
-
-pl 76.jcn1
- - irix compile install fixes, .bib stuff (HWN)
- - bracket bit lighter
- - brace/bracket placement
- - minor fixes in key code
- - small website fixes
- - invocation mudela-book
- - try at bracket/brace placement
-
-pl 75.mb1
- - Introduced real key names, \key e; gives E major!
- - Previous use of the \key command now called \accidentals,
- \accidentals fis cis gis dis; gives E major.
- - Support for special keys with different accidentals on
- different octaves, \specialkey \accidentals Fis Bes gis aiss';
-
-**********
-pl 76
- - website examples:
- * Thread -> Voice
- * 18 -> 19
- * type /consists Engraver vs Line_engraver stuff
- - bf: mutopia-index
- - to relative: twinke-pop
- - bf: clef-grav: null pointer assignment
- - ran convert-mudela
-
-pl 75.jcn3
- - minieme fixes (HWN)
- - bf's: node() names have changed: Mudela Book/ Convert Mudela
- - bf: lilyponddefs.tex: removed \fi, added braces
-
-pl 75.hwn2
- - bf lilyponddefs.tex: added \fi to \ifs
- - convert-mudela in python
- - mudela-book in python.
- - bf memleak Score_elem::do_brew_molecule ()
- - bf array bound read String_convert::split_arr
- - bf free mem read Item::Item (Item const &)
- - bf memleak Midi_walker::do_{stop,start}_note ()
- - bf memleak Spanner::do_brew_molecule ()
- - bf plet-engraver memleak
- - checked input/bugs dir.
-
-pl 75.hwn1
- - junked octave (mudela 0.1.19)
- - more .bib stuff
- - doco fixes.
-
-pl 75.jcn2
- - binary releases:
- * make deb
- * dpkg 1.4.0.23.2
- * debhelper 0.96
- * /usr/bin/db_*: remove -p from install options (urg)
- * make rpm
- * make zip
- - path to nice lilypond.info (must have a go at auto-nodes):
- * mv'd Documentation/man/lilypond-info.yo -> Documentation/topinfo.yo
- * included mutopia as example
- - bf: gifs: $(wildcard)
- - leave tarball in out/ too, after 'make release'
- - mf-to-table: --package
- - typo configure.in
- - nt make fixes (JBR)
-
-pl 75.hwn1
- - clef 8 fix (AG)
- - junked octave (mudela 0.1.19)
- - more .bib stuff
- - doco fixes.
-
-pl 75.jcn1
- - dropped mf/Rules.make
- - dropped target doosdist
- - dropped lilypython/pythonblurb
- - --package rest of python exes
- - packagepython/package-diff fixes
-
-
-**********
-pl 75
-
-pl 74.jcn5
- - lost of (step)make fixes
- - 'make release'
- - --package
-
-pl 74.mb1
- - Fix ":|:" that spans several staffs
- - bf: bar.cc, table of breaks
- - bf: engraver.ly, Complete the addition of ChoireStaff
- - bf: lilyponddefs.tex, placement of ":|".
- - Cleanup clef-item and clef-grav, prepare for dictionary
- of clef names.
-
-pl 74.jcn4
- - cygnus fixes: doco, compile, install
-
-pl 74.jcn3
- - packagepythonified genheader
- - stepmake 21
-
-pl 74.jcn2
- - renamed: ../redhat to ../RedHat
- - renamed (or huh, was this a typo?):
- ../sourcetree -> lilypond-x.y.z to ../lilypond -> lilypond-x.y.z
- - what about ~/rpms; see stepmake/Variables.make?
- - README.txt
- - debashify: zet-lily (HWN)
- - www, yodl, stepmake fixes
- - ls-latex fixes
- - mudela.yo fixes
-
-pl 74.jcn1
- - mudela.yo fixes
- - bf: add-html-footer: duplicate <body>
-
-*********
-pl 74
- - bf: ps-to-gifs fix
-
-pl 73.jcn2
- - irix configure/link fixes (HWN)
- - untested fix for "^\f" (HWN)
- - add-html-footer: bgcolor=white
- - m.yo: successful 2tex and 2html
- - ps-to-gifs additions and fixes
- - bf: --output
- - (step)make targets:
- * diff
- * help
- * rpm
- * zip
- - yodl-1.30.pre4: handle mudela(options)(mudela)
- - small m.yo example for mudela.yo
- - crude tex2yodl in stepmake
- - mudela from stdin: default to filter behaviour
- - allow lelie to act as a pseudo-filter --output=-
- - fixed faq.yo
- - atvariables
- - bf's: module-deps
- - bf's table-to-html and invocation
- - small doco fixes
-
-pl 73.hwn1
- - more doco
- - got rid of weird <> semantics
- * Ties_engraver, Note_heads_engraver
- * depracated \multi
- * depracated Thread context
-
- - wtk1-fugue{1,2} now in relative mode.
- - don't create Rest_collision, Collision if no more than one
- collider (interpreting should be faster, less mem usage)
- - depracate Line_group_engraver, must use Line_group_engraver_group
-
-
-pl 73.jcn1
- - tiny topweb.yo fixes (added 'Documentation/out-www/' to some urls)
-
-*********
-pl 73
- Yodl developent:
- ftp://pcnov095.win.tue.nl/pub/yodl/
- http://www.digicash.com/~jan/yodl/
- - removed BLURBS from makefile
- - stepmake pl 16
- - To Yodl:
- * *.pod -> *.yo (should fixup pod 'manpage' legacy)
- * dropped pod2* config stuff
-
-pl 72.hwn1
- - count "constraint off" as degeneracy
- - zet-lily stuff.
- - bf: add Meter_engraver
- - bfs: tutorial
-
-pl 72.jcn3
- - Documentation/man texinfo-> YODL!
-
-pl 72.jcn2
- - more texinfo:
- * texi2html workarounds: junked man/*.pod
- * Documentation/man: pod -> texinfo
- - Coriolan: viola part
-
-pl 72.jcn1
- - doco/mutopia/website fixes
-
-*********
-pl 72
-
-pl 71.jcn4
- - try at texinfo:
- * lilypond.texinfo
- * stepmake pl 13: texi2man
- * lilypond.1 now generated from texinfo
- * lilypond.info
-
-pl 71.hwn2
- - changed QLP asserts to warnings; now you can see the
-shabbyness of the QLP code
- - ChoireStaff context
- - more tutorial doco
- - mudela-book: name output files to per section and chapter.
-
-pl 71.jcn3
- - bf: convert-mudela: added StaffGroup
- - bf: various .ly: (WhyIsThis; we'll drop a_"bla" and use '_', no?)
- - stepmake pl 12
- - bf: abbrev + beam (urg: internote y dim bug)
- - debian conffiles (AF)
-
-pl 71.hwn1
- - vocab fixes
- - more tutorial stuff
- - quart -> fourth
- - depracated contexts with _ in name (mudela 0.1.17)
- - bf: don't crash if default context can't be found
- - distinction between global and local \header block.
-
-pl 71.jcn2
- - msgfmt check
- - rpm: crude fix for input dir (urg: should get doc on rpm spec;
- why is that so hard to get hold of in plain text?)
- - found (bit undocumented) sticky abbrev mode in stem-grav:
- c8:16 c: c:
- * bf: enable disabling
- * disabled sticky abbrev req
- - urg: transposing for midi (should fix audio-items)
- - sticky abbrev req: a8:16 a a a8:
- - bit more coriolan
-
-pl 71.jcn1
- - added PATCHES to web page
- - rpm-dist, doos-dist, show-latest to step
-
-********
-pl 71
- - bf: po install
- - fixed somewhere: space between bar line and first note [HWN]
- - bf: DOTTEXT
- - bf: (don't) install libintl
- - configure fix for irix tr
- - bf release.py
- - stepmake-0.1.9: fixes make install, rmp-dist
- - bf: mf-to-table
- - make-patch: lily-diff
-
-pl 70.jcn6
- - make htmldoc defaults to out-www
- - moved some python stuff to stepmake-0.1.8
- - aux config scripts from stepmake
- - stepmake-0.1.7 as ./stepmake: drop versioning on sub-package dirnames
- - po fixes
- - computer-forms.el
-
-pl 70.jcn5
- - bf: Documentation/make html
- - bf: coriolan ... almost there
- - bf's: lilyponddefs: (fixes make website)
- * moved errordefs (mmm, perhaps \input's should have been moved...)
- * moved def of interscoreline
- * moved def of setdynamic
- - stepmake 0.1.6
- - include fixes
-
-pl 70.jcn4
- - configure stepmake too
- - make dist recurses into stepmake
- - stepmake-0.1.5
-
-pl 70.jcn3
- - make; make dist work (without packaging) stepmake-*
- - mv'd outputter* tex-outputter*
- its not so handy to have files with the same prefix as our out dir :-)
- - verbatim included stepmake-0.1.4
- - DOTTEXT->.txt
- - verbatim included stepmake-0.1.3
-
-pl 70.jcn2
- - changed 'current' to 'lilypond' in scripts that only i ever use...
- - tenuto shorter, thicker and follow into staff
- - computer{.data,-forms.el}
- - mark
- - by default don't make libintl
- - make install for libintl
-
-pl 70.jcn1
- - generic make fixes
-
-********
-pl 70
-
-pl 69.jcn4
- - included libintl from gettext-0.10
- - fix: staff-bracket on one staff too
- - bf: lilymake/Rules
- - generic lily-make-0.1.0 package; shared as example with lilyx-0.1.0
- - junked automake stuff from aclocal.m4
- - bf: BASH scripts
-
-pl 69.hwn1
- - standardised virtual accessor naming for Requests
- - doco updates.
- - bf: tied accidentals.
-
-pl 69.jcn2
- - now DATADIR = datadir = /usr/local/share/lilypond ...
- - bf's: DATADIR/datadir: by default: /usr/local/share; '/lilypond'
- must be added whenever necessary
- - bf: begin/end html for BLURBS; junked html-accents...
- - html-accents
-
-********
-pl 69 (june 2)
- - bf: table-to-html: convert_html
- - bf: added fingerfont in fetdefs.tex
- - crude fix: fetdef repeatcolon
- - gallina.ly to relative octave mode (MB)
-
-pl 68.jcn3
- - bf: libintl.h include
- - readded: DATAFILES =.*data (too late, computer vocab missing...)
- - span-score-bar:
- * don't set piano braces that span less than two staffs
- * don't set staff brackets that span less than one staff
- - bf: abbrev (internote dim)
- - more coriolan, hara-kiri
- - add arcs to bracket height to avoid colliding of brackets
- - HAVE_GETTEXT
- - computer.data: modest start of computer-related vocabulary
- - configure (localdir/datadir) fixes
-
-pl 68.nenn1
- - fix for postbreaks past line_group
- - bf: harakiri: set empty
-
-pl 68.hwn1
- - use AFM iso autogenerated table.
- - more bits of tutorial
-
-*********
-pl 68.jcn2 (may 29)
- - bf: configure.in localedir/datadir (urg)
- - libc-extension.cc: vsnprintf + check
- - bf: blurbs
- - @BASH@ for scripts that are actually (still...) bash iso sh
- - check for bash
-
-pl 68.jcn1
- - gettext/intl checks; (AO)
- - bf: meter-switch
- - COPERTINA
-
-pl 68
- - AFM file stuff: afm.cc, afm-reader.cc, mf-to-table.py
- - removed c0 position from get_staff_info ()
-
-pl 67.jcn2
- - grace example
- - bf: sticky plets
- - bf: s0
- - bf: twinkle.ly
- - junked implicit to-string conversions
- * now used Scalar for all explicit implicit conversions
- * moved implicit-conversion String constructors to to_str (...)
- - _f with Strings
- - bf: BLUB: re-added empty line
- - bf's: reincluded: tar-docxx.sh, topweb.pod.in (<aol>me too!</aol>)
- - po: unification/breaking-up of (some) messages
- - crude get-lily/build-lily scripts
- - make targets "po-update" "show-po-update LANGUAGE=xxx"
- - handier internationalisation funcs _(), _f () iso macro
- - String_convert::form_str (fmt, ...)
-
-
-*******
-pl 67 (may 27)
- - multiple font sizes. See input/test/sizes.ly
- - w32 blurb by Dominique Cretel
- - bfs faqs
- - cleaned Identifier further; canonical accessors
-
-pl 66.jcn7
- - bf: hara-kiri clefs: (the "u" is "\unknown"; how to fix this?)
- - bf's: make website
- - better configure language message
- - bf: lilpond.spec
- - bf: configure/localedir
- - internationalisation: po/*
- - distribute mutopia/ in binary rpm too
- - FLAPTEKST
- - "generate" all debian conffiles in out/
- - BLOEP; and BLURB substituted by configure throughout doco
-
-pl 66.jcn4
- - bf's standchen
- - website fixes for .fly
- - target doc++; tar-docxx fixes
- - topweb fixes
- - configure check for pod2html 5004/5003
- - switch init file on extension (some new ones):
- * init.ly: normal structured Mudela
- * init.fly: simple Mudela (for on-the-* without tape ly's)
- * init.sly for simple init (no properties,scripts,midi)
-
- - bf: stem with flags (forgot internote dimension)
- - bf's mutopia (urg, properties)
- - String_storage: parse string identifiers (i didn't do it, nobody saw me do it, you can't prove anything)
- - scsii-prelude: urtext and suggested slurs separated
- - converted twinkle, kortjakje, standchen, preludes to relative
- - conflily -> zet-lily
- - -Q --find-quarts option
- - bf: add-html-header: mailaddress () iso mailaddress
- - bf: show-latest looks at MY_PATCHLEVEL too
- - fixes scsii
-
-
-
-***********
-pl 66 (may 18)
- - junked literature.pod (we now have the .bib file)
- - bits of mudela.doc
- - other-packages.pod -> other-packages.bib
-
-pl 65.jcn3
- - print_dimen: don't print "NaNpt"
- - fixed Coriolan, added "instrument" and "instr"
- - MIDI favours property "midi_instrument" over "instrument"
- - Bar::do_height iso brew_molecule hack: not quite yet...
- - stem/beam: more stuff runtime
- * beam-dir-algorithms
- * beam-stemlengths: take unnatural dir into account
- * natural stemlength
- * forced stemlength shortening
- - bf: Bar: don't make molecule if invisible; fixes hara-kiri
- - robustification of MIDI: never return "", always return sane
- string and print warning
- - bf: typo Key_change_req::sharps(); fixes MIDI
- - scsii: new relative octave fixes, gigue
-
-pl 65.jcn2
- - included some auto-generated mf files for MikTeX (doos).
- - hara-kir: nicer set-transparent
- - relative.pod: doco'd blonder relativeness
-
-
-pl 65.jcn1
- - staff-margin-engraver
- - blind scsii fixes for new relative mode
- - bf's: hara-kiri-*
- - jumps in topweb.pod
-
-*********
-
-pl 65 (may 15)
- - fixes for template instantiation (AO)
- - junked standchen-easy,
- - mudela 0.1.15: deprecate \duration, junked \octave relative
- - small doco fixes
- - moved data from Melodic_req into Musical_pitch (analogous to
- Duration and Rhythmic_req)
- - implemented \relative c' { .. } and associated Relative_octave_music
- - junked \octave relative;
-
-pl 64.jcn2
- - simple compile fixes
- - bf: beam:stemlens:knee
- - hara-kiri-*
- - bf: ctags
- - preludes-3.lym4
-
-*********
-pl 64 (may 13)
-
-pl 63.jcn3
- - beam stemlength stuff runtime
- - dropped lq for beam-stemlengths, fixes [d d d] [d g d]
- - ugly sed fix for commas in .ly.m4
- - beam damp corrent fix
- - scsii: small fixes
- - preludes.ly; dropped silly preludes.tex
-
-pl 63.jcn2
- - vocabulary on website
- - data-to-html.py
- - bf: beam damped-slope correct
- - bf: make website
- - some preludes-* fixes
-
-pl 63.jcn1
- - "relative" sizes for titledefs
- - bib2html/man2html urls in INSTALL.pod
- - auto-generated feta stuff in doosdist
- - bf's: make dist, docdeps
- - bf's scsii
-
-************
-pl 63 (may 11)
-
- - non_fatal_error () (should use!)
- - Mozart Horn concerto 3, horn part
- - bf: plet-spanner
-
-pl 62.jcn11
- - bf: beam::set-stemlen:iterations
- - knee-bug.ly
- - use knee in menuetto-ii
- - bit on slope damping
- - some bf's and doco
- - bf's scsii
- - scsii: bf' new: sarabande
- - bf's allemande, courante
- - bf: knee: stem through beams
- - bf: too high beams
-
-pl 62.hwn1
- - bf jcn8: deep copy Scope (ughugh. I want GC!)
- - cleaned Identifier
- - mudela 0.1.14 'a -> a,
- - class Scope
- - .bib updates
- - key robustifiction for extreme octaves
- - ly2dvi 0.11
- - energy "normalisation" removed.
-
-pl 62.jcn8
- - beam: knee input/test/knee.ly
- - vimrc init for lily
- - errors display column number too
- - scsii: bf's, new: allemande, courante
- - looked at lyric lengthen "mir________." (eerste weigering)
- - beam: knee [c \stemdown c' \stemup 'c]
- - expressions parsed at identifier_init
- - bf: slur/stem/whole x-adjust:
- * use note-col width iso mean note-witdth
- * note-column:width ()
- - now string variables in paper too -> mudelapapersize
- - paper_def: real dict -> identifier dict
- - My_lily_lexer: identifier dict stack
- - init paper and a4 stuff
- - \include \string
- - all rvalues from parser var pool -> access rvalue as \rvalue
- - string variables
- - ly2dvi 0.10.jcn1
- * mudelapiece, mudelaopus (ugh, fix)
- * textheight
- - more titledefs
- - bf: table 20 typeface widths
- - bf: toplevel/*.txt
- - bf: ugly Documentation/mutopia fix (should rename dir to Mutopia/ ?)
- - bf: make examples
- - www.digicash.com/~jan/lilypond
- - make website fixes
- - ambiguity fixes in .ly's
- - bf: relative-octave warning
- - relative-octave: guess if ambiguous
- - ambiguity warning for relative mode
- - scsii: prelude
- - bf: slur gap
- - bf's: scsii: menuetto
- - .txt -> $(DOTTEXT)
- - make website fixes
- - .txt fixes
- - bf: typo make-patch
- - bf: *dist.sh cleanup
- - bf: release.py
- - bf: make/Targets doc (removed .txt extension)
- - rpm-dist.sh
- - make doos dist fixes
- - doos-dist.sh windoze dist script
- -- removed useless spacing hack at spring-spacer.cc:692
- - bf: los-toros: do multi-bar rests (setting SkipBars = 1)
- - scsii-menuetto.ly -> menuetto-urtext.ly, -cello.ly and -alto.ly
- - bf: \octave c'; for relative-octaves
- - bf: Documentation make
-
-*********
-pl 62
- - no-touch hak.
- - bfs: multi measure rests
- - fixed the website.
- - add extra space after breakable columns.
-
-
-pl 61.jcn8
- - mudela relative octave feature:
- * Documentation/relative-octaves.pod
- * \octave relative;
- * lilypond -f for automatically finding new relative quote positions
- (sorry, fully automated convert is too complex)
- * mutopia/ltor.ly: octave quotes reduced from 511 to 59
- - better conflily
- - bf: abbreviation-beam-engraver: set beam::multiple_i_
- - bf: open_abbrev_parens
- - dotted/dashed slurs/ties
- - fixed-up scsii-menuetto; use dotted-slurs
- - slur_thickness runtime
- - bf: typo lilyponddefs: elevendefs
- - moved hard-coded slur parameters to runtime
- - make-patch -r: diff against latest release
- - allow semicolons after paper_identifier and \include
- - params.ly: parameterised some paper vars
- - bf: beam quantise for slope = 0
- - interbeam (mult>3) open-up to paper-def to paper!
- - "implemented" Paper-def::staffheight
- - simplification + bf bezier clipping
- - vandale fix
- - moved doco from paper*ly to fonts.doc
- - papers with expressions
- - paper20.ly: rewrote precalculated values as expressions
- - simple expressions in mudela (paper-body only)
- - beam_thickness centralised and run-time...
- - \nobreak
- - bf: beamquantise: never sit if mult > 1
- - bf: broken slur y-offset (not!)
- - pagelength hack in tex/headers
- - alignment of bracket (in span-score-bar.cc)
- - boolean *break_b to continue break_penalty_i; maar nu...
- - removed paper20 includes, \paper_twenty from examples
- - dropped latex files
- - renamed standje, standchen.
- - parser accepts range of mudela-versions
- - Mudela_version
- - String_convert::split
- - bf's: los-toros-oboe
- - braindead Break_req with penalty; junked Disallow_break_req and
- Break_force_req
-
-pl 61.ag1
- - implemented octave-shifted clefs.
-
-********
-
-pl 61
- - bf: mudela-book error msgs
- - don't dist feta-tables.
- - bf: mf-to-table, deps[0] catch
- - reworked initialisation parsing logic; Got a no-redtape mode
- for free
- - 20 pt staffsize now default
- - dependencies for LilyPond (-d, --dependencies). --debug moved to -D
- - (c) 1998
- - ly2dvi 0.10 (JAF)
- - changed \begin[options]{mudela} to \begin{mudela}[options]
- - more WWW hacks.
-
-pl 60.jcn2
- - minor adjust for asymmetricity of beam symbol
- - added TEST beam quantisation; see input/test/beam-pos.ly
- - removed some empty .cc .hh
- - Grandstaff -> Grand_staff (After [Gerou] and Harvard Dictionary of
- Music)
- - bf's: slur and tie post-processing
- - cleaned-up bow: get encompass
- - cleaned-up beam-yspan and beam-leftpos quantisation
- - misc.cc: some funcs to get lower and upper bounds from array of values
- - interval.*: Slice (Interval of int)
- - added some doco to beam.cc
- - removed some x,y by-ref passing in Lookup
- - cleaned-up beam-yspan quantisation
- - cleaned-up slur get encompass
- - configure: --disable-optimise for compile without -O
-
-pl 59.jcn4
- - bf: beam quantise
- - bf: sticky plet bug
- - bf: chords in beam
- - bf: typo beamquantisaton
- - bf: don't blow_fit infeasible bows (x_i < x_0 || x_i > x_n)
- - bf's: beam/stemlengths, beam-bug [c8 c16 c16]
- - bf: placement broken tie
- - yet another try to raise bar-number
- - bf's: bow tangent clipping, allow higher bows
-
-************
-pl 60
- - mats patches: use Latex font stuff.
- - fixes to the .59 patch release (jcn)
- - make website|examples target
-
-pl 59.jcn3
- - bf: preludes-5
- - no inline compiler warnings by default
- - bf: gcc 2.8 compile bow.cc
- - moved functions with loops from varray.hh to varray.cc
- - bf: minimum length for tie
- - slur clipping standard
- - bf: second broken slur minimum length
-
-pl 59.jcn2
- - added some to .dstream
- - bf: second part of broken slur
- - slur encompassing noteheads adjust
- - bwv'd preludes
- - bf: make-patch -d
- - doc'd rerunning of autoconf
- - rest of real standje (rename and move simplified standchen to
- input/test?)
- - bf: clipping
- - bit better bar number placement
-
-pl 59.jcn1
- - more INLINE
- - bf: multi-measure rest
-
-pl 58.jcn7
- - los-toros: do multi-bar rest
-
-
-
-***************
-pl 59
- - ly2dvi 0.9.hwn1, -K switch,
- - doc: moved manpages in separate directory.
- - do WWW stuff via make
- - mutopia-index.py
- - ly2dvi 0.9 (JAF)
- - multi platform build fixes
- - junked embedded switches, embedded MF, obsolete TeX stuff
- - junked virtual matrix storage: inlined most matrix computation,
- speed increase of 30%
- - junked taupindefs, eglerdefs
- - rm'd taupin/egler from INSTALL
- - doc: engraving.bib, colorado.bib
- - input hierarchy.
-
-
-pl 58.jcn6
- - multi-measure rests: moved acknowledge from timing-translator
- to -grav
- - slur clipping experimental...
- - bo to b
- - always announce multi-measure
-
-pl 58.jcn5
- - bf: reset plet after reading mmrest
- - try at not generating moments...
- - Multi_measure_rest 'symbol'
-
-pl 58.jcn4
- - try at multi-measure rests: part.ly
- - bf's: slur get_encompass
- - bf: slur clipping
-
-pl 58.jcn3
- - experimental (--test) clipping of too high or tilted slurs
- - nicer slur control output and ps code
- - bit thicker and round-capped tuplet bracket
- - bf: slur.cc: RESIZE_ICE
-
-pl 58.jcn1
- - varray.hh bezier.cc, slur.cc patches to avoid gcc 2.8.1 ice
- - some inlining fixes
- - configure: use -O to enable inlining
- - included and fixed new make-patch.py
- - bf: Mutopia.make
- - bf: offset: operator - ()
- - ugly hack bezier: do blow_fit twice
- - bf's: bezier: rotate,translate
-
-***************
-pl 58
- - more *.make hacking
- - bracket fix (AG)
- - clef fix (PC)
-
-pl 57.jcn1
- - reincluded test/bow.cc
- - promoted Bezier bows to standard
- * bf's: broken slurs
- * some bf's: verneukeratificering van JCN code
- * some bezier slur doco
- * calculate Ties with Bezier bow
- * junked tex-slur.cc
- * junked ps-slur code
- * junked height-only slur-correction
- * lots of bezier/slur fixes
- * bezier:blow_fit
-
-**************
-pl 57
- - verneukeratificering van JCN code.
- - lots of updates on our own makefile system.
- - junked automake & documented it
- - put rods into Spring_spacer too. Much cleaner
- - bf: weird spacings (enge floats)
- - bf: too many constraints added.
- - smarter constraint check
- - bf: table16 fontsize.
-
- - 56.jcn1's empiric computer science.
- - debian patches (AF)
- - solaris/irix patches (AO)
-
-
- pl 56.jcn5
- - bezier and slur: cleaning and fixes
- - bf: removed silly experimental beam feature
-
-pl 56.jcn4
- - reintruduced slope in bug [c8 c16 c16] in favour of stemlen bug...
- - staff-side: accent half line higher
- - reincluded silly los-toros latex file
- - bf's: bezier.cc,bow.cc, mat.hh: rotate
- - bf: bezier slur: handle broken slurs
- - bf: beam
- - dehairifications of bezier.cc
-
-pl 56.jcn3
- - bf's: offset multiply, matrix rotate
- - dropped los-toros latex file
-
-pl 56.jcn2
- - even nicer excentric slurs;
- - input/slur-bug.ly
- - los-toros with barnumbers ;-)
- - nice version of height-ajust bezier slurs (see sleur.ly --test)
- - bf's beam:
- * slope in[c8 c16 c16];
- * allow no INTER position for normal quantising
-
-pl 56.jcn1
- - bezier curves with raaklijnen
-
-pl 56.ag1
- - `Makefile.am.wild's now should work correctly with VPATH (AG)
-
-************
-
-pl 56
- - more dutch vocabulary
- - Barnumber FAQ added
- - bf: abbrev over whole note.
- - feta: reverse turn.
- - bf: rod distance
- - bf: local key clashing
-
-***********
-pl 55
- - bezier check and ajust for slur height
- - better slur height ajust
- - DO chmod 755 *test/*sh
- - bf: discretionary of ||
- - bf: scripts within staff
- - NOT Grandstaff -> Grand_staff (yet?)
- - bf: cresc. decresc. height lookup.cc,init/table*
- - bf: staff-symbol (script placements)
- - staff-group-bracket
- - bf's preludes, los-toros
- - nicer trills
- - adjustment slur extend
-
-**********
-pl 54
- - bf dynamic_grav
- - bf accidentals with key change
- - bfs with command-items in non-breakable columns.
- - typos (thanks LM)
-
-pl 53.jcn1
- - two new BUGs
- - preludes-* with trills
- - nicer trills
- - fixed ugly slur extend bug
- - first try at symphonic work: (start of) Coriolan
- - fixes: los-toros
- - test/ with some stupid tests
- - bf, again midi-output
- - --no-timestamps options for lily/mi2mu (to enable make check targets)
- - removed doubles in lilypython
- - smarter prev_version for make-patch
-
-***********
-
-pl 53
- - bf: c4 \< c4 \<
- - bfs of spacing stuff
-
-
-pl 52.jcn6
- - make check target
- - moved flower/test to flowertest
- - dist fixes
- - flower no longer independent package
- - bf: GNUmakefile
- - bf's: configure: debugging (default) /profiling
- - bf: Rational iface (fixes MIDI output)
- - bf: non --srcdir configure + build with GNU make (ugh)
- - ugh: autowildflower
- - bf's: invoking wild-perl
- - bf: ugh: staff-side.cc: placement height
- - bf's: gnu 2.7.2 link (huh?, everyone using 2.8?)
- - make-patch: default diff against (copy of) srcdir
- - bin/conflily configures in ../build
- - GNUmakefiles that do:
- * auto-update of Makefile.am.wild
- * auto-switch to builddir
- - bf's: configure --srcdir
- - fixes for los-toros/twinkle/test-lyrics
- - latex file for los-toros (ugh)
- - staff-side: symbols closer...
- - half fix of midi output? duh.
- - oboe1 los-toros
-
-************
-pl 52
- - split up elem-group stuff.
- - per line widths
- - miscellaneous fixes by WL.
-
-
-pl 51.jcn1
- - bf's: dutch->nederlands
- - Cygnus b19 compile/link fixes
-
-************
-march 27
-pl 51
- - changed dutch -> nederlands, german -> deutsch etc.
- - norwegian (AG)
-
-pl 50.jcn4
- - fixes for cygnus' gnu-windows32 beta19
- be sure to compile with -fno-rtti
- - proof of concept for automated updating of Makefile.am
- see mi2mu/GNUmakefile (still somewhat clumsy)
- - mv'd both config.hh.in to acconfig.h
- - copied printing/debugging/optimising options to flower conf
- - (some modified) fixes from AO
- - beginnetje los-toros-oboe
- - bf: DIR_DATADIR
- - bf: trills
-
-************
-pl 50
- - deprecate autowild
- - --srcdir fixes
- - ly2dvi 0.8
-
-pl 49.jcn2
- - static (default) and/or shared libs flower and lily
- - patch from AO 'libtool 1.1.1'
- - mf: trill-symbols: feta-slag.mf
- - shared libs (ugh: hardcoded switch in configure set to static)
- - some fixes: denneboom.ly, standje.ly/standchen.ly
-
-********
-march 19
-
-pl 49
- - parser assert changed to warning
- - fix stdin reading
- - small jcn fix
- - changed unbound Spanner from assert to warning
- - forced breakpoints
- - add a nowildcard: stmt to wild-perl
-
-pl 48.jcn5
- - ugh: double parser/lexer:
- be sure to rm lily/parser.cc lily/lexer.cc or bin/clien
- before re-running autowild!
- - V.RSION
- - bin/clien bin/meek
- - bf's: flower/VERSION, flower/config.hh, lily/lexer/VURSION
- lib/config.hh bin/convent-mudela
- - lost of automake fixes
- - automake
-
-******
-march 12
-pl 48
- - Pitch_squash_engraver makes Rhythmic_staff possible.
- - some fixes to buildscripts for sgi irix
- - misc. patches (WL)
- - move away from libg++: rolled own Rational class..
- - don't make gif files Documentation/ by default
- - ly2dvi manpage (JAF)
- - ly2dvi 0.7 (JAF)
- - more clefs. (MB)
-
-pl 47.jcn2
- - bf: interbeams and beam-stemlengths for size != 16
- - bf's: preludes
- - more introduction
-
-pl 47.jcn1
- - voice{one,two,three} defines
- - preludes-*: fixes, junked multi, broke-down score-block
- - mudela-book: added center option
-
-******
-march 6
-pl 47
- - Abbreviation now a separate item.
- - bf'd some gcc 2.8 warnings.
- - bf'd spurious space in autodep.
- - more clefs (MB)
-
-pl 46.jcn1
- - start mudela introduction
-
-
-pl 46.jcn2
- - bf's: preludes-*
-
-*******
-feb 27
-
-pl 46
- - span-bar at upstep.
- - bf: \score { \score_identifier }
- - tenor clef (MB)
-
-pl 45.jcn2
- - preludes-4,5,6
- - bf's denneboom (oeps, see loop)
-
-pl 44.jcn7
- - text-item.cc: try to get fingers just above note...
- - set minimum space between columns
- - bff: mf/Makefile out/*log required: new .ly .tex's with make-dist :-(
- - bf's midi ascii-debug output
- - bf: property instrument
-
-*******
-feb 12
-pl 45
- - bf: translator switching
- - SunOS and IRIX patches (AO)
- - preludes bugfixes; preludes.tex ugh (JCN)
- - shared lib numbering (AF)
- - various fixes for debian (AF)
- - ly2dvi .6.jaf (JAF)
-pl 44.jcn6
- - bf: crescendo.cc: bigger and use bar_size
- - slur: guess extra height for height limit for extending notes/stems
- - ps: adjustable slur height limit, bf crescendo
-
-
-******
-feb 6
-pl 44
- - ly2dvi 0.6.hwn1
- - ly2dvi 0.6 (JAF)
- - use ly2dvi for website
-
-pl 44.jcn2
- - fingers default to above note
- - preludes-2.ly
- - parser: fingerings
- - preludes-1.ly
- - bf: denneboom.ly
- - preludes-3.ly.m4, standje.ly, preludes-4.ly
- - make rule for macro ly-files
- - pletvisibility (init/property.ly):
- * default no bracket with beams
- * invisible plet bracket feature
- - finger dir in text-def
-
-*******
-feb 2
-
-pl 43
- - bf: broken Plet_spanners
- - more GNITting
- - avoid some more global ctors, for NeXTstep
- - some NeXTStep patches from tiggr
- - don't do overstrike/bold chars in textfiles
-
-
-pl 42.jcn2
- - bit hesitating start of mutopia
- - bf: don't try to typeset unterminated plet
- - separately sticky plet durations: "c4 c4*2/3 c8 c4*1/1", ok Mats?
- - denneboom.ly (half-baked version)
- - indent and shape, see ^
-
-pl 42.jcn1
- - bf: memmem revisited
- - bf: ps: draw_plet vertical endings
- - renamed stem_start to stem_begin
- - bf: plet bracket placing on differently orientated stems
- - more standje.ly and fixes
-******
-jan 28
-
-pl 42
- - ly2dvi 0.5 (JAF)
- - italian.ly (thanks, Paolo)
- - bf: first \mudelapaper output (BS)
- - bf: cathedral + bazaar URL (thanks, Barrie)
- - bf: libc-extension.hh (AO)
-
-pl 41.jcn4
- - plet brackets (always) in ps (only)
- - Plet_spanner derives from bow
- - bf: mf/Makefile: let %.tex %.ly depend on %.mf,
- iso non-distributed %.log
- - mi2mu mudela 0.1.8
- - bit better plet number placement
- - handier plet syntax: [2/3 c8 c c ]1/1 and \[2/3 c2 c c \]
- - Plet_swallow_engraver for lyrics
- - bit better plet number placement (NOT)
- - new plet syntax: combined beam and plet open
- - more standje.ly
- - new plet syntax: start: \plet2/3 stop: \telp1/1
- - Plet_req, Plet_engraver; removed plet stuff from beam
-
-******
-jan 20
-pl 41
- - warn for score with multiple Music blocks
- - bf: \plet (MB)
- - \textsharp in 16pt
- - malloc frobnifying
- - more fontsizes: 26pt, 11pt, 13pt
- - \textstyle "bold"
- - .rpm: remove old fonts
-
-pl 40.jcn2
- - bf: typo scores.cc
- - bfs: non-default base constructor calls
- - bfs: virtual destructors
- - standje.ly: the real standchen (first bit)
- - gcc 2.8 compile
- - nicer scsii-menuetto
-
-pl 40.jcn1
- - bf: breaking of :| bar
- - bf: lyric substitution of _ -> ' ' flower/libc-ext:memmem
- - no slope=0 beams between stafflines
- - bf: tex without lily-ps-defs
- - bf: embedded mf shift: added '%' to \embeddedps
- - doos compile
-
-******
-jan 12
-pl 40
- - some doco fixes
- - debian diffs (AF)
-
-pl 39.jcn2
- - bf: bit smarter atan() for feta-sleur (thanks wendy)
- - bf: y quantise of multiple down beams (typo)
- - minor doc fixes
- - bf: distribute mfdeps and moved from mf/out/mfdeps to mf/mf.dep
- - some changes to ANNOUNCE
- - fixes for simple slur/tie placement
- - embedded MF fonts identified by parameters -> reusable runtime fonts
- - clean-embeds.sh
- - runtime MF beams: feta-beum.mf
- - bf: enable switching PS off
- - updated runtime MF feta-sleur.mf with new PS slur algorithm
-
-******
-jan 5 1998
-pl 39
- - 0.2 ANNOUNCE sketch
- - unix style paths for LILYINCLUDE env
- - show all output pages on website
- - ps-to-gifs.sh
- - bf: wtk1-fugue2
- - python make-website
- - higher brace resolution
- - phased out musixtex stuff
- - bf: rhythm.ly
- - PS slurs
- - PS beams
- - Bow units
- - turn on PS by default
- - turn off barnumbers by default.
- - bf: halfbeam size.
- - bf: -M bug
- - stafflinethick in PS (crescendi)
- - continued (de)crescendi (in PS)
- - bf: spurious beam reqs
- - handle unfeasible spacing cleanly.
- - ML-address change
- - output naming: default to basename[-serialnumber].{midi,tex}
- - bf: clef width
-
-pl 39.jcn2
- - make-examples.sh
- - leftright repeat sign + repeatbar dims
- - smaller minimum sized rod at end of bar
- - bf: spacing.ly
- - less space at begin of bar
- - experimental whitespace fixes at begin and end of bar
- - added to beams.ly
- - open-up beam spacing for mult > 3
- - fixed hang/sit to overlap iso aligne with staffline
- - fixed inter beam spacing, paper*.ly
- - scsii-menuetto.ly fixes
- - init/property.ly
- - property settings for beam quantiseing and damping
- - provisionary multiple-beam fix
-
-******
-pl 38
- - bf: \> \! \ff (crescendo overlap)
- - misc feta-fixes, flageolet sign.
- - midi tempo fixes.
-pl 37.jcn3
- - max beam slope "compile time parameterised" and set to 0.6
- (oh, how we need runtime generated beams!)
- - beam's left y-pos quantisation
- - beam slopes' y-span quantisation
- - stem.ly
-
-pl 37.jcn2
- - feta: fixed sizes small numerals + flageolet
-
-
-*******
-dec 12
-pl 37
- - --postscript
- - don't crash non-fitting grouping (thx, John)
- - attach unended spanners to a column (thanks John)
- - bf: unended tie
- - bf: tie direction
- - bf: unended slur
-
-pl 36.jcn2
- - feta: small numerals
-
-********
-dec 9
-
-pl 36
- - bf: notehead collisions
- - bf: dot y-position
- - use Item::break_priority_i_ for horizontal alignment of breakables.
- (it still sucks)
- - junk some derivation checks, junk Normal_*_bar
- - FlowerLib fixes.
- - twinkle fixes.
- - feta: flag/clefspacing
-
-
-*******
-dec 5
-pl 35
- - naming: lily-init iso symbol.ly
- - mf braces
- - center textscripts.
-
-pl 34.jcn1
- - mf: nicening of dyn, klef, rest
- - fingerfont
- - bf: 12/8
-
-
-********
-dec 2
-pl 34
- - bf: mf: numbers and alto clef
- - bf: scsi-menuet
- - PS crescendos
- - ly2dvi diffs (JAF)
- - debian diffs (AF)
- - w32 doco fix (JCN)
-
-
-********
-nov 24
-
-pl 33
- - added abbrev.ly to font.ly; rm'd abbrev.ly
- - don't process scores on parse errors.
- - bf: kortjakje.ly
- - bf: invisible stems in beams (abbrev.ly)
- - lytodvi script (JAF)
- - output Paper_def settings to TeX file. (eg: linewidth)
-
-********
-nov 19
-pl 32
- - change type checks (ughugh) to derivation checks (ugh)
- - this fixes clef bug.
- - bf: order of breakables: meter comes after bar.
- - bf: do error iso coredump on unknown symbol-table
- - bf: release.py, copy patch too.
- - bf: add makefile dep for disting MF logs.
- - bf: don't read font-en-tja*.ly, but feta*.ly
-
-pl 31.jcn2
- - first version of (non-ugh) c-klef
- - bf: mi2mu: notes of zero duration as comments
- - feta: ugh c clef
-
-
-********
-nov 17
-
-pl 31
- - bf: replaced Score_column assert by a warning (thanks Scott)
- - bf: mi2mu version output (thanks Scott)
- - faq updates
- - always output lily header with Lily version
- - bar mucking: make scorebars/braces different from repeat bars.
- - feta: repeatcolon, clef bf's
- - debian/ updates. (AF)
- - moved debian stuff into toplevel dir
-
-********
-nov 11
-
-pl 30
- - feta: G clef.
- - scripts now do relative coords (fixes lyrics + barnumber bug)
- - bf: Lyrics lexer mode
- - bf: bass clef
-
-********
-nov 6
-pl 29
- - feta: bass clef, bf: dynamics, bf: 64th flag
-
-
-********
-oct 30
-pl 28
- - revised Staff_symbol::brew_molecule_p ()
- - naming: \makelilytitle
- - fixes for TeX titledefs (JAF)
- - junked some obsolete pedal stuff.
-
-pl 27.om-je-te-helpen-met-je-ps-spul.jcn1
- - embedded slurs:
- * bf: placements
- * added \embeddedtex
- * postscript is default
- * fixed \embeddedps
- * fixed mf: draw_slur
- * postscript macro: draw_slur
-
-********
-oct 29
-pl 27
- - -t/--test switch for experimental stuff.
- - bf: debian optimize is not with 'z'
- - mf: naming feta fonts are now called feta16, feta-beams16, etc.
- - feta: ledgerline
- - lily adjustments for new and elegant ledger line
- - bf: mf-source path.
-
-pl 26.jcn1
- - bf: numerals
- - sleur.ly
- - embedded slur testing
- - bf + patch: make-patch release.py / VERSION
-
-
-********
-oct 26
-pl 26
- - bf: \transpose
- - feta: numerals 0 - 9, rewrote flags.
-
-
-
-********
-oct 22
-
-pl 25
- - variable stemlength
- - feta: 32nd, 64th flags
- - font.ly
- - dist & tarball made in out/
- - rewrote release.sh in python
- - notehead/stem attachment better.
- - more Stem cleanage
- - related Beam cleanage
- - started numeral font (JCN)
- - bf: whole rest outside staff.
-
-*********
-oct 20
-pl 24
- - internationalization preps (FP)
- - rewrote make-patch in python
- - BUGS: added another flex/libio crash explanation
- - feta: flags
-
-
-********
-pl 23
- - feta changes: 1/4 rest, flat, bf 8-128 rest
- - bf: cadenza
- - bf: scripts
- - bf: rest-collision
- - bf: meter placement
- - junked cpgento.sh
-
-*********
-
-pl 22
- - bf: lyric 's- Zondags
- - bf: colliding accidentals: renamed translate(Real,Axis) to translate_axis()
- - renaming of scripts
- - strings with escaped characters.
- - bf "string_with_\"_embedded"
- - bf: mf/Makefile
- - feta changes (trill, organ pedals)
- - updated mf-to-table for new feta conventions
- - changed header format to something sensible.
- - moved staff to centerline == 0;
-
-********
-
-pl 21
- - shrinking uses more energy than stretching
- - check IO error on writing (disk full?)
-
-
-*********
-
-oct 8
-pl 20
- - don't swallow non lyric-stuff in lyrics
- - x-position of Stem
- - more feta changes
- - move scripts to right
- - genheader.py replaces genheader.perl
-
-pl 19.jcn2
- - bf's mi2mu:
- * Midi_track_parser::note_end_all
- * staff output uses key, meter, tempo read
- * command line read minor key
- * minor key notenames
-
-pl 19.jcn1
- - small changes to sharp, fermata
- - small changes to lilypond.lsm+doc, lelievijver.lsm
- - mi2mu updeet + bf
-
-pl 19
- - bf: keyword.cc rm'd struct defs
- - dots: support for feta dots.
- - lots of font (feta) tjanges
- - mf-to-table rewrite in python
-
-*********
-pl 18.jcn1
- - check for python, mf-deps fix
-
-pl 18
- - bf: Box[X_AXIS] = b
- - bin/mf-deps.py script
- - moved beams out of font-en-tja into vette-beams.
- - Made corresponding .cc changes.
-
-
-jcn patches
- - egcs compile (no link yet)
- - nicer 4rest
- - beam font (je kunt wel tegen een grapje, eva?)
- - mf-to-table:
- * "breapth" (x-depth) feature
- * handle generic stuff such as beams
- - polished noteheads
- - fixed 8-128 rests
- - 4rest
- - mf-to-table generates tex defs
- - bf:mf-to-table and conflily outname check
- - 8-128 rests
-
-******
-sep 24
-
-pl 17
- - bf: ledgerline width
- - bf: toccata-fuga-E
- - took out some hardwiring of tex-beam
-
-pl 16.jcn1
- - mf-to-table.in: generate mozarella metric info tables
- - autometric.mf: write metric info to mf logfile
- - ital-r.mf, smaller ital-m.mf
- - variable streepjes length (top/bottomlines); fixed (for 20pt?)
- - streepjes twice as thick as staffrules
- - even more pronounced bolletjes -- how 'bout this wendy?
- - quarter and half note after drawings (a/b less distinct)
-
-*****
-sep 19
-pl 16
- - revised mudela-man a bit
- - ; optional after \musicidentifier
- - bf: doco about {Mus*,Opus}TeX
- - bf: configure: MFDIR
- - bf: String::operator bool () removed
- - bf: String::operator char const * () removed
- - bf: Line_spacer::~Line_spacer () added: plugged memleak
- - bf: Line_of_score::do_unlink () call Spanner::do_unlink
- - bf: rests in beams
- - bf: textnatural
- - bf: 20 pt flags
- - bf: longarest
-
-pl 15.jcn1
- - bf: typos whole and half notehead
- - de-uglyfied bolletjes.mf
- - ascii output of font metrics in mf logfile
-
-******
-sep 17
-
-
-pl 15
- - put top of NEWS file in the webpage
- - breadth first search for engravers.
- - bf: coriolan-alto.ly
- - Stem / Notehead width now properly calced
- - Atom and Symbol merged
-
-pl 14.jcn1
- - lily's own noteheads (balls/globes :) (font-en-tja*.mf)
- - {table,paper}* and taupindefs adaptations (when are we moving?)
- - fp, sf, sfz dynamics
- - font.ly
- - bf: dist mudela-mode
-
-*******
-sep 15
-
-pl 14
- - Simple but nifty mudela-mode.el for Emacs
- - slightly better syntax for single-note-repeat, now default kept in
-Stem_engraver
- - bf: Abbrev_beams are not the only beams (see: jcn4, stem-info, thanks, Jan)
- - a CPU timer for Interpreting and Breaking
- - Separate Score_elem:
- * invoke-once stuff in Super_elem (using function pointers; much cleaner now)
- * geometrical stuff into Graphical_element
- * Axis_group_* accept Graphical_elements iso. Score_elems
- * A dimension cache, hopefully this makes lily a bit faster
- * TeX output moved out of Score_elem, separate interface Outputter
-
- - < \multi 2; bla > -> \multi 2 < bla > (mudela 0.1.6)
- - bf: don't do \multi if \type specified
- - Translator switching: Change_translator, Change_iterator
-
-
-pl 12.jcn4
- - fixed dynamic f, magstep bug
- - gaps on abbrev-beams
- - bf: stem-info
- - bf: last abbrev
- - bf: stem: do_width
- - bf: removed rest-column.hh
-
-*******
-sep 11
-
-pl 13
- - big Rest/notehead rewrite:
- * separated Rest, Note_head and Dots
- * Dot_column: dots are now chord-wise aligned
- * Rhythmic_head is base for Rest, Note_head
- * Merged Note_column and Rest_column
- * Rest_engraver
- - grand Engraver/Translator/Performer rewrite.
- * properties: \property voice.dir = -1 (mudela 0.1.3)
- * Input_translator junked, now Translators are generated
-by the parser (mudela 0.1.4)
- * Translator changing: \translator Staff=oboesolo
- * Translator preselect: \type Staff=bla < c4 >. (mudela 0.1.5)
- * Engraver/Performer now derived of Translator.
- * Engraver_group_engraver/ Performer_group_performer derived of
- Translator_group
- * renamed: Voice -> Thread, Voice_group -> Voice
- - renamed Audio_score to Performance
- - junked mididef statics
- - Audio debug output
- - bf: excess [] in scsi
- - bf: swallow \skips
- - bf: don't crash on infinite dims
- - renamed wohltemperirt to wtk1-fugue2
- - bf: address in GPL
- - bf: errors in stdin
- - bf: stop if errors in init files
- - bf: move stem too when doing collisions
- - Molecule::add_XXXX -> Molecule::add_at_edge ()
- - doco updeet: why no midi FAQ, index, CodingStyle hungarian
-
-
-pl 12.jcn3
- - try at better dynamic font, copied from cmbxti10: mf/*
- - typesetting abbreviation beams; abbreviation-*
- - some simple abbrev fixes + code cleanup (dank je, lieverd)
- - typesetting simple abbreviations: c4:16 === [c16 c c c]
-
-pl 11mb
- - Support also for \longa in duration-convert.cc, init/ and tex/
- files. (MB)
-
-********
-sep 3
-
-
-pl 12
- - bf: don't redefine tex primitives like \textfont and \mathfont
- - nicer broken slurs (?)
- - bf: error status upon parse error
- - robustness in Lookup::*slur
- - bf: mi2mu: warn if 0-length string in midi-file
- - output id-footer
-
-********
-sep 1
-
-pl 11
- - forms for Musical vocabulary
- - ignore \r for windows
- - Now paper{score,def} & midi{def,score} derived of class
-Music_output[_def]. Score is almost empty.
- - Engraver hacking:
- * junk Text_engraver
- * Timing_engraver
- * barnumber now really counts the number of bars
- * Separated Stem_engraver and Beam_engraver
- * junk Stem_beam_engraver
- * no need for Stem_reqs
- - use Direction = {LEFT, RIGHT, UP, DOWN} iso. -1, 1 throughout source
- - ties and slurs with Drul_array
- - junked Spanner_elem_group
- - bf: w32 fixes
- - Spanner now spans items.
- - more GNITting ( bla ) -> (bla), indentation
- - Drul_array
- - Paper_column now is derived of Horizontal_group_item. Items
-are no longer hardwired into a Paper_column
- - bf: stdin input
- - PCol -> Paper_column
- - Wtk-i, fugue1, prelude1 (SR)
-
-*******
-aug 21
-pl 10
- - bf: init pending_indent_i_
- - output header to TeX file. Who wants to write TeX to make it work?
-
- - mi2mu: bf's, --key option
- - removed Duration(int,int)
- - bf: Duration_convert::dur2_str
-
-pl 9.jcn2
- - redo of mi2mu frontend (midi-parser)
- - bf: String_convert::bin2_i; added bin2_u
- - bf's: Binary_source_file
- - bf: constr. Tempo/Timing_req
-pl 0.1.8.jcn3
- - table20, standchen-{16,20}*
-*******
-aug 18
-
-pl 9
- - declare rhythic_request
- - preliminary support for real \mudelaheaders
- - context-sensitive arithmetic spacing. Looks alot better
- - silly GNU braces.
- - JCN fixes for pl 8
- - bf: midi instrument
- - Vocabs from GMP-I
-
-pl 8.mb:
- - use log of duration-name
-
-*******
-aug 15
-pl 8
-
- - gif -> xpm
- - bf: Whoops! Open eyes now, when finding shortest note in
-spring-spacer. Fixes spacing problems.
- - GNU coding: parentheses (here you are, Franc,ois :-)
- - all macros now UPPERCASE
- - Identifier blondification: don't use void*
- - Identifier doesn't store its name. Much cleaner now.
- - bf: Rest_collision_engraver now always announces
- - bf: announce Staff_sym only once
-pl 0.1.7.jcn1
- - complete redo mid/back-end of mi2mu
- - bf: do not create/play empty Audio-{text,instrument} events
-
-
-********
-aug 14
-
-pl 7
- - Audio_element as base for Audio_item and Audio_staff. fixes
-midi-lyric segfault
- - added "Gallina a due violini" (MB)
- - make MIDI files on website.
- - Collision now also is an Element_group.
- - bf: announce Collision when created
-
-********
-aug 13
-pl 6
- - bf: 13 shift/reduce in parser fixed
- - bf: plets in parser
- - bf: main.o (again)
- - german notenames (RM)
- - Score_elem::offset_ now relative to its X/Y groups. Slight
-speed increase?
-
-********
-aug 12
-pl 5
-
- - Wordwrap revert
- - added LilyPond in WWW titles
- - oops. A quaver is a 8th note, not a 4th
- - bf: main.o remaking in lily/Makefile
- - unhair Voice_iterator
- - bf: error if no music in score
- - bf: don't create translators if Chord element is empty
- - bf: ctor of Tempo_req
- - use virtual do_equal_b() for request comparison
- - bf: turned off default plets: c4*2/3 c4*2/3 -> c4*2/3 c4*4/9
- - bf: time_int() of an empty chord/voice
- - more corrections to GMP Manifesto
- - debian updates (AF)
- - bf: g++ ICE in Performer_group_performer
- - use fread() for reading in Simple_file_storage
-
-pl 0.1.3.jcn1
- - mi2mu: simplification +bf lily_stream: indentation and wordwrap
- - mi2mu: bf: blunt: non-alpha(num) chars from identifiers
-
-*********
-aug 11
-
-pl 4
- - correction of GNU Music Manifesto
- - moved lowlevel stuff of Source_file to Mapped_file_storage.
-Interface via File_storage. (Now using Simple_file_storage)
- - bf: c4-"A"-"B"
- - bf: exit status
- - declarable keys
- - Engraver_group_engraver::find_simple_engraver()
- - bf: lily/Makefile
- - bf: Midi_note_event ctor
- - bf: tempo request
- - popular twinkle twinkle (JV)
- - mudela: parse tempo requests, \midi{ \tempo 4= 60;}
-
-******
-aug 8
-pl 3
- - don't crash if no Clef_engraver.
- - PScore -> Paper_score
- - bf: Score_elem::extent() init of interval
- - bfs: {Horizontal,Vertical}_group related
- - bf: don't change original Item while doing making
- multiple copies
- - bf: configure DATADIR
- - bf: type of spanbar.
-
-pl 0.1.2.jcn1
- - minor doco fixes
- - revived Midi_walker
- - moved midi out of performer-* to audio-*
- - Audio_staff
- - removed all <ugh> members from performers
-
-*******
-aug 7
-pl 2
- - junked Line_of_staff
- - bf: --output
- - bf: . in lexer
- - bf: mi2mu version number.
- - bf: in mudela-book
- - bf: don't forget to make mi2mu
- - Bar_number_grav: measure numbers (experimental)
- - Bar_column_engraver, Bar_column: scripts on bars
- - rewrite of {Horizontal,Vertical}_group. Yes, again.
-Now neatly integrated into class hierarchy
- - Axis, Axis_group
- - Debian rules (AF)
-
-pl 0.1.1.jcn1
- - Audio{column,score,item,...}, more generic audio
- - bf: Makefiles
- - bf: mi2mu mudela version
-*********
-aug 5
-
-pl 0.1.1
- - {Horizontal, Vertical}_group. A score_element may be in at most one.
- - This means Horizontal_group_item and Vertical_group_spanner need special support.
- - This also means a big speed increase
- - configure cleanup
- - bf: Choleski solve.
- - doc updates: lilygut, INSTALL
-
-pl 0.1.1.hwn
- - recode of Break/Colhpos interfaces
- - Gourlay_breaking: dynamic-programming optimal solution for
- casting off. Word_wrap is still optional
- - some printing short cuts if no -d specced.
- - band_matrices for column calcs
- - more Diagonal_storage fixes
- - retake: INFTY fixes ( now infinity_mom, infinity_f )
-
-pl 78.jcn3
- - configure: ln and zip
- - target doosdist -> lilypond-x.x.x.exe.zip: + executables - sources
-
-
-
+++ /dev/null
-pl 17
- - fixed RPM building.
-
-pl 16.hwn1
- - ridiculous slur dims fixed.
- - ly2dvi32.py -> ly2dvi.py, ly2dvi.sh -> ly2dvi-old
- - use re iso. regex for python stuff.
- - bf: mudela-book.py
- - updated install directions. Made lilypond-login for csh
- - bf: installdirs of MF stuff
- - Dictionary implementation using hash tables (LilyPond is 3% faster)
- - Cache [non]group_l_arr () calls in translator-group.cc (LilyPond is 4% faster)
-
-pl 16.uu1
- - debian URLs, make/stepmake.make patch
- - further debian fixes.
-
-pl 14.tca1
- - partitas
- - prall{mordent,prall} patch.
-
-******
-pl 16
- - read property ydirection and tieYDirection for tie direction.
- - bf: slur over rest.
- - bf: include path
- - part of jcn2
- - configure --enable-guile
-
-pl 15.jcn1
- - autoconf on mf,mfont mp,mpost
-
-pl 15.am
- - Lots of patches from *Adrian* *Mariano*!
-
-**********
-
-pl 15
-pl 14.hwn1
- - \lyrics iso \lyric (mudela 1.0.7)
- - cleaned up real_expression syntax.
- - removed optional_semicolon nonterminal after toplevel assignment
- - MInterval Music::time_int () -> Moment Music::duration ()
- - junked Music_iterator::daddy_iter_l_
- - junked Sequential_music::offset_mom_
- - tempo compression:
- * syntax: \times 2/3 Music
- * Compressed_music, Compressed_music_iterator
- - flower: init rational to 0
- - flower: removed P?Cursor<>::P?Cursor (), using pointer iso ref now.
- - don't install into TeX, but into ${datadir}/{mf,tex,ly} (todo: ps)
-
-
-*********
-pl 14
-
-pl 13.uu1
- - syntax for \translator: (\name "Name")
- - bfs for footer
- - bf: init/{book,center}-fragment.ly, YODL nofooter stuff.
- - bf: redeclaration
- - bf: doc fixes
- - bfs: egcs 1.1
-
-pl 13.mb1
- - bf: Lookup::afm_find, the width was undefined for the feta fonts.
- - bf: refman.yo
-
-pl 13.jcn5
- - bf: init/paper* missing `;'
- - lilyponddefs.ps fixes
- - crude output name fix, see scores.cc
-
-pl 13.jcn4
- - some ps output fixes
- - lilyponddefs.ps: some sane implemenations
- - removed (some) ghostscript internals
-
-pl 13.jcn3
- - PostScript output version 0.0; do
- export GS_LIB=$HOME/usr/src/lilypond/tex
- export GS_FONTPATH=$HOME/usr/src/lilypond/mf/out
- make -C mf pfa
- lilypond -t example-1 # or try: lilypond -t twinkle :-)
- gv lelie.ps
- - ps:
- * lots of output fixes, chars, strings
- * tex/lilyponddefs.ps: added rather braindead defs
-
-pl 13.jcn2
- - tex/lily-ps-defs.ps (./tex?)
- - grand output rehack
- * dropped {dimen,tex}.{cc,hh}
- * {ps,tex} stuf to {Ps,Tex}_lookup
- * init/table*.ly: added #parameters
- - ps fonts:
- * ps-to-pfa.py generates valid type-3 fonts
- * do: make -C mf pfa
- * set: GS_FONT=GS_FONTPATH=$HOME/usr/src/lilypond/mf/out
-
-pl 13.jcn1
- - crude postscript type 3 font:
- make sure to have mfplain.mem metapost precompiled macros
- make -C mf ps
- gv out/feta20.sp
-
-********
-
-pl 12.mb1
- - bf: feta-timesig.mf Added horizontal space, minor corrections.
- - Changed meaning of Staff.timeSignatureStyle:
- C Use C and stroked C for 4/4,2/2
- old Use old style mensuration marks
- 1 Use single number
- Cn/m Set symbol explicitly, n/m=2/2 or 4/4
- oldn/m Set symbol explicitly, n/m=2/2,3/2,3/4,4/4,6/4 or 9/4.
- All other time signatures are typeset with the default two-digit
- layout.
-
-
-pl 12.jcn2
- - Lookup abstract base class
- - Lookup/Symtable(s): separation of input/output
-
-pl 12.jcn1
- - preparations for braindead PostScript output
-
-pl 12.hwn3
- - praeludium-fuga-E to relative mode
- - bf: mudela-mode.el
- - bf: BIBINPUTS
- - more dutch glossary + explanations
- - table-to-html fixes
-pl 12.hwn2
- - bf: mymycode in .yo
- - VERSION to out/
- - add VPATH to mutopia
- - access_Identifier (bool): (non)copy arg now explicit.
- - bf: lilypond-latex.tex
-
-
-
-pl 12.hwn1
- - \remove "Engraver_type";
- - \output "bla" -> output = "bla" (mudela 0.1.6)
- - \property defaultclef -> \property defaultClef
- - naming of access_{Engraver,Performer,Translator_group} ()
- - changed syntax for \translator in \paper{} (mudela 0.1.6)
- - declared contexts:
-
- StaffContext = \translator { .. }
- \translator { \StaffContext }
-
- - elt_b -> elem_b
- - bf: add Separating_line_group_engraver to RhythmicStaff.
-
-
-pl 12.am1
- - large doc patch, ChoireStaff -> ChoirStaff
-
-*******
-pl 12
-
-pl 11.uu2
- - added Transposed_music for mixing transposition and relative
-
-pl 11.jcn1
- - bf: config.make striproff
- - texinfo
-pl 11.mb2
- - feta-timesig.mf: Added some flesh on C and C2,
- added old-style mensuration marks.
-
-pl 11.mb1
- - Added feta-timesig.mf, font for C and alla breve.
-
-
-pl 11.uu1
- - new \property: meterSignatureStyle for C and C2 time sigs
- - bf: BIBINPUTS
- - stepmake 53
- - bf: gif vs. png stuff
-
-*******
-pl 11
-
-pl 10.uu2
- - plet-spanner fix.
- - large doc patch (thanks Adrian)
-
-pl 10.jbr1
- - aclocal.m4, stepmake/aclocal.m4: Choose specific python
- - stepmake/bin/release.py: Use the same python calling process
- - make/lilypond-vars.make: PATH should not use PATHSEP. It is fine
- to hard code it to `:' on both Windows NT and UNIX.
- - stepmake/bin/package-zip32.sh: Perform configure with a specific
- python, ie cygwin32 python on Windows NT
-
-pl 10.uu1
- - junked \octave
- - marginBreakPriority, direction==LEFT
- - mf-to-table NT fix (JBR)
- - createKeyOnClefChange property
-
-
-pl 10.jcn1
- - mf-to-xpms for Harmonia
-
-pl 9.jbr1
- - scripts/convert-mudela.py: We must close infile and outfile before
- a rename occurs. NT Windows locks open files.
- stepmake/bin/package-zip32.sh: renamed all python bins to:
- <filename>.py in NT Windows distribution.
-
-
-*********
-pl 10
-
-pl 9.jcn1
- - started gnuisation of website
- * filetype and size
- * 'no gifs due to patent problems'
- - bumped stepmake version nr (again):
- please update stepmake/VERSION after making changes to stepmake...
-
-pl 9.hwn1
- - do default midi,paper by toplevel \paper / \midi (mudela 1.0.4)
- - bf: error if no Score context
- - notename table now can be declared as well.
- - junked \clear
-
-*********
-pl 9
-
-pl 8.uu1
- - junked \staff, \multi
- - bf Music_list::Music_list (Music_list const&)
- - AC_SUBST(PATHSEP,DIRSEP)
- - generate Documentation/tex/out/*.bib (AM)
- - a4 fixes (AM)
- - bf: metafont-*.make
- - parser.yy: intlist mods. (mudela 1.0.2)
- - \melodic -> \notes (mudela 1.0.3)
- - typo: calcalute_dependencies ()
-
-pl 8.jcn3
- - gif -> png
- * ps-to-pngs.sh
- * stepmake
- * website
- * yodl-1.31.4 (to be released)
- - target 'texinfo' -> 'info'
-
-pl 8.jcn2
- - more doco in texinfo (with yodl pl3)
- - bf's: package-diff
-
-pl 8.jcn1
- - removed tutorial from texinfo, yodl2texinfo is still rather broken
- - bf: setlocale NUMERIC to 'C'
- - removed ugly space from print-dimen
-
-*******
-pl 8
- - make website fixes.
-
-pl 7.jcn1
- - minor stepmake/yodl fixes
-
-pl 7.uu1
-
- - changed separator in vocabulary
- - added barAlways and defaultBarType properties.
-
-pl 7.hwn1
- - changed header format. Use a + for concatenation.
-
- \header { key = "concat" + "string" }
-
- (mudela 1.0.2)
- - allow computed properties in translator definition
-
- GrandStaff = \translator {
- minVerticalAlign = 1.5\staffheight;
- ..
- }
-
- - Music inheritance. Datastructure and parser now follow this grammar
-
- Music_list:
- | Music_list Music
- ;
- Simultaneous_music: '<' Music_list '>'
- ;
- Sequential_music: '{' Music_list '}'
- ;
-
- - bf: Item::do_unlink () don't iterate on attached_span_l_arr_,
-because it is changed by Spanner::set_bounds () (thanks Thomas)
- - bf: URL Documentation/index (thanks EP)
- - bf: twinkle.ly (thanks EP)
- - bf: mi2mu (thanks Murray)
- - bf: mudela-book --dependencies
- - split LaTeX and TeX stuff
-
-pl 7.tca1
- - more Partita's
-
-pl 7.jbr1
- - aclocal.m4,make/lilypond-vars.make: added PATHSEP as AC_SUBST to
- help support Windows NT doco build.
- Documentation/ntweb/index.yo: minor spelling changes
-
-
-*************
-pl 7
- - refman updates by Adriano Moriano.
-
-
-pl 6.jbr2
- - scripts/ly2dvi32.py: Fixed bug with lily input including multiple
- files. Also, we now stream out lilypond log one line at a time
- for better feedback.
-
-pl 6.jbr1
- - scripts/ly2dvi32.py: Added some doco, add postscript option, set
- MFINPUTS along with TEXINPUTS, modified initialization sequence.
- Made some Python style changes per Han-Wen suggestions.
- - Documentation/man/ly2dvi32.yo: Added a manpage for ly2dvi32.
- - stepmake/bin/package-zip32.sh: Added doco distribution. Removed
- the installation directory after zip operation.
- - Documentation/ntweb/index.yo: LILYPOND -> LILYPONDPREFIX and
- comments about MiKTeX-1.11.
-
-pl 6.tca1
- - First movement of Partita II (BWV 826) in
- mutopia/J.S.Bach/Cembalo-Partitas. Lilypond output was so
- beautiful that I'll have to write the rest of the partita.
-
-pl 6.uu2
- - mudela-book.py --dependencies
- - more doc fixes (AM)
- - warn if declaring a keyword.
- - \grouping 4 2*3; now accepted.
- - patches to standchen.ly
-
-pl 6.uu1
-
- - mudela-book handles \input now
- - vocabulary fixes by Adrian Moriano
-
-********
-pl 6
- - largish rehack:
- * Super_element is now an `abstract' class,
- * Paper_score directly contains one Line_of_score. The
- breaking/postprocessing/deletion is mixed with the output phase.
- * Hopefully this will save memory for large scores. (benchmarks, anyone?)
- * bf: Horizontal_vertical_group_item::do_unlink () should call
-
- Axis_group_item::do_unlink ()
-
- - changed LILYPOND to LILYPONDPREFIX
- - added tfm and dvi target for mf/
- - reincluded english.ly
- - doc fixes (thanks, Adrian Moriano)
- - doc fixes.
- - mf: ex height added.
-
-pl 5.mb1
- - Mudela 1.0.1: Changed \accidentals -> \keysignature
- - Identifiers can be used in textual scripts:
-
-
- tempoString="Allegro molto assai";
-
- [...]
-
- c^\tempoString
-
-
-
-pl 5.jbr2
- - aclocal.m4,config.h.in,flower/file-path.cc: Added PATHSEP and
- DIRSEP to configuration to support windows style path and pathlists.
- - stepmake/bin/package-zip32.sh,stepmake/stepmake/package.make:
- zip target now calls package-zip32.sh which creates winnt
- binary distribution zip file. xzip target continues to use
- package-zip.sh for Jan's cross-compiled version.
- - lily/main.cc: Added a search for LILYPOND environment variable to
- better facilitate binary distributions.
- - Documentation/README-W32.yo: Updated information on running lilypond
- on winnt.
-
-
-
-pl 5.jcn1
- - (step)make fixes from yodl
- - minor doco fixes
- - bf: patch in website after 'make release'
-
-pl 5.jbr1
- - Documentation/ntweb/Makefile: Used absolute url for LilyPond Homepage
- - Documentation/ntweb/index.yo: Minor mods per Jan's suggestions
-
-
-
-
-*************
-pl 5
-
-pl 4.jcn1
- - texinfo docs, lots of yodl TODO
- - junked some makefiles
- - ntweb: use BLURB
- - bf: pletvisibility
- - adaptions for yodl-1.31.2's automatic texinfo conversion
- - reinclude of 1.jcn2:
- - renamed -alto -> viola
- - bf: avant-gardish six preludes
- - bf: ly2dvi warnings
-
-pl 4.jbr1
- - stepmake/stepmake/install-outfiles.sub.make: fixed typo
- - scripts/GNUmakefile: add ly2dvi32 to installation list and fixed
- included executable-targets.make to facilate installation of scripts
- - Documentation/ntweb: Fixes to nt web page and added topdoc like
- automation.
-
-*********
-pl 4
-pl 3.mb2
- - Changed text script alignment: center -> left
- - TeX commands counts as one character when calculating
- the length of a Text_def
-
-pl 3.jbr2
- - Documentation/topdocs/index.yo: Added link to NT dist page
- - Documentation/ntweb/: Added Makefile and index.yo to build the
- NT dist page
-
-pl 3.hwn1
- - stepmake hacking
-
-pl 3.uu1
- - stepmake MAKEFILES -> STEPMAKE_TEMPLATES
- - count \texcommands in tex string
-
-
-pl 3.jcn1
- - bf: website: empty toplevel readme's
- - bf: xs4all (again?)
- - can't administer ftp site now: put patch into website
-
-
-pl 3.jbr1
- - stepmake/stepmake/Executable_targets: UNIX cross-compile doesn't
- work with $(DOTEXE) on source of install command.
- - stepmake/Generic_targets: creating multiple dirs with mkdir
- requires -p option
- - scripts/ly2dvi32.py: General and Winnt specific fixes
-
-
-*********
-pl 3
-
-pl 2.uu1
- - solaris 2.6 compile/make website fixes.
- - rm'd WWW.make
- - stepmake .43
- - pcnov095.win.tue.nl -> ftp.cs.uu.nl
-
-pl 2.hwn1
- - mi2mu naming of track output
- - bf: do key restore sign only once
- - ly2dvi32 preliminary version (JBR)
- - bf index.html link
- - bf mudela-book.py
-
-
-**********
-pl 2
- - scalar compile stuff
- - bf install directory
- - YODL note
- - GUI faq update
- - bf ly2dvi
- - stepmake split: Po.make
- - make check target
- - dist AFMs and manpages
- - split up mudela.yo in glossary.yo, tutorial.yo and refman.yo
-
-pl 1.jcn1
- - www.digicash.com www.xs4all.nl
- - fake msgfmt
- - make uninstall fixes
-
-pl 1.jbr2 - aclocal.m4,stepmake/aclocal.m4,stepmake/stepmake/Variables.make:
- Support install target for unix, unix cross compile, and
- Windows NT
-
-pl 1.jbr1 - stepmake/stepmake/Executable.make: DOTEXE was missplaced
- - scripts/convert-mudela.py: program_id should write to stderr
-
-**************
-pl 1
- - mi2mu fix: \key "D"
- - \hoffset
- - started new NEWS file
- - lots of stepmake hacking
- - aclocal.m4 copied from stepmake
- - ly2dvi 0.12
- - build the doco from the source tree.
- - include website in RPM
-
+++ /dev/null
-1.2.0
- - website fixes.
- - initialize Script::dir_
-
-pl 69.jcn1
- - doco typos
- - tex-rules typo
- - added missing feta-braces*.mf
-pl 68.lu1
- - texinfo fixes
-****************
-
-pl 68.jcn2,3
-
-pl 68.hwn1
- - more tutorial stuff.
- - note^\dynamic scriptdir.
- - dynamics listen to verticalDirection as well.
- - \property automaticMelismas -> \property automaticMelismata
- - dynamic padding for crescendi.
-
-pl 68.jcn1
- - small tutorial fixes
-
-*********
-
-pl 67.hwn1
- - tutorial updates
- - \property beamAuto -> noAutoBeaming
-
-pl 67.uu1
- - abc2ly updates
-
-pl 67.jcn1
- - bfs: refman/parser subtract
- - chord::find_additions_and_subtractions: termination assurance
- - bf: refman: chord-inversion examples
-
-
-********
-
-pl 66.hwn1
- - bf: chord mode unsigned '-' -> unsigned CHORD_MINUS (1 SR conflict).
- - refman reedit.
- - dotdown only when verticalDirection is set.
- - bfs: abc2ly convertor (more or less) successfully converts
-movement 2 of Beethoven 7.
- - \repeat "semi" -> \repeat "volta"
- - all spacing params into paper vars.
- - spacing before grace notes.
- - warn if font not found.
- - staccato dot / tenuto centering
- - spacing for clefs.
- - bf: Stem_staff_side::do_substitute_element_pointer ();
- - new screenshot
-
-********
-pl 65.hwn1
- - refman updates
- - added \simultaneous { } , \sequential { } syntax, for
-consistency.
-
-pl 65.jcn2
- - bf: if tie then melisma
-
-pl 65.uu1
- - bf: squashed 2 sr conflicts in parser.
-
-pl 64.jcn2
- - stanchen almost without " " hacks
- - if tie then melisma..?
- - refman updates
- - Abbreviation.beam -> Chord_tremolo
- - bf: chord tremolo vs beam over rests
- - bf: note width for noteless stem
-
-
-
-********
-pl 64.jcn1
- - resurrected abbreviation beam
- - coriolan fixes
-
-pl 64.hwn1
- - reference-manual updates.
- - slurdash -> slurDash, keyoctaviation -> keyOctaviation
-
-pl 64.uu1
- - \property forceHorizontalShift
- - bf: denneboom.ly
- - warn if translator switching to self.
- - warn if brace at end of lyric syllable.
- - bf: Repeated_music::alternatives_length_mom ()
- - \property automaticMelismas: if slur then melisma
- - \property noVoltaBraces
- - bf: star-spangled-banner
-
-pl 63.lu2
- - very tight: hinterfleisch -> 0 : input/bugs/spacing-very-tight.ly
- - bfs: neutral beam and tie directions (daar was ik al bang voor:-)
- - bf: abe: may beam over skip, as long as note present too
- - bf: scsii-prelude: added slurs using skips
-
-*********
-pl 63.uu1
- - mutopia updates courtesy Peter Chubb
- - Don't make Time_scaled_music for c4*2/3 entry, only do the
-time compression. Should cure spurious Tuplet_brace/spanner warnings.
-
-pl 63.hwn1
- - bf: Spacing for key/timesig at end of staff.
- - negative font magnification
- - slurs on grace notes.
- - paper var stem_default_neutral_direction
- - bf: dot-columns.
-
-pl 63.jcn2
- - bf: midi2ly/duration-iter/convert: handle durations >= 1
- - set reasonable default for text/dynamic paddings
-
-pl 63.jcn1
- - junked some of (my) old metapost stuff
-
-pl 63.lu1
- - some faq entries
- - chord input and proceccing fixes
- - bf: nederlands.ly
-
-**********
-pl 62.jcn4
- - fixes coriolan
-
-pl 62.hwn1
- - ps-to-pfa.py: use std modules re, find
- - minor input fixes
- - use mfplain.mp
- - Metapost does unfill with setgray. This confuses
-GS. Do text substitution with eofill.
-
-pl 62.jcn3
- - bfs: preludes
- - found more wierd spacing
-
-pl 62.jcn2
- - bf: don't start auto-beam on stem that contains only a rest
- - bf: rm .ms yodl output
- - bumped stepmake version
-
-pl 62.uu1
- - don't space rhythmic requests coming from Lyrics.
-
-pl 62.jcn1
- - bf: auto-beamer: consider starting beam based on new rhythmic head
- - bfs: preludes-4, cello-suites
- - \addlyricsified standchen and twinkle (ugh: \repeat and \addlyrics)
- - bf: interstaff slur slope damping
- - bf: in-band signaling slur snap
-
-pl 61.jbr1
- - Documentation/ntweb/GNUmakefile: Made EXTRA_DIST_FILE style fix and
- added dist-plain target as dependency to the default target.
- - scripts/ly2dvi.py: getpid does not behave very well across platforms
- so I am creating temp file names with the Python tempfile module.
- The generate lilypond dependency file option was broken and
- is now operational. I also changed the dependency switch
- from -d or -M to match lilypond.
- - stepmake/bin/package-zip32.sh: Added build of ntweb html
- documentation
-
-***********
-pl 61.hwn2
- - revise / junk various input files.
- - junk Music_list_iterator
- - bf: declared paper + \shape
- - bf: \shape and wordwrap
- - Busy_playing_req ()
- - Music_iterator::try_music_in_children (),
-so explicit \context Staff is often not needed for
- * tuplets
- * repeats
- - automatic rest detection for \rhythm
- - regtest tight-spacing.ly
- - regtest lyric-combine.ly
- - Melisma_playing_req, Melisma_engraver, Busy_playing_req:
-stuff for syncing music & lyrics.
- - simplify Extender_engraver, Hyphen_engraver. Assume lyrics come in from only one voice.
- - docced ambiguities in grammar.
- - mudela-book -I behavior, verbosity.
- - state search path when file not found
-
-pl 61.hwn1
- - bf: \scm with --safe
- - (ly-gulp-file)
- - no need to set GS_LIBDIR, .ps files are inlined and directly
-printable.
- - bf: spacing engine
- - fixed paper11/13/16/20/23/26.ly
- - use (header-end) iso {ps,tex}setting
- - bf: convert-mudela --output
- - move \version check to lexer.ll
- - moved repeated-music-iterator.cc to folded-repeat-iterator.cc
- - bf: broken crescendi
- - removed delayed Spanner breaking.
- - new implementation of \rhythm:
- * Lyric_combine_music
- * Lyric_combine_music_iterator
- * \property melismaBusy sets melisma state.
- * (commented out in parser.yy -- solution is not good enough yet.)
- - bf: record def spot of seq/sim music
- - junk Music_iterator::next_music_l (), Music::to_rhythm () & friends.
- - junk Re_rhythmed_music & friends
- - mudela 1.1.62: \shape = -1 -2 -3; -> \shape -1, -2, -3; etc.
- solves one ambiguity.
- - grace notes at end of music don't crash Lily.
-
-*******
-pl 60.jcn2
- - moved creation of $BUILDDIR/share/locale into set-lily.sh
- - slur slope change constraints when snapping
- - slur height damping based on bow height
- - don't typeset unfinished (auto) beams
-
-pl 60.jbr1
- - Documentation/ntweb/angels.ly, Documentation/ntweb/guile.patch: added
- - Documentation/ntweb/GNUmakefile: add above to EXTRA_DIST_FILES
-
-pl 59.mb2
- - Tempo changes in MIDI output!
- - gallina.ly:auto-beaming
- - added property articulationScriptVerticalDirection
- (useful in N.W.Gade/score.ly)
- - bf, N.W.Gade: removed some more misprints
-
-pl 60.uu1
- - bf: hara-kiri.ly
-
-pl 60.jcn1
- - interstaff slur tuning
- - added some regtests
- - removed now silly check in encompass-info
-
-**********
-
-pl 59.uu1
- - papervar loose_column_distance
- - scripts don't collide.
- - bf: midi2ly outputs \context iso \type
-
-pl 59.jbr1
- - lily/colhpos.cc: fixed typo
- - Documentation/ntweb: Updated News and added all the files
- associated with Windows Distribution web page.
- - stepmake/bin/package-zip32.sh: added the ntweb page to formated
- distribution.
-
-pl 59.jcn1
- - bfs: slur damping
- - papervar slur_interstaff_snap_to_stem
-
-pl 59.hwn1
- - \property graceAlignPosition : put grace notes after main note.
- - moved pianobrace stuff into Lookup
- - moved Local_key_engraver out of Voice context, and
-acknowledge Grace_align_items. Solves tie + accidental problem.
-
-pl 59.mb1
- - Some small clean-ups and bug fixes
-
-***********
-
-pl 58.uu1
- - experimental pdftex support, courtesy Stephen Peters.
- - --version support
- - junked complicated loose column handling.
- - only stretch the extra space after prefatory matter, not the
-entire width of prefatory matter.
- - standardise(d) switches:-d for debug, -M for Make deps, -m for midi-only.
- - bf: papervar non_musical_space_strength now works. Set to 8 (-> Strong! )
- - bf: space after time_sig.
- - bf: decrescendi.
- - bf: barlines on voltas
-
-************
-pl 57.hwn1
- - bf: accidentals on grace notes.
- - \property graceAccidentalSpace
- - bf: ignore grace notes duration for non-grace spacing.
- - uncommented Key_req::transpose.
- - Dot_column::do_post_processing (): better dot collisions, see dots.fly.
- - derive Dot_column from Note_side_item.
- - renaming of files
- * heads-engraver
- * request-iterator
- * p-score
- * engraver-group
-
-pl 57.jcn3
- - bf: no extension: assume .ly
- - bf: bow::do_width; which in turn allowed
- - removed broken interstaff slur damping hack, and
- - bf: slur height damping fixes damping
-
-pl 57.jcn2
- - bf: ? priority and snap to stem
-
-pl 56.jcn4
- - interstaff slur fixes and damping
-
-pl 56.mk1
- - bf: collision.cc: collisions between chords with different
- stem directions and close heads.
-
-****************s**************
-
-pl 56.jcn3
- - slur de-hairification
- * slurs always attached to noteheads, by default
- * corrections for steep and high slurs
- * snap to stem end when close
- - bow/tie/slur dy/dx fix
-
-pl 56.hwn1
- - some spacing tweaks.
- - bf: two repeats + alts after each other.
-pl 56.jcn2
- - tie: bfs + even simpler
-
-pl 56.jcn1
- - bf: re-added \textflat,sharp to fix chords...
- - bf: chord-modifier and mandatory dot: c-maj5
- - tutorial chord fixes
- - tie fixes and boldifying:
- * removed sloping (dy!=0) code
- * use actual note-widths
- * y[left] == y[right]
- * follow OSU rules, I hope (from comments in text -- must check)
- * undetermined direction -> down; inverse of stem
- - bf: beam: undetermined direction -> up; like stem
- - slur-symmetry fixes
- - fix for \rhythm and seq_iter childs (still crude, but more effective)
-*********
-
-pl 55.uu1
- - use GS' anti aliasing
-
-pl 55.jcn1
- - auto-beamer: consider current duration first in ending/starting beam
- this way, you can have 16ths auto-beamed, in some way, but 8ths never
- beamAutoEnd_16 = 1;
- beamAutoEnd_8 = 1/8;
- - added some classes and few lines of doco to .dstreamrc
- - refman:
- * comment out broken
- * commented out stale tex macros (tex/* dir too)
- * bfs/new syntax: chords
- - more midi2ly renaming stuff
- - bf: make info (midi2ly and other renaming)
-
-pl 54.jcn2
- - bf: auto-beamer: don't beam over skips
- - update BUGS
-
-
-pl 55.mb2
- - Font update: added more mensural style time signatures,
- old2/4, old6/8alt, old4/8 thanks to Christian Mondrup.
- - bf: correct indentation of first line (removed \leavevmode)
- plain TeX still gives wrong indentation
- - bf: volta brackets broken over several lines get open end.
- Final bracket gets vertical end if it stops at double bar.
- - Dashed grace flags also for durations shorter than 8.
- - N.W.Gade: fixed some details
-
-pl 55.mb1
- - bf: font magnification also in PS output
- - bf: set the GS_* variables correctly in buildscripts/lilypond-*.sh
- - bf, lily.scm: errors in (de)crescendo
- - bf, lilyponddefs: removed \noindent
-
-
-pl 55.hwn1
- - fixes: horn-concerto-3.ly
- - bf: grace before tuplet.
- - bf: decrescendo
- - bf: multimeasrest numbers centered.
-
-****************
-
-pl 53.jbr2
- - Documentation/ntweb/index.html: Updated nt distribution web page
-
-pl 54.uu1
- - bf: Stem lens for beams.
- - move meta doco to Documentation/metadoc
- - move .bibb to Documentation/bibliography
- - rename mi2mu to midi2ly
- - removed other-packages.bib to comply with GNU standards
-
-pl 54.jcn1
- - mutopia/J.S.Bach/Duette 1&2
-
-pl 54.mb1
- - Renamed \wheel to the \coda
- - bf: correct gap in tuplet braces
-
-pl 53.hwn2
- - move more parameters from PS/TeX to Lily.
- - PS cleanup
- - TeX cleanup.
- - bf: also make (empty) bar at end of voltabracket.
- - bf: don't put slur over rest.
-
-
-pl 54.uu1
- - debian updates (anthony fok).
-
-*************
-pl 54 (july, 8)
-pl 53.jbr1
- - scripts/ly2dvi.py: A fix for the multitude of file systems supported
- by windows. As long as the paths that the cygwin apps use are
- UNC style and the paths that the native windows apps use are DOS
- style everybody is happy. I add quick and dirty unc2dos function
- to facilitate this approach.
-
-pl 53.hwn1
- - bf mudela-book.
- - better min distance for multi measure rests.
- - junk ATOM_SMOB
- - control tuplet gap size from paper.
- - bf: output header as PS strings for PS out.
- - bf: cached-fontname
- - control volta height from paper block.
-
-pl 53.jcn5
- - \rhythm-ified and text bfs: standchen.ly
- - walk rhythm through *_iterator::next_music_l ()
-
-pl 53.jcn4
- - more abc2ly hacking, including lyrics and \rhythm
- - bfs: \rhythm
- - \rhythm-ified input/twinkle.ly
-
-pl 53.jcn3
- - put rhythm A on pitches/lyrics B: \rhythm MUSICA MUSICB
- input/test/rhythm-melody.fly
- input/test/rhythm-lyrics.fly
- - syntax changes:
-o * dot-only duration dropped: use c4 c4. iso now invalid: c4 c.
- * chords: optional_dot now mandatory:
- \chords { c-1.2.3 } iso now invalid: \chords { c-1 2 3 }
- * @c@ (notemode_chords) syntax dropped. rather use:
- \notes { c d \chords { e f } }
-
-pl 53.jcn2
- - \property graceFraction: part of next note taken-up by grace(s).
- - Note_performer: add moments for delayed notes,
- fine for single grace notes: hear gnossienne-4.ly
-
-pl 53.jcn1
- - grace performance
- - fixed tie-performance
- - bf: abe
-
-pl 53.gp1
- - added Hyphen-engraver, Hyphen-spanner
-************
-pl 52.jcn3
- - bf: mi2mu: midi without key
- - try at grace-performer-group; breaks MIDI output even when no \grace
- - silly tie-performer
- - performers play_element () delayed to do_pre_move_processing ()
-
-pl 52.jcn2
- - bfs standchen + grace, gnossienne-4
- - decoupled midi output from input
-
-pl 52.jcn1
- - bf: moved accidental code from Key_engraver to Key_change_req
- - bf: midi-key
- - bfs: mi2mu: core-dumps, keys, key-names, key-changes, notenames
-
-pl 52.hwn2
- - new-beaming.cc: new beaming code
- * now does [c8. c32 c32] correct by itself.
- * beam over barlines
- * non-fitting stems handled gracefully (eg. [c8 c4 c8] )
- - junked rhythmic grouping, \grouping and all associated bits.
- - bf: do try_visibility_lambda for nonbreakable items as well
- (fixes \nobreak on barline)
- - bf: Cons_list::truncate()
-
-pl 52.hwn1
- - repeat-engraver cleanup
-pl 52.gp1
- - bf: make doc++ corrected to only include *.h and *.hh files.
-pl 52.mb2
- - Added \repetitions: prints symbol for repeated bars.
- Same syntax as multi-measure rests!
- - Added \segno and \wheel script symbols
-pl 52.mb3
- - Added barSize property. Junked barsize variable.
-
-************
-pl 51.uu2
- - grace note flags, move Lookup::flag into Stem
- - faq updates: doc++, Matt's page
- - fixes for doc++.
- - bartype string uses "brace" and "bracket" iso. "{" and "["
- - some of assert()s replaced by programming_error ()
-
-pl 51.mb1
- - N.W.Gade: added real grace notes
- - feta-banier.mf: added grace note flag
-
-pl 51.uu1
- - use weAreGraceContext \property to determine self_grace_b_
- - made more engravers grace aware.
-
-pl 50.jcn2
- - filed egcs bug report for powerpc.
- - removed unnecessary #ifdef powerpc
- - grace and other fixes for auto-beamer
- - grace and other fixes for (beam-)stem-lengths
- - input/test/bugs/hairy-grace.ly (urg)
- - input/test/bugs/grace-accidents.ly (urg)
- - input/test/bugs/grace-grace.ly (core)
- - fixes: gnossienne-4.ly
-
-pl 50.hwn2
- - Timing_translator: add proccing moments to nearest global translator,
-not to top global translator.
- - cadenza.ly: grace notes.
- - bf: auto staff switching
-
-************
-pl 51
-pl 50.hwn1
- - grace notes:
- * Grace_iterator
- * Grace_music
- * Grace_engraver_group
- * move Score::run_translator to Global_translator::run_iterator_on_me
- * stemLength property, Stem::length elt property
- * Grace_align_item
- * Note_head_side baseclasses Local_key_item, Grace_align_item
- * Local_key_engraver moved to Voice.
- * Grace_position_engraver
- * Added Rhythmic_head::stem_l_
- * Various other robustifications.
- - lily.scm: scm->string
- - folded reps without alts.
- - Paper_outputter uses scm->string
- - stem params now in staff positions iso. real dimensions
- - internal: Junk all G_ and g- prefixes
-
-************
-pl 49.mb1
- - bf: ly2dvi -N
- - Added dynamicPadding property (applies only to dynamic marks,
- not (de)crescendi.
-
-pl 49.jcn4
- - resurrected gnossienne-4
- - Documentation fixes (for texinfo get yodl-1.31.13, tbr)
- - minor abc2ly fixes; successfully converted some simple abc files from
- http://faeryland.tamu-commerce.edu/joyce/
- - www.mail-archive.COM
-
-pl 49.jcn1
- - guile scm_gc_mark () workaround:
- - via scm output wrapper buildscripts/lilypond.sh, set:
- PATH=$LILYPONDPREFIX/buildscripts/out:$PATH
- - scm output fixes
-
-pl 48.hwn2
- - bf: rest-collisions.
- - cleaned up standchen
- - bf: slur dims.
- - bf: unfold without enough alternatives.
- - Use Lily version for \version.
-
-
-pl 49.uu1
- - ran purify. Fixed some small problems, plugged some leaks.
- - bf: linebreak at |:
- - doc updates by Adrian Mariano
-
-pl 49.mk1
- - Breathing signs by Michael Krause
-
-************
-
-pl 48.hwn1
- - \property hshift -> \property horizontalNoteShift (mudela 1.0.21)
- - cleaned up collision. \property hshift = 2 now supported.
- - Spacing:
- * bf: don't divide strength by distance if distance == 0.0
- * cleaned up Spacing_spanner
- * simplistic optical illusion spacing for opposite stems.
- - don't use Protected_scm for Score_element::element_property_alist_
- - some scsii fixes.
- - Lookup cleanups; junked Lookup::paper_l_
- - abc-2-ly: tuplets, guitar chords., chords,
-
-pl 48.mb2
- - bf: correct accidentals after tied over note.
-
-pl 48.mb1
- - bf, lookup.cc: Count '{' also directly after a TeX macro
- - bf: textstyle->textStyle in all examples.
-
-pl 48.jcn1
- - bd: interstaff slurs at line break
-
-pl 48.uu1
- - add a WX field to AFM output.
- - add space before ; in AFM output
-
-*********
-pl 47.jcn1
- - bf: interstaff slurs (urg: more segfaults in scm_gc_mark ())
-
-pl 45.hwn3
- - Abbreviation -> Stem_tremolo.
- - bf: Stem_tremolo in Beam.
- - bf: Stem_tremolo over whole note.
- - spacing before clefs.
- - Spacing_spanner is now on by default
- - junked most of Spring_spacer
- - Tunable space after barline.
-
-*********
-pl 46.mb2
- - Reintroduced the tupletVisibility property. Same values as
- the old version (pletvisibility), see the Reference Manual.
- Note: does not work correctly with automatic beams.
- - Added a tupletDirection property.
-
-pl 46.uu1
- - bf: {} in texts.
-
-pl 45.hwn2
- - more doc updates.
-
-
-pl 46.mb1
- - Added property articulationScriptPadding
- - N.W.Gade: layout fixes
-
-*********
-
-pl 45.hwn1
- - Audio broadcast & acknowledge.
- - more advanced spacing for prefatory matter
- - tuplet appearance tweaking
- - bf: ChoirStaff
-
-pl 45.uu1
- - glossary fixes (thanks Dirk).
-
-pl 44.jcn2
- - bf: auto-beamer: long standing br form AM
-
-
-*********
-
-pl 45 (may 28)
- - reinstalled Thread (there you are, John)
- - german vocab.
-
-
-pl 43.hwn2
- - split G_staff_side_item into G_staff_side_element and G_staff_side_item.
- - junked old Staff_side
- - Crescendo also uses G_staff_side_element
- - crescendo_shorten paper var.
- - create horizontal groups for break_aligment inside Break_align_item.
- - more abc-2-ly fudging
-
-pl 44.mb1
- - bf, property.ly: change fontsize->fontSize
- - N.W.Gade: removed old tie behaviour
- - bf, ly2dvi: expand .sly extensions
-
-*********
-pl 44
-pl 43.jcn2
- - bf: repeat :| placement + core dump
- input/test/repeat.ly
- input/test/coda-kludge.ly
- - bf: mf without ljfour
- * feta-accordion fix/hack for feta11 at 300dpi
-
-pl 43.hwn1
- - half assed attempt at ABC convertor.
- - Spacing_spanner: "decentral" spacing stuff. Use -t to try.
- - bf: StaffGroup vertical alignment
- - \property {slur,tie,}ydirection -> {slurV,tieV,v}erticalDirection (1.0.20)
- - Spanner now hangs on left endpoint.
- - \property forgetAccidentals: do not remember accidentals.
- Every note not in the key triggers typesetting of an accidental.
- - \property noResetKey: do not reset key at start of measure:
- accidental remain in effect until overriden
- - bf: ties & accidentals (fix breaks oldTieBehavior)
- - junked Tie::same_pitch_b_
-
-pl 43.jcn1
- - configure, set-lily.sh, release stuff
-
-pl 42.tca2
- - lilypond don't put \interstaffline after last line. This to
- get really nice vertical spacing for mudela-book.
- - mudela-book: vertical spacing
- - lilyponddefs.tex: commented out \parindent=0pt to get correct
- paragraph indent for mudela-book
-
-************
-pl 43
-
-pl 41.hwn3
- - reinstated \property inheritance
- - \property SkipBars -> skipBars
- - \property midi_instrument -> midiInstrument
- - \property fontsize -> fontSize (mudela 1.0.18).
- - bf: add a space after lyrics.
- - junked flower DLL classes
- - rewrote repeat music and iterators (mudela 1.0.17)
- * Folded_repeat_iterator
- * Unfolded_repeat_iterator
- * New_repeated_music
- * syntax change: \repeat FOLDSTRING NUMBER Music [ALTERNATIVE Music_se
-quence]
- - data struct simplification: junked Dynamic_req,
-Absolute_dynamic_req, Span_dynamic_req, Slur_req, Beam_req. Use
-Span_reqs and Text_script_reqs with type fields instead.
-
-pl 42.tca1
- - updated mudela-book documentation
- - misc mudela-book.py
- - accordion: smaller dots + little script renaming
-
-
-pl 42.jcn1
- - bf: hp-u(rg)x: user build; sm 73
- - bf: hp-u(rg)x: sm74
-
-pl 41.mb1
- - convert-mudela: convert textstyle -> textStyle
- - refman.yo: properties moved to correct contexts.
- - mudela-book.py: Added singleline, multiline options.
- Fixed default line width bug.
-
-***************
-pl 41.hwn2 (may 10, 1999)
- - bf: Score bar line thickness.
- - more paper writing
- - website tweaks.
- - Graphical_element::dim_cache_ now alloced separately.
- - junked Graphical_element::absgolute_offset
- - Musique-de-Table
- - mmrest_x_minimum now works at begin-of-line.
- - junked Span_bar::extra_x_off
- - \property foo.bar = \stringid + \otherstringid
- - bf: stop on lexer errors as well.
- - only do vertical alignment at Score level.
- - tweaked ledger endings a bit.
-
-
-pl 41.hwn1
- - small fixes.
- - mudela-book.py patch (thanks MB)
-
-pl 41.mb1
- - Added the installation instructions to the top web page.
- - N.W.Gade: Added triangolo part, minor changes.
-
-pl 41.tca1
- - Lookup::accordion and removed some accordionfonts
-
-***************
-
-pl 40.uu2
- - rest ledger lines are dimensionless.
- - Score_elements are added to the Paper_score directly when
-announce_element () is called. This makes it possible to init
-molecules from within engravers.
- - changed \type to \context
- - \context Contextname = ID Music is now a real separate production
- * you can do
- \context C1 \context C2
-
- and C1 won't overwrite C2
-
- * you need some extra explicit context specs, eg. if you start a
-voice with a chord.
-
- \score { \notes { <c e g> } }
-
- should be
-
- \score { \notes \context Voice { <c e g > }
-
- - set staff margins on grandstaffs too. Center staffmargins vertically.
- - \property values are not inherited anymore, i.e. setting
-Score.minVerticalAlign does not set GrandStaff.minVerticalAlign, Staff.minVerticalAlign and Voice.minVerticalAlign as well.
- - {Axis_spanner, Hara_kiri}_engraver which can be added at wish.
-Hara_kiri should be working again.
- - boilerplate for accordion stuff.
- - some more paper writing.
- - bf: substitute vertical refpoint as well for broken items.
-(fixes clef^8)
- - bf: translating molecule without elts but with dims. (bf: accidental
-spacing.)
-
-pl 40.mb1
- - bf: ly2dvi set MFINPUTS so standard tree is found before lilypond
- - bf: lilypond-regtest.doc, ls-latex.py; now finds author/title
-
-pl 40.uu1
- - large documentation patch by Adrian Mariano
-
-********
-pl 40
-pl 39.mb2
- - added more mensural style time signatures, old3/4, old6/8, old9/8
- - redesigned old6/4, old9/4
- - Updated refman.yo, lilypond-regtest.doc, clefs.ly, time.fly
-
-pl 39.hwn1
- - consified mi2mu (pl 37.jcn1)
-
-pl 39.mb1
- - bf: invisible clefs don't take any space, moved _8 below clef
- - updated incipit example and macro
-
-pl 39.uu1
- - delete graphical objects in reverse
- - faq updates.
-
-********
-pl 39 (april 12)
- - \property textstyle -> textStyle
-
-pl 38.tca1
- - added scm/accordion-script.scm and update ly/accordion-defs.ly
- - renamed some accordion symbols to make them more english and less
- norwenglish.
- - removed dot from \accBayanbase
-
-pl 37.script4
- - bf: molecule
- - bf: tuplet spanner appearance.
- - bf: less spacing after clef. Invisible bar has no dims.
- - included AIMS. The why of Lily.
- - warning if duplicate engraver.
- - warning if no ties could be created.
- - bf: \time1/4; .. beams ..
- - bf: staff switching beams / slurs.
- - tuplets on multiple beams.
- - Documentation/tex/lilypond-regtest.doc
- - bf: nested tuplets
- - slur cleanups.
- - bf: multi_measure_rest_engraver in Score_context.
-
-pl 38.uu1
- - bf: clef_8
- - bf: barnumbers.
-
-pl 37.script3
- - fixes for spring_spacer, introduced
-Spacing_engraver
- - cleanup for rest-collisions.
- - hacks for GUILE gc
- - mudela-book \mudelafile
- - Documentation/tex/lilypond-regtest.doc
- - MF rest fixes
-
-
-********
-pl 38 (april 6)
-pl 37.script2
- - bf: AFM for BlueSky AFM files.
- - \penalty = 4278 -> \penalty 4278
- - URG!! fixed major (unnoticed) bug in dependency engine
- - Further Script hacking:
- * G_script_column
- * G_script_column_engraver
-
-pl 37.script1
- - major Script rehack:
- * G_stem_staff_side_item
- * G_script
- * G_script_engraver
- * G_script_req
- - junked Text_def, changed \property textstyle -> \property textStyle
-(todo -> convert-mudela)
- - Line_of_score is an Axis_group_element, no more overlapping
-lines, hopefully.
- - mf: whole diamond head tweak
-
-pl 37.mb2
- - Added property clefStyle: "" / "transparent" / "fullSizeChanges"
- - New example: input/test/incipit.ly
- - Documented clefStyle and restStyle in refman.tex
- - Partial bug fix: octaviated clefs. Still broken!!!
-
-
-pl 37.mb1
- - Added property restStyle.
- - mensural 4th, 8th and 16th rests.
-pl 37.uu1
- - FreeBSD bf
-
-****
-pl 37 (march 30, 1999)
- - note head styles, see input/test/noteheadstyle.fly
- * \property noteHeadStyle:
- * diamond note heads (probably really ugly)
- * cross note head.
- * harmonic head (mf sources were tweaked)
- * transparent for no \heads
- * \property noteHeadStyle ="" for normal heads.
-
-pl 36.mb2
- - bf: timeSignatureStyle
- - Added dynamic fz (forzando) to Lilypond
- - bf: N.W.Gade, sfz -> fz
-
-pl 36.hwn1
- - debian fixes.
- - don't insert extra alignment space for empty stuff.
- - Align_element derives from Axis_group_element
- - junk cruft for detecting upbeam / downbeam.
- - junk all *{horizontal,vertical}* Score_element derived classes.
- - G_staff_side_item::padding_f_ now generic property.
- - some tweaking of beam & stem.
- - junk pointerlist in Sources
- - junk Stem::mult_i_, Stem::beam_gap_i_, G_staff_side_item::padding,
- Bar::at_line_start_b_, Key_item::c_position_, Note_head::type_str_,
- Note_head::staff_size, Stem::xdir_
-
-pl 36.mb1
- - bf: N.W.Gade
-
-**************
-
-pl 35.uu1
- - more memory tweaks: don't do Score_element::line_l () when deleting lines.
- - more generic properties.
- - change ridic. dims assert into warning.
- - tex/ midi fixes (thanks, Mats).
- - bf: don't crash when no Stem_infos are set.
- - extender-spanner simplification
- - working MIDI chords (Thanks Dscho)
-
-pl 35.jcn1
- - some ps fixes
-
-************
-pl 35
-
-pl 34.hwn2
- - "Lily Was Here" is def'd as \mudelatagline, override with
- \header { tagline = "... " ; }
- - \property currentBarNumber: set
- current bar number.
- - \property postBreakPadding: tune extra
- space padding after linebreaks.
- - \property textEmptyDimension: disregard script text
- dimensions (untested)
- - \property staffLineLeading: set the staff space
- - adjustable staff space size (per staff)
- - Staff_symbol_referencer as base class for elements that use
- info of the staff symbol. \property numberOfStaffLines also works OK
- with ledger lines. (Is that useful? dunno.)
- - warning if someone does \translator with no name
- - junk Item::breakable_b_
- - junk PointerList<Music*>, use Killing_cons
- - bf: Auto_beam_engraver.
- - bf: mmrest engraver.
- - use callbacks for Dimension_cache.
- - lots of small cleanups. Junk various members of
- Score_element & derived classes:
- * Item::original_l_,
- * Spanner::original_l_,
- * Score_element::transparent_b_,
- * Item::break_priority_i_,
- * Item::break_status_dir_,
- - merge Score_priority_engraver / Score_horizontal_align_engraver
- - Use more generic element properties.
- - precompute SCM symbols.
- - remove_elt_property (): Try to junk an element property, if not
- needed anymore.
-
-
-
-pl 34.uu1
- - more PointerList junkings.
- - MIDI bugfix.
- - be more conservative with Dicts/Hashes mem usage
-
-*********
-pl 34
-
-pl 33.uu2
- - some performance cleanups: junked PointerList instance, plugged some leaks.
- - style -> fontname now in scheme.
- - minor Score_element brainsurgery:
- * generic element properties.
- * junked Score_element::junk_links, Score_element::unlink
- * junked Directed_graph_node as superclass of
-Score_element, this should reduce mem usage a bit.
-
-pl 33.jcn2
- - fixed autobeamer's beam->unlink ()
-
-pl 33.jcn1
- - allow autobeaming according to duration iso (crude) multiplicity
-
-pl 33.jbr1
- - change my email address
- - Windows platform does a cp -r instead of a ln -s
-
-pl 33.uu1
- - bf: ^ and _
- - junked poor man's dynamics.
-
-*********
-pl 33
-
-pl 32.mb1
- - bf: \> and \< were interchanged!!
- - Added property: textScriptPadding
- - Changed copyright text on the Gade score.
-
-pl 32.uu1
- - really include Gade score now.
- - fixes: install-[out-]targets, INSTALLATION_[OUT_]SUFFIXES
- - install TFMs in separate dir.
-pl 31.hwn3
- - Span_bar bugfix (there you go, Mats).
- - bf: Score copy ctor (-> bf declaring score)
- - new Tie behavior: only tie identical pitches, switchable with
- oldTieBehavior
- - junked cautionary_b_ from Musical_pitch
-
-pl 32.jcn1
- - set-lily: set weird locale links for $LILYPONDPREFIX
-
-**********
-pl 31.mb2
- - Added example: "Imellan Fjeldene" by Niels W. Gade.
- - bf: don't attach staff margin text to clef changes within the
- lines. (Still not perfect: no text when a clef change happens
-
-pl 31.hwn2
- - be somewhat lazy in break/object multiplication.
- - print # elements for memory usage impression (try -t)
- - Paper_score cleanup
- - junked various Pointer_list instances. Executable now is smaller.
- - junked various cruft
- - merged do_substitute_dependen{t,cy} to
-do_substitute_element_pointer ()
- - more parser cleanup
- - Interval uses Drul_array
- - bf: I've been drinking too much
- - delete break helpers before object breaking/multiplication. Try
-to save some memory.
-
-pl 31.jcn4
- - bf: toplevel install, kpsewhich
- - sm 71, require yodl-1.31.11
- - fix: slur macros
- - bf: info in rpm, if available
- - fix: rat != float
- - bf: slur-follow-music
-
-pl 31.uu1
- - config.make: include GUILE_LDFLAGS
-
-******
-pl 31 (feb 16)
-
-pl 30.jcn1
- - sm fixes, intl/ fixes
-
-pl 30.mb1
- - Added support for magnification of TeX fonts ==>
- larger dynamics in 20pt scores. (Doesn't work in Postscript)
-
-pl 30.hwn1
- - Debian patches (thanks, Anthony)
- - Italian support (thanks, Maurizio)
- - parser cleanup
- - minor chord.cc cleanups.
- - bf: \rc \rced
- - hara kiri doesn't do suicide with normal rests.
- - Hara_kiri_vertical_group_spanner generalised
- - extender engraver rewrite, now __ is like ~ [] |, ie. in between
-notes/lyrics.
- - lyric engraver now engraves only single voices. Use
-separate LyricVoices to get stacked lyrics.
- - bf: bar(Non)Auto first barline
- - barAuto -> barNonAuto
-
-
-*******
-
-pl 30 (feb 15)
-
-pl 29.uu1
- - typewriter font
- - star-spangled-banner bf (slur.cc).
-
-
-pl 29.jcn3
- - fix: slur-case3.ly
- - init.sly: .fly with linewidt=-1
-
-pl 29.jcn2
- - resurrected ps output
-
-pl 29.hwn1
- - bf: coord relative to self.
- - bf: error msg if no AFM found
- - bf: hang script on bar in other axis too (fixes staff-side-slur bug)
- - hang on scripts on clef as well (more to left for single staffs)
-
-
-pl 29.jcn1
- - bf: volta sizes
- - GNU stuff on home page
-
-*******
-pl 29
-
-pl 28.hwn1
- - bf: mid measure clefs (breakable items in non-breakable columns.)
- - spanner.cc assert changed to warning
- - (c) 1998 -> 1999 search replace.
-
-pl 28.jcn1
- - new outline TODO + .emacs setup
-*******
-pl 28
-pl 27.hwn2
- - un-SMOB Atom. Cons and Killing_cons as simple cons replacements.
-
-pl 27.jcn5
- - outline TODO
-
-pl 27.jcn4
- - measure-end hinterfleish patch
- - input/test/coda-kludge.ly
- - bf: volta-number placement
- - volta: support for "1.-2." "3"
-
-pl 27.jcn3
- - bf's: zero-length repeats
- - Auto beamer:
- * turned on by default
- * input/test/auto-beam*.ly
- * support for time-defaults
- - Chords:
- * input/just-friends.ly
- * ChordNameContext
- * bf's: chord mode: accept STRINGS, rests
- * bf's: banter_str
- - new bool \property Score.barAtLineStart
-
-pl 27.hwn1
- - global ctors
- - read lily.scm before all .lys
- - Link_array derives from Array<void*>
- - search repl: Array<X*> -> Link_array<X>
- - junked most static casts
- - revamped Atom / Molecule: Molecule now is the public interface.
-Atom is a GUILE smob. Guile takes care of allocation and list stuff.
- - bar scripts on score bars (there you are, Mats)
- - :||: span bar fixed
- - using generic ledger lines now (regenerate fonts!)
- - refman updates (Thanks, Adrian!)
- - Molecule::operator = (), Molecule::do_center ()
- - junked Span_score_bar, Score_bar, Staff_bracket, Piano_brace. Folded functionality into Span_bar
- - textstyle property for textual scripts.
- - lookup cleanups (time_signature, text, stem, junked extender, filledbox, simple_bar)
- - junked obsolete TeX stuff.
- - ly2dvi-testpage.ly
- - only make AFMs for feta[0-9]+.mf
- - using strings for abs loudness.
-
-
-pl 27.jcn2
- - grand renaming: Duration vs Moment / Rational
-
-pl 27.uu1
- - extra beam warning
-
-pl 27.jcn1
- - complete redo of chord and chord name code
- - small fixes
-
-*************
-pl 27 (feb 3)
-
-pl 26.uu1
- - make TFMs too.
- - bf: dynamics. (Don't hang on spanner!)
- - read TFM before AFM.
- - fix din-MF stuff (UGH)
-
-pl 26.jcn4
- - Chord: handle all chord stuff; lots of chord fixes
- - bf: Chord-name-engraver: find tonic
- - bf: my-lily-parser: get_chord
-
-
-pl 26.jcn3
- - bf's: spring spacer end of measure
- - bf: tie/slur rods (dankje, lieverd)
- - bf's: intl/ compile, install, uninstall
-
-pl 26.jcn2
- - enforce {slur,tie}_x_minimum (urg, paper vars?)
- - tie listens to tieydirection/ydirection
- - bf: tie placement
-
-pl 26.jcn1
- - tutorial fixes
- - bf: OrchestralScore should do hara-kiri..
- - bf: makeinfo:
- - info in rpm again
- - update to yodl pl10, yodl2texinfo fixes
- - use --force, .info should always be generated
-
-*********
-pl 26 (feb 1, 99)
-
-25.jcn2
- - bf: staffside axis init
- - bf: staffmargin stuff.
- - Timesig C fixes
-
-
-pl 25.uu2
- - junked Scarlatti clef
- - fixed clef^8
- - Interpretation_context_handle is interface to interpretation context
- - Staff_switching_translator: automatic staff switching for Piano staffs.
-
-pl25.jcn1
- - volta-spanner: junked dot_p_; not so handy after all: kerning??
- - feta-nummer: added : ,-.
- - volta/tuplet thickness
- - bf: scs-paper
- - bf: ".|", and bar-thicknesses
-
-pl 25.uu1
- - bf: default duration is 4
-
-**********
-pl 25
-
-pl 23.ms2
- - property noteheadStyle
- - first attempt to make harmonics : see input/test/harmonics.fly
-
-pl 23.ms1
- - sinfonia.ly: several fixes
- - dynamics
- * increased range pppppp to ffffff
- * added sp, spp, sff, rfz
- * example see input/test/tchaikovsky.ly
- * updated dynamics in refman
-
-
-pl 24.jcn2
- - website fixes
- - bf's: chords:
- * reverted c1*2, collides with \times {}
- * should use: c\breve, c\longa for long chords
- * addition: c-9, subtraction: c^5
- * multiple -add, ^sub: c-7+.9-^3.5
- - bf: lyric chord
- - bf: lookup text height
- - bf's: autobeamer
-
- pl 24.jcn1
- - bf: rest collisions
- - separate tfm-reader
- - bf: :|: should not have thin lines
-
-
-pl 24.mb1
- - bf: Correct units now used in the .afm files.
-
-******
-
-pl 24, Hacking Apart Together (Jan 25)
-
-pl 23.jcn9
- - bf's: preludes-* (found a \meter and \transpose c`` there!)
- - bf: ly2dvi: don't barf on 'linewidth = -1.;'
- - bf: lily-version
-
-pl 23.jbr1
- - scripts/ly2dvi.py: Windows 95 shell does not support redivrection
- of stderr. We now distribute ash and use it when needed.
- - stepmake/bin/package-zip32.sh: distribute ash, and guild ice-9/
- directory. We build and distribute manpages in html format instead
- of text format.
- - Documentation/ntweb: Updated doco and now distributing as a self
- extracted binary with install script.
-
-pl 23.hwn4
- - bugfixes
- - changed All_font_metrics to do TFM as well.
- - changed init/ to ly/
-
-pl 23.jcn8
- - tfm reader; revamped code from fontutils-0.6
-
-pl 23.hwn3
- - {Bar numbers|staff margin stuff|marks} fixed using
-Bar_script_engraver as base class
- - bf: PS points != Lily \pt
- - junked Bar_column_engraver
- - junked Text_item and some old files.
-
-
-pl 23.jcn7
- - bf: piano-brace size (veels te simpel: kruis vingers tegen reject)
- - crude autobeam stuff in mi2mu
- - brevis, longa chords: c1*2,*4
- - mutopia/E.Satie/petite-ouverture-a-danser.ly
- - prop: voltaVisibility
- - more cello-suite-ii fixes:
- * nice repeats
- * removed all beams ifo auto-beamer
- - bf's: autobeam
- - junked dur2real; beamAutoEndx now as rational string: "1/2"
-
-pl 23.hwn2
- - _8 clef
- - junked #args symtable def.
- - junked Text_item.
- - moved Bar assembling into LilyPond
- - junked symtables reads
- - Lookup cleanups
- - junked Symtable from init/table*
-
-pl 23.hwn1
- - revamped Scarlatti K3-L378
- - some more doco
- - use interning/SCM for Scopes
- - hanging on now works for breakables too.
-
-pl 23.jcn6
- - chord fixes; notemode chord syntax changed: @c@ @c-7@
- - fixed cello-suite ii
- - bf's: auto-beamer; but nasty bug remains: input/bug/auto-beam.ly
- - bf: extender
- - (bit ugly) fix for lyric-chords
- - fixed repeats (dankjewel lieverd)
- * input/twinkle.ly
- * input/star*.ly
-
-pl 23.jcn3
- - succussfully removed []s from wtk1-fugue2.ly
- - bf + smarter autobeamer
-
-pl 23.jcn2
- - mi2mu: d-minor: des->cis, g-minor ges->fis
-
-pl 23.mb1
- - bf: Position and possible SIGSEGV in Mark_engraver
- - Added padding support in G_staff_side_item
- - bf: Correct direction of textual scripts.
- - bf, lookup.cc: Fewer warnings about missing text styles.
- Same units used in all .afm files.
-
-pl 22.jcn5
- - auto-beaming v0: input/test/auto-beam.ly
-
-
-
-***********
-
-pl 22.jcn4
- - bf's: repeat-engraver; \bar "|:", ":|" now deprecated for repeats
- - bf: :|, |:
- - property barAlways changed to boolean (0/1)
- - added boolean property: barAuto
-
-pl 22.jcn3
- - bf: mmrest
-
-pl 22.jcn2
- - updated mi2mu
- - bf: multi-measure-rest (input/test/m.ly)
- - half fix for staff-margin-engraver
-
-pl 22.jcn1
- - bf's: cross-staff slur
- - bf: gnossienne-4
-pl 22.tca1
- - buxfix, \mudela{ \times 2/3{ ...} } works now
-
-******
-
-pl 22
- - fixed "already have a Beam" error
-
-pl 21.jcn2
- - gnossienne: hmm, how to
- * undisplay bars
- * don't put 'grace notes' in beam
- * put separator between "] \translator Staff=x"
-
-pl 21.jcn1
- - gnossienne-4.ly (start of)
-
-pl 20.jcn2
- - mutopia fixes; see preludes-1.ly for cross-staff beams and slurs
- - bf: broken interstaff slur
- - sm66: check for gmake
-
-*******
-pl 20.jcn1
- - interstaff slurs v0: preludes-1.ly
- - warnings for silly interbeam settings
-
-pl 20.hwn1
- - inclusion of WIP article about LilyPond.
- - L.Mozart sinfonfia
- - bf: [c8 [c8 c8]
-
-********
-pl 20
-
-pl 19.jcn5
- - interstaff beams v0: see beam-interstaff.ly and wtk1-fugue2.ly
-
-pl 19.jcn4
- - new stem/beam parameters
- - bf: forced stem shorten
-
-pl 19.jcn3
- - dehairification of beam code; cleanup and bugfixes
- * stemlength
- * forced stem shorten
- * slope calculation
- * damping and correction
- * catch for silly beams: input/test/beam-suspect.ly
-
-pl 19.jcn2
- - multi-measure-rest is now spanner SkipBars=0 is broken
-
-pl 19.jcn1
- - hmm, almost centered whole-bar rests -- NOT
-
-********
-pl 18.jcn5
- - bf: beamtrend
- - bf: vv-duet
-
-pl 18.mb1
- - \mark now works, using G_staff_side_item.
- - Improved layout of multi-bar rests, including a new
- font symbol.
-
-pl 18.jcn4
- - beam length adjustments
- - ugly beamtrend fix: input/test/beam-trend.ly
-
-pl 18.jcn3
- - bf: (beamed) forced stem shorten
- - bf: broken slurs and ties; minimal slur/tie length setting ignored
- - bf: separators on cygwin
-
-pl 18.jcn2
- - bf: stem-length algorithm
- - bf: beam direction algorithm
- - bf's: wtk1-fugue2.ly
-
-pl 18.jcn1
- - stepmake update
- - small fixes: spacing.ly, wtk1-fugue2-ly, violino-viola duet.
-
-*******
-pl 18 (jan 4 '99)
-
-pl 17.jbr2
- - Documentation/README-W32: Brought my stuff up to date
- - Documentation/ntweb: updated for realease
- - stepmake/bin/package-zip32.sh: cygwin-b20 changes
- - scripts/ly2dvi.py: LILYPONDPREFIX fixes
-
-pl 17.jbr1
- - scripts/ly2dvi.py root is now the shared directory path not the
- root of the lily installation. Environment variable LILYPONDPREFIX
- is also the path to shared directory.
- - lily/main.cc WINNT conditional added to avoid a casting of
- main_prog
-
-pl 17.hwn1
- - bfs wtk1-fugue1
- - spacing tweak: very widely and tightly spaced lines look
-better.
- - allow Beam settings to be overriden: property
- stemLeftBeamCount, stemRightBeamCount
- - junked Assoc, Assoc_iter
- - junked Graphical_element::{width,height}
- - junked Plet_swallow_engraver, Plet_engraver
- - Command_tie_engraver -> Tie_engraver, Command_beam_engraver -> Beam_engraver
- - naming brew_molecule_p / do_brew_molecule -> output_processing, do_brew_molecule_p
- - experimental Text_item, Staff_side
- - junked old Beam_engraver and old Tie_engraver.
- - AFM administration cleanup.
- - cache brewed molecules. Speed up ?
- - rehacked Graphical_element, introduced Dimension_cache
-
-********
-
-pl 17
-pl 16.jcn2
- - fix: TEMPO 4., well urg, "TEMPO 4 ."
- - beginning of violino/violoncello (viola) duet
-
-pl 16.jcn1
- - resurrected po-stuff
-
-*********
-pl 16
-
-pl 15.uu1
- - dynamic fix.
- - junked abbrev stuff from parser.
-
-pl15.tca1
- - fixed verbatim option behaviour for mudela-book.
- - added mudela-book option intertext="some text"
- - mudela-book now understand latex \begin{verbatim}
-
-pl 15.jcn1
- - chord inversion:
- * enter C/E
- * display chord names according to boolean property
- \property Score.chordInversion;
-
-*********
-pl 15
-
-pl 14.hwn1
- - new beam syntax: { [<c e> <c e>] }, changed in lilypond,
-parser, lilypond (mudela 1.0.14), manual
- - new tie syntax: { <c e > ~ <c e > } changed in manual,
-parser, lilypond (Mudela 1.0.13)
-
-pl 14.jcn1
- - bf: get_chord C-m5-
- - typos: chord-name
-
-pl 14.tca2
- - move option proccing out of main
-
-**********
-
-pl 14
-
-pl 13.hwn1
- - tutorial fixes.
- - junked find-quarts
- - junked various plet goryness.
- - preps for <c e> ~ <c e> syntax
- - bib fixes
-
-pl 12.jcn3
- - bf's: standchen
- - added repeat, chord stuff to website
- - bf: dashed slur
- - hacks for barlines, dynamics
-
-pl 12.jcn2
- - bf: package-diff
- - new chord syntax, again: TONIC [DURATION] ['-' MODIFIERS/ADDITIONS]
- - shorthand prefix for note-mode: '@', no shorthand for notes in chord
- mode...
-
-pl 11.jcn6
- - bf: ly2dvi: better guess LILYPONDPREFIX: <bin>../share/lilypond
- - chord-table; urg bugs:
- * note-collisions
- * accidental-placement
- - bf: cis m (\textsharpm, urg)
-
-pl 11.jcn5
- - bib entry, twinkle-pop
- - bf's: chords
-
-pl 11.jcn4
-
-**********
-pl 13
- - mutopia stuff (thanks, Peter)
- - bugfix : \maininput
-
-*********
-
-
-pl 12
-pl 11.jcn3
- - bf: missing triads
- - @c @c min (* is taken, <<, <> don't work)
- - chord-modifiers (urg, "sus" should also subtract 2...)
-
-pl 11.uu3
- - --safe: security paranoia: disallow untrusted \include,
-disallow untrusted TeX code, disallow named output
-
-pl 11.jcn2
- - duration with chords + change: @4 c @c7
-
-pl 11.jcn1
- - minor chord syntax change: *c6 iso @c6;
-
-**********
-
-pl 11
-
-pl9.tca1
- - included that missing init/mudela-book-defs.py. Added
- one line to init/GNUMakefile to make .py-files be included.
- - fragment and nonfragment options to override autodetection
-
-pl 10.jcn1
- - input/test/chords.ly
- - \type ChordNames and chord-name-engraver.*
- - chords mode: \chords { <c e g> @c; @d7; }
-
-pl 10.uu1
- - scm/ directory. install .scm stuff too.
- - tuplet bug fixed.
-
-**********
-pl 10
-
-pl 9.jcn3
- - property: unfoldRepeats; unfolding still broken
- - volta spanner y-collision
- - bf: volta number,dot placement
- - bf's: init/table16,20
- - small additions to init/lily.scm to enable some testing
- - junked extra repeat braces
-
-
-pl 9.uu2
- - bib stuff
- - removed \output from parser/lexer
-
-pl 9.jcn2
- - bf/redo: slur.cc, encompass-info: setting of encompass array.
- - switched tuplet-engaver off (core dumps)
-
-pl 9.jcn1
- - bf (urg): no |: at start of piece
- - bf?: text defs without width
- - alignment absolute dynamics
- - mutopia/opus-130.ly (excerpt, triggered by GUIDO)
- - bf: crescendo symbol
-
-
-pl 9.uu1
- - added faq entry
- - copertina (thanks Maurizio)
-
-*****************
-pl 9
- - fixed \relative
-
-pl8.tca1
- - changes to mudela-book. Junked fragment and floating options,
- added eps option. Options should not stay as long that you get
- comfortable with them. ;)
- - Also possible to define your own commands with
- a syntax like \mudela{c d e}
- - updated mudela-book-doc.doc
-
-pl 8.jcn3
- - website: gnuisation of footers
-
-pl 8.jcn2
- - input/test/vertical-text.ly: urg ydim of text chords
- - bf: one set of |: :| volta per staff
- - bf: init/table* braces + more braces
- - try at score-volta-bracket
-
-pl 8.jcn1
- - bf: lyric-engraver: handle multiple requests (don't overwrite)
- - bf: guile-config
- - music-list-iterator
-
-pl 8.hwn3
- - coriolan corno 1
-
-pl 8.hwn2
- - more output revamping.
-
-pl 8.hwn1
- - Scheme output stuff
- - tutorial fixes.
-
-*****************
-pl 8
-
-pl7.jcn3
- - bf's: spanner/volta
- - volta-support: via Note, Bar, and Paper-column to Bar (item)
-
-pl7.jcn2
- - note repeats
-
-pl7.jcn1
- - configure/guile fixes (still no check for 1.2/1.3)
-
-pl7.hwn1
- - tutorial fixes
- - tuplets over beams.
-
-*****************
-pl 7
-
-pl6.jcn5
- - repeatbars, volta-spanner work, alternative iteration still broken
- - volta symbol
-
-pl5.szmulewicz2
- - more GUILE stuff.
- - tutorial doco updates
-
-pl6.jcn4
- - volta-spanner
- - repeat-engraver
- - repeat/alternative music layout (hehe)
-
-pl6.uu1
- - Doco of music iterators.
-
-********
-pl 6
-
-pl5.szmulewicz1
- - rtti stuff
- - bf's: lily.scm
-
-pl5.mb1
- - bf: array.hh, don't make copy if resized to the same size
- - bf: feta.tex
-
-pl5.jcn4
- - scm additions: plet, hairpin
- - website fixes
-
-pl5.jcn3
- - website fixes
-
-pl5.jcn2
- - extender-*, see input/test/extender.ly
- - bf: half-beam length (urg)
- - fixes: standchen, star
-
-pl5.jcn1
- - tex/lily-ps-defs.tex fixes
- - lily.ps
-
-pl 5.hwn1
- - Tuplet_engraver
- - lily.ps fix.
- - junked MY_RTTI stuff, simpler VIRTUAL_COPY_CONS
-
-********
-1.1.5
-
-pl4.jcn4
- - fixes; preludes, finger
-
-pl4.jcn3
- - bf: text staff vertical align; see input/test/vertical-text.ly
- - urg, scaled cmr8 by factor 4/5
- - apart from end/begin of measure spacing urgs, stars-and-stripes.ly
- is rather cool
-
-pl4.jcn2
- - read (cmrxx)afm for text char widths
- - tfmtoafm.sh (quite urg)
- - alphabet.ly
-
-pl 4.uu1
- - read .scm files. No need for GUILE_LOAD_PATH
- - .ps hack. No need for lily.ps on the printer
-
- (&$^@M&@^$@^&$@ Damn TeX)
-
-
- - bf: mudela-book -> \default_paper is obsolete.
-
-pl 3.ms1
- - thumb-upgrade
-
-pl4.jcn1
- - bf: dotted slur
- - bf: text ssb
- - bf: empty/unknown in ps
-
-pl 4.tca1
- - 40% speedup executing mudela-book on mudela-book-doc.doc
- - change of lilypond's output filenames. Given multiple input
- files, eg. 'm.ly y.ly', output names will now be 'm.tex y.tex'
- not 'm.tex y-1.tex', but if m.ly containts two paper definitions
- output will be 'm.tex m-1.tex y.tex'
-
-*******
-1.1.4
-
-pl 3.tca1
- - accordion symbols in mf/feta-accordion.mf and
- init/accordion-defs.ly.
- - small changes to mudela-book and Documentation/man/mudela-book.yo
- - mudela-book example file in Documentation/tex/mudela-book-doc.doc
-
-pl 3.jcn5
- - bf: dashed-slur
- - bf: LilyIdString
- - more star fixes
- - repeatbar fixes
-
-pl 3.jcn3
- - mup-to-ly.py: version 0.0
- - init/test/stars-and-stripes.ly (from star.mup)
- - GrandStaffContext
-
-pl 3.hwn1
- - junked musical info from key-item
- - tutorial fixes.
-
-pl 3.jcn2
- - bf: font switch
-
-******
-1.1.3
-
-pl 2.jcn2
-
-pl 2.uu1
- - ly2dvi.py -I fix
- - obsoleted ly2dvi.sh
- - removed Note_head_engraver
-
-pl 2.hwn1
- - scm cleanups, chop-decimal
- - scarlatti clef.
-
-pl 2.jcn1
- - commented-out Level-2 PostScript in lily.ps (J. Buehler)
- - moved tex/*.ps to ps/
- - merged lilyponddefs.ps, lily-ps-defs: tex/lily.ps
- - be sure to set:
- export GS_LIB=$HOME/usr/src/lilypond/ps
- - added tex and empty ps-symbols
-
-pl 1.jcn4
- - more little website fixes
-
-********
-
-pl 2
-
-pl 1.mb1
- - Support for cautionary accidentals. , i.e. accidentals
- within parantheses. Syntax: 'cis?'. Try input/test/accid.fly
- Note that the font has changed.
- - bf: No unnecessary warnings about time signatures
- - Added optional second argument of \key. Set to \major or \minor
- to get a major or minor key. Default: major.
- - bf: Compilation error in midi-walker.cc
-
-pl 1.jcn2
- - fixes for htmldoc, website
- - silly jcn1 fixes
- - junked MODULE stuff from lily/GNUmakefile (again)
-
-pl 0.jcn4
- -set:
- export GUILE_LOAD_PATH=$HOME/usr/src/lilypond/init
- - dstream: Score_element, Column_info
- - -fscm debug hack: lilypond -fscm a; guile a.scm > a.tex; tex a
- - init/lily.scm
-
-
-********
-
-pl 1
-pl 0.uu5
- - fixed MIDI output.
-
-pl 0.jcn3
- - dropped stepmake/aclocal.m4
- - removed silly -lguile (BLA_LIBS, EXTRA_LIBS ??)
- - added debugging output format: -fscm
- - ly2dvi.py -I fix
- - Documentation/tex/feta.tex
- - doco fixes: PATCHES.yo, yodl-1.31.7
-
-pl 0.uu4
- - Protected_scm to fixup GUILE gc
-
-pl 0.uu3
- - more RTTI cleaning.
-
-pl 0.uu2
- - undone type_info::before hack. (Ugh. RTFM).
-
-pl 0.uu1
- - more RTTI stuff: is_type_b -> type_info::before
-
-pl 0.jcn1
-pl 17.jcn7
- - added: set*text, timesig, beam
- - guile-1.3 is fine; my egcs-1.0.2's -O2 is broken
-pl 17.jbr1
- - stepmake/stepmake/bin/package-zip32.sh: Updated configure statement
- and modified win32 specific distribution file names to match
- pl 16.hwn1 changes.
- - scripts/ly2dvi.py: Modified search paths to match the new lilypond
- installation tree.
- - scripts/convert-mudela.py: Remove the an existing backup file
- before renaming original. This is a WINDOWS32 Python requirement.
- - Documentation/ntweb/index.html: Updated documentation to match
- new lilypond installation tree.
- - lily/main.cc: Fixed LILYPONDPREFIX search paths.
-
-
-
-**********
-
-1.1.0
-
-pl 18.exp
- - use C++ RTTI iso access_Xxx ()
- - junk Graphical_lisp_element
- - catalan.ly
-
-pl 17.tca1
- - rewrite of mudela-book
-
-pl 17.ms1
- - added \thumb (used very often in cello music) in
- mf/feta-schrift.mf.
- - added /input/test/thumb.ly (example)
-
-pl 16.jcn1
- - dashed-slur through scheme
-
-pl 15.jcn4
- - more scheme hacks
-
-pl 15.jcn3
- - try at scheme in Atom
-
-pl 15.jcn2 # rest of
- - graphical-lisp-element + silly half hook-up with autuplet
-
-pl 17.jcn5
- - stepmake pl59: templatised install (see mf/)
- - reasonably ps/tex success (with guile-1.2):
- * input/kortjakje.ly
- - lots more scm stuff
- - bf: mf/mfplain.ini
- - stepmake pl58: guile 1.3 configure fix
- - working font-switch:
- guile-1.2 and -lreadline -ldl from 1.3 configure...
-
-pl 17.jcn4
- - installable stepmake pl57
- - urg, FIXME guile-1.3:
- * don't install shared libs! configure can't handle
- * manually add: EXTRA_LIBS = -lguile -lreadline -ldl
- * lily's truely broken, downgrade do 1.2
-
-pl 17.jcn3
- - lots of stuff still broken, notably font selection, just try
- a()b
- or so
- - tex output support
- - all output through scheme
- - option: f, output-format=X
- - geile placebox
- - mf/mfplain.ini
-
-pl 17.jcn2
- - all paper output through scheme, about half way
-
-pl 17.jcn1
- - 16.jcn1
-
.* TODO
. * use Rhythmic_head::position_i () for all Staff_referenced
. * .po -> .pot.
+. * why need to run -C mf twice?
+. * junk BLURB files.
. * setting indent to 0 with \shape fails
. * ly2dvi : don't repeat opus if same.
. * breaks before mmrests are favored.
. * rerun profile
. * fix or replace feta-accordion.mf
. * fix configure with CFLAGS or LDFLAGS, try:
-+ CFLAGS=-g LDFLAGS='-Wl,--warn-common' ./configure
-+ configure will use them while testing the compiler, but they don't
-+ appear in config.make
-
-. * Break_req handling is silly (break_forbid () + \break fucks up.)
+ CFLAGS=-g LDFLAGS='-Wl,--warn-common' ./configure
+configure will use them while testing the compiler, but they don't
+appear in config.make
. * script engraver
. * Chords:
. * Bass/inversion pitch when not part of Chord
. * SGML input
. * Documentation
-. * remove links to non-free SW.
. * internal documentation
-. * a general paper.
-. * \properties
-. * left/rightbeamcount
-. * various other new properties.
-. * introduction?
-. * info?
-. * LaTeX?
-. * more manpages?
-. * Doc (C) stuff of sheet music
-. * a better format? SGML? TeX? Info?
-. * a better tutorial
. * more spanners (smallish)
. * Glissando
. * lines:
. * Ledger lines, should be separate item: Ledger_lines
-. * set different line sizes / thicknesses
. * beam stem showthrough, inter beam sizes (french vs german style)
. * Collisions
. * Keys:
. * merge key{item} & localkey{item}?
-. * spacing, national styles?
+. * spacing
. * Support for TAB
. * redo Notehead to allow digits as heads
. * should adjust stemlength for flag number.
. * breaking:
-. * caching breakpoints
. * saving them
. * specify number of lines
. * \translator -> ?
. * fix \partial
. * \bla {} vs \bla ;
-. * mix engraver hacking with music ?
. * \once\property KEY = VAL
. * input property
-. * abstract grammar.
. * Figure out semicolons.
. * <c f a>4 ?
. * Viola mode?
.* SMALLISH PROJECTS
-. * fix confusing naming in Engraver vs Engraver_group_engraver (context)
-
. * A range for context errors (eg. mark both { and }. )
. * lyric in staff (sharpsharp in staff, text below)
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=2
-PATCH_LEVEL=14
-MY_PATCH_LEVEL=jcn1
+PATCH_LEVEL=15
+MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
#!/bin/csh
# env. vars for the C-shell.
-
# set environment for LilyPond. To be installed in /etc/profile.d/
-setenv GS_LIB "@datadir@/ps"
+
setenv GS_FONTPATH "@datadir@/afm"
+
# bit silly. for ly2dvi, overrules compiled-in datadir...
setenv LILYPONDPREFIX "@datadir@"
else
setenv TEXINPUTS "/usr/share/lilypond/tex::"
endif
-if ($?GUILE_LOAD_PATH) then
- setenv GUILE_LOAD_PATH "/usr/share/lilypond/scm:${GUILE_LOAD_PATH}"
-else
- setenv GUILE_LOAD_PATH "/usr/share/lilypond/scm"
-endif
# set environment for LilyPond. To be installed in /etc/profile.d/
-GS_LIB="@datadir@/ps"
GS_FONTPATH="@datadir@/afm:@datadir@/pfa"
# bit silly. for ly2dvi, overrules compiled-in datadir...
MFINPUTS="@datadir@/mf:"${MFINPUTS:=":"}
TEXINPUTS="@datadir@/tex:@datadir@/ps:"${TEXINPUTS:=":"}
-GUILE_LOAD_PATH="@datadir@/scm:$GUILE_LOAD_PATH"
-
-export GUILE_LOAD_PATH LILYINCLUDE LILYPONDPREFIX MFINPUTS TEXINPUTS GS_LIB GS_FONTPATH
+export LILYINCLUDE LILYPONDPREFIX MFINPUTS TEXINPUTS GS_LIB GS_FONTPATH
-# echo $LILYINCLUDE $MFINPUTS $TEXINPUTS $GS_LIB $GS_FONTPATH
depth = ..
NAME = debian
-BLURBS = BLURB
-AT_FILES = $(BLURBS) #
at-dir = $(outdir)/
at-ext =
Depends: ${shlibs:Depends}, tetex-bin (>= 0.9.990310-1)
Recommends: python-base (>= 1.5.2-4), tetex-base (>= 0.9.990311-1), tetex-extra (>= 0.9.990311-1)
Conflicts: musixtex-fonts, tetex-base (<< 0.9)
-Description: A program for printing sheet music.
- 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.
+Description: A program for printing sheet music. 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.
+
.
URLs: http://www.cs.uu.nl/~hanwen/lilypond/
http://www.xs4all.nl/~jantien/lilypond/
Depends: ${shlibs:Depends}, tetex-bin (>= 0.9.990310-1)
Recommends: python-base (>= 1.5.2-4), tetex-base (>= 0.9.990311-1), tetex-extra (>= 0.9.990311-1)
Conflicts: musixtex-fonts, tetex-base (<< 0.9)
-Description: A program for printing sheet music.@BLURB@
+Description: A program for printing sheet music. 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.
+
.
URLs: http://www.cs.uu.nl/~hanwen/lilypond/
http://www.xs4all.nl/~jantien/lilypond/
Depends: ${shlibs:Depends}, tetex-bin (>= 0.9.990310-1)
Recommends: python-base (>= 1.5.2-4), tetex-base (>= 0.9.990311-1), tetex-extra (>= 0.9.990311-1)
Conflicts: musixtex-fonts, tetex-base (<< 0.9)
-Description: A program for printing sheet music.
- 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.
+Description: A program for printing sheet music. 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.
+
.
URLs: http://www.cs.uu.nl/~hanwen/lilypond/
http://www.xs4all.nl/~jantien/lilypond/
Array<void*>::empty;
Array<void*>::reverse;
Array<void*>::tighten_maxsize;
+
+ T *& boundary (int d, int i)
+ {
+ assert (d);
+ if (d == 1)
+ return top (i);
+ else
+ return elem_ref (i);
+ }
+ T * boundary (int d, int i)const
+ {
+ assert (d);
+ if (d == 1)
+ return top (i);
+ else
+ return elem_ref (i);
+ }
+
+
T ** access_array () const
{
return (T**) Array<void*>::access_array();
\paper {
\translator{
\StaffContext
-
- % other core dump when this is removed?
- \remove "Time_signature_engraver";
}
}
}
\GrandStaffContext
\accepts "Lyrics";
}
-% castingalgorithm = \Wordwrap;
+ \translator {
+ \LyricsContext
+ \consists "Bar_engraver";
+ }
}
\midi {}
}
-\version "1.2.0";
+\version "1.2.14";
--- /dev/null
+
+
+
+\score{
+ \notes\context Voice{
+ \emptyText
+ c1 c1^"no break after 2nd note" \nobreak c1 c1
+
+ c1^"break after this" \break c1 c1
+ }
+ \paper { linewidth = 4.0\cm;}
+}
--- /dev/null
+
+\score {
+
+ \context StaffGroup <
+ \notes \context Staff { b1 b1 \bar "|."; }
+ \lyrics\context Lyrics <
+ \context BarLV { thisContextHasBarEngraver1 added }
+ \context LyricVoice { this4 one has no barEngraverAddedToContext1 }
+ >
+ \notes \context Staff = SB { b1 b1 }
+
+ >
+
+ \paper {
+ linewidth = -1.0\cm;
+ \translator {
+ \LyricsContext
+ \consists "Bar_engraver";
+ \accepts "BarLV";
+ }
+ \translator {
+ \LyricsVoiceContext
+ \consists "Bar_engraver";
+ \name "BarLV";
+ }
+ \translator {
+ \LyricsVoiceContext
+ }
+ }
+}
+++ /dev/null
-
-% no alts.
-\score { \notes
- \relative c'' {
-\repeat volta 3 { c^"3$\\times$ 0alt" d }
-% less alts than body
-\repeat volta 4 { c^"4$\\times$ 2alt" d } \alternative { e f }
-
-% more alts than body
-\repeat volta 2 { c^"2$\\times$ 3alt" d } \alternative { e f g }
-}}
-
--- /dev/null
+
+% no alts.
+\score { \notes
+ \relative c'' {
+\repeat volta 3 { c^"3$\\times$ 0alt" d }
+% less alts than body
+\repeat volta 4 { c^"4$\\times$ 2alt" d } \alternative { e f }
+
+% more alts than body
+\repeat volta 2 { c^"2$\\times$ 3alt" d } \alternative { e f g }
+}
+
+ \midi{}
+ \paper{}
+
+}
+
$(outdir)/my-lily-lexer.o: $(outdir)/parser.hh
$(outdir)/lexer.o: $(outdir)/parser.hh
$(outdir)/lily-version.o: $(outdir)/version.hh
-$(outdir)/main.o: $(outdir)/BLURB.hh
*/
if ((*stem_l_arr_p_)[i]->beam_l_)
{
- delete beam_p;
return 0;
}
beam_p->add_stem ((*stem_l_arr_p_)[i]);
(c) 1997, 1998, 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
+
#include "score-engraver.hh"
#include "bar-engraver.hh"
#include "staff-bar.hh"
#include "musical-request.hh"
#include "multi-measure-rest.hh"
#include "command-request.hh"
-#include "time-description.hh"
+#include "timing-engraver.hh"
#include "engraver-group-engraver.hh"
#include "warn.hh"
do_post_move_processing();
}
-bool
-Bar_engraver::do_try_music (Music*r_l)
-{
- if (Bar_req * b= dynamic_cast <Bar_req *> (r_l))
- {
- if (bar_req_l_ && bar_req_l_->equal_b (b)) // huh?
- return false;
-
- bar_req_l_ = b;
- return true;
- }
-
- return false;
-}
bar_p_->set_elt_property (bar_size_scm_sym,
gh_double2scm (Real(prop)));
}
- announce_element (Score_element_info (bar_p_, bar_req_l_));
+ announce_element (Score_element_info (bar_p_, 0));
}
}
void
Bar_engraver::do_creation_processing ()
{
- create_bar ();
- bar_p_->type_str_ = "";
}
void
void
Bar_engraver::do_process_requests()
{
- Time_description const *time = get_staff_info().time_C_;
- if (bar_req_l_)
- {
- create_bar ();
- bar_p_->type_str_ = bar_req_l_->type_str_;
- }
- else if (!now_mom ())
- {
- create_bar ();
- bar_p_->type_str_ = "|";
- }
- else
+ Translator * t = daddy_grav_l ()->get_simple_translator ("Timing_engraver");
+
+ Timing_engraver * te = dynamic_cast<Timing_engraver*>(t);
+ String which = (te) ? te->which_bar () : "";
+
+ if (which.length_i ())
{
- Scalar nonauto = get_property ("barNonAuto", 0);
- if (!nonauto.to_bool ())
- {
- Scalar always = get_property ("barAlways", 0);
- if ((time && !time->whole_in_measure_) || always.to_bool ())
- create_bar ();
- }
+ create_bar();
+ bar_p_->type_str_ = which;
}
if (!bar_p_)
}
}
-void
-Bar_engraver::do_post_move_processing()
-{
- bar_req_l_ = 0;
-}
-
-
-
ADD_THIS_TRANSLATOR(Bar_engraver);
--- /dev/null
+/*
+ bar-req-collect-engraver.cc -- implement Bar_req_collect_engraver
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+#include "command-request.hh"
+
break;
}
}
- if (remove_elt_property (at_line_start_scm_sym)!= SCM_BOOL_F
+ if (remove_elt_property (at_line_start_scm_sym) != SCM_BOOL_F // UGR.
&& (break_status_dir () == RIGHT) && (type_str_ == ""))
{
type_str_ = "|";
prop = get_property ("autoInterstaffKneeGap", 0);
if (prop.isnum_b ())
beam_p_->set_elt_property (auto_interstaff_knee_gap_scm_sym, gh_int2scm( prop));
-
+
prop = get_property ("beamquantisation", 0);
if (prop.isnum_b ())
beam_p_->quantisation_ = (Beam::Quantisation)(int)prop;
[Ross] states that the majority of the notes dictates the
direction (and not the mean of "center distance")
- But is that because it really looks better, or because he
- wants to provide some real simple hands-on rules.
+ But is that because it really looks better, or because he wants
+ to provide some real simple hands-on rules?
We have our doubts, so we simply provide all sensible alternatives.
- If dir is not determined: up (see stem::get_default_dir ())
- */
+ If dir is not determined: up (see stem::get_default_dir ()) */
Direction beam_dir;
Direction neutral_dir = (Direction)(int)paper_l ()->get_var ("stem_default_neutral_direction");
Beam::solve_slope ()
{
assert (sinfo_.size () > 1);
- DEBUG_OUT << "Beam::solve_slope: \n";
Least_squares l;
for (int i=0; i < sinfo_.size (); i++)
{
Real interbeam_f = paper_l ()->interbeam_f (multiple_i_);
- Real beam_f = paper_l ()->beam_thickness_f ();
- Real staffline_f = paper_l ()->rule_thickness ();
+ Real beam_f = paper_l ()->get_realvar (beam_thickness_scm_sym);;
+ Real staffline_f = paper_l ()-> get_var ("stafflinethickness");
Real epsilon_f = staffline_f / 8;
Real dy_f = 0.0;
for (int i=0; i < sinfo_.size (); i++)
Real interline_f = stems_[0]->staff_line_leading_f ();
Real internote_f = interline_f / 2;
- Real staffline_f = paper_l ()->rule_thickness ();
- Real beam_f = paper_l ()->beam_thickness_f ();
+ Real staffline_f = paper_l ()->get_var ("stafflinethickness");
+ Real beam_f = paper_l ()->get_realvar (beam_thickness_scm_sym);;
Real dx_f = stems_.top ()->hpos_f () - stems_[0]->hpos_f ();
slope_f_ = (quanty_f / dx_f) / internote_f * sign (slope_f_);
}
-static int test_pos = 0;
-
-
/*
Prevent interference from stafflines and beams. See Documentation/tex/fonts.doc
if extend_b then stems must *not* get shorter
*/
- if (quantisation_ <= NONE)
+ if (quantisation_ == NONE)
return;
/*
Real space = stems_[0]->staff_line_leading_f ();
Real internote_f = space /2;
- Real staffline_f = paper_l ()->rule_thickness ();
- Real beam_f = paper_l ()->beam_thickness_f ();
+ Real staffline_f = paper_l ()->get_var ("stafflinethickness");
+ Real beam_f = paper_l ()->get_realvar (beam_thickness_scm_sym);;
/*
[TODO]
Real straddle = 0;
Real sit = beam_f / 2 - staffline_f / 2;
- Real inter = space / 2;
Real hang = space - beam_f / 2 + staffline_f / 2;
/*
For simplicity, we'll assume dir = UP and correct if
dir = DOWN afterwards.
*/
-
+ // isn't this asymmetric ? --hwn
+
// dim(left_y_) = internote
Real dy_f = dir_ * left_y_ * internote_f;
Real beamdy_f = beamdx_f * slope_f_ * internote_f;
Array<Real> allowed_position;
- if (quantisation_ != TEST)
+ if (quantisation_ <= NORMAL)
{
- if (quantisation_ <= NORMAL)
- {
- if ((multiple_i_ <= 2) || (abs (beamdy_f) >= staffline_f / 2))
- allowed_position.push (straddle);
- if ((multiple_i_ <= 1) || (abs (beamdy_f) >= staffline_f / 2))
- allowed_position.push (sit);
- allowed_position.push (hang);
- }
- else
- // TODO: check and fix TRADITIONAL
- {
- if ((multiple_i_ <= 2) || (abs (beamdy_f) >= staffline_f / 2))
- allowed_position.push (straddle);
- if ((multiple_i_ <= 1) && (beamdy_f <= staffline_f / 2))
- allowed_position.push (sit);
- if (beamdy_f >= -staffline_f / 2)
- allowed_position.push (hang);
- }
+ if ((multiple_i_ <= 2) || (abs (beamdy_f) >= staffline_f / 2))
+ allowed_position.push (straddle);
+ if ((multiple_i_ <= 1) || (abs (beamdy_f) >= staffline_f / 2))
+ allowed_position.push (sit);
+ allowed_position.push (hang);
}
else
+ // TODO: check and fix TRADITIONAL
{
- if (test_pos == 0)
- {
- allowed_position.push (hang);
- cout << "hang" << hang << "\n";
- }
- else if (test_pos==1)
- {
+ if ((multiple_i_ <= 2) || (abs (beamdy_f) >= staffline_f / 2))
allowed_position.push (straddle);
- cout << "straddle" << straddle << endl;
- }
- else if (test_pos==2)
- {
+ if ((multiple_i_ <= 1) && (beamdy_f <= staffline_f / 2))
allowed_position.push (sit);
- cout << "sit" << sit << endl;
- }
- else if (test_pos==3)
- {
- allowed_position.push (inter);
- cout << "inter" << inter << endl;
- }
+ if (beamdy_f >= -staffline_f / 2)
+ allowed_position.push (hang);
}
+
Interval iv = quantise_iv (allowed_position, space, dy_f);
Real quanty_f = dy_f - iv[SMALLER] <= iv[BIGGER] - dy_f ? iv[SMALLER] : iv[BIGGER];
void
Beam::set_stemlens ()
{
- Real staffline_f = paper_l ()->rule_thickness ();
+ Real staffline_f = paper_l ()->get_var ("stafflinethickness");
// enge floots
Real epsilon_f = staffline_f / 8;
// je bent zelf eng --hwn.
Real dy_f = check_stemlengths_f (false);
- for (int i = 0; i < 2; i++)
+ for (int i = 0; i < 2; i++) // 2 ?
{
left_y_ += dy_f * dir_;
quantise_left_y (dy_f);
break;
}
}
-
- test_pos++;
- test_pos %= 4;
}
void
/*
beams to go with one stem.
+
+ clean me up.
*/
Molecule
Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
(prev && !(prev->hpos_f () < here->hpos_f ())))
programming_error ("Beams are not left-to-right");
- Real staffline_f = paper_l ()->rule_thickness ();
+ Real staffline_f = paper_l ()->get_var ("stafflinethickness");
Real interbeam_f = paper_l ()->interbeam_f (multiple_i_);
Real internote_f = here->staff_line_leading_f ()/2;
- Real beam_f = paper_l ()->beam_thickness_f ();
+ Real beam_f = paper_l ()->get_realvar (beam_thickness_scm_sym);;
Real dy = interbeam_f;
Real stemdx = staffline_f;
Real sl = slope_f_* internote_f;
- lookup_l ()->beam (sl, 20 PT, 1 PT);
Molecule leftbeams;
Molecule rightbeams;
else if (here->type_i ()== 1)
nw_f = paper_l ()->get_var ("wholewidth");
else if (here->type_i () == 2)
- nw_f = paper_l ()->note_width () * 0.8;
+ nw_f = paper_l ()->get_var ("notewidth") * 0.8;
else
nw_f = paper_l ()->get_var ("quartwidth");
/*
- UGH. Clean up debugging junk.
+ UGH. Remove debugging junk.
*/
{
transform ();
calc_default (height);
-
calc_bezier ();
Real dy = check_fit_f ();
if (all[i]->breakable_b ())
retval.push (i);
- if (linelength <=0)
+ if (linewidth_f_ <=0)
while (retval.size () >2)
retval.del (1);
if (all[i]->breakable_b ())
retval.push (all[i]);
- if (linelength <=0)
+ if (linewidth_f_ <=0)
while (retval.size () >2)
retval.del (1);
Break_algorithm::Break_algorithm ()
{
pscore_l_ = 0;
- linelength = 0;
+ linewidth_f_ = 0;
}
void
Break_algorithm::set_pscore (Paper_score*s)
{
pscore_l_ = s;
- linelength = s->paper_l_->linewidth_f ();
+ linewidth_f_ = s->paper_l_->get_var("linewidth");
do_set_pscore ();
}
-bool
-Break_algorithm::feasible (Line_of_cols curline) const
-{
- if (linelength <= 0)
- return true;
- for (int i=0; i < curline.size (); i++)
- {
- if (i && i < curline.size () -1
- && ((dynamic_cast<Score_column*>(curline[i]))->break_penalty_i () >= Break_req::FORCE))
- return false;
- }
- return true;
-}
void
Break_algorithm::problem_OK () const
}
-
-
Break_align_item::Break_align_item ()
{
stacking_dir_ = RIGHT;
Array<Shift_tup> hand (forced_shift ());
Link_array<Note_column> done;
- Real wid = paper_l ()->note_width ();
+ Real wid = paper_l ()->get_var ("collision_note_width");
for (int i=0; i < hand.size (); i++)
{
hand[i].e1_->translate_axis (hand[i].e2_ *wid, X_AXIS);
*/
#include "column-x-positions.hh"
-#include "simple-spacer.hh" // ugh
#include "real.hh"
#include "debug.hh"
{
energy_f_ = infinity_f;
satisfies_constraints_b_ = false;
- spacer_l_ =0;
}
Column_x_positions::~Column_x_positions()
}
-void
-Column_x_positions::add_paper_column (Paper_column*c)
-{
- cols_.push (c);
-}
void
Column_x_positions::print() const
Break_req::Break_req ()
{
- penalty_i_ = 0;
}
Mark_req::Mark_req (String s)
bool continued = broken[Direction (-grow_dir_)];
- Real height = paper_l()->staffheight_f () / 6;
+ Real height = paper_l()->get_var ("crescendo_height");
Real thick = paper_l ()->get_var ("crescendo_thickness");
return Molecule (lookup_l ()->hairpin (w_dim, height, thick, grow_dir_ < 0, continued));
--- /dev/null
+#include "cross-staff.hh"
+#include "item.hh"
+#include "align-element.hh"
+#include "spanner.hh"
+#include "warn.hh"
+
+Real
+calc_interstaff_dist (Item const *item, Spanner const *span)
+{
+ Real interstaff = 0.0;
+ Graphical_element *common = item->common_refpoint (span, Y_AXIS);
+ Align_element * align = dynamic_cast<Align_element*> (common);
+ if (align && align->axis() == Y_AXIS)
+ {
+ if (align->threshold_interval_[MIN] !=
+ align->threshold_interval_[MAX])
+ warning (_ ("minVerticalAlign != maxVerticalAlign: cross staff spanners may be broken"));
+
+ interstaff = align->threshold_interval_[MIN];
+
+ Graphical_element const * span_refpoint = span;
+ while (span_refpoint->parent_l (Y_AXIS) != common)
+ span_refpoint = span_refpoint->parent_l (Y_AXIS);
+
+ Graphical_element const * note_refpoint = item;
+ while (note_refpoint->parent_l (Y_AXIS) != common)
+ note_refpoint = note_refpoint->parent_l (Y_AXIS);
+
+ int span_prio =
+ align->get_priority ((Score_element*) dynamic_cast<Score_element const*> (span_refpoint));
+ int item_prio =
+ align->get_priority ((Score_element*) dynamic_cast<Score_element const *> (note_refpoint));
+
+ /*
+ our staff is lower -> interstaff *= -1
+ */
+
+ if (span_prio < item_prio)
+ interstaff *= -1;
+ return interstaff;
+ }
+ else return 0.0;
+}
+
+++ /dev/null
-/*
- encompass-info.cc -- implement Encompass_info
-
- source file of the GNU LilyPond music typesetter
-
- (c) 1998--1999 Jan Nieuwenhuizen <janneke@gnu.org>
-
-*/
-#include "dimension-cache.hh"
-#include "proto.hh"
-#include "stem.hh"
-#include "note-column.hh"
-#include "paper-def.hh"
-#include "encompass-info.hh"
-#include "slur.hh"
-#include "staff-symbol.hh"
-#include "note-head.hh"
-#include "debug.hh"
-#include "align-element.hh"
-
-Encompass_info::Encompass_info ()
-{
-}
-
-Encompass_info::Encompass_info (Note_column const* note_column, Direction dir, Slur const* slur_l)
-{
- interstaff_f_ = 0;
-
- Stem* stem_l = note_column->stem_l_;
- if (!stem_l)
- {
- warning (_ ("Slur over rest?"));
- o_[X_AXIS] = note_column->hpos_f ();
- o_[Y_AXIS] = note_column->extent (Y_AXIS)[dir];
- return;
- }
-
- o_[X_AXIS] = stem_l->hpos_f ();
-
- /*
- Simply set x to middle of notehead
- */
-
- o_[X_AXIS] -= 0.5 * stem_l->dir_ * note_column->extent (X_AXIS).length ();
-
- if ((stem_l->dir_ == dir)
- && !stem_l->extent (Y_AXIS).empty_b ())
- {
- o_[Y_AXIS] = stem_l->extent (Y_AXIS)[dir];
- }
- else
- {
- o_[Y_AXIS] = note_column->extent (Y_AXIS)[dir];
- }
-
- /*
- leave a gap: slur mustn't touch head/stem
- */
- o_[Y_AXIS] += dir * slur_l->paper_l ()->get_var ("slur_y_free");
-
- Graphical_element *common = stem_l->common_refpoint (slur_l, Y_AXIS);
- Align_element * align = dynamic_cast<Align_element*> (common);
- if (align && align->axis() == Y_AXIS)
- {
- if (align->threshold_interval_[MIN] !=
- align->threshold_interval_[MAX])
- warning (_ ("minVerticalAlign != maxVerticalAlign: interstaff beams/slurs may be broken"));
-
- interstaff_f_ = align->threshold_interval_[MIN];
-
- Graphical_element const * slur_refpoint = slur_l;
- while (slur_refpoint->parent_l (Y_AXIS) != common)
- slur_refpoint = slur_refpoint->parent_l (Y_AXIS);
-
- Graphical_element const * note_refpoint = note_column;
- while (note_refpoint->parent_l (Y_AXIS) != common)
- note_refpoint = note_refpoint->parent_l (Y_AXIS);
-
- int slur_prio =
- align->get_priority ((Score_element*) dynamic_cast<Score_element const*> (slur_refpoint));
- int stem_prio =
- align->get_priority ((Score_element*) dynamic_cast<Score_element const *> (note_refpoint));
-
- /*
- our staff is lower -> interstaff_f_ *= -1
- */
-
- if (slur_prio < stem_prio)
- interstaff_f_ *= -1;
- o_[Y_AXIS] += interstaff_f_;
- }
-}
#include "engraver-group-engraver.hh"
#include "debug.hh"
#include "paper-def.hh"
+#include "score-element.hh"
void
Engraver::fill_staff_info (Staff_info&)
Extender_spanner::do_post_processing ()
{
// UGH
- Real nw_f = paper_l ()->note_width () * 0.8;
+ Real gap = paper_l ()->get_realvar (interline_scm_sym);
Direction d = LEFT;
do
if (d == LEFT)
dx_f_drul_[d] += t->extent (X_AXIS).length ();
else
- dx_f_drul_[d] -= d * nw_f / 2;
+ dx_f_drul_[d] -= d * gap / 2;
}
while (flip(&d) != LEFT);
}
*/
int minimal_start_idx = -1;
Column_x_positions minimal_sol;
+ Column_x_positions backup_sol;
+
Real minimal_demerits = infinity_f;
for (int start_idx = break_idx; start_idx--;)
{
-#if 0
- if (break_idx - start_idx > max_measures_i_)
- break;
-#endif
-
- if (optimal_paths[start_idx].prev_break_i_ < 0
- && optimal_paths[start_idx].line_config_.energy_f_)
- continue;
-
-
-
Line_of_cols line = all.slice (breaks[start_idx], breaks[break_idx]+1);
line[0] = dynamic_cast<Paper_column*>(line[0]->find_broken_piece (RIGHT));
line.top () = dynamic_cast<Paper_column*>(line.top ()->find_broken_piece (LEFT));
- if (!feasible (line))
- break;
-
Column_x_positions cp;
cp.cols_ = line;
Simple_spacer * sp = generate_spacing_problem (line, line_dims);
sp->solve (&cp);
delete sp;
-
+
+ if (start_idx == break_idx - 1)
+ backup_sol = cp; // in case everything fucks up
if (!cp.satisfies_constraints_b_)
break;
- Real this_demerits
- = combine_demerits (optimal_paths[start_idx].line_config_, cp)
- + optimal_paths[start_idx].demerits_f_;
+
+ Real this_demerits;
+ if (optimal_paths[start_idx].demerits_f_ >= infinity_f)
+ this_demerits = infinity_f;
+ else
+ this_demerits = combine_demerits (optimal_paths[start_idx].line_config_, cp)
+ + optimal_paths[start_idx].demerits_f_;
if (this_demerits < minimal_demerits)
{
}
}
+ int prev =break_idx - 1;
if (minimal_start_idx < 0)
{
- optimal_paths[break_idx].prev_break_i_ = -1;
- optimal_paths[break_idx].line_config_.energy_f_ = infinity_f;
+ optimal_paths[break_idx].demerits_f_ = infinity_f;
+ optimal_paths[break_idx].line_config_ = backup_sol;
}
else
{
- optimal_paths[break_idx].prev_break_i_ = minimal_start_idx;
+ prev = minimal_start_idx;
optimal_paths[break_idx].line_config_ = minimal_sol;
optimal_paths[break_idx].demerits_f_ = minimal_demerits;
- optimal_paths[break_idx].line_i_ =
- optimal_paths[minimal_start_idx].line_i_ + 1;
}
+ optimal_paths[break_idx].prev_break_i_ = prev;
+ optimal_paths[break_idx].line_i_ = optimal_paths[prev].line_i_ + 1;
if (! (break_idx % HAPPY_DOTS_I))
*mlog << "[" << break_idx << "]" << flush;
for (int i = optimal_paths.size ()-1; i> 0;)
{
final_breaks.push (i);
- assert (i > optimal_paths[i].prev_break_i_);
-
- // there was no "feasible path"
- if (!optimal_paths[i].line_config_.config_.size ()) {
- final_breaks.set_size (0);
- break;
- }
- i = optimal_paths[i].prev_break_i_;
+ int prev = optimal_paths[i].prev_break_i_;
+ assert (i > prev);
+ i = prev;
}
-
+ if (optimal_paths.top ().demerits_f_ >= infinity_f)
+ warning (_ ("No feasible line breaking found"));
+
for (int i= final_breaks.size (); i--;)
lines.push (optimal_paths[final_breaks[i]].line_config_);
Gourlay_breaking::combine_demerits (Column_x_positions const &prev,
Column_x_positions const &this_one) const
{
- return abs (this_one.force_f_) + abs (prev.force_f_ - this_one.force_f_);
+ Real break_penalties = 0.0;
+ Paper_column * pc = this_one.cols_.top ();
+ if (pc->original_l_)
+ {
+ SCM pen = pc->get_elt_property (penalty_scm_sym);
+ if (pen != SCM_BOOL_F)
+ {
+ break_penalties += gh_scm2double (SCM_CDR(pen));
+ }
+ }
+
+ return abs (this_one.force_f_) + abs (prev.force_f_ - this_one.force_f_)
+ + break_penalties;
}
Hyphen_spanner::do_post_processing ()
{
// UGH
- Real nw_f = paper_l ()->note_width () * 0.8;
+ Real gap = paper_l ()->get_realvar (interline_scm_sym);
Direction d = LEFT;
do
if (d == LEFT)
dx_f_drul_[d] += t->extent (X_AXIS).length ();
else
- dx_f_drul_[d] -= d * nw_f / 2;
+ dx_f_drul_[d] -= d * gap / 2;
}
while (flip(&d) != LEFT);
}
protected:
virtual void do_creation_processing ();
virtual void do_removal_processing ();
- virtual bool do_try_music (Music *req_l);
virtual void do_process_requests();
virtual void do_pre_move_processing();
- virtual void do_post_move_processing();
+
private:
void create_bar ();
- Bar_req * bar_req_l_;
Bar * bar_p_;
};
--- /dev/null
+/*
+ bar-req-collect-engraver.hh -- declare
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+#ifndef BAR_REQ_COLLECT_ENGRAVER_HH
+#define BAR_REQ_COLLECT_ENGRAVER_HH
+
+#include "engraver.hh"
+class Bar_req_collect_engraver : public Engraver
+{
+ Bar_req* bar_req_l_;
+public:
+ VIRTUAL_COPY_CONS(Translator);
+ void do_post_move_processing ();
+ bool do_try_music (Music *);
+};
+
+
+
+#endif /* Bar_Req_COLLECT_ENGRAVER_HH */
+
The beams should be prevented to conflict with the stafflines,
especially at small slopes.
*/
- enum Quantisation { NONE, NORMAL, TRADITIONAL, TEST };
+ enum Quantisation { NONE, NORMAL, TRADITIONAL };
enum Dir_algorithm { /* DOWN=-1, UP=1, */ MAJORITY=2, MEAN, MEDIAN };
Link_array<Stem> stems_;
protected:
Paper_score *pscore_l_;
- Real linelength;
+ Real linewidth_f_;
/// search all pcols which are breakable.
Line_of_cols find_breaks() const;
typedef Link_array<Paper_column> Line_of_cols;
struct Column_x_positions {
- Simple_spacer * spacer_l_;
+
Line_of_cols cols_;
Array<Real> config_;
~Column_x_positions();
Column_x_positions();
- void add_paper_column (Paper_column*c);
void print() const;
};
class Break_req : public Request {
public:
- enum { DISALLOW = -10000, FORCE = 10000 };
- int penalty_i_;
+ Real penalty_f_;
Break_req ();
protected:
VIRTUAL_COPY_CONS(Music);
--- /dev/null
+/*
+ cross-staff.hh -- declare cross staff calc funcs.
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+#ifndef CROSS_STAFF_HH
+#define CROSS_STAFF_HH
+#include "lily-proto.hh"
+Real
+calc_interstaff_dist (Item const *item, Spanner const *span);
+
+#endif /* CROSS_STAFF_HH */
+
+++ /dev/null
-/*
- encompass-info.hh -- declare Encompass_info
-
- source file of the GNU LilyPond music typesetter
-
- (c) 1998--1999 Jan Nieuwenhuizen <janneke@gnu.org>
-
-*/
-
-#ifndef ENCOMPASS_INFO_HH
-#define ENCOMPASS_INFO_HH
-
-#include "lily-proto.hh"
-#include "direction.hh"
-#include "offset.hh"
-
-struct Encompass_info
-{
- Encompass_info ();
- Encompass_info (Note_column const*, Direction, Slur const *);
-
- Offset o_;
- // junkme
- Real interstaff_f_;
-};
-
-#endif // ENCOMPASS_INFO_HH
DECLARE_LY_SYMBOL(origin);
DECLARE_LY_SYMBOL(output);
DECLARE_LY_SYMBOL(padding);
+DECLARE_LY_SYMBOL(penalty);
DECLARE_LY_SYMBOL(pianobrace);
DECLARE_LY_SYMBOL(placebox);
DECLARE_LY_SYMBOL(rulesym);
Interpretation_context_handle handle_;
protected:
+ bool playback_b_; // Should use SCMs
+
Music const * music_l_;
/// ugh. JUNKME
void set_translator (Translator_group*);
/** Get an iterator matching the type of MUS, and use TRANS to find
- an accompanying translation unit
- */
- static Music_iterator* static_get_iterator_p (Music const* mus);
+ 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);
void init_translator (Music const *, Translator_group *);
Music_iterator();
add support for multiple fontsizes
-
+ remove all utility funcs
add support for other len->wid conversions.
- Input_engraver should be in here.
-
Interesting variables:
/// The distance between lines
interline
- */
+*/
class Paper_def : public Music_output_def
{
Hash_table<int, Lookup *> *lookup_p_tab_p_;
public:
virtual ~Paper_def ();
-
Array<Interval> shape_int_a_;
Real get_realvar (SCM symbol) const;
void set_lookup (int, Lookup*);
Paper_def (Paper_def const&);
- /// The distance between beams of multiplicity_i
+ /** The distance between beams of multiplicity_i
+ JUNKME
+ */
Real interbeam_f (int multiplicity_i) const;
- /// The thickness of a beam
- Real beam_thickness_f () const;
-
- /// thickness of the standard line
- Real rule_thickness () const;
-
- /// thickness of the staff line
- Real staffline_f () const;
-
Interval line_dimensions_int (int) const;
- Real linewidth_f () const;
-
- /// height of the staff
- Real staffheight_f () const;
- /// width of a crotchet ball
- Real note_width () const;
void print () const;
Lookup const * lookup_l (int sz) const; // TODO naming
influence using the geometric_ and paratime_signatures.
*/
Real length_mom_to_dist (Moment, Real) const;
- Real geometric_spacing (Moment) const;
+
Real arithmetic_constant (Moment minimal_mom) const;
Real arithmetic_spacing (Moment mom,Real constant) const;
+
virtual int get_next_default_count () const;
static void reset_default_count();
class Paper_score : public Music_output
{
- /// crescs etc; no particular order
- Link_array<Spanner> span_p_arr_;
-
- /// other elements
- Link_array<Score_element> elem_p_arr_;
- Link_array<Score_element> break_helpers_arr_;
-
- SCM protected_scms_;
+ SCM element_smob_list_;
public:
Paper_def *paper_l_;
*/
class Score_column : public Paper_column {
- friend class Score;
- friend class Score_engraver;
-
- int break_penalty_i_;
Moment when_;
public:
Moment shortest_playing_mom_;
Moment shortest_starter_mom_;
- int break_penalty_i () { return break_penalty_i_; }
VIRTUAL_COPY_CONS(Score_element);
*/
class Score_element : public virtual Graphical_element {
-
- friend class Paper_score;
/**
properties specific for this element. Destructor will not call
scm_unprotect, so as to allow more flexible GC arrangements. The
Paper_def *paper_l () const;
Lookup const *lookup_l () const;
- virtual ~Score_element ();
void add_processing ();
void substitute_dependency (Score_element*,Score_element*);
virtual Score_element *find_broken_piece (Line_of_score*) const;
protected:
+
+ /**
+ Junk score element. This is protected because this is supposed to
+ be handled by GUILE gc. */
+ virtual ~Score_element ();
+
Score_element* dependency (int) const;
int dependency_size () const;
virtual Link_array<Score_element> get_extra_dependencies () const;
static Interval dim_cache_callback (Dimension_cache*);
+public:
+ SCM smobify_self ();
+ static SCM mark_smob (SCM);
+ static scm_sizet free_smob (SCM s);
+ static int print_smob (SCM s, SCM p, scm_print_state*);
+ static long smob_tag;
+ static void init_smobs();
+ SCM self_scm_;
};
public Engraver_group_engraver, public Global_translator
{
Line_of_score * scoreline_l_;
- int break_penalty_i_;
int breaks_i_;
Link_array<Score_element> elem_p_arr_;
*/
class Slur : public Bow
{
+ int cross_staff_count () const;
+ Offset encompass_offset (Note_column const* )const;
public:
Slur ();
VIRTUAL_COPY_CONS(Score_element);
void add_column (Note_column*);
-
+
Link_array<Note_column> encompass_arr_;
protected:
*/
class Timing_engraver : public Timing_translator, public Engraver
{
+
+ Bar_req * bar_req_l_;
protected:
virtual void fill_staff_info (Staff_info&);
+ virtual bool do_try_music (Music * );
+ virtual void do_post_move_processing ();
public:
+ String which_bar ();
VIRTUAL_COPY_CONS(Translator);
};
*/
int done_count_;
+
+ /// unfold everything, or do volta?
+ bool full_unfold_b_;
/// are we busy doing the body?
bool do_main_b_;
}
extern void init_symbols ();
+extern void init_smobs (); // guh -> .hh
+
void
init_lily_guile ()
{
init_symbols();
init_functions ();
+ init_smobs ();
}
brace_count ++;
else if (text[i] == '}')
brace_count --;
- Character_metric *c = (Character_metric*)afm_l->get_char ((unsigned char)text[i],false);
+ Character_metric *c = (Character_metric*)afm_l->
+ get_char ((unsigned char)text[i],false);
+ // Ugh, use the width of 'x' for unknown characters
+ if (c->dimensions()[X_AXIS].length () == 0)
+ c = (Character_metric*)afm_l->get_char ((unsigned char)'x',false);
w += c->dimensions()[X_AXIS].length ();
ydims.unite (c->dimensions()[Y_AXIS]);
}
cout << _ ("Typeset music and or play MIDI from FILE");
cout << "\n\n";
cout <<
-#include "BLURB.hh"
+_(
+"LilyPond is a music typesetter. It produces beautiful sheet music\n"
+"using a high level description file as input. LilyPond is part of \n"
+"the GNU Project.\n"
+);
cout << '\n';
cout << _ ("Options:");
Midi_def::print() const
{
#ifndef NPRINT
+ DEBUG_OUT << "MIDI {\n";
Music_output_def::print ();
- DEBUG_OUT << "Midi {";
DEBUG_OUT << "4/min: " << Moment (60) / (whole_in_seconds_mom_ * Moment (4));
- DEBUG_OUT << "}\n";
+ DEBUG_OUT << "}\n";
#endif
}
}
Music_iterator*
-Music_iterator::static_get_iterator_p (Music const *m)
+Music_iterator::static_get_iterator_p (Music const *m, bool playing)
{
Music_iterator * p =0;
p = new Music_wrapper_iterator;
else if (Repeated_music const * n = dynamic_cast<Repeated_music const *> (m))
{
- if (n->fold_b_)
+ if (n->fold_b_ && !playing)
p = new Folded_repeat_iterator;
else
p = new Unfolded_repeat_iterator;
}
else
assert (0);
-
+
+ p->playback_b_ = playing;
p->music_l_ = m;
return p;
Music_iterator*
Music_iterator::get_iterator_p (Music const*m) const
{
- Music_iterator*p = static_get_iterator_p (m);
+ Music_iterator*p = static_get_iterator_p (m, playback_b_);
p->init_translator (m, report_to_l());
p->construct_children();
Music_iterator::Music_iterator()
{
+ playback_b_ = false;
first_b_ = true;
}
{
if (!shape_int_a_.size ())
{
- if (n)
- return Interval (0, linewidth_f ());
- else
- return Interval (get_var ("indent"), linewidth_f ());
+ Real lw = get_realvar (linewidth_scm_sym);
+ Real ind = n? 0.0:get_var ("indent");
+
+ return Interval (ind, lw);
}
if (n >= shape_int_a_.size ())
return shape_int_a_[n];
}
-Real
-Paper_def::beam_thickness_f () const
-{
- return get_realvar (beam_thickness_scm_sym);
-}
-
-Real
-Paper_def::linewidth_f () const
-{
- return get_realvar (linewidth_scm_sym);
-}
Real
Paper_def::length_mom_to_dist (Moment d,Real k) const
}
-Real
-Paper_def::rule_thickness () const
-{
- return get_realvar (rulethickness_scm_sym);
-}
-
-Real
-Paper_def::staffline_f () const
-{
- return get_realvar (rulethickness_scm_sym);
- }
-
-Real
-Paper_def::staffheight_f () const
-{
- return get_realvar (staffheight_scm_sym);
- }
-
Real
Paper_def::interbeam_f (int multiplicity_i) const
{
return get_realvar (interbeam4_scm_sym);
}
-Real
-Paper_def::note_width () const
-{
- return get_realvar (notewidth_scm_sym);
-}
void
Paper_def::print () const
Paper_score::Paper_score ()
{
- protected_scms_ = scm_protect_object (gh_cons (SCM_BOOL_T, SCM_EOL));
paper_l_ =0;
outputter_l_ =0;
Line_of_score * line_p = new Line_of_score;
- typeset_unbroken_spanner (line_p);
-
+ line_p->pscore_l_ = this;
+ element_smob_list_ = scm_protect_object (gh_cons (line_p->self_scm_, SCM_EOL));
line_l_ = line_p;
}
Paper_score::~Paper_score ()
{
- for (int i=span_p_arr_.size (); --i >=0 ; )
- delete span_p_arr_[i];
- for (int i=elem_p_arr_.size (); --i >=0 ; )
- delete elem_p_arr_[i];
-
- scm_unprotect_object (protected_scms_);
+ scm_unprotect_object (element_smob_list_);
}
void
Paper_score::typeset_element (Score_element * elem_p)
{
- elem_p_arr_.push (elem_p);
elem_p->pscore_l_ = this;
- // take over protection.
- SCM_CDR(protected_scms_) = gh_cons (elem_p->element_property_alist_,
- SCM_CDR (protected_scms_));
- scm_unprotect_object (elem_p->element_property_alist_);
-
- SCM p = elem_p->remove_elt_property (break_helper_only_scm_sym);
- if (p != SCM_BOOL_F)
- break_helpers_arr_.push (elem_p);
-}
-
-
-void
-Paper_score::typeset_unbroken_spanner (Spanner*span_p)
-{
- span_p_arr_.push (span_p);
- span_p->pscore_l_=this;
-
- SCM p = span_p->remove_elt_property (break_helper_only_scm_sym);
- if (p != SCM_BOOL_F)
- break_helpers_arr_.push (span_p);
+ SCM_CDR(element_smob_list_) = gh_cons (elem_p->self_scm_,
+ SCM_CDR (element_smob_list_));
+ scm_unprotect_object (elem_p->self_scm_);
}
void
typeset_element(p);
}
-
-
void
Paper_score::print () const
{
#ifndef NPRINT
if (!flower_dstream)
return ;
+
DEBUG_OUT << "Paper_score { ";
DEBUG_OUT << "\n elements: ";
- for (int i=0; i < span_p_arr_.size (); i++)
- span_p_arr_[i]->print ();
- for (int i=0; i < elem_p_arr_.size (); i++)
- elem_p_arr_[i]->print();
-
+
+ for (SCM p = SCM_CDR (element_smob_list_);
+ p != SCM_EOL;
+ p = SCM_CDR(p))
+ gh_display (SCM_CAR(p));
DEBUG_OUT << "}\n";
#endif
}
typeset_element (line_l);
}
- if (experimental_features_global_b)
- *mlog << _f ("%s elements", elem_p_arr_.size () + span_p_arr_.size ());
*mlog << "\n";
*mlog << _ ("Line ... ");
line_l->post_processing ();
*mlog << i << flush;
line_l->output_all (i + 1 == lines.size());
- if (experimental_features_global_b)
- *mlog << '(' << elem_p_arr_.size () + span_p_arr_.size () << ')';
-
*mlog << ']' << flush;
}
*/
midi_block:
MIDI
-
- '{' midi_body '}' { $$ = $3; }
+ '{' midi_body '}' {
+ $$ = $3;
+ THIS-> lexer_p_-> scope_l_arr_.pop();
+ }
;
midi_body: /* empty */ {
- $$ = THIS->default_midi_p ();
+ Midi_def * p =THIS->default_midi_p ();
+ $$ = p;
+ THIS->lexer_p_->scope_l_arr_.push (p->scope_p_);
}
| MIDI_IDENTIFIER {
- $$ = $1-> access_content_Midi_def (true);
+ Midi_def * p =$1-> access_content_Midi_def (true);
+ $$ = p;
+ THIS->lexer_p_->scope_l_arr_.push (p->scope_p_);
}
| midi_body assignment semicolon {
m->one_beat_i_=$4;
$$ = m;
}
- | PENALTY int {
+ | PENALTY int {
Break_req * b = new Break_req;
- b->penalty_i_ = $2;
- b-> set_spot (THIS->here_input ());
+ b->penalty_f_ = $2 / 100.0;
+ b->set_spot (THIS->here_input ());
$$ = b;
}
| SKIP duration_length {
Score_column::Score_column (Moment w)
{
- break_penalty_i_ = 0;
when_ = w;
}
{
#ifndef NPRINT
DEBUG_OUT << " at " << when_ << '\n';
- if (break_penalty_i_ >= Break_req::FORCE)
- DEBUG_OUT << "Break forced";
-
DEBUG_OUT << "Shortest playing: " << shortest_playing_mom_ << " shortest starter: " << shortest_starter_mom_;
Paper_column::do_print();
#endif
pscore_l_=0;
lookup_l_ =0;
status_i_ = 0;
+ self_scm_ = SCM_EOL;
original_l_ = 0;
element_property_alist_ = scm_protect_object (gh_cons (gh_cons (void_scm_sym, SCM_BOOL_T) , SCM_EOL));
+
+ smobify_self ();
}
Score_element::Score_element (Score_element const&s)
: Graphical_element (s)
{
+
+ self_scm_ = SCM_EOL;
used_b_ = true;
original_l_ =(Score_element*) &s;
element_property_alist_ = scm_protect_object (scm_list_copy (s.element_property_alist_));
status_i_ = s.status_i_;
lookup_l_ = s.lookup_l_;
pscore_l_ = s.pscore_l_;
+
+ smobify_self ();
}
Score_element::~Score_element()
pscore_l_->outputter_l_->output_molecule (output_p_,
o,
classname(this));
+
+ delete output_p_;
+ output_p_ =0;
}
/*
{
return 0;
}
+
+static scm_smobfuns score_elt_funs = {
+ Score_element::mark_smob, Score_element::free_smob,
+ Score_element::print_smob, 0,
+};
+
+
+SCM
+Score_element::smobify_self ()
+{
+ if (self_scm_ != SCM_EOL)
+ return self_scm_;
+
+ SCM s;
+ SCM_NEWCELL(s);
+ SCM_SETCAR(s,smob_tag);
+ void * me_p = this;
+ SCM_SETCDR(s,me_p);
+ scm_protect_object (s);
+ self_scm_ = s;
+
+ scm_unprotect_object (element_property_alist_); // ugh
+ return s;
+}
+
+SCM
+Score_element::mark_smob (SCM ses)
+{
+ void * mp = (void*) SCM_CDR(ses);
+ Score_element * s = (Score_element*) mp;
+
+ assert (s->self_scm_ == ses);
+ return s->element_property_alist_;
+}
+
+scm_sizet
+Score_element::free_smob (SCM ses)
+{
+ Score_element * s = (Score_element*) SCM_CDR(ses);
+ delete s;
+ return 0;
+}
+
+int
+Score_element::print_smob (SCM s, SCM port, scm_print_state *)
+{
+ Score_element *sc = (Score_element *) SCM_CDR (s);
+
+ scm_puts ("#<Score_element ", port);
+ scm_puts ((char *)sc->name (), port);
+ scm_puts (" >", port);
+ return 1;
+}
+
+long Score_element::smob_tag;
+
+void
+Score_element::init_smobs ()
+{
+ smob_tag = scm_newsmob (&score_elt_funs);
+}
+
+void
+init_smobs()
+{
+ Score_element::init_smobs ();
+}
Score_engraver::Score_engraver()
{
- break_penalty_i_ = 0;
scoreline_l_ =0;
command_column_l_ =0;
musical_column_l_ =0;
{
Global_translator::prepare (w);
set_columns (new Score_column (w), new Score_column (w));
-
- break_penalty_i_ = 0;
+
+ command_column_l_->set_elt_property (breakable_scm_sym, SCM_BOOL_T);
post_move_processing();
}
{
announce_info_arr_.push (info);
info.origin_trans_l_arr_.push (this);
-
- if (Spanner *s = dynamic_cast <Spanner *> (info.elem_l_))
- pscore_p_->typeset_unbroken_spanner (s);
- else if (Item *i = dynamic_cast<Item*> (info.elem_l_))
- pscore_p_->typeset_element (i);
+ pscore_p_->typeset_element (info.elem_l_);
}
/* All elements are propagated to the top upon announcement. If
void
Score_engraver::do_pre_move_processing()
{
- if (break_penalty_i_ > Break_req::DISALLOW)
+ if (command_column_l_->get_elt_property (breakable_scm_sym) != SCM_BOOL_F)
{
- command_column_l_->set_elt_property (breakable_scm_sym, SCM_BOOL_T);
breaks_i_ ++;
if (! (breaks_i_%8))
*mlog << "[" << breaks_i_ << "]" << flush;
scoreline_l_->add_column (command_column_l_);
}
else
- {
- delete command_column_l_ ;
- command_column_l_ =0;
- }
+ command_column_l_ =0;
+
if (new_command_l)
command_column_l_ = new_command_l;
scoreline_l_->add_column (musical_column_l_);
}
else
- {
- delete musical_column_l_;
- musical_column_l_ = 0;
- }
+ musical_column_l_ = 0;
if (new_musical_l)
{
if (!gotcha)
{
- /*
- UGH! THIS IS NOT SYMMETRIC. CLEAN ME UP!
- */
if (Break_req* b = dynamic_cast<Break_req *> (r))
{
gotcha = true;
- if (b->penalty_i_ <= Break_req::DISALLOW)
- break_penalty_i_ = b->penalty_i_;
- else if (b->penalty_i_ >= Break_req::FORCE)
- command_column_l_->break_penalty_i_ = b->penalty_i_;
+
+
+ SCM pen = command_column_l_->get_elt_property (penalty_scm_sym);
+ Real total_penalty = (pen == SCM_BOOL_F)
+ ? 0.0
+ : gh_scm2double (SCM_CDR(pen)); // ugh. Should typecheck.
+
+ total_penalty += b->penalty_f_;
+ if (b->penalty_f_ > 10000.0) // ugh. arbitrary.
+ forbid_breaks ();
+
+ command_column_l_->set_elt_property (penalty_scm_sym,
+ gh_double2scm (total_penalty));
}
}
return gotcha;
void
Score_engraver::forbid_breaks ()
{
- break_penalty_i_ = Break_req::DISALLOW;
+ SCM junk = command_column_l_->remove_elt_property (breakable_scm_sym);
}
ADD_THIS_TRANSLATOR(Score_engraver);
*mlog << '\n' << _("Interpreting music...") << flush;
trans_p->last_mom_ = music_p_->length_mom ();
- Music_iterator * iter = Music_iterator::static_get_iterator_p (music_p_);
+
+ bool playing = odef_l->scope_p_->elem_b ("unfold_all");
+ Music_iterator * iter = Music_iterator::static_get_iterator_p (music_p_, playing);
iter->init_translator(music_p_, trans_p);
iter->construct_children();
Separating_group_spanner::Separating_group_spanner()
{
- set_elt_property (break_helper_only_scm_sym, SCM_BOOL_T);
padding_f_ =0.0;
}
Cons<Music> *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_);
+ Music_iterator * mi = static_get_iterator_p (i->car_, playback_b_);
/* if separate_contexts_b_ is set, create a new context with the
number number as name */
Single_malt_grouping_item ::Single_malt_grouping_item()
{
- set_elt_property (break_helper_only_scm_sym, SCM_BOOL_T);
set_elt_property (transparent_scm_sym, SCM_BOOL_T);
// this is weird! , but needed!
#include "debug.hh"
#include "box.hh"
#include "bezier.hh"
-#include "encompass-info.hh"
#include "main.hh"
+#include "cross-staff.hh"
Slur::Slur ()
{
return Item::left_right_compare (n1, n2);
}
+
+Offset
+Slur::encompass_offset (Note_column const* col) const
+{
+ Offset o;
+ Stem* stem_l = col->stem_l_;
+ if (!stem_l)
+ {
+ warning (_ ("Slur over rest?"));
+ o[X_AXIS] = col->hpos_f ();
+ o[Y_AXIS] = col->extent (Y_AXIS)[dir_];
+ return o;
+ }
+
+ o[X_AXIS] = stem_l->hpos_f ();
+
+ /*
+ Simply set x to middle of notehead
+ */
+
+ o[X_AXIS] -= 0.5 * stem_l->dir_ * col->extent (X_AXIS).length ();
+
+ if ((stem_l->dir_ == dir_)
+ && !stem_l->extent (Y_AXIS).empty_b ())
+ {
+ o[Y_AXIS] = stem_l->extent (Y_AXIS)[dir_];
+ }
+ else
+ {
+ o[Y_AXIS] = col->extent (Y_AXIS)[dir_];
+ }
+
+ /*
+ leave a gap: slur mustn't touch head/stem
+ */
+ o[Y_AXIS] += dir_ * paper_l ()->get_var ("slur_y_free");
+ o[Y_AXIS] += calc_interstaff_dist (stem_l, this);
+ return o;
+}
+
+/*
+ ARGRARGRARGRARGAR!
+
+ Fixme
+ */
void
Slur::do_post_processing ()
{
}
while (flip (&d) != LEFT);
- int interstaff_i = 0;
- for (int i = 0; i < encompass_arr_.size (); i++)
+ bool cross_count = cross_staff_count ();
+ bool interstaff_b = (0 < cross_count) && (cross_count < encompass_arr_.size ());
+
+ Drul_array<Offset> info_drul;
+ Interval interstaff_interval;
+
+ do
{
- Encompass_info info (encompass_arr_[i], dir_, this);
- if (info.interstaff_f_)
- {
- interstaff_i++;
- }
+ info_drul[d] = encompass_offset (encompass_arr_.boundary (d, 0));
+ interstaff_interval[d] = calc_interstaff_dist (encompass_arr_.boundary (d,0),
+ this);
}
- bool interstaff_b = interstaff_i && (interstaff_i < encompass_arr_.size ());
-
- Drul_array<Encompass_info> info_drul;
- info_drul[LEFT] = Encompass_info (encompass_arr_[0], dir_, this);
- info_drul[RIGHT] = Encompass_info (encompass_arr_.top (), dir_, this);
- Real interstaff_f = info_drul[RIGHT].interstaff_f_
- - info_drul[LEFT].interstaff_f_;
+ while (flip (&d) != LEFT);
+
+ Real interstaff_f = interstaff_interval.length ();
if (fix_broken_b)
{
Direction d = (encompass_arr_.top () != spanned_drul_[RIGHT]) ?
RIGHT : LEFT;
- dy_f_drul_[d] = info_drul[d].o_[Y_AXIS];
+ dy_f_drul_[d] = info_drul[d][Y_AXIS];
if (!interstaff_b)
{
- dy_f_drul_[d] -= info_drul[d].interstaff_f_;
-
- if (interstaff_i)
+ dy_f_drul_[d] -= interstaff_interval[d];
+ if (cross_count) // interstaff_i ?
{
- dy_f_drul_[LEFT] += info_drul[d].interstaff_f_;
- dy_f_drul_[RIGHT] += info_drul[d].interstaff_f_;
+ dy_f_drul_[LEFT] += interstaff_interval[d];
+ dy_f_drul_[RIGHT] += interstaff_interval[d];
}
}
}
Catch and correct some ugly cases
*/
- Real height_damp_f;
- Real slope_damp_f;
- Real snap_f;
- Real snap_max_dy_f;
+
- if (!interstaff_b)
- {
- height_damp_f = paper_l ()->get_var ("slur_height_damping");
- slope_damp_f = paper_l ()->get_var ("slur_slope_damping");
- snap_f = paper_l ()->get_var ("slur_snap_to_stem");
- snap_max_dy_f = paper_l ()->get_var ("slur_snap_max_slope_change");
- }
- else
- {
- height_damp_f = paper_l ()->get_var ("slur_interstaff_height_damping");
- slope_damp_f = paper_l ()->get_var ("slur_interstaff_slope_damping");
- snap_f = paper_l ()->get_var ("slur_interstaff_snap_to_stem");
- snap_max_dy_f = paper_l ()->get_var ("slur_interstaff_snap_max_slope_change");
- }
+ String infix = interstaff_b ? "interstaff_" : "";
+ Real height_damp_f = paper_l ()->get_var ("slur_"+infix +"height_damping");
+ Real slope_damp_f = paper_l ()->get_var ("slur_"+infix +"slope_damping");
+ Real snap_f = paper_l ()->get_var ("slur_"+infix +"snap_to_stem");
+ Real snap_max_dy_f = paper_l ()->get_var ("slur_"+infix +"snap_max_slope_change");
if (!fix_broken_b)
dy_f_drul_[RIGHT] += interstaff_f;
snapped_b_drul[LEFT] = snapped_b_drul[RIGHT] = false;
do
{
- if ((note_column_drul[d] == spanned_drul_[d])
- && (note_column_drul[d]->stem_l_)
- && (note_column_drul[d]->stem_l_->dir_ == dir_)
- && (abs (note_column_drul[d]->stem_l_->extent (Y_AXIS)[dir_]
- - dy_f_drul_[d] + (d == LEFT ? 0 : interstaff_f))
- <= snap_f))
+ Note_column * nc = note_column_drul[d];
+ if (nc == spanned_drul_[d]
+ && nc->stem_l_
+ && nc->stem_l_->dir_ == dir_
+ && abs (nc->stem_l_->extent (Y_AXIS)[dir_]
+ - dy_f_drul_[d] + (d == LEFT ? 0 : interstaff_f))
+ <= snap_f)
{
/*
prepare to attach to stem-end
*/
- Stem* stem_l = note_column_drul[d]->stem_l_;
- snapx_f_drul[d] = stem_l->hpos_f ()
+ snapx_f_drul[d] = nc->stem_l_->hpos_f ()
- spanned_drul_[d]->relative_coordinate (0, X_AXIS);
- snapy_f_drul[d] = stem_l->extent (Y_AXIS)[dir_];
- snapy_f_drul[d] += info_drul[d].interstaff_f_;
- snapy_f_drul[d] += dir_ * 2 * y_gap_f;
+
+ snapy_f_drul[d] = nc->stem_l_->extent (Y_AXIS)[dir_]
+ + interstaff_interval[d]
+ + dir_ * 2 * y_gap_f;
+
snapped_b_drul[d] = true;
}
}
*/
if (!fix_broken_b)
dy_f += interstaff_f;
+
+
+ /*
+ (sigh)
+
+ More refactoring could be done.
+ */
+ Real maxsnap = abs (dy_f * snap_max_dy_f);
if (snapped_b_drul[LEFT] && snapped_b_drul[RIGHT]
&& ((sign (snapy_f_drul[RIGHT] - snapy_f_drul[LEFT]) == sign (dy_f)))
&& (!dy_f || (abs (snapy_f_drul[RIGHT] - snapy_f_drul[LEFT] - dy_f)
- < abs (dy_f * snap_max_dy_f))))
- {
- do
- {
- dy_f_drul_[d] = snapy_f_drul[d];
- dx_f_drul_[d] = snapx_f_drul[d];
- }
- while (flip (&d) != LEFT);
-
- }
- else if (snapped_b_drul[LEFT]
- && ((sign (dy_f_drul_[RIGHT] - snapy_f_drul[LEFT]) == sign (dy_f)))
- && (!dy_f || (abs (dy_f_drul_[RIGHT] - snapy_f_drul[LEFT] - dy_f)
- < abs (dy_f * snap_max_dy_f))))
+ < maxsnap)))
{
- Direction d = LEFT;
- dy_f_drul_[d] = snapy_f_drul[d];
- dx_f_drul_[d] = snapx_f_drul[d];
+ dy_f_drul_ = snapy_f_drul;
+ dx_f_drul_ = snapx_f_drul;
}
- else if (snapped_b_drul[RIGHT]
- && ((sign (snapy_f_drul[RIGHT] - dy_f_drul_[LEFT]) == sign (dy_f)))
- && (!dy_f || (abs (snapy_f_drul[RIGHT] - dy_f_drul_[LEFT] - dy_f)
- < abs (dy_f * snap_max_dy_f))))
+ else
+ do
+ {
+ Direction od = (Direction)-d;
+ if (snapped_b_drul[d]
+ && d * sign (snapy_f_drul[d] - dy_f_drul_[od]) == sign (dy_f)
+ && (!dy_f || (abs (snapy_f_drul[d] - dy_f_drul_[od] - d * dy_f)
+ < maxsnap)))
+ {
+ dy_f_drul_[d] = snapy_f_drul[d];
+ dx_f_drul_[d] = snapx_f_drul[d];
+ }
+ }
+ while (flip (&d) != LEFT);
+}
+
+
+int
+Slur::cross_staff_count ()const
+{
+ int k=0;
+
+ for (int i = 0; i < encompass_arr_.size (); i++)
{
- Direction d = RIGHT;
- dy_f_drul_[d] = snapy_f_drul[d];
- dx_f_drul_[d] = snapx_f_drul[d];
+ if (calc_interstaff_dist (encompass_arr_[i], this))
+ k++;
}
+ return k;
}
+
Array<Offset>
Slur::get_encompass_offset_arr () const
{
offset_arr.push (Offset (0, dy_f_drul_[RIGHT]));
return offset_arr;
#endif
-
- int interstaff_i = 0;
- for (int i = 0; i < encompass_arr_.size (); i++)
- {
- Encompass_info info (encompass_arr_[i], dir_, this);
- if (info.interstaff_f_)
- {
- interstaff_i++;
- }
- }
- bool interstaff_b = interstaff_i && (interstaff_i < encompass_arr_.size ());
Offset origin (relative_coordinate (0, X_AXIS), 0);
int last = encompass_arr_.size () - 2;
offset_arr.push (Offset (dx_f_drul_[LEFT], dy_f_drul_[LEFT]));
+
/*
left is broken edge
*/
+
+ int cross_count = cross_staff_count ();
+ bool cross_b = cross_count && cross_count < encompass_arr_.size ();
if (encompass_arr_[0] != spanned_drul_[LEFT])
{
first--;
- Encompass_info left_info (encompass_arr_[0], dir_, this);
- if (interstaff_b)
- offset_arr[0][Y_AXIS] += left_info.interstaff_f_;
+ Real is = calc_interstaff_dist (encompass_arr_[0], this);
+ if (cross_b)
+ offset_arr[0][Y_AXIS] += is;
}
/*
for (int i = first; i <= last; i++)
{
- Encompass_info info (encompass_arr_[i], dir_, this);
- offset_arr.push (info.o_ - origin);
+ Offset o (encompass_offset (encompass_arr_[i]));
+ offset_arr.push (o - origin);
}
offset_arr.push (Offset (do_width ().length () + dx_f_drul_[RIGHT],
Spacing_spanner::Spacing_spanner ()
{
- set_elt_property (break_helper_only_scm_sym, SCM_BOOL_T);
set_elt_property (transparent_scm_sym, SCM_BOOL_T);
}
- spanned_drul_[LEFT]->relative_coordinate (common, X_AXIS)
;
- Real t = paper_l ()->get_var ("rulethickness");
+ Real t = paper_l ()->get_var ("stafflinethickness");
Molecule rule = lookup_l ()->filledbox (Box (Interval (0,width),
Interval (-t/2, t/2)));
#include "proto.hh"
#include "misc.hh"
-#include "debug.hh"
-#include "dimension-cache.hh"
+#include "cross-staff.hh"
-#include "align-element.hh"
#include "stem.hh"
#include "paper-def.hh"
#include "lookup.hh"
#include "stem-info.hh"
#include "beam.hh"
-#include "staff-symbol.hh"
+
Stem_info::Stem_info ()
{
}
+
+
/*
FIXME: y dims should not be in internote.
*/
-
Stem_info::Stem_info (Stem*s, int mult)
{
mult_i_ =mult;
Paper_def* paper_l = stem_l_->paper_l ();
Real internote_f = stem_l_->staff_line_leading_f ()/2;
Real interbeam_f = paper_l->interbeam_f (mult_i_);
- Real beam_f = paper_l->beam_thickness_f ();
+ Real beam_f = paper_l->get_realvar (beam_thickness_scm_sym);;
- {
- static int i = 1;
- DEBUG_OUT << "******" << i++ << "******\n"
- << "begin_f: " << stem_l_->stem_begin_f () * dir_
- << "\nchord_f/i: " << stem_l_->chord_start_f () * dir_ / internote_f << '\n';
- }
// strangely enough, dim(chord_start_f) == pt (and not internote!)
idealy_f_ = stem_l_->chord_start_f () / internote_f;
/* knee */
{
idealy_f_ -= beam_f;
- // idealy_f_ -= (mult_i_ - 1) * interbeam_f;
- // idealy_f_ += (mult_i_ - stem_l_->flag_i_ >? 0) * interbeam_f;
maxy_f_ = idealy_f_;
miny_f_ = -INT_MAX;
miny_f_ /= internote_f;
maxy_f_ /= internote_f;
- DEBUG_OUT << "dir_: " << dir_ << '\n';
- DEBUG_OUT << "mult_i_: " << mult_i_ << '\n';
- DEBUG_OUT << "idealy_f_: " << idealy_f_ << '\n';
- DEBUG_OUT << "miny_f_: " << miny_f_ << '\n';
- DEBUG_OUT << "maxy_f_: " << maxy_f_ << '\n';
-
idealy_f_ = maxy_f_ <? idealy_f_;
idealy_f_ = miny_f_ >? idealy_f_;
// interstaff beam
Beam* beam_l = stem_l_->beam_l_;
- Graphical_element *common = stem_l_->common_refpoint (beam_l, Y_AXIS);
- Align_element * align = dynamic_cast<Align_element*> (common);
- if (align && align->axis() == Y_AXIS)
- {
- if (align->threshold_interval_[MIN] !=
- align->threshold_interval_[MAX])
- warning (_ ("minVerticalAlign != maxVerticalAlign: interstaff beams/slurs may be broken"));
-
- interstaff_f_ = align->threshold_interval_[MIN] / internote_f;
-
- Graphical_element * beam_refpoint = beam_l;
- Graphical_element * stem_refpoint = stem_l_;
-
- while (beam_refpoint->parent_l (Y_AXIS) != common)
- beam_refpoint = beam_refpoint->parent_l (Y_AXIS);
- while (stem_refpoint->parent_l (Y_AXIS) != common)
- stem_refpoint = stem_refpoint->parent_l (Y_AXIS);
-
-
- int beam_prio =
- align->get_priority (dynamic_cast<Score_element*> (beam_refpoint));
- int stem_prio =
- align->get_priority (dynamic_cast<Score_element*> (stem_refpoint));
-
- /*
- our staff is lower -> interstaff_f_ *= -1
- */
- if (beam_prio < stem_prio)
- interstaff_f_ *= -1;
-
- idealy_f_ += interstaff_f_ * beam_dir_;
- miny_f_ += interstaff_f_ * beam_dir_;
- maxy_f_ += interstaff_f_ * beam_dir_;
- }
+ Real is = calc_interstaff_dist (stem_l_, beam_l);
+ idealy_f_ += is* beam_dir_;
+ miny_f_ += is * beam_dir_;
+ maxy_f_ += is * beam_dir_;
}
Real space = stem_l_->staff_line_leading_f ();
Real internote_f = space/2;
- Real beam_f = paper_l ()->beam_thickness_f ();
+ Real beam_f = paper_l ()->get_realvar (beam_thickness_scm_sym);
int beams_i = 0;
Real slope_f = internote_f / 4 / internote_f; // HUH?
if (head_l_arr_.size())
{
Interval head_wid(0, head_l_arr_[0]->extent (X_AXIS).length ());
- Real rule_thick(paper_l ()->rule_thickness ());
+ Real rule_thick = paper_l ()->get_var ("stemthickness");
+
Interval stem_wid(-rule_thick/2, rule_thick/2);
if (dir_ == CENTER)
r = head_wid.center ();
ADD_THIS_TRANSLATOR(Timing_engraver);
+
+
+void
+Timing_engraver::do_post_move_processing( )
+{
+ bar_req_l_ = 0;
+ Timing_translator::do_post_move_processing ();
+}
+
+bool
+Timing_engraver::do_try_music (Music*m)
+{
+ if (Bar_req * b= dynamic_cast <Bar_req *> (m))
+ {
+ if (bar_req_l_ && bar_req_l_->equal_b (b)) // huh?
+ return false;
+
+ bar_req_l_ = b;
+ return true;
+ }
+
+ return Timing_translator::do_try_music (m);
+}
+
+
+String
+Timing_engraver::which_bar ()
+{
+ if (!bar_req_l_)
+ {
+ if (!now_mom ())
+ return "|";
+
+ Scalar nonauto = get_property ("barNonAuto", 0);
+ if (!nonauto.to_bool ())
+ {
+ Scalar always = get_property ("barAlways", 0);
+ if (!time_.whole_in_measure_ || always.to_bool ())
+ return get_property ("defaultBarType" ,0);
+ }
+ return "";
+ }
+ else
+ {
+ return bar_req_l_->type_str_;
+ }
+}
{
done_mom_ += mus->repeat_body_p_->length_mom ();
- if (!mus->volta_fold_b_)
+ if (full_unfold_b_)
done_count_ ++;
if (alternative_cons_l_)
current_iter_p_ = get_iterator_p (alternative_cons_l_->car_);
do_main_b_ = false;
}
- else if (done_count_ < mus->repeats_i_ && !mus->volta_fold_b_)
+ else if (done_count_ < mus->repeats_i_ && full_unfold_b_)
{
current_iter_p_ = get_iterator_p (mus->repeat_body_p_);
do_main_b_ = true;
{
done_mom_ += alternative_cons_l_->car_->length_mom ();
- if (mus->volta_fold_b_ ||
+ if (!full_unfold_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 (mus->volta_fold_b_)
+ if (full_unfold_b_)
done_count_ ++;
}
if (done_count_ < mus->repeats_i_ && alternative_cons_l_)
{
- if (mus->volta_fold_b_)
+ if (!full_unfold_b_)
current_iter_p_ = get_iterator_p (alternative_cons_l_->car_);
else
{
Unfolded_repeat_iterator::construct_children ()
{
Repeated_music const* mus =dynamic_cast<Repeated_music const*> (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;
center=0
-break = \penalty 10000;
-nobreak = \penalty -10000;
+break = \penalty -1000000;
+nobreak = \penalty 1000000;
major = 0
minor = 3
};
\translator { \StaffGroupContext }
-\translator{
+% UGH! JUNKME
+LyricsVoiceContext= \translator{
\type "Engraver_group_engraver";
\consistsend "Axis_group_engraver";
\consists "Lyric_engraver";
\consists "Extender_engraver";
\consists "Hyphen_engraver";
-}
+};
+\translator{ \LyricsVoiceContext }
-\translator {
+LyricsContext = \translator {
\type "Engraver_group_engraver";
\name Lyrics;
\consists Vertical_align_engraver;%need this for getting folded repeats right.
\consistsend "Axis_group_engraver";
\accepts "LyricVoice";
-}
+};
+\translator { \LyricsContext }
\translator{
\type "Engraver_group_engraver";
\name Score;
\consists "Timing_engraver";
+
\consists "Span_score_bar_engraver";
\consists "Score_priority_engraver";
\consists "Spacing_engraver";
\consists "Vertical_align_engraver";
alignmentReference = \down;
defaultClef = treble;
-
+ defaultBarType = "|";
\accepts "Staff";
\accepts "StaffGroup";
\accepts "RhythmicStaff";
\midi {
\tempo 4=60;
\include "performer.ly"
+% unfold_all = "1";
}
interline = \staffheight / 4.0;
-% thickness of stafflines
-staffline = \interline / 10.0;
+stafflinethickness = \interline / 10.0;
% urg, need grace_ versions of these too?
-beam_thickness = 0.52 * (\interline - \staffline);
-interbeam = (2.0 * \interline + \staffline - \beam_thickness) / 2.0;
+beam_thickness = 0.52 * (\interline - \stafflinethickness);
+interbeam = (2.0 * \interline + \stafflinethickness - \beam_thickness) / 2.0;
interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
% stems and beams
tie_staffspace_length = 4.0 * \interline;
% ugh: rename to bow (in bezier.cc and fonts.doc too...)
-% slur_thickness = 1.8 * \staffline;
-slur_thickness = 1.4 * \staffline;
+% slur_thickness = 1.8 * \stafflinethickness;
+slur_thickness = 1.4 * \stafflinethickness;
%{
Specifies the maximum height of slurs.
% ugh
notewidth = (\quartwidth + \wholewidth) / 2.0;
-% ugh
-rulethickness = \staffline;
-
gourlay_energybound = 100000.;
%{
Maximum number of measures per line to try when using Gourlay
%}
-bar_kern = 3.0 * \staffline;
-bar_thinkern = 3.0 * \staffline;
-barthick_thick = 6.0* \staffline;
-barthick_thin = 1.6*\staffline;
-barthick_score = 1.6*\staffline;
+bar_kern = 3.0 * \stafflinethickness;
+bar_thinkern = 3.0 * \stafflinethickness;
+barthick_thick = 6.0* \stafflinethickness;
+barthick_thin = 1.6*\stafflinethickness;
+barthick_score = 1.6*\stafflinethickness;
tuplet_spanner_gap = 2.0 * \interline;
-tuplet_thick = 1.0*\staffline;
-volta_thick = 1.6*\staffline;
+tuplet_thick = 1.0*\stafflinethickness;
+volta_thick = 1.6*\stafflinethickness;
volta_spanner_height = 2.0 *\interline;
% relative thickness of thin lines 1.6 : 1 : 0.8
-stemthickness = 0.8*\staffline;
-rulethickness = \staffline;
+stemthickness = 0.8*\stafflinethickness;
+rulethickness = \stafflinethickness;
-extender_height = 0.8*\staffline;
+extender_height = 0.8*\stafflinethickness;
hyphen_thickness = 0.05*\font_normal;
hyphen_height = 0.2*\font_normal;
% chop off this much when next to pp / ff sign.
crescendo_shorten = 4.0 * \interline;
-crescendo_thickness = \staffline;
+crescendo_thickness = \stafflinethickness;
+crescendo_height = 1.5 * \interline;
% in internote.
restcollision_minimum_dist = 3.0;
restcollision_minimum_beamdist = 1.5;
+
+% unit for note collision resolving
+collision_note_width = \notewidth; %ugh.
+
% deprecated!
postBreakPadding = 0.0;
% ugh, cluttering global namespace...
% ugh2.
-none=0
-free=0
-normal=1
-traditional=2
infinity=10000
beamslopeproportional =
- \property Score.beamslopedamping = \none
+ \property Score.beamslopedamping = 0
beamslopedamped =
- \property Score.beamslopedamping = \normal
+ \property Score.beamslopedamping = 1
beamslopezero =
% this sucks, you'd want to pass an array, at least
% (or embedded code: you still can't dictate the slope / stemlength)
beamposfree =
- \property Score.beamquantisation = \none
+ \property Score.beamquantisation = 0
beamposnormal =
- \property Score.beamquantisation = \normal
+ \property Score.beamquantisation = 1
beampostraditional =
- \property Score.beamquantisation = \traditional
+ \property Score.beamquantisation = 2
slurnormal =
%package documentation
Summary: Prebuilt website containing all LilyPond documentation.
Group: Applications/Publishing
-BuildArchitectures: noarch
+# BuildArchitectures: noarch
%description documentation
@BLURB@
Begin3
Title: LilyPond
-Version: 1.2.14
-Entered-date: 17OCT99
+Version: 1.2.15
+Entered-date: 18OCT99
Description:
-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.
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.14.tar.gz
+ 1000k lilypond-1.2.15.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 1000k lilypond-1.2.14.tar.gz
+ 1000k lilypond-1.2.15.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 1.2.14
+Version: 1.2.15
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.2.14.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.2.15.tar.gz
Summary: A program for printing sheet music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
%description
-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.
%package documentation
Summary: Prebuilt website containing all LilyPond documentation.
Group: Applications/Publishing
+# BuildArchitectures: noarch
%description documentation
-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.
The documentation package is rather big, due to the many pictures and
different documentation formats. It is really a rip-off from the
#%install documentation
#line 63: second %install
# again, make sure that main package installs even if doco fails
-mkdir -p htmldocs
-tar -C htmldocs -xzf out/htmldoc.tar.gz
+mkdir -p htmldocs/out
+tar -C htmldocs -xzf out/htmldoc.tar.gz || true
mkdir -p out/examples/
-tar -cf - input/ | tar -C out/examples/ -xf-
+tar -cf - input/ | tar -C out/examples/ -xf- || true
%post
# descent order into subdirectories:
#
SUBDIRS = scripts buildscripts flower lib lily mf midi2ly po debian \
- Documentation ly input tex make mutopia test intl stepmake\
+ Documentation ly input tex make mutopia intl stepmake\
ps scm
#
SCRIPTS = configure aclocal.m4
-README_FILES = DEDICATION ANNOUNCE-0.1 ANNOUNCE-1.0 ANNOUNCE-1.2 \
- COPYING NEWS-0.1 NEWS-1.0 NEWS-0.0 NEWS-1.1 NEWS TODO AIMS CHANGES
-README_TXT_FILES = README.txt AUTHORS.txt INSTALL.txt
+README_FILES = DEDICATION COPYING NEWS TODO CHANGES
+README_TXT_FILES = README.txt INSTALL.txt
IN_FILES := $(wildcard *.in)
EXTRA_DIST_FILES = dstreamrc mudela-mode.el vimrc VERSION $(README_FILES) $(SCRIPTS) $(IN_FILES)
NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES)
March 13-14, 1999, by Bergslagens Kammarsymfoniker conducted
by Ola Karlsson.
+The piece is for a small symphony orchestra with (using standard
+notation for orchestral settings): 1121-2200-10-strings
+
Christian Mondrup has provided the following background on the
piece:
It was composed 1850 as a ouverture for the comedy "Imellem
-Fjeldene" by the danish poet Carsten Hauch. In the Andante
+Fjeldene" by the Danish poet Carsten Hauch. In the Andante
introduction, Gade uses a melody from the collection ``Norske
Folkesagn og Melodier'' (``Norwegian folksongs and melodies'')
-by the danish composer A.P. Bergreen. The song has a norwegian
+by the Danish composer A.P. Bergreen. The song has a Norwegian
text ``Heimreise fraa Sæteren'' by Edvard Storm. The second
theme of the Allegro part might very well come from the same
collection, namely the song ``Saag du nokke Kjærringa mi''.
e4 \fz r
}
-corIhelp=\notes\relative c''' {
+corIcue=\notes\relative c''' {
\key c;
\tiny
s2.*32 |
s2*33 | \stemup
-r4 r8 [g16^"oboe" \p ( a ] |
+r4 r8 [g16^"oboe" ( a ] |
[ ) g8-. fis16 ( g ][ ) fis8-. f16 ( g ] |
[ ) f8-. e16 ( f ] ) e8-. s | \stemboth
s2*66 |
) e4 r |
}
-corIIhelp=\notes\relative c'' {
+corIIcue=\notes\relative c'' {
\key c;
\tiny
g4 \fz r
}
-trpIhelp=\notes\relative c'' {
+trpIcue=\notes\relative c'' {
\tiny
s2.*32 |
)bes8 [a16 ( bes ] ) a8
}
-trpIIhelp=\notes\relative c'' {
+trpIIcue=\notes\relative c'' {
\tiny
[c8.^"Oboe" ( d16] ) c2 |
f4 \fz r
}
-timphelp=\notes\relative c' {
+timpcue=\notes\relative c' {
\tiny
[c8.^"Oboe, \\okt" ( d16] ) c2 |
\marks
\flauto
>
- \context Voice = help \flautohelp
+ \context Voice = cue \flautocue
>
\header{
instrument = "Flauto";
\marks
\oboe
>
- \context Voice = help \oboehelp
+ \context Voice = cue \oboecue
>
\header{
instrument = "Oboe";
\marks
\corI
>
- \context Voice = help \corIhelp
+ \context Voice = cue \corIcue
>
\header{
instrument = "Corno I in F";
\marks
\corII
>
- \context Voice = help \corIIhelp
+ \context Voice = cue \corIIcue
>
\header{
instrument = "Corno II in F";
\marks
\trpI
>
- \context Voice = help \trpIhelp
+ \context Voice = cue \trpIcue
>
\header{
instrument = "Tromba I in B\\textflat";
\marks
\trpII
>
- \context Voice = help \trpIIhelp
+ \context Voice = cue \trpIIcue
>
\header{
instrument = "Tromba II in B\\textflat";
\marks
\timpani
>
- \context Voice = help \timphelp
+ \context Voice = cue \timpcue
>
\header{
instrument = "Timpani \& Triangolo";
markScriptPadding = "20.0";
}
\translator {
-% \HaraKiriStaffContext % Gives lost bar lines and misplaced marks!!
- \StaffContext
+ \HaraKiriStaffContext
\consists "Staff_margin_engraver";
marginScriptPadding = "15.0";
dynamicPadding = 3.0;
\property Staff."midiInstrument" = "viola"
[c8. \f ( d16 ] ) c2_"dim." |
-\context Staff <{\voiceone s4 c2 |
+\context Staff <{\voiceone [c8. d16 ] c2 |
c2. ~ |
c2. ~ |
c2. ~ |
\! fis4 r | % dim. added
R2*4 |
e'2 \fz \> ( |
-) \! fis,4 r |
+) fis,4 \! r |
b2 \> ( |
) \! ais4 r |
fis2 \pp \< ~ |
\! fis4 r |
R2*4 |
e'2 \fz \> ( |
-) \! fis,4 r |
+) fis,4 \! r |
e'2 \p ( |
) ais, |
R2*2 |
\! e \< ~ |
\! e \> |
\grace d'8 ( ) \! f2 \fz \> ( |
-) \! e4. r8 |
+) e4. \! r8 |
f,2 \> ( ( |
[ ) \! e8 d c ) b ] |
a2 \pp \< ~ |
e ~ |
e |
\grace d'8 ( ) f2 \fz \> ( |
-) \! e4. r8 |
+) e4. \! r8 |
f,2 \p ( |
) e4 r |
f'2-> ( |
) c'4 \fz r
}
-oboehelp=\notes\relative c'' {
+oboecue=\notes\relative c'' {
\tiny
s2.*32 |
[e c ) d] s |
}
-flautohelp=\notes\relative c'' {
+flautocue=\notes\relative c'' {
\tiny
s2.*32 |
(define (lily-def key val)
(string-append
- "\\def\\" (output-tex-string key) "{" (output-tex-string val) "}\n"))
+ "\\def\\"
+; (regexp-substitute/global #f "_" (output-tex-string key) 'pre "X" 'post)
+ (output-tex-string key)
+ "{" (output-tex-string val) "}\n"))
(define (number->dim x)
(string-append
+++ /dev/null
-# title makefile for test
-# test/Makefile
-
-depth = ..
-
-NAME = lily-test
-MODULE_NAME = lily-test
-
-MODULE_CXXFLAGS = -I$(depth)/flower/include -I$(depth)/flower -I$(depth)/lily/include -I$(depth)/lily
-STEPMAKE_TEMPLATES=c++
-
-include $(depth)/make/stepmake.make
-
-# default: $(EXECUTABLE)
-
-# include $(stepdir)/Executable.make
-
+++ /dev/null
-// vim:sw=2 makeprg=g++\ -g\ bow.cc\ -o\ bow
-#include <iostream.h>
-#define PT
-// #define STAFFHEIGHT 16.0
-#define STAFFHEIGHT 20.0
-
-#define UP 1
-#define DOWN (-1)
-
-// mmm
-#define STANDALONE
-
-#include <math.h>
-
-typedef void *Paper_def;
-
-bool experimental_features_global_b = true;
-//bool experimental_features_global_b = false;
-
-#include "bezier.hh"
-
-#if 0
-#include "offset.cc"
-#include "interval.cc"
-#endif
-
-#include "misc.cc"
-#include "bezier.cc"
-
-struct Point
-{
- Real x, y;
-};
-
-void
-out (Bezier_bow& b)
-{
- cout << "save dx,dy,x,y;\n";
- for (int i = 0; i < 4; i++)
- cout << "z" << i + 1 << " = (" << b.control_[i].x ()
- << ", " << b.control_[i].y () << ");\n";
- for (int i = 1; i < 3; i++)
- cout << "z" << i + 4 << " = (" << b.return_[i].x ()
- << ", " << b.return_[i].y () << ");\n";
-#if 0
- cout << "pickup pencircle scaled 0.5pt#;\n";
- cout << "draw z2--z3; draw (50,0)-- 0.5[z2,z3];\n";
-#endif
- cout << "pickup pencircle scaled 4pt#;\n";
- for (int i = 0; i < 4; i++)
- cout << "drawdot z" << i + 1 << ";\n";
- cout << "path boogje;\n";
-#if 0
- cout << "pickup pencircle scaled 0.4pt#;\n";
- cout << "boogje=z1..controls z2 and z3..z4..controls z5 and z6..cycle;\n";
- cout << "filldraw boogje;\n";
-#else
- cout << "pickup pencircle scaled 1.6pt#;\n";
- cout << "boogje=z1..controls z2 and z3..z4;\n";
- cout << "draw boogje;\n";
- cout << "pickup pencircle scaled 0.4pt#;\n";
- cout << "boogje:=z4..controls z5 and z6..z1;\n";
- cout << "draw boogje;\n";
-#endif
- cout << "showit; shipit;clearit;" << endl;
-}
-
-void
-bow (Point* points, int n, int d)
-{
- Array<Offset> notes;
- for (int i = 0; i < n; i++)
- notes.push (Offset (points[i].x, points[i].y));
-#if 1
- cout << "pickup pencircle scaled 8pt#;\n";
-#else
- cout << "pickup pencircle scaled 2pt#;\n";
-#endif
- for (int i = 0; i < n; i++)
- cout << "drawdot (" << notes[i].x () << ", " << notes[i].y () << ");\n";
- Bezier_bow b (0);
- b.set (notes, d);
- b.calc ();
- out (b);
- return;
-}
-
-int
-main ()
-{
- //cout.unsetf(ios::scientific);
- cout.setf(ios::fixed);
-#if 1
- bow ((Point[6]){ 0,0, 20,0, 40,0, 60,0, 80,0, 100,1 }, 6, 1);
- bow ((Point[6]){ 0,0, 20,0, 40,30, 60,30, 80,0, 100,1 }, 6, 1);
- bow ((Point[6]){ 0,0, 20,0, 40,0, 60,0, 80,10, 100,1 }, 6, 1);
- bow ((Point[6]){ 0,0, 20,0, 40,0, 60,0, 80,40, 100,1 }, 6, 1);
- bow ((Point[6]){ 0,0, 20,0, 40,0, 60,40, 80,0, 100,1 }, 6, 1);
- bow ((Point[6]){ 0,10, 20,20, 40,0, 60,40, 80,20, 100,50 }, 6, 1);
- bow ((Point[6]){ 0,10, 20,20, 40,0, 60,40, 80,20, 100,50 }, 6, -1);
- bow ((Point[6]){ 0,10, 20,20, 40,0, 60,40, 80,20, 100,100 }, 6, -1);
- bow ((Point[9]){ 0,0, 20,0, 40,-80, 60,0, 80,0, 100,0, 120,0, 140,0, 160,-1 }, 9, -1);
- bow ((Point[9]){ 0,0, 40,0, 80,180, 120,0, 160,0, 200,0, 240,0, 280,0, 320,1 }, 9, 1);
- bow ((Point[9]){
- {0, 0},
- {19.10645980317711, 1},
- {29.402919606354207, 28},
- {55.389379409531308, 1},
- {73.530839212708514, 1},
- {91.672299015885727, 1},
- {111.35901367452229, 1},
- {131.04572833315891, 1},
- {145.76744299179552, 0}
- },
- 9, 1);
- bow ((Point[6]){ 0,0, 20,0, 40,0, 60,0, 80,0, 100,40 }, 6, 1);
- bow ((Point[2]){ 0,0, 20,0 }, 2, 1);
- bow ((Point[2]){ 0,0, 20,-10 }, 2, 1);
- bow ((Point[6]){ 0,0, 20,0, 40,0, 60,0, 80,0, 100,100 }, 6, 1);
-
- bow ((Point[6]){ 0,0, 20,-10, 40,20, 60,-20, 80,20, 100,0 }, 6, 1);
- bow ((Point[6]){ 0,0, 20,-10, 40,20, 60,-20, 80,20, 100,0 }, 6, -1);
- bow ((Point[6]){ 0,0, 20,20, 40,0, 60,40, 80,20, 100,50 }, 6, 1);
- bow ((Point[6]){ 0,0, 20,20, 40,0, 60,40, 80,20, 100,50 }, 6, -1);
- bow ((Point[6]){ 0,0, 20,20, 40,0, 60,40, 80,20, 100,100 }, 6, -1);
-
- bow ((Point[6]){ 0,-10, 20,-20, 40,0, 60,-40, 80,-20, 100,-50 }, 6, 1);
-
- bow ((Point[6]){ 0,10, 20,20, 40,0, 60,40, 80,20, 100,50 }, 6, -1);
-#endif
-
-#if 1
- //clipping
-
- bow ((Point[6]){ 0,0, 20,60, 40,0, 60,0, 80,0, 100,1 }, 6, 1);
-
- bow ((Point[6]){ 0,1, 20,0, 40,0, 60,0, 80,60, 100,0 }, 6, 1);
- bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
- bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,20, 100,100 }, 6, -1);
- bow ((Point[6]){ 0,0, 20,-20, 40,-40, 60,-60, 80,-20, 100,-100 }, 6, 1);
- bow ((Point[6]){ 0,0, 20,-20, 40,-40, 60,-60, 80,-140, 100,-100 }, 6, -1);
- bow ((Point[7]){ 0,0, 20,40, 100,0, 150,0, 200,0, 280,40, 300,0 }, 7, 1);
- bow ((Point[7]){ 0,0, 20,-40, 100,0, 150,0, 200,0, 280,-40, 300,0 }, 7, -1);
- bow ((Point[7]){ 0,20, 20,40, 100,0, 150,0, 200,0, 280,40, 300,20 }, 7, 1);
- bow ((Point[3]){ 0,0, 10,10, 20,-20 }, 3, 1);
-
- bow ((Point[4]){ 0,0, 33,100, 75,0, 100,100 }, 4, -1);
- bow ((Point[4]){ 0,0, 33,-100, 75,0, 100,-100 }, 4, 1);
-#endif
-
-#if 1
- // infeasible
-
- bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
- bow ((Point[6]){ 0,0, 20,-40, 40,0, 60,20, 80,20, 100,40 }, 6, -1);
- bow ((Point[6]){ 0,0, 20,-20, 40,-20, 60,-20, 80,-80, 100,-40 }, 6, -1);
- bow ((Point[6]){ 0,0, 20,-20, 40,-40, 60,-60, 80,-140, 100,-100 }, 6, -1);
- bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
-#endif
-
- cout << "\\end" << endl;
-
- return 0;
-}
-
+++ /dev/null
-#include <stdio.h>
-#include <iostream.h>
-#include "dictionary-iter.hh"
-
-
-
-main ()
-{
- Dictionary<String> *dict = new Dictionary<String>;
-
- char s[1000];
-
- dict->elem("foo") = "bar";
- dict->elem("bla") = "ba";
- dict->elem("blo") = "bar";
-
- while (gets (s))
- {
- String str (s);
-
- int l = str.length_i ();
-
- dict->elem (str.left_str (l/2)) = str.right_str (l/2);
- }
-
- int i=1000;
- while (i--)
- {
- Dictionary<String> *dict2=new Dictionary<String> (*dict);
- delete dict;
- dict = dict2;
- }
-
- for (Dictionary_iter<String> i (*dict); i.ok (); i++)
- {
- cout << i.key () << " == " << i.val () << endl;
- cout << "elem_b: " << dict->elem_b (i.key ()) << ", key " << i.key () << " val " << dict->elem (i.key ()) <<endl;
- }
-}
+++ /dev/null
-// vim:sw=2 makeprg=g++\ -g\ bow.cc\ -o\ bow
-#include <iostream.h>
-#define PT
-// #define STAFFHEIGHT 16.0
-#define STAFFHEIGHT 20.0
-
-#define UP 1
-#define DOWN (-1)
-
-// mmm
-#define STANDALONE
-
-#include <math.h>
-
-typedef void *Paper_def;
-
-bool experimental_features_global_b = true;
-
-#include "misc.cc"
-
-int
-main ()
-{
- //cout.unsetf(ios::scientific);
- cout.setf(ios::fixed);
-
- Array<Real> a;
- a.push (3.4);
- a.push (3.9);
- Interval iv;
-
- iv = quantise_iv (a, 4, 3.5);
- cout << "iv: " << iv.min () << ", " << iv.max () << endl;
-
- iv = quantise_iv (a, 4, -1.5);
- cout << "iv: " << iv.min () << ", " << iv.max () << endl;
-
- iv = quantise_iv (a, 4, -7.5);
- cout << "iv: " << iv.min () << ", " << iv.max () << endl;
-
- iv = quantise_iv (a, 4, 3.4);
- cout << "iv: " << iv.min () << ", " << iv.max () << endl;
-
- iv = quantise_iv (a, 4, 3.9);
- cout << "iv: " << iv.min () << ", " << iv.max () << endl;
-
- cout << "\\end" << endl;
-
- return 0;
-}
-
% note the ! sign. See dvips.info for details.
%
-% Use of
-% /foo { operatorname } bind def
-%
-% ``compiles'' operatorname binding in the body of foo, making
-% the code faster, and more reliable (less flexible)
-
-
+% ARG. Fix brackets
\def\turnOnPostScript{%
% This sets CTM so that you get to the currentpoint
% by executing a 0 0 moveto
}
%
\special{!
-/stafflinethickness \mudelapaperstaffline\space def
+/stafflinethickness \mudelapaperstafflinethickness\space def
/interline \mudelapaperinterline\space def
interline 3 div /bracket_b exch def
interline 2 mul /bracket_w exch def