Joseph Rushton Wakeling <joseph.wakel...@webdrake.net> writes: > On 14/05/12 11:47, m...@apollinemike.com wrote: >> This is very hard because of the butterfly effect - an A-flat in an >> already-crammed line could lead to new line breaking, which means >> new vertical spacing etc.. > > I don't assume it would be easy! But enabling GUI/IDE developers to > build functionality like that in the video seems like an exciting > possibility which it might be good to take into account when taking > the LilyPond compiler forward.
First, you have to be aware that LilyPond does a _global_ optimization process for making its decisions. Any change can lead to differences _later_ in the score as well as _earlier_ in the score. A change on the last page can change the layout of the first page. Contrast this with TeX which does global optimization on each paragraph (a change at the end of paragraph may cause differences for the layout at the beginning of the paragraph) for the line breaking, but only local optimization for the page breaking (changes on page n+2 will not percolate back to page n as long as they are not in the same paragraph). There is a WYSIWYG editor using TeX's line/page breaking algorithms that is called TeXmacs <URL:http://www.texmacs.org> (incidentally, one of the poster childs for Guile integration along with LilyPond). Try editing texts in a paragraph with it. The global paragraph optimization makes this sometimes somewhat non-linear and surprising in the editing experience. And that is doing only the line breaking globally. It basically had to reimplement TeX to work in this manner. Completely. In contrast, LyX <URL:http://www.lyx.org> uses a simple greedy line breaking algorithm in its GUI, and TeX in its backend. This is no longer WYSIWYG, but the editing experience is more straightforward. There are programs like Denemo <URL:http://www.denemo.org> working in that manner in connection with LilyPond. It is not like the graphical frontends are not mentioned in LilyPond's documentation. Have you checked <URL:http://lilypond.org/doc/v2.15/Documentation/web/easier-editing#Score_002c-tab-and-MIDI-editors_003a>? As you may have noticed, making demands is easy. But "somebody should really" does not get anything accomplished. And I can't avoid the impression that you have invested a _lot_ less time in doing your research before suggesting we are doing everything all wrong than I have in answering you. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel