Re: Remove thin-kern property. (issue 105560044 by markpole...@gmail.com)
On 2014/07/07 01:31:01, Mark Polesky wrote: On 2014/07/06 11:52:56, thomasmorley651 wrote: I disagree! 'kern and 'thin-kern _are_ used differently. But *do* we need two different variables which then are used with exactly the same value? Do we need the option to change the distance of the segno double bar line? IIRC, this is a leftover from the bar line reorganisation work, the double bar line || was formerly spaced with 'thin-kern as well, but as we implemented the stacking algorithm for bar lines, all constituents are now spaced with 'kern. I'd remove 'thin-kern entirely. In case someone wants to modify the appearance of the segno symbol, he can use a multiplier and create his own stencil easily. Okay, so then it's just a question of clarifying the misleading docstrings. How about this? kern The space between individual elements in any compound bar line. thin-kern The space between the two thin lines of the segno bar line symbol. I've updated the patch accordingly. https://codereview.appspot.com/105560044/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Manual bar number visibility
2014-07-07 3:40 GMT+02:00 Dan Eble d...@faithful.be: I’ve been using the following functions for a while (maybe since 2.12?) but now I’m trying to update to 2.18 and they’ve stopped working. I suppose the problem is directly related to this warning: warning: cannot find property type-check for `visibleBarNumbers' (translation-type?). perhaps a typing error? warning: skipping assignment but I’m not sure what to do about that. Any ideas? \barNumber adds the current or next bar number to a set (visibleBarNumbers) which is later checked by the BarNumber break-visibility callback. Numbers in the set are printed. barNumber = #(define-music-function (parser location) () (let ((m (make-music 'ApplyContext))) (define (force-bar-number ctx) (let* ((barnum-table (ly:context-property ctx 'visibleBarNumbers))) (if (not (hash-table? barnum-table)) ; first use in this score? (begin ; create the set of visible bar numbers (set! barnum-table (make-hash-table 16)) (ly:context-set-property! ctx 'visibleBarNumbers barnum-table))) (let* ((barnum (ly:context-property ctx 'currentBarNumber)) (measurePos (ly:context-property ctx 'measurePosition)) (measureLen (ly:context-property ctx 'measureLength)) (mid-measure (and (ly:moment? ZERO-MOMENT measurePos) (ly:moment? measurePos measureLen (if mid-measure (set! barnum (1+ barnum))) (hash-set! barnum-table barnum #t) ))) (set! (ly:music-property m 'procedure) force-bar-number) (context-spec-music m 'Score))) manualBarNumbersOn = #(define-music-function (parser location) () (define (set-properties ctx) (let () ; this special formatter is necessary for string-number to ; work in the visibility callback below (define (bar-number-formatter barnum measure-pos alt-number ctx) (number-string barnum)) (define (bar-number-break-visibility-callback grob) (let ((barnum-table (ly:context-property ctx 'visibleBarNumbers)) (barnum (string-number (ly:grob-property grob 'text (if (and (hash-table? barnum-table) (hash-ref barnum-table barnum)) end-of-line-invisible begin-of-line-visible ))) (ly:context-set-property! ctx 'barNumberFormatter bar-number-formatter) (ly:context-pushpop-property ctx 'BarNumber 'break-visibility bar-number-break-visibility-callback) )) (context-spec-music (make-apply-context set-properties) 'Score)) Thanks, — Dan Hi, could you add an example how you use it? I've still 2.12.3 installed and could do some testing. All I can say right now is, that 'visibleBarNumbers is not a valid context-property and it wasn't in 2.12.3 as well. Cheers, Harm ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: fix Issue 2462. (issue 108280044 by janek.lilyp...@gmail.com)
Hi, sorry for delayed reply - i had a busy weekend (been on a wedding!) 2014-07-05 19:46 GMT+02:00 Keith OHara k-ohara5...@oco.net: On Fri, 04 Jul 2014 14:38:19 -0700, Janek Warchoł janek.lilyp...@gmail.com wrote: 2014-07-04 23:26 GMT+02:00 Janek Warchoł janek.lilyp...@gmail.com: That's actually not what i want to do; I apologize for being unclear. I *want* the columns to behave the same way in case of both accidentals and lyrics (and everything else). The desired behaviour is that changing min_distance shouldn't affect ideal distance. Sensible, for the data object Springs. The special behavior when min_distance is larger or within 0.3 of ideal is confusing. The fact that the special behavior appears only after using merge_springs() makes things more confusing. Definitely. Notice that frax/springs keeps that special behavior, in Spring::length(). The natural, force=0, length of a spring is *always* at least min_distance+0.3 Yes, and that's intended (see below). However, there may be a better way of implementing this - i'm not fully satisfied with how it's done in frax/springs. Achieving this [desired, not-special] behaviour when columns arewide due to lyrics is simple: but there are side effects (too tight spacing in some cases, for example in beam-rest-extreme.ly) which i'm unable to fix. Trace back and see what code uses that +0.3 to good effect, though probably by accident. Only spacing-spanner.cc uses Spring::merge_springs(), and when setting 'beam-rest-extreme.ly' it is used to 'merge' only one spring! Interesting, i didn't notice that! So one good effect is that accidentals are prevented from getting too close to the previous note. That would be better handled with padding associated with the accidental http://code.google.com/p/lilypond/issues/detail?id=3869 I'm not sure if this actually is what we want. Padding would mean that the accidental _never_ gets close to the previous notehead, while we would acutally want to permit that when the compressing force is sufficiently large. So, i think that this has to be done at the level of springs. You could limit the changes in one patch, if you like, by moving the ideal = max(idea, min_distance +0.3) to the point where spacing-spanner.cc finds min_distance to avoid collisions. A magic number is better than a magic number in a mysterious place, and making the 0.3 a parameter is safer to do after we narrow down its beneficial effect. If merge_springs() behaves more simply, it might do a little better for http://code.google.com/p/lilypond/issues/detail?id=3887 (I notice that the option 'average-spacing-wishes' is no longer checked; the code seems to always average spacing between voices.) ok - this looks like a good path to follow. Unfortunately, i don't know when i'll have enough time to chew on this stuff - it seems that i'll have a busy week (or two). Please don't feel ignored if I post a new alignment-related patch instead of working on this issue - i still understand alignment code much better than springs, so i can put togethter an alignment patch in time that would be insufficient to do anything reasonable with springs. Anyway, thanks a lot for your comments - i understand the springs better now. Sooner or later a patch will be written :) best, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
LilyPond meeting 2014?
Hi all, It's been almost two years since the Waltrop 2012 LilyPond Meeting, in which i had the pleasure to participate. What about organizing another meeting this year? - who'd be interested? - where? (David, are you interested in being the host again?) - when? (i suggest 15-17 August) If the meeting will take place within 1500 km from Warsaw (e.g. at Waltrop) and there will be at least 4 other participants, count me in :) best, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyPond meeting 2014?
I'll be definitely unavailable Aug 10-24. This doesn't mean that other dates would work, but that's what I can say right now. Apart from that I have an idea about a beautiful and appropriate location in Stuttgart I could ask for. I'd be more than happy to join this year, but I can't promise anything. Urs On 7. Juli 2014 16:24:34 MESZ, Janek Warchoł janek.lilyp...@gmail.com wrote: Hi all, It's been almost two years since the Waltrop 2012 LilyPond Meeting, in which i had the pleasure to participate. What about organizing another meeting this year? - who'd be interested? - where? (David, are you interested in being the host again?) - when? (i suggest 15-17 August) If the meeting will take place within 1500 km from Warsaw (e.g. at Waltrop) and there will be at least 4 other participants, count me in :) best, Janek ___ lilypond-user mailing list lilypond-u...@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyPond meeting 2014?
2014-07-07 16:24 GMT+02:00 Janek Warchoł janek.lilyp...@gmail.com: Hi all, It's been almost two years since the Waltrop 2012 LilyPond Meeting, in which i had the pleasure to participate. What about organizing another meeting this year? - who'd be interested? - where? (David, are you interested in being the host again?) - when? (i suggest 15-17 August) I'd be happy to join you, if my plans meet yours. My decision-making tends to be last minute.. but I'll probably do a bike trip in North Europe from 10th to end of August and Germany will be for sure one of the countries I'll visit. Of course I'll use also the train to jump to the interesting places. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: fix Issue 2462. (issue 108280044 by janek.lilyp...@gmail.com)
On 2014/07/07 10:21:42, janek wrote: ok - this looks like a good path to follow. Unfortunately, i don't know when i'll have enough time to chew on this stuff - it seems that i'll have a busy week (or two). Let's countdown and push this as-is, then. https://codereview.appspot.com/108280044/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyPond meeting 2014?
Urs Liska u...@openlilylib.org writes: On 7. Juli 2014 16:24:34 MESZ, Janek Warchoł janek.lilyp...@gmail.com wrote: Hi all, It's been almost two years since the Waltrop 2012 LilyPond Meeting, in which i had the pleasure to participate. What about organizing another meeting this year? - who'd be interested? - where? (David, are you interested in being the host again?) - when? (i suggest 15-17 August) If the meeting will take place within 1500 km from Warsaw (e.g. at Waltrop) and there will be at least 4 other participants, count me in :) I'll be definitely unavailable Aug 10-24. This doesn't mean that other dates would work, but that's what I can say right now. The Waltroper Parkfest URL:http://www.waltroper-parkfest.de runs from August 29th to August 31st. It is an excellent diversion for accompanying guests and participants, though no participants actually were inclined to go there in 2012. For German-speaking participants, let me quote Das Waltroper Parkfest findet 2014 an den letzten drei Augusttagen statt. Highlights des Ostvest-Kulturspektakels auf vier Bühnen sind Auftritte von Juli, Hennes Bender, Brings und Too Strong, sowie eine gemeinsame Show der NDW-Stars Markus, Geier Sturzflug, Hubert Kah und Fräulein Menke. Putting the meeting in parallel with the Parkfest in a similar manner as last time would place it on August 28th to September 2nd, with the start and end days mostly being for arrival and departure. The disadvantage is that the availability of external accommodation may be strained during the Parkfest so one should book soon enough if that is desired. Camping on our premises is possible, and we can accommodate a number of people in the house, particularly if they have sleeping bags of their own. Apart from that I have an idea about a beautiful and appropriate location in Stuttgart I could ask for. I don't know about appropriate but the surroundings here _are_ rather scenic. Judging from the last meeting, nobody can bother with going outside anyway as long as the Internet is up. And we've more than doubled our bandwidth as compared to last time when it was at 1Mbps. This year's bird sightings on the premises include cuckoos, great tits, white wagtails, green woodpeckers, black redstarts, barn swallows, spotted flycatchers, magpies, yellowhammers, buzzards and a number of others. If there is sufficient interest, I'd be quite willing to host another meeting. Waltrop is north of Dortmund in the Ruhr area. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyPond meeting 2014?
On 7. Juli 2014 17:19:50 MESZ, David Kastrup d...@gnu.org wrote: Urs Liska u...@openlilylib.org writes: On 7. Juli 2014 16:24:34 MESZ, Janek Warchoł janek.lilyp...@gmail.com wrote: Hi all, It's been almost two years since the Waltrop 2012 LilyPond Meeting, in which i had the pleasure to participate. What about organizing another meeting this year? - who'd be interested? - where? (David, are you interested in being the host again?) - when? (i suggest 15-17 August) If the meeting will take place within 1500 km from Warsaw (e.g. at Waltrop) and there will be at least 4 other participants, count me in :) I'll be definitely unavailable Aug 10-24. This doesn't mean that other dates would work, but that's what I can say right now. The Waltroper Parkfest URL:http://www.waltroper-parkfest.de runs from August 29th to August 31st. It is an excellent diversion for accompanying guests and participants, though no participants actually were inclined to go there in 2012. For German-speaking participants, let me quote Das Waltroper Parkfest findet 2014 an den letzten drei Augusttagen statt. Highlights des Ostvest-Kulturspektakels auf vier Bühnen sind Auftritte von Juli, Hennes Bender, Brings und Too Strong, sowie eine gemeinsame Show der NDW-Stars Markus, Geier Sturzflug, Hubert Kah und Fräulein Menke. Putting the meeting in parallel with the Parkfest in a similar manner as last time would place it on August 28th to September 2nd, with the start and end days mostly being for arrival and departure. That woukd make it considerably more likely for me. I even know that I could park my kids in that period. The disadvantage is that the availability of external accommodation may be strained during the Parkfest so one should book soon enough if that is desired. Camping on our premises is possible, and we can accommodate a number of people in the house, particularly if they have sleeping bags of their own. Apart from that I have an idea about a beautiful and appropriate location in Stuttgart I could ask for. I don't know about appropriate but the surroundings here _are_ rather scenic. Judging from the last meeting, nobody can bother with going outside anyway as long as the Internet is up. And we've more than doubled our bandwidth as compared to last time when it was at 1Mbps. I'm not going to push my sugestion (as I don't even know if it would actually be available). It was meant as a response to Janek's question *if* you'd be ready. Urs This year's bird sightings on the premises include cuckoos, great tits, white wagtails, green woodpeckers, black redstarts, barn swallows, spotted flycatchers, magpies, yellowhammers, buzzards and a number of others. If there is sufficient interest, I'd be quite willing to host another meeting. Waltrop is north of Dortmund in the Ruhr area. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: AccidentalCautionary in NullVoice
Hello, 2014-07-07 2:06 GMT+02:00 Keith OHara k-ohara5...@oco.net: Dan Eble dan at faithful.be writes: It sounds like you are saying the issue with spurious accidental cancellations is fixed in 2.19.9 No, NullVoice still has those problems, because it still creates invisible note-heads, and applies various workarounds so that the note-heads don't have any effect except for positioning Lyrics. 2.19.9 positions Lyrics better if you enter Lyrics with durations, no longer needing the note-heads for positioning. This opens the door to avoid the problems in NullVoice. To be more precise, with my fixes in 2.19.9 Lyrics no longer have to be explicitely attached to noteheads, because they can find respective noteheads themselves. This should make it possible to get rid of the fake/simulated noteheads in the NullVoice context, which give us trouble. Entering lyrics with durations is inconvenient. So we want to get durations from music in a NullVoice. What I posted earlier was a suggested re-definition of NullVoice that does only what is needed. I think that your idea of simply using Devnull instead of NullVoice might give surprisingly good results. 2014-07-07 3:11 GMT+02:00 Mark Polesky markpole...@gmail.com: Dan Keith, NullVoice was my idea, for better or worse. I implemented it without entirely understanding what I was doing, and I probably pushed it in too fast, without sufficient testing. I wanted to offer users *something* to use. Anyway, a good place to start fixing it would be to compile a suite of regression tests, cobbling together example code from all the complaints on the user list, and then fixing bugs one at a time if need be. Exactly. Dan, if you want to push the issue forward, one way to do so would be to collect all example usages of NullVoice from the documentation (http://lilypond.org/doc/v2.19/Documentation/notation/techniques-specific-to-lyrics#polyphony-with-shared-lyrics) and the bug tracker (https://code.google.com/p/lilypond/issues/list?can=1q=NullVoicecolspec=ID+Type+Status+Stars+Owner+Patch+Needs+Summarycells=tiles), put them in one file, try changing all instances of NullVoice to Devnull and see what happens. It's a simple thing to do, and with this information we may be able to fix the nullvoice problem. (i don't have time to do this myself). best, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: fix Issue 2462. (issue 108280044 by janek.lilyp...@gmail.com)
2014-07-07 17:17 GMT+02:00 k-ohara5...@oco.net: On 2014/07/07 10:21:42, janek wrote: ok - this looks like a good path to follow. Unfortunately, i don't know when i'll have enough time to chew on this stuff - it seems that i'll have a busy week (or two). Let's countdown and push this as-is, then. okay! Should we leave issue 2462 opened, or rather create a new issue for the spring code refactoring? thanks, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Issue 3942: Scale slurs and ties when using \magnifyMusic. (issue 103890046)
https://codereview.appspot.com/103890046/diff/250001/ly/music-functions-init.ly File ly/music-functions-init.ly (right): https://codereview.appspot.com/103890046/diff/250001/ly/music-functions-init.ly#newcode718 ly/music-functions-init.ly:718: \context Voice { This would create a new Staff when using \new TabStaff { \magnifyMusic ... It would seem safer to use \context Bottom instead. https://codereview.appspot.com/103890046/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Issue 3997: \magnifyMusic: don't modify nested properties; reformat code. (issue 110840044 by markpole...@gmail.com)
Reviewers: , Message: continued from http://codereview.appspot.com/103890046/#msg11 On 2014/07/07 18:22:09, dak wrote: https://codereview.appspot.com/103890046/diff/250001/ly/music-functions-init.ly#newcode718 ly/music-functions-init.ly:718: \context Voice { This would create a new Staff when using \new TabStaff { \magnifyMusic ... It would seem safer to use \context Bottom instead. Wow, I didn't even know there was a context called Bottom. Anyway, this raises a new question: How do I tweak the distance between the half-note's two stems in tablature? \new TabStaff { \tabFullNotation c2 } Thanks, Mark Description: In response to David's objections here: http://codereview.appspot.com/103890046/#msg9 See http://code.google.com/p/lilypond/issues/detail?id=3997 Please review this at https://codereview.appspot.com/110840044/ Affected files (+42, -116 lines): M ly/music-functions-init.ly M scm/music-functions.scm ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Issue 3997: \magnifyMusic: don't modify nested properties; reformat code. (issue 110840044 by markpole...@gmail.com)
On 2014/07/07 20:48:17, Mark Polesky wrote: continued from http://codereview.appspot.com/103890046/#msg11 On 2014/07/07 18:22:09, dak wrote: https://codereview.appspot.com/103890046/diff/250001/ly/music-functions-init.ly#newcode718 ly/music-functions-init.ly:718: \context Voice { This would create a new Staff when using \new TabStaff { \magnifyMusic ... It would seem safer to use \context Bottom instead. Wow, I didn't even know there was a context called Bottom. There isn't. Bottom is only an alias for any context that has no \defaultchild. So \context Bottom basically creates implicit child contexts until bottoming out. https://codereview.appspot.com/110840044/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Remove thin-kern property. (issue 105560044 by markpole...@gmail.com)
On 2014/07/07 07:25:15, marc wrote: On 2014/07/07 01:31:01, Mark Polesky wrote: On 2014/07/06 11:52:56, thomasmorley651 wrote: I disagree! 'kern and 'thin-kern _are_ used differently. But *do* we need two different variables which then are used with exactly the same value? Do we need the option to change the distance of the segno double bar line? I'd say yes. I'm always against loosing functionality, and deleting 'thin-kern would limit the tweaking-possibilities. IIRC, this is a leftover from the bar line reorganisation work, the double bar line || was formerly spaced with 'thin-kern as well, but as we implemented the stacking algorithm for bar lines, all constituents are now spaced with 'kern. Yep I'd remove 'thin-kern entirely. In case someone wants to modify the appearance of the segno symbol, he can use a multiplier and create his own stencil easily. It's very easy to create custom-bar-lines nowadays -- for us! Though, I doubt the average user has the scheme-knowledge to do so. In the NR we don't explain how to code new barline-procedures like `make-segno-bar-line' (only the hint to look into bar-line.scm) and afaik nowhere else. There's a regtest doing so, but we don't expect users to look there. Until we can come up with an interface to create new barline-procedures, which is much easier for the average user (although I've no clue right now, how it should look), we should keep all tweaking/overriding possibilities, imho. https://codereview.appspot.com/105560044/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Issue 3997: \magnifyMusic: don't modify nested properties; reformat code. (issue 110840044 by markpole...@gmail.com)
On 2014/07/07 20:48:17, Mark Polesky wrote: [...] this raises a new question: How do I tweak the distance between the half-note's two stems in tablature? \new TabStaff { \tabFullNotation c2 } You can't. It's hardcoded with tabvoice::draw-double-stem-for-half-notes in tablature.scm Personally I'd prefer the double stem centered on the TabNoteHead. Something at the lines of: (define-public (tabvoice::draw-double-stem-for-half-notes grob) (let ((stem (ly:stem::print grob))) ;; is the note a (dotted) half note? (if (= 1 (ly:grob-property grob 'duration-log)) ;; yes - draw double stem (ly:stencil-add (ly:stencil-translate-axis stem -0.315 X) (ly:stencil-translate-axis stem 0.315 X)) ;; no - draw simple stem stem))) And while on it, the value 0.315 could be taken from a property or an optional argument. https://codereview.appspot.com/110840044/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyPond meeting 2014?
2014-07-07 16:24 GMT+02:00 Janek Warchoł janek.lilyp...@gmail.com: Hi all, It's been almost two years since the Waltrop 2012 LilyPond Meeting, in which i had the pleasure to participate. What about organizing another meeting this year? - who'd be interested? - where? (David, are you interested in being the host again?) - when? (i suggest 15-17 August) If the meeting will take place within 1500 km from Warsaw (e.g. at Waltrop) and there will be at least 4 other participants, count me in :) best, Janek Count me in, too. Depends on the exact dates, though. Cheers, Harm ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Manual bar number visibility
On Jul 7, 2014, at 06:10 , Thomas Morley thomasmorle...@gmail.com wrote: I've still 2.12.3 installed and could do some testing. All I can say right now is, that 'visibleBarNumbers is not a valid context-property and it wasn't in 2.12.3 as well. Valid or not, it solved a problem and worked for years. Is there a way to make 2.18 let me set this property, or is there another way that I can store and retrieve my own score-level information? I have other functions that are producing similar warnings. A full example follows. Thanks, — Dan barNumber = #(define-music-function (parser location) () (let ((m (make-music 'ApplyContext))) (define (force-bar-number ctx) (let* ((barnum-table (ly:context-property ctx 'visibleBarNumbers))) (if (not (hash-table? barnum-table)) ; first use in this score? (begin ; create the set of visible bar numbers (set! barnum-table (make-hash-table 16)) (ly:context-set-property! ctx 'visibleBarNumbers barnum-table))) (let* ((barnum (ly:context-property ctx 'currentBarNumber)) (measurePos (ly:context-property ctx 'measurePosition)) (measureLen (ly:context-property ctx 'measureLength)) (mid-measure (and (ly:moment? ZERO-MOMENT measurePos) (ly:moment? measurePos measureLen (if mid-measure (set! barnum (1+ barnum))) (hash-set! barnum-table barnum #t) ))) (set! (ly:music-property m 'procedure) force-bar-number) (context-spec-music m 'Score))) manualBarNumbersOn = #(define-music-function (parser location) () (define (set-properties ctx) (let () ; this special formatter is necessary for string-number to ; work in the visibility callback below (define (bar-number-formatter barnum measure-pos alt-number ctx) (number-string barnum)) (define (bar-number-break-visibility-callback grob) (let ((barnum-table (ly:context-property ctx 'visibleBarNumbers)) (barnum (string-number (ly:grob-property grob 'text (if (and (hash-table? barnum-table) (hash-ref barnum-table barnum)) end-of-line-invisible begin-of-line-visible ))) (ly:context-set-property! ctx 'barNumberFormatter bar-number-formatter) (ly:context-pushpop-property ctx 'BarNumber 'break-visibility bar-number-break-visibility-callback) )) (context-spec-music (make-apply-context set-properties) 'Score)) % Encourage a line break in the music. % This is intended to mark the end of a line of lyrics. meterBreak = { \overrideProperty Timing.NonMusicalPaperColumn #'line-break-penalty #-1 % 2.16.1 % \overrideProperty Timing.NonMusicalPaperColumn.line-break-penalty #-1 % 2.18.2 \bar \barNumber } % 2.12.3 prints bar numbers 5, 8, and 12 without complaint. % % 2.16.1 prints bar numbers 5, 8, and 12 and complains % warning: cannot find property type-check for `visibleBarNumbers' % (translation-type?). perhaps a typing error? % warning: doing assignment anyway % % 2.18.2 does not print any bar numbers and complains % warning: cannot find property type-check for `visibleBarNumbers' % (translation-type?). perhaps a typing error? % warning: skipping assignment \new Staff { \manualBarNumbersOn \relative d' { \time 3/4 \partial 4 d4 | g2 b4 | b2 a4 | g2 e4 | d2 \meterBreak d4 | g2 b4 | b2 a4 | d2 \meterBreak d4 | d2 b4 | g2 d4 | e2 g4 | d2 \meterBreak d4 | g2 b4 | b2 a4 | g2 \bar |. } } ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Remove thin-kern property. (issue 105560044 by markpole...@gmail.com)
Thomas Morley-2 wrote But *do* we need two different variables which then are used with exactly the same value? Do we need the option to change the distance of the segno double bar line? I'd say yes. I'm always against loosing functionality, and deleting 'thin-kern would limit the tweaking-possibilities. +1 -Paul -- View this message in context: http://lilypond.1069038.n5.nabble.com/Remove-thin-kern-property-issue-105560044-by-markpolesky-gmail-com-tp164053p164144.html Sent from the Dev mailing list archive at Nabble.com. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Manual bar number visibility
2014-07-08 1:54 GMT+02:00 Dan Eble d...@faithful.be: On Jul 7, 2014, at 06:10 , Thomas Morley thomasmorle...@gmail.com wrote: I've still 2.12.3 installed and could do some testing. All I can say right now is, that 'visibleBarNumbers is not a valid context-property and it wasn't in 2.12.3 as well. Valid or not, it solved a problem and worked for years. Is there a way to make 2.18 let me set this property, or is there another way that I can store and retrieve my own score-level information? I have other functions that are producing similar warnings. A full example follows. Thanks, — Dan [...] The following seems to work (though, it's in the middle of the night here, can't think anymore ..) \version 2.19.8 #(define (define-translator-property symbol type? description) (if (not (and (symbol? symbol) (procedure? type?) (string? description))) (ly:error error in call of define-translator-property)) (if (not (equal? (object-property symbol 'translation-doc) #f)) (ly:error (_ symbol ~S redefined) symbol)) (set-object-property! symbol 'translation-type? type?) (set-object-property! symbol 'translation-doc description) symbol) #(for-each (lambda (x) (apply define-translator-property x)) `((visibleBarNumbers ,hash-table? what-ever-description) )) barNumber = #(define-music-function (parser location) () (let ((m (make-music 'ApplyContext))) (define (force-bar-number ctx) (let* ((barnum-table (ly:context-property ctx 'visibleBarNumbers))) (if (not (hash-table? barnum-table)) ; first use in this score? (begin ; create the set of visible bar numbers (set! barnum-table (make-hash-table 16)) (ly:context-set-property! ctx 'visibleBarNumbers barnum-table))) (let* ((barnum (ly:context-property ctx 'currentBarNumber)) (measurePos (ly:context-property ctx 'measurePosition)) (measureLen (ly:context-property ctx 'measureLength)) (mid-measure (and (ly:moment? ZERO-MOMENT measurePos) (ly:moment? measurePos measureLen (if mid-measure (set! barnum (1+ barnum))) (hash-set! barnum-table barnum #t) ))) (set! (ly:music-property m 'procedure) force-bar-number) (context-spec-music m 'Score))) manualBarNumbersOn = #(define-music-function (parser location) () (define (set-properties ctx) (let () ; this special formatter is necessary for string-number to ; work in the visibility callback below (define (bar-number-formatter barnum measure-pos alt-number ctx) (number-string barnum)) (define (bar-number-break-visibility-callback grob) (let ((barnum-table (ly:context-property ctx 'visibleBarNumbers)) (barnum (string-number (ly:grob-property grob 'text (if (and (hash-table? barnum-table) (hash-ref barnum-table barnum)) end-of-line-invisible begin-of-line-visible ))) (ly:context-set-property! ctx 'barNumberFormatter bar-number-formatter) (ly:context-pushpop-property ctx 'BarNumber 'break-visibility bar-number-break-visibility-callback) )) (context-spec-music (make-apply-context set-properties) 'Score)) % Encourage a line break in the music. % This is intended to mark the end of a line of lyrics. meterBreak = { \overrideProperty Timing.NonMusicalPaperColumn.line-break-penalty #-1 % 2.18.2 \bar \barNumber } \new Staff { \manualBarNumbersOn \relative d' { \time 3/4 \partial 4 d4 | g2 b4 | b2 a4 | g2 e4 | d2 \meterBreak d4 | g2 b4 | b2 a4 | d2 \meterBreak \break % N.B. d4 | d2 b4 | g2 d4 | e2 g4 | d2 \meterBreak d4 | g2 b4 | b2 a4 | g2 \bar |. } } HTH, Harm ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Manual bar number visibility
On Jul 7, 2014, at 21:58 , Thomas Morley thomasmorle...@gmail.com wrote: 2014-07-08 1:54 GMT+02:00 Dan Eble d...@faithful.be: On Jul 7, 2014, at 06:10 , Thomas Morley thomasmorle...@gmail.com wrote: I've still 2.12.3 installed and could do some testing. All I can say right now is, that 'visibleBarNumbers is not a valid context-property and it wasn't in 2.12.3 as well. Valid or not, it solved a problem and worked for years. Is there a way to make 2.18 let me set this property, or is there another way that I can store and retrieve my own score-level information? I have other functions that are producing similar warnings. A full example follows. The following seems to work (though, it's in the middle of the night here, can't think anymore ..) \version 2.19.8 #(define (define-translator-property symbol type? description) . . . It works in 2.18 too. (*applause*) Many thanks. — Dan ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel