Re: Makes sure that ledger lines do not overlap with accidentals. (issue 4898060)
Hey all, My patch did change output (it prevented duplicate ledger lines), although I did not spot the result that Janek sees. The old patch is also flawed, in that it only changes the ledger line directly next to the accidental. The entire bounding box of the accidental should, however, be taken into account. I maintain that the best solution is: { \override Staff.Accidental #'layer = #-100 \override Staff.LedgerLineSpanner #'layer = #-101 \override Staff.Accidental #'whiteout = ##t } Which is a trivial change to engravers-init.ly. I'll post a patch later today unless anyone sees a better alternative. Cheers, MS On Aug 22, 2011, at 11:33 PM, Han-Wen Nienhuys wrote: > 2011/8/22 Janek Warchoł : >> I wholeheartedly disagree, i think that this issue isn't negligible >> (or did i misunderstood you, Han-Wen?). > > My impression is that the patch was not actually changing output. > > If it was intended to, I couldn't tell from a read of the patch. > > -- > Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen > > ___ > lilypond-devel mailing list > lilypond-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: PATCH: 48-hour countdown 22:00 MDT 20110824
On Aug 23, 2011, at 5:31 AM, Colin Campbell wrote: > For Wednesday August 25th, 22:00 > > Issue 1735: modifying default behaviour of tremolo slashes - R 4636081 > Issue 1628: Fingerings collide with slurs when used in <> - R 4876051: Fixes > issue 1628. > Issue 1328: Slurs collides with fermata - R 4860042 > Issue 1235: Accidental overlays stem - R 4898044: Fixes heights and pure > heights of stems. > > Cheers, Colin > Hey all, If it's OK with everyone, I'd like to replace: Issue 1235: Accidental overlays stem - R 4898044: Fixes heights and pure heights of stems. with Creates a Flag grob (http://codereview.appspot.com/4922042/) as Han-Wen had requested that this be implemented first before 4898044 was pushed. Sorry for not alerting you about that, Colin, and thanks to all for your reviews on both 4922042 and 4898044 so far. Cheers, MS___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Does better polynomial calculations for avoid objects. (issue 4860042)
On Aug 23, 2011, at 6:21 AM, hanw...@gmail.com wrote: > > http://codereview.appspot.com/4860042/diff/8001/flower/polynomial.cc > File flower/polynomial.cc (right): > > http://codereview.appspot.com/4860042/diff/8001/flower/polynomial.cc#newcode80 > flower/polynomial.cc:80: return ret_max ? sols.back () : sols[0]; > you could return an interval instead; > > Polynomial::range() ? I'm hesitant to incorporate native Lilypond types into polynomial.cc - I'd like to keep the included files as "polynomial.hh" and "warn.hh" so that it could work stand-alone with minimal modifications. Een beter milieu begint bij uzelf. Hergebruik! > > http://codereview.appspot.com/4860042/diff/8001/lily/bezier.cc > File lily/bezier.cc (right): > > http://codereview.appspot.com/4860042/diff/8001/lily/bezier.cc#newcode223 > lily/bezier.cc:223: Bezier::minmax (Axis ax, Real l, Real r, Direction > d, vsize lres, vsize rres) const > you could be less stingy with letters. "axis". > > what do lres and vres mean? > I've expanded these out. > http://codereview.appspot.com/4860042/diff/8001/lily/bezier.cc#newcode258 > lily/bezier.cc:258: return p.minmax (sol[LEFT][res[LEFT]], > sol[RIGHT][res[RIGHT]], d != LEFT); > could return an interval here too? Bezier::extent ? > It's up to you. It is more an architecture/style question than anything else. If you're OK including interval.hh in polynomial.cc, then I can do this. New patchset up. Cheers, MS ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Does better polynomial calculations for avoid objects. (issue 4860042)
On Aug 23, 2011, at 6:55 AM, joenee...@gmail.com wrote: > > http://codereview.appspot.com/4860042/diff/1/lily/bezier.cc > File lily/bezier.cc (right): > > http://codereview.appspot.com/4860042/diff/1/lily/bezier.cc#newcode239 > lily/bezier.cc:239: return p.minmax (sol[LEFT][0], sol[RIGHT][0], d != > LEFT); > On 2011/08/19 07:03:50, MikeSol wrote: >> On 2011/08/18 21:36:45, joeneeman wrote: >> > If there are multiple intersections with (say) r, then > Polynomial::solve >> doesn't >> > seem to return them in any useful order. So sol[RIGHT][0] is really > just an >> > arbitrary solution, isn't it? > >> True, but this seems no worse than line 81 where ts[0] is returned. > Not that >> this is a good excuse... > > Right, but what really bothers me is that you're then using > sol[RIGHT][0] as though it means something. So what this function seems > to do (suppose ax=X_AXIS) is to take an arbitrary point where the curve > intersects x=r and an arbitrary point where the curve intersects x=l and > then finds the maximum y value of the curve between those two points. True. A well-formed slur should never retrograde along the X-axis, and thus, the size of sol[LEFT] and sol[RIGHT] should be 1 after filtering out all values less than 0 and greater than 1. I think that the programming errors in the current patch should do the trick. > But there's no guarantee that that maximum is what you're after. I'm pretty sure that, in the case of a well-formed slur, the Y maximum or minimum is what I'm after. > For example, if the curve intersects x=r before it intersects x=l then it > seems to me that Polynomial::minmax will return something weird. This is true - I've put a programming error in polynomial.cc for this case. > And if there are multiple intersections with either line, there are a lot of > different answers that could come out. True. In the case of slurs, this should not happen. The patch passes the regtests without ever triggering this warning (it'd be difficult to trigger it, as you'd have to make the slur run backwards). Cheers, MS ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: modifying default behaviour of tremolo slashes (issue 4636081)
LGTM Cheers, MS http://codereview.appspot.com/4636081/diff/42001/lily/stem-tremolo.cc File lily/stem-tremolo.cc (right): http://codereview.appspot.com/4636081/diff/42001/lily/stem-tremolo.cc#newcode61 lily/stem-tremolo.cc:61: return scm_from_double ((Stem::duration_log (stem) >= 3 && get_grob_direction (stem) == DOWN && !(beam)) !beam http://codereview.appspot.com/4636081/diff/42001/lily/stem-tremolo.cc#newcode93 lily/stem-tremolo.cc:93: return ly_symbol2scm (((stemdir == UP && flag) || beam) ? "rectangle" : "beam-like"); return ly_symbol2scm (style != ly_symbol2scm ("constant") && ((stemdir == UP && flag) || beam) ? "rectangle" : "beam-like"); with proper indenting... http://codereview.appspot.com/4636081/diff/42001/scm/define-grobs.scm File scm/define-grobs.scm (right): http://codereview.appspot.com/4636081/diff/42001/scm/define-grobs.scm#newcode1944 scm/define-grobs.scm:1944: (X-extent . ,ly:stem-tremolo::width) For consistency's sake (I just went through this with flags), keep this as a style property and document the possible values in the Stem_tremolo docstring in stem-tremolo.cc (the part with ADD_INTERFACE). http://codereview.appspot.com/4636081/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: not all doc "clean-ups" are good
2011/8/21 Graham Percival : > On Fri, Aug 19, 2011 at 07:32:20AM +0200, Werner LEMBERG wrote: >> Please be more specific what I'm missing. In particular, many >> locations which I've fixed (at least in my opinion) were talking >> about, say, `#t' and `#foo' at the same time, which I consider *very* >> confusing. There are two possiblities to fix it: Either by saying >> `#t' and `foo', or by saying `##t' and `#foo'. > > Hmm. I still have no clue about the difference between #t and > #foo, which certainly emphasizes that there *is* confusion. Just for the record: i remember being confused by this myself when i was a beginner. In general scheme stuff is very confusing for beginners: # ## #' , and especially ` :( cheers, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make doc is broken
- Original Message - From: "Colin Campbell" I've just hit what looks like the same problem, after deleting and rebuilding lilypond-git: HTH, and let me know, too, about any tracing I can do; I'm on 64-bit Ubuntu Natty Added as http://code.google.com/p/lilypond/issues/detail?id=1832 -- Phil Holmes ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Adds a site search to website and improves doc search (issue4894053)
- Original Message - From: "Graham Percival" To: "Janek Warchoł" Cc: ; ; ; Sent: Tuesday, August 23, 2011 12:47 AM Subject: Re: Adds a site search to website and improves doc search (issue4894053) On Mon, Aug 22, 2011 at 11:06:04PM +0200, Janek Warchoł wrote: Phil, could you compile the website with your changes and host it somewhere? (or tell me how to do this properly) Partial instructions are buried in http://code.google.com/p/lilypond/issues/detail?id=1663 It would be nice if those instructions could migrate to the CG. Cheers, - Graham As you know, what you get with make website; make doc; and make doc make website isn't completely intuitive. I'll need to start from scratch with this to document it properly, but I'm just starting. -- Phil Holmes ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Fix uninitialized variables when Source_file::get_counts returns early due to !contains (pos_str0) (issue 4940047)
Reviewers: , Message: Please review to get rid of some uninitialized variables. Description: Fix uninitialized variables when Source_file::get_counts returns early due to !contains (pos_str0) Most code that called get_counts simply is like: int line, chr, col, offset = 0; source_file_->get_counts (end_, &line, &chr, &col, &offset); Now, unfortunately get_counts returns early sometimes (if we don't have a position), so only line_number would be initialized to 0, all other variables would stay uninitialized. And most code simply passed them on to other guile functions to handle. This patch moved the initialization of all arguments to the very beginning of get_counts and thus never returns uninizialized variables. This shuts up several valgrind warnings in our regtests. Please review this at http://codereview.appspot.com/4940047/ Affected files: M lily/source-file.cc Index: lily/source-file.cc diff --git a/lily/source-file.cc b/lily/source-file.cc index b42fb7a5b37a508f69ce8d31925ae9478e7972c4..041c046d2bfc2fa4761df56005f2e76692f962f7 100644 --- a/lily/source-file.cc +++ b/lily/source-file.cc @@ -261,7 +261,11 @@ Source_file::get_counts (char const *pos_str0, int *column, int *byte_offset) const { + // Initialize arguments to defaults, needed if pos_str0 is not in source *line_number = 0; + *line_char = 0; + *column = 0; + *byte_offset = 0; if (!contains (pos_str0)) return; @@ -276,10 +280,6 @@ Source_file::get_counts (char const *pos_str0, string line_begin (line_start, left); char const *line_chars = line_begin.c_str (); - *line_char = 0; - *column = 0; - *byte_offset = 0; - while (left > 0) { size_t thislen = utf8_char_len (*line_chars); ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
scheme system stdout and markup predicates
Hello List, I am using the scheme system command (on linux) to generate barcodes to include in the PDF: --snip-- \version "2.14.2" % use barcode command to produce temporary eps and include it #(define-markup-command (barcode layout props type str size nums)(string-or-symbol? string? number-pair? boolean?) (let ((width (car size)) (height (cdr size))) ; create temporary file name and empty stencil (let ((tmp (format "~A-~2A.eps" (strftime "%Y%m%d%H%M%S" (localtime (current-time))) (random 100))) (barcode-stencil (interpret-markup layout props (markup #:with-color red #:filled-box (cons 0 width) (cons 0 height) 0.7 ; if str is a symbol like 'header:ismn get the property (if (symbol? str)(let ((tmp (chain-assoc-get str props #f))) (if tmp (set! str tmp ; execute command (system (format "barcode ~A -e \"~A\" -g ~Ax~A+0+0 -o \"~A\" -E -b \"~A\"" (if nums "" "-n") type (* 100 width) (* 100 height) tmp str)) ; create EPS stencil (set! barcode-stencil (eps-file->stencil X (car size) tmp)) ; remove temporary file (system (format "rm -v \"~A\"" tmp)) barcode-stencil ))) % define stencil cache, to produce it only once, when used several times e.g. in footer markup #(define-public (get-stencil symbol) #f) #(define-public (put-stencil symbol stencil) #f) #(define-public (rem-stencil symbol) #f) #(let ((cache (list))) (set! put-stencil (lambda (symbol stencil) (set! cache (assoc-set! cache symbol stencil)) stencil)) (set! get-stencil (lambda (symbol) (assoc-get symbol cache))) (set! rem-stencil (lambda (symbol) (set! cache (assoc-set! cache symbol #f)) empty-stencil)) ) #(define-markup-command (cache layout props sym text)(symbol? markup?) (let ((stencil (get-stencil sym))) (if (not stencil) (set! stencil (interpret-markup layout props text))) (put-stencil sym stencil) stencil) ) #(define-markup-command (cache-clear layout props sym)(symbol?) (rem-stencil sym) ) % include ISMN barcode \markup \column { \cache #'ismn \barcode #"EAN" #"97900121" #'(30 . 8) ##t \cache #'ismn \barcode #"EAN" #"97900122" #'(35 . 8) ##t \cache-clear #'ismn \cache #'ismn \barcode #"EAN" #"97900123" #'(40 . 8) ##t } --snip-- I have two questions: To (system "...") 1: There are several commands, wich can write the generated EPS to stdout. Is there a possibility to catch that and integrate it without creating a temporary file? 2: Is there a way to get the result code and see if the command succeded? Now have fun, playing around with (system "echo Hello World")! Cheers, Jan-Peter ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Lilypond-book: Auto-detect linewidth and exampleindent in texinfo mode (issue 4938044)
On 2011/08/22 23:55:52, Graham Percival wrote: On 2011/08/22 12:30:15, Reinhold wrote: > Now, it's clear that lilypond produces .pdf files that are about 0.5-1 mm too > wide. So we now have the proper way to fix #1816 What does "0.5-1mm" mean? Is it 0.5 for top/bottom, 1.0 for left/right? Or does it depend on some random factor? (i.e. whether there's bar numbers or not) ? I'm only talking about horizontal extents of the generated pdfs. The bar numbers on the left are no problem, because we use "-deps-box-padding=3\\mm" to add an additional 3 mm on the left for the bar number (and reduce the line-width by the same amount). What I'm observing is that the pdf is always a bit larger (more than 0.5mm, but usually less than 1mm) than the line-width plus the 3mm left padding. I have not yet investigated in how far bar lines on the right end increase it. I suspect that it has an influence. Or does it depend on the paper size that latex is using ? (i.e. does it still work in a0 and a5 paper) It should work independent of the paper size, since we only extract the line-width from texinfo or latex and then simply handle that to lilypond as a numeric value. LilyPond simply creates a score with this line-width and then crops the image, leaving a small amount of extra space on the right, which I think is the cause of this problem. http://codereview.appspot.com/4938044/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: scheme system stdout and markup predicates
Jan-Peter Voigt writes: > Hello List, > > I am using the scheme system command (on linux) to generate barcodes > to include in the PDF: > I have two questions: > To (system "...") > 1: There are several commands, wich can write the generated EPS to > stdout. Is there a possibility to catch that and integrate it without > creating a temporary file? See the guile documentation, node "Pipes". > 2: Is there a way to get the result code and see if the command succeded? Uh, have you even looked up "system" in the guile documentation? -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Fix uninitialized variables when Source_file::get_counts returns early due to !contains (pos_str0) (issue 4940047)
LGTM. Thanks! Carl http://codereview.appspot.com/4940047/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: scheme system stdout and markup predicates
Hi David I have two questions: To (system "...") 1: There are several commands, wich can write the generated EPS to stdout. Is there a possibility to catch that and integrate it without creating a temporary file? See the guile documentation, node "Pipes". OK, thanks! 2: Is there a way to get the result code and see if the command succeded? Uh, have you even looked up "system" in the guile documentation? Yes I have ... but I typed my question a bit to fast ... the question should have been, why does '(if (not (system ...' not act, like I would expect. But with '(if (= 0 (system ...' it does. Sorry for the noise! Cheers, Jan-Peter ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make doc is broken
Am Dienstag, 23. August 2011, 05:37:48 schrieb Colin Campbell: > HTH, and let me know, too, about any tracing I can do; I'm on 64-bit > Ubuntu Natty It looks like python in your installations doesn't try to load packages from the input/regression/musicxml/ directory (here on my 32 bit Ubuntu natty it does). Can you (Phil and Colin) plase add the following debug statements in scripts/lilypond-book.py in line 609. The for loop should look like: for i in global_options.custom_packages: nr += 1 print " Loading package %s" % i print " sys.path: %s" % sys.path print " PYTHONPATH: %s" % os.environ.get ("PYTHONPATH", "(UNSET)") sys.path.append (os.getcwd ()) print " sys.path: %s" % sys.path print imp.load_source ("book_custom_package%s" % nr, i) This also includes a possible fix (the sys.path.append, where I append the input/regression/musicxml/ dir to the standard search path). Then please run: -) "make" (no need to clean before; you also don't have to wait until the C++ is compiled, but can kill the make as soon as all python file have been processed at the very beginning) -) "cd input/regression/musicxml" -) "make doc"; also no need to clean before, you can kill the command as soon as lilypond-book has started The relevant output will be before lilypond gets called, something like (on my machine): == Loading package book-musicxml-testsuite.py sys.path: ['/home/reinhold/lilypond/lilypond/scripts', '/home/reinhold/lilypond/lilypond/python/out', '/home/reinhold/lilypond/lilypond/python/auxiliar', '/home/reinhold/lilypond/lilypond/input/regression/musicxml', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist- packages/Numeric', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/pymodules/python2.7/gtk-2.0', '/usr/lib/python2.7/dist- packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/pymodules/python2.7/ubuntuone-storage-protocol', '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode'] lilypond-book.py (GNU LilyPond) 2.15.9 Reading out-www/collated-files.tely... = Notice the presence of '/home/reinhold/lilypond/lilypond/input/regression/musicxml' in the path, which is why it works here. Apparently your path doesn't include that, right? Cheers, Reinhold -- -- Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/ * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * LilyPond, Music typesetting, http://www.lilypond.org ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Makes sure that ledger lines do not overlap with accidentals. (issue 4898060)
On Tue, Aug 23, 2011 at 3:59 AM, Mike Solomon wrote: > \override Staff.Accidental #'layer = #-100 > \override Staff.LedgerLineSpanner #'layer = #-101 > \override Staff.Accidental #'whiteout = ##t > > > } > > Which is a trivial change to engravers-init.ly. I'll post a patch later > today unless anyone sees a better alternative. this will generate square endings on the ledgers. -- Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
RE: scheme system stdout and markup predicates
>>> 2: Is there a way to get the result code and see if the command succeded? >> Uh, have you even looked up "system" in the guile documentation? > Yes I have ... but I typed my question a bit to fast ... the question > should have been, why does '(if (not (system ...' not act, like I would > expect. But with '(if (= 0 (system ...' it does. Scheme doesn't use 0 for the false value, it's #f. So a return of 0 is not #t. HTH, Carl ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Makes sure that ledger lines do not overlap with accidentals. (issue 4898060)
On Aug 23, 2011, at 4:03 PM, Han-Wen Nienhuys wrote: > On Tue, Aug 23, 2011 at 3:59 AM, Mike Solomon wrote: >> \override Staff.Accidental #'layer = #-100 >> \override Staff.LedgerLineSpanner #'layer = #-101 >> \override Staff.Accidental #'whiteout = ##t >> >> >> } >> >> Which is a trivial change to engravers-init.ly. I'll post a patch later >> today unless anyone sees a better alternative. > > this will generate square endings on the ledgers. True. Question - is there any way to take a glyph from the feta font and make it white thru pango? If so, you could increase the size of the white glyph by a factor, set the accidental against it, and then the ledger line changes would follow the contour of the accidental. Cheers, MS ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Makes sure that ledger lines do not overlap with accidentals. (issue 4898060)
On Tue, Aug 23, 2011 at 11:05 AM, Mike Solomon wrote: >>> >>> Which is a trivial change to engravers-init.ly. I'll post a patch later >>> today unless anyone sees a better alternative. >> >> this will generate square endings on the ledgers. > > True. > Question - is there any way to take a glyph from the feta font and make it > white thru pango? If so, you could increase the size of the white glyph by a > factor, set the accidental against it, and then the ledger line changes would > follow the contour of the accidental. I think the whole approach of whiting is flawed: what if the accidental covers a ledger only halfway? The ledgers would look like a *** a *** * * (a = acc, * = ledger) -- Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Makes sure that ledger lines do not overlap with accidentals. (issue 4898060)
Han-Wen Nienhuys writes: > I think the whole approach of whiting is flawed: what if To pull that to a meta-level: sometimes it makes sense to program LilyPond to do that which is obvious. However, almost always it is Much Better (TM) to use the benchmarking approach: find how the great masters solved the situation and program LilyPond to do that. Is this documented somewhere, by the way? Jan -- Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Makes sure that ledger lines do not overlap with accidentals. (issue 4898060)
Mike Solomon ufl.edu> writes: > I maintain that the best solution is: > \override Staff.Accidental #'layer = #-100 > \override Staff.LedgerLineSpanner #'layer = #-101 > \override Staff.Accidental #'whiteout = ##t > > Which is a trivial change to engravers-init.ly. I'll post a patch later > today unless anyone sees a better alternative. > I wouldn't bother. It would not really fix issue 706, and makes an exception to the general rule that everything is layer 1, except the grid of lines is on layer 0. You could post it as a workaround to issue 706 maybe. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Adds a site search to website and improves doc search (issue4894053)
- Original Message - From: "Graham Percival" To: "Janek Warchoł" Cc: ; ; ; Sent: Tuesday, August 23, 2011 12:47 AM Subject: Re: Adds a site search to website and improves doc search (issue4894053) On Mon, Aug 22, 2011 at 11:06:04PM +0200, Janek Warchoł wrote: Phil, could you compile the website with your changes and host it somewhere? (or tell me how to do this properly) Partial instructions are buried in http://code.google.com/p/lilypond/issues/detail?id=1663 It would be nice if those instructions could migrate to the CG. How about this (in a new section - Building the website locally) Building the website locally Start by making the binary files with make (typical time - 10 minutes) Run make website (takes a minute or so). This creates a number of files, starting with: lilypond-git/build/out-website/index.html Following many of the links from this page do work, but there are no images visible and no stylesheet is loaded, so much of the formatting is wrong. However, if you simply want to read a text change you've made, this can be used. It also has no links to the other language versions. For this reason, it is better to use: lilypond-git/build/out-website/website/index.html for browsing changed text. This still has no images or stylesheet, but does include the other language pages. Note that links to any of the user/developer documentation will be broken. To compile the documentation run make doc. This typically takes a couple of hours or so. After this has been run, we get a number more copies of index.html, including: /lilypond-git/build/out-www/offline- root/Documentation/web/index.html This is the one that is correctly formatted with all the pictures, style sheets, etc. -- Phil Holmes ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make doc is broken
- Original Message - From: "Reinhold Kainhofer" To: "Colin Campbell" Cc: "Phil Holmes" ; Sent: Tuesday, August 23, 2011 2:59 PM Subject: Re: Make doc is broken Am Dienstag, 23. August 2011, 05:37:48 schrieb Colin Campbell: HTH, and let me know, too, about any tracing I can do; I'm on 64-bit Ubuntu Natty It looks like python in your installations doesn't try to load packages from the input/regression/musicxml/ directory (here on my 32 bit Ubuntu natty it does). Can you (Phil and Colin) plase add the following debug statements in scripts/lilypond-book.py in line 609. The for loop should look like: for i in global_options.custom_packages: nr += 1 print " Loading package %s" % i print " sys.path: %s" % sys.path print " PYTHONPATH: %s" % os.environ.get ("PYTHONPATH", "(UNSET)") sys.path.append (os.getcwd ()) print " sys.path: %s" % sys.path print imp.load_source ("book_custom_package%s" % nr, i) This also includes a possible fix (the sys.path.append, where I append the input/regression/musicxml/ dir to the standard search path). Then please run: -) "make" (no need to clean before; you also don't have to wait until the C++ is compiled, but can kill the make as soon as all python file have been processed at the very beginning) -) "cd input/regression/musicxml" -) "make doc"; also no need to clean before, you can kill the command as soon as lilypond-book has started Following the instructions to the letter, I find that lilypond-book doesn't run at all. Even if I touch one of the source .tely files it doesn't run. I'm loathe to experiment since it's your baby - please let me know what else I should try. -- Phil Holmes ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Fix uninitialized variables when Source_file::get_counts returns early due to !contains (pos_str0) (issue 4940047)
On Tue, Aug 23, 2011 at 11:14:06AM +, reinhold.kainho...@gmail.com wrote: > Fix uninitialized variables when Source_file::get_counts returns early > due to !contains (pos_str0) LGTM Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Adds a site search to website and improves doc search (issue4894053)
On Tue, Aug 23, 2011 at 03:32:40PM +0100, Phil Holmes wrote: > - Original Message - From: "Graham Percival" > > >Partial instructions are buried in > >http://code.google.com/p/lilypond/issues/detail?id=1663 > >It would be nice if those instructions could migrate to the CG. > > How about this (in a new section - Building the website locally) > > Building the website locally > > Start by making the binary files with make (typical time - 10 > minutes) Not necessary unless you want to regenerate the pictures and examples. Hmm, this step kind-of relies on GOP 11 git repositories, which is delayed for 2 weeks. Growl. ok, for now maybe make a separate "generating pictures and examples" section? > Run make website (takes a minute or so). > > This creates a number of files, starting with: > > lilypond-git/build/out-website/index.html ... > lilypond-git/build/out-website/website/index.html I don't think it's worth pointing out that first one at all. Just point directly to the second one, since it's built at the same time anyway. > To compile the documentation run make doc. This typically > takes a couple of hours or so. > > After this has been run, we get a number more copies of > index.html, including: > > /lilypond-git/build/out-www/offline- > root/Documentation/web/index.html This is **not** the website. That's a copy of the "web" manual, but it's built with a completely different mechanism. Phil, I may be misremembering. Do you currently have ~/lilypond/media/pictures/ ~/lilypond/media/ly-examples/ directories in your home directory? I thought that you had that set up, but if not then we should do that now. Basically, you follow the instructions in "initial setup" in CG 6.2, but instead of uploading those directories to a separate server, you just copy them on your local computer instead. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Lilypond-book: Auto-detect linewidth and exampleindent in texinfo mode (issue 4938044)
On Tue, Aug 23, 2011 at 11:38:10AM +, reinhold.kainho...@gmail.com wrote: > On 2011/08/22 23:55:52, Graham Percival wrote: > >On 2011/08/22 12:30:15, Reinhold wrote: > >> Now, it's clear that lilypond produces .pdf files that are about > 0.5-1 mm too > >> wide. So we now have the proper way to fix #1816 > > >What does "0.5-1mm" mean? Is it 0.5 for top/bottom, 1.0 for > left/right? Or > >does it depend on some random factor? (i.e. whether there's bar > numbers or not) > >? > > I'm only talking about horizontal extents of the generated pdfs. Oops, sorry. Yes, that was obvious. Brain fart on my part. > What I'm observing is that the pdf is always a bit larger (more than > 0.5mm, but usually less than 1mm) than the line-width plus the 3mm left > padding. I have not yet investigated in how far bar lines on the right > end increase it. I suspect that it has an influence. ok. > It should work independent of the paper size, since we only extract the > line-width from texinfo or latex and then simply handle that to lilypond > as a numeric value. LilyPond simply creates a score with this line-width > and then crops the image, leaving a small amount of extra space on the > right, which I think is the cause of this problem. ok, sounds good. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Fix uninitialized variables when Source_file::get_counts returns early due to !contains (pos_str0) (issue 4940047)
LGTM Maybe we should have some GOP rules for C++ about this? "Only have multiple exit points from routines if you absolutely have to. Make sure any output parameters are declared and initialized at the top of a routine so that however a routine exits, they are left in a defined state" Ian http://codereview.appspot.com/4940047/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Fix uninitialized variables when Source_file::get_counts returns early due to !contains (pos_str0) (issue 4940047)
On Tue, Aug 23, 2011 at 06:21:00PM +, ianhuli...@gmail.com wrote: > Maybe we should have some GOP rules for C++ about this? > "Only have multiple exit points from routines if you absolutely have to. > Make sure any output parameters are declared and initialized at the top > of a routine so that however a routine exits, they are left in a defined > state" I don't think we need to wait that long (i.e. at least a month, if not 2 or 3 months to get through GOP). Regardless of the exit points, any member variables or output parameters should be left in a defined state. IMO that's just basic sanity. :) Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Fix uninitialized variables when Source_file::get_counts returns early due to !contains (pos_str0) (issue 4940047)
On 8/23/11 12:21 PM, "ianhuli...@gmail.com" wrote: > LGTM > > Maybe we should have some GOP rules for C++ about this? > "Only have multiple exit points from routines if you absolutely have to. Multiple exit points is a standard idiom of the LilyPond code. Basically, the idiom is "If this routine doesn't apply for some reason, leave now", instead of "If this routine doesn't apply, skip to the end" or "If this routine applies, do the body". As imbedded as this idiom is in our code, I don't think it would be wise to change it. > Make sure any output parameters are declared and initialized at the top > of a routine so that however a routine exits, they are left in a defined > state" IIRC, we used to have a statement that said to declare variables as close as possible to where they are used. I generally agree with that. However, I think a simple statement that says "variables should be initialized when they are declared" would be clearly welcome. And fixes to the code to ensure this would also be welcome. Thanks, Carl ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Adds a site search to website and improves doc search (issue4894053)
- Original Message - From: "Graham Percival" To: "Phil Holmes" Cc: "Janek Warchol" ; ; ; ; Sent: Tuesday, August 23, 2011 7:04 PM Subject: Re: Adds a site search to website and improves doc search (issue4894053) On Tue, Aug 23, 2011 at 03:32:40PM +0100, Phil Holmes wrote: - Original Message - From: "Graham Percival" >Partial instructions are buried in >http://code.google.com/p/lilypond/issues/detail?id=1663 >It would be nice if those instructions could migrate to the CG. How about this (in a new section - Building the website locally) Building the website locally Start by making the binary files with make (typical time - 10 minutes) Not necessary unless you want to regenerate the pictures and examples. Hmm, this step kind-of relies on GOP 11 git repositories, which is delayed for 2 weeks. Growl. Yeah - you're almost certainly right. I've got so used to the need to run this first. I'll redo and check. ok, for now maybe make a separate "generating pictures and examples" section? Run make website (takes a minute or so). This creates a number of files, starting with: lilypond-git/build/out-website/index.html ... lilypond-git/build/out-website/website/index.html I don't think it's worth pointing out that first one at all. Just point directly to the second one, since it's built at the same time anyway. I'd like to state it's necessary to ignore the other, but happy to do in that way. To compile the documentation run make doc. This typically takes a couple of hours or so. After this has been run, we get a number more copies of index.html, including: /lilypond-git/build/out-www/offline- root/Documentation/web/index.html This is **not** the website. That's a copy of the "web" manual, but it's built with a completely different mechanism. AFAICS it's the only version of the web material that looks like the real website - images, css, etc, included. Phil, I may be misremembering. Do you currently have ~/lilypond/media/pictures/ ~/lilypond/media/ly-examples/ directories in your home directory? I thought that you had that set up, but if not then we should do that now. Basically, you follow the instructions in "initial setup" in CG 6.2, but instead of uploading those directories to a separate server, you just copy them on your local computer instead. No - I don't. But wouldn't this be setting up my system in order to build a "correct" website? What we're trying to do here is write instructions on how to check that changes to the website that contributors make can be easily checked. -- Phil Holmes ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
What's the deal with String_convert::reverse?
This function in the flower library relies on memrev which is broken (off-by-one error). Is this used anywhere? -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Adds a site search to website and improves doc search(issue4894053)
- Original Message - From: "Phil Holmes" To: "Graham Percival" Cc: ; ; ; Sent: Tuesday, August 23, 2011 9:15 PM Subject: Re: Adds a site search to website and improves doc search(issue4894053) - Original Message - From: "Graham Percival" To: "Phil Holmes" This is **not** the website. That's a copy of the "web" manual, but it's built with a completely different mechanism. AFAICS it's the only version of the web material that looks like the real website - images, css, etc, included. Thinking about this a little further - part of the problem is that make website doesn't do anything like make the website. It just creates the html files. It really ought to put the images and css files in the right place, fix up the links etc. I'm sure this would cause the normal difficulties about getting it to work, but a) I don't think doing this would add much to the run time of make website and b) it's really what should happen. You agree? -- Phil Holmes ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Fix memleak: temporary skyline objects for systems were never deleted (issue 4923048)
Reviewers: , Message: This patch fixes a memleak: Some temporary skylines were never deleted... Please review Description: Fix memleak: temporary skyline objects for systems were never deleted Please review this at http://codereview.appspot.com/4923048/ Affected files: M lily/skyline.cc Index: lily/skyline.cc diff --git a/lily/skyline.cc b/lily/skyline.cc index b6ea6b791bbbfa09aaa28e91da0a619c33085890..8f62710b0947fa8e48ffcbc7e181cba4709c96de 100644 --- a/lily/skyline.cc +++ b/lily/skyline.cc @@ -514,6 +514,7 @@ Skyline::distance (Skyline const &other, Real horizon_padding) const Skyline const *padded_this = this; Skyline const *padded_other = &other; + bool created_tmp_skylines = false; /* For systems, padding is not added at creation time. Padding is @@ -525,6 +526,7 @@ Skyline::distance (Skyline const &other, Real horizon_padding) const { padded_this = new Skyline (*padded_this, horizon_padding, X_AXIS); padded_other = new Skyline (*padded_other, horizon_padding, X_AXIS); + created_tmp_skylines = true; } list::const_iterator i = padded_this->buildings_.begin (); @@ -544,6 +546,13 @@ Skyline::distance (Skyline const &other, Real horizon_padding) const j++; start = end; } + + if (created_tmp_skylines) +{ + delete padded_this; + delete padded_other; +} + return dist; } ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Adds a site search to website and improves doc search(issue4894053)
On Tue, Aug 23, 2011 at 09:32:50PM +0100, Phil Holmes wrote: > - Original Message - From: "Phil Holmes" > > >- Original Message - From: "Graham Percival" > > > >To: "Phil Holmes" > > >>This is **not** the website. That's a copy of the "web" manual, > >>but it's built with a completely different mechanism. > > > >AFAICS it's the only version of the web material that looks like > >the real website - images, css, etc, included. > > Thinking about this a little further - part of the problem is that > make website doesn't do anything like make the website. It just > creates the html files. It really ought to put the images and css > files in the right place, fix up the links etc. It does do this! -- if you have stuff in $HOME/lilypond/media/ > I'm sure this would cause the normal difficulties about getting > it to work, but a) I don't think doing this would add much to > the run time of make website and b) it's really what should > happen. You agree? Problem: - webserver does not have imagemagick - webserver does not have lilypond - webserver certainly cannot compile lilypond Hence the $HOME/lilypond/media/ stuff. I would like to put those in a separate git repository, so that it would be easier to create the website (just point a variable at your version of that other repository, instead of having to manually create $HOME/lilypond/media/ yourself). But that step will be discussed in GOP-PROP 11, which is still 2 weeks off (depending on how much time I spend on maintenance and build issues). In the short-term, I think it would be extremely helpful if you could create the $HOME/lilypond/media stuff, then create the website from a blank build tree -- convince yourself that you can/will get the full website without running make or make doc. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Nested context properties -- an implementation sketch
Once again i'm reviving an old thread, but since i was involved in discussions with David before i disappeared, i'd like to give my feedback on this. 2011/8/14 David Kastrup : > there are the proposed semantics. At least for the > latter, I would want to get some sort of feedback. > > The semantics can be summarized as follows: > > a) a revert will only cancel the last _matching_ override, and the match > includes the complete specified property path, _and_ the prospective > use of \once. \revert will not cancel \once\override and vice versa. > b) At the end of a timestep, all \once\override are reverted. All > non-\once overrides remain in effect and on the stack as if none of > the \once\override had ever happened. 2011/8/14 David Kastrup : > There are likely two contentious changes. The first is related to > nested properties: namely that the pairing of override/revert of a > property x should be independent from override/revert of a nested > property x.y. However, if overrides and reverts of x and x.y are not > acting as if they were issued independently, and if overrides and > reverts of x and x.z are not acting as if issued independently, then it > gets quite hard to let overrides and reverts of x.y and x.z act as if > they were issued independently. And that would make working with nested > properties less straightforward in my opinion. > > The second is that \once\override will not mix with \override\revert. > Currently \once\override ... \override will have the second \override > active just for the current timestep, and revert to the previous value > afterwards. \override ... \once \override ... \revert \revert will at > first revert both overrides, but reinstate the state after the first > override at the end of the timestep. If I understand the code > correctly. LGTM. (sorry that i don't have anything more constructive to say) thanks for your work, David! Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: What's the deal with String_convert::reverse?
Am Tuesday, 23. August 2011, 22:30:24 schrieb David Kastrup: > This function in the flower library relies on memrev which is broken > (off-by-one error). hehe, nice catch. It should use unsigned char *right = byte + length - 1; shoudln't it? > Is this used anywhere? A git grep didn't show any usage, but maybe I'm missing something. Cheers, Reinhold -- -- Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/ * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * LilyPond, Music typesetting, http://www.lilypond.org ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \once \revert
2011/8/19 Carl Sorensen : > On 8/19/11 10:15 AM, "David Kastrup" wrote: >> >> Up to now, \once \revert is not really documented nor used. I have not >> yet dug through the existing code in order to figure out what it does if >> anything (most likely ignoring \once, but not sure). > > I would expect that \once \revert would revert an \override for the current > time step only (meaning events whose start time is the current moment). For > any events whose start time is other than the current moment, the \override > would continue to apply. +1 >> In order to not have the override/revert stack get into unexpected >> interactions, I want to change \once\override to be impervious to normal >> reverts. > > This seems to me to be a wise decision. \once \override is a statement that > you are creating an override for everything happening at the current moment; > reverts would not seem to apply. +1 >> That would mean that \once\revert is an obvious candidate for reverting >> a \once\override before its time. However, I have no idea whether there >> is an actual sensible use for that functionality. > > I can see no sensible use for that functionality. You would have > conflicting statements about what should happen at this time. +1 >> \once\revert could also mean to let a current non-once override become >> inactive just for the current time step. > > As I mentioned above, I think this is the logically consistent meaning. +1 >> IF one wanted to get crazy, one could use \once\revert for one of the >> two things, and \revert\once for the other. Which one for which, and >> would anybody remember that? > > I agree that this would be crazy. But if we were going to do it, \once > \revert should revert an \override, but only for the current moment, and > \revert \once should revert a \once \override, IMO. But I would not be in > favor of this proposal. +1 > In fact, I think I would be in favor of removing \once \revert from the > parser. The semantics of \once \revert can be confusing, and the same > behavior could be achieved with a \once \override. But I would be open to > arguments from those who see good uses of \once \revert. +0.5, i'm not sure. I see that there is more advanced discussion going on, but i cannot dive into it now. Maybe later. cheers, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Fixes heights and pure heights of stems. (issue 4898044)
2011/8/16 Han-Wen Nienhuys : > #2) sounds neat, but maybe Janek (who has spent some time messing > around with flags) wants to weigh in. As i've said in a private mail to Mike, i don't have anything against doing so. Mike, i understand that your patch changes some beams. I'd like to check what effect does it have on my scores, but i'm not sure if i can do it now or rather should i wait until flag grob is pushed. I also don't understand what '\override Stem #'stencil = #(lambda (grob) ...' is about. cheers, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
include lines in breve X-extent (issue 1814) (issue 4931043)
http://codereview.appspot.com/4931043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: where X-extent of noteheads is set?
2011/8/9 Janek Warchoł : > 2011/8/7 Bertrand Bordage : >>> I've done a very dirty test which showed that a properly set glyph >>> bounding box solves this perfectly (see in the attachment how the >>> bounding box should change). >>> However, there is a problem. Currently bounding box is set by >>> procedure draw_outside_ellipse (defined in mf/feta-params.mf) - it is >>> not set in the definition of the glyph. How to set glyph bounding box >>> to something different than outside_ellipse bounding box? >> >> You could define it in the "final" definitions of glyphs. Here is an >> example. Of course, these values have to be define in a clean metafont way. >> fet_beginchar ("Brevis notehead", "sM1"); >> draw_brevis (1, 1); >> draw_staff (-2, 2, 0); >> set_char_box (.1 staff_space#, 2.1 staff_space#, .5 staff_space#, .5 >> staff_space#); >> fet_endchar; > > Yes, it works! > I'll upload a draft soon. That wasn't very soon, but a patch addressing this is here: http://codereview.appspot.com/4931043/ It fixes http://code.google.com/p/lilypond/issues/detail?id=1814 Hopefully a patch fixing http://code.google.com/p/lilypond/issues/detail?id=1546 will follow. cheers, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Deprecate \fermataMarkup for full-bar rests. (issue 4672059)
This one is very nice! I vote for deleting \fermataMarkup altogether. Will it be also possible to deprecate MultiMeasureRestText? It's confusing too. Added a tracker issue: http://code.google.com/p/lilypond/issues/detail?id=1833 thanks, Neil! Janek http://codereview.appspot.com/4672059/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: What's the deal with String_convert::reverse?
Reinhold: > Am Tuesday, 23. August 2011, 22:30:24 schrieb David Kastrup: ... > > Is this used anywhere? > A git grep didn't show any usage, but maybe I'm missing something. Make does not complain about this patch (on my box). $ git diff |cat diff --git a/flower/include/string-convert.hh b/flower/include/string-convert.hh index 55c1486..0675384 100644 --- a/flower/include/string-convert.hh +++ b/flower/include/string-convert.hh @@ -49,7 +49,7 @@ public: static string i64_string (I64, char const *fmt = 0); static string to_lower (string s); static string to_upper (string s); - static string reverse (string s); + static string reverseX (string s); }; #endif // __STRING_CONVERT_HH // diff --git a/flower/string-convert.cc b/flower/string-convert.cc index d46426e..01cf3e5 100644 --- a/flower/string-convert.cc +++ b/flower/string-convert.cc @@ -362,7 +362,7 @@ String_convert::to_lower (string s) } string -String_convert::reverse (string s) +String_convert::reverseX (string s) { return (char *) memrev ((unsigned char *)s.data (), s.length ()); } Regards, /Karl Hammar --- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sweden +46 173 140 57 ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: DOC: Revise CG 3.4 Commit Access (issue 4898058)
Pushed as 5f81429c8f8263eef85b4f7881d243cb9722e971 Details of how to push will be in a seperate patch. http://codereview.appspot.com/4898058/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Nested context properties -- an implementation sketch
Janek Warchoł writes: > LGTM. > (sorry that i don't have anything more constructive to say) I am working on the code (in C++) right now. Since I'll be driving to an accordionist meeting tomorrow lasting till Sunday and since I am away work-related for the following three days, this will still take time. I also have problems digging through the maze of twisty little passages in the current code that actually is setting properties. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: What's the deal with String_convert::reverse?
k...@aspodata.se (Karl Hammar) writes: > Reinhold: >> Am Tuesday, 23. August 2011, 22:30:24 schrieb David Kastrup: > ... >> > Is this used anywhere? >> A git grep didn't show any usage, but maybe I'm missing something. > > Make does not complain about this patch (on my box). > - static string reverse (string s); > + static string reverseX (string s); > -String_convert::reverse (string s) > +String_convert::reverseX (string s) Maybe we should just throw it out. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Fix memleak: temporary skyline objects for systems were never deleted (issue 4923048)
reinhold.kainho...@gmail.com writes: > Reviewers: , > > Message: > This patch fixes a memleak: Some temporary skylines were never > deleted... > Please review > > Description: > Fix memleak: temporary skyline objects for systems were never deleted > > Please review this at http://codereview.appspot.com/4923048/ > > Affected files: >M lily/skyline.cc > > > Index: lily/skyline.cc > diff --git a/lily/skyline.cc b/lily/skyline.cc > index > b6ea6b791bbbfa09aaa28e91da0a619c33085890..8f62710b0947fa8e48ffcbc7e181cba4709c96de > > 100644 > --- a/lily/skyline.cc > +++ b/lily/skyline.cc > @@ -514,6 +514,7 @@ Skyline::distance (Skyline const &other, Real > horizon_padding) const > > Skyline const *padded_this = this; > Skyline const *padded_other = &other; > + bool created_tmp_skylines = false; > > /* > For systems, padding is not added at creation time. Padding is > @@ -525,6 +526,7 @@ Skyline::distance (Skyline const &other, Real > horizon_padding) const > { > padded_this = new Skyline (*padded_this, horizon_padding, X_AXIS); > padded_other = new Skyline (*padded_other, horizon_padding, X_AXIS); > + created_tmp_skylines = true; > } > > list::const_iterator i = padded_this->buildings_.begin (); > @@ -544,6 +546,13 @@ Skyline::distance (Skyline const &other, Real > horizon_padding) const > j++; > start = end; > } > + > + if (created_tmp_skylines) > +{ > + delete padded_this; > + delete padded_other; > +} > + > return dist; > } Skylines are smobs. The usual way to delete them would be to unprotect them once they have been registered by some garbage-collectable object (or a SCM variable that is being used for accessing them). -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Fixes heights and pure heights of stems. (issue 4898044)
On Aug 24, 2011, at 12:09 AM, Janek Warchoł wrote: > 2011/8/16 Han-Wen Nienhuys : >> #2) sounds neat, but maybe Janek (who has spent some time messing >> around with flags) wants to weigh in. > > As i've said in a private mail to Mike, i don't have anything against doing > so. > > Mike, i understand that your patch changes some beams. I'd like to > check what effect does it have on my scores, but i'm not sure if i can > do it now or rather should i wait until flag grob is pushed. You can check it now - the flag grob won't really have an effect, and will break the patch until I upload a new set. > I also > don't understand what '\override Stem #'stencil = #(lambda (grob) ...' > is about. Where was this lambda function talked about? Cheers, MS ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel