Text Spanner, with Text left-aligned to bar-line, and spanner line right-aligned to subsequent bar-line?
G'day, FP here. Here's my code: capoVHalf = { %\context { \Score \override RehearsalMark #'self-alignment-X = #RIGHT } %\override TextSpanner #'(bound-details l X) = #0 %\override TextSpanner #'(bound-details right X) = #40 %\override TextSpanner #'(bound-details right padding) = #-20 %\once \override Score.RehearsalMark #'self-alignment-X = #LEFT %\once \override TextSpanner #'(bound-details left stencil-align-dir-X) = #LEFT \once \override TextSpanner #'to-barline = ##t \once \override TextSpanner #'dash-fraction = #0.6 \once \override TextSpanner #'(bound-details left text) = \markup { \tiny { "½ Capo V" } } } It seems I can align around a bar-line, if I just use a text Mark, and can only align the text (rehearsal mark) to a note if I want a spanner line, eg for a guitar Capo marking, with the line extending over the bars that the capo applies to. This is standard notation for guitars. I can right-align the spanner line as seen above ( #'to-barline = ##t) by moving the corresponding \stopTextSpan to _after_ the subsequent note to which it really applies, but at least it looks right. But I can't get the text left aligned to the start of the bar in which it appears; it always aligns around the center of the note to which it follows. Any one know if it's possible to achieve proper Capo notating with lilypond? Thanks in advance Zenaan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text Spanner, with Text left-aligned to bar-line, and spanner line right-aligned to subsequent bar-line?
On 10/2/12, Thomas Morley wrote: > 2012/10/1 Zenaan Harkness : >> G'day, FP here. > Hi Zenaan, > > I'm tired of a hard day's work. > Although I'm interested in this stuff (being a guitarist myself), I > will not work on your code unless you provide a compilable > code-example illustrating your problem. Thank you for this. I shall be sure to do so in future. Glad my First Post did not cause a furnace of flames. Your guidance on posting is appreciated. It was a very late night for me, trying to learn Lilypond basics, to get as far as I got. So much reading, googling ... Regards Zenaan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text Spanner, with Text left-aligned to bar-line, and spanner line right-aligned to subsequent bar-line?
Hi David, got back home and your example works well on 2.14.2! Great! But I failed to make it work in my context. I tidied and reduced my score and attached (3.4KiB). I've tried using your capo spanner in the melodyA part, and in the bassA part, and the melody gives error, and when in the bass part, the capo spanner only lines up with notes. You can see my commented out attempt in the melody section. Again, your example does work, just mine that doesn't. Thanks again, Zenaan \version "2.14.2" \language english % Capo notation wizardry: #(define (capo grob) (let* ((orig (ly:grob-original grob)) (siblings (if (ly:spanner? orig) (ly:spanner-broken-into orig) '())) (total-found (length siblings))) (define (adjust-first-left piece) (let* ((sys (ly:grob-system piece)) (cols (ly:grob-object sys 'columns)) (cols-list (ly:grob-array->list cols)) (nearest-non-musical (find (lambda (col) (eq? #t (ly:grob-property col 'non-musical))) (find-tail (lambda (col) (eq? col (ly:grob-object (ly:spanner-bound piece LEFT) 'axis-group-parent-X))) (reverse cols-list) (ly:spanner-set-bound! piece LEFT nearest-non-musical))) (if (>= total-found 1) (if (eq? grob (car siblings)) (adjust-first-left grob)) (adjust-first-left grob capoVHalf = { \once \override TextSpanner #'to-barline = ##t \once \override TextSpanner #'dash-fraction = #0.6 \once \override TextSpanner #'(bound-details left-broken text) = ##f \once \override TextSpanner #'(bound-details left padding) = #0 \once \override TextSpanner #'(bound-details left-broken padding) = #0.25 \once \override TextSpanner #'(bound-details left text) = \markup { \tiny { "½ Capo V" } } \once \override TextSpanner #'after-line-breaking = #capo } % em : E minor chord triplets: emeb = \relative b' \times 2/3 { b8 b, g } emea = \relative g' \times 2/3 { a8 b, g } emeg = \relative g' \times 2/3 { g8 b, g } melodyA = \relative e' { \key e \minor \time 3/4 \emeb \emeb \emeb | \override TupletNumber #'transparent = ##t \emeb \emea \emeb | \emeg \emea \emeb | \emeg \emea \emeb | %\capoVHalf \emeb %<> \startTextSpan \emea \emeb | \emeg %<> \stopTextSpan \emea \emeb | \emeg \emea \emeb | \emeb \emea \emeb | } bassA = \relative c, { \key e \minor \time 3/4 e2.e e e | \capoVHalf a %<> \startTextSpan b \startTextSpan e, <> \stopTextSpan e } beginWithRepeatBar = { \once \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(instrument-name left-edge ambitus breathing-sign clef key-signature time-signature staff-bar custos)) \once \override Staff.TimeSignature #'space-alist = #'((first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.5)) ;; free up some space between time signature ;; and repeat bar line (staff-bar . (extra-space . 1))) \bar "|:" } toCoda = { \once \override Score.RehearsalMark #'break-visibility = #end-of-line-visible \once \override Score.RehearsalMark #'self-alignment-X = #RIGHT \once \override Score.RehearsalMark #'padding = #2.5 \mark \markup { \bold \tiny "To Coda" } \break } theSong = { \beginWithRepeatBar \repeat volta 2 << \melodyA \\ \bassA >> \toCoda } \book { \score { << \new StaffGroup << \new Staff { \clef "treble_8" \theSong } \new TabStaff { \theSong } >> >> \layout { } } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text Spanner, with Text left-aligned to bar-line, and spanner line right-aligned to subsequent bar-line?
> I can't suggest a fix, so I suppose the alternatives are to use the > function I gave you within narrow(ing) constraints, or eyeballing > values for '(bound-details left padding) to justify the left text to > the bar line case-by-case. The "narrow constraint" for my scores is a show-stopper: not able to use two voices on one staff. I have reduced the example of this to a lean 1.5KiB, attached, which works fine (one voice only); and uncommenting line 50 (to include melody and bass voices on the one staff) produces the error: " Drawing systems.../tmp/frescobaldi-IwGYWD/tmptXInwu/capoVHalf-test.ly:14:16: In procedure find in expression (find (lambda # #) (find-tail # #)): /tmp/frescobaldi-IwGYWD/tmptXInwu/capoVHalf-test.ly:14:16: Wrong type argument in position 2 (expecting list): #f " Is it sensible to report this as a bug (and useful to the developers)? TIA Zenaan (PS managed to upgrade to 2.16 this evening.) \version "2.16.0" #(define (capo grob) (let* ((orig (ly:grob-original grob)) (siblings (if (ly:spanner? orig) (ly:spanner-broken-into orig) '())) (total-found (length siblings))) (define (adjust-first-left piece) (let* ((sys (ly:grob-system piece)) (cols (ly:grob-object sys 'columns)) (cols-list (ly:grob-array->list cols)) (nearest-non-musical (find (lambda (col) (eq? #t (ly:grob-property col 'non-musical))) (find-tail (lambda (col) (eq? col (ly:grob-object (ly:spanner-bound piece LEFT) 'axis-group-parent-X))) (reverse cols-list) (ly:spanner-set-bound! piece LEFT nearest-non-musical))) (if (>= total-found 1) (if (eq? grob (car siblings)) (adjust-first-left grob)) (adjust-first-left grob capoVHalf = { \override TextSpanner #'to-barline = ##t \override TextSpanner #'after-line-breaking = #capo \override TextSpanner #'(bound-details left text) = \markup { \teeny { "½ Capo V" } } } startCapo = <> \startTextSpan endCapo = <> \stopTextSpan melody = \relative c' { c2 c \capoVHalf \startCapo c c c c \endCapo c c } bass = \relative c, { e1 e a a } << \new StaffGroup << \new Staff { \clef "treble_8" %<< \melody \\ \bass >> % Line 50 \melody } >> >> ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: "Parallel music view" - inspiration for LilyPond editors.
Any estimates of the number of "active" users of lilypond? We could arrange feature fundings, with many users, say $20 each makes it eminently feasible - kickstarter for lilypond.. but kickstarter results in I think in 10% or so lost to the middle men, but it could suffice. I'd be happy to pay straight into developers account, if there is a consensus amongst say 100 people to fund a feature. Zenaan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Non-profit - was Re: "Parallel music view" - inspiration for LilyPond editors.
On 10/5/12, David Kastrup wrote: > Werner LEMBERG writes: > >>> Have you read >>> >>>http://lwn.net/Articles/514964/ >> >> Not yet, thanks for that! >> >>> on Bradley Kuhn's >>> >>>http://sfconservancy.org/ >> >> Actually, I've already asked for making FreeType a conservancy member >> some months ago, and it seems to be a quite slow process... >> >> Maybe we should do the same for LilyPond. > > They then manage the project funds (deducting a flat 10%) which are only > to be used for non-profit purposes. I don't see that my personal > situation, working on LilyPond financed by its users, could be labelled > as non-profit since it is my sole source of income, and I spend it > almost entirely on non-LilyPond related expenses like rent, food, > personal insurance and other stuff. I think you misunderstand. I don't have detailed knowledge, but FWIW, the point of SFC is to fund libre projects. Your development of lilypond is exactly what SFC funds. Your work is purely non-profit, since your expenses are no more than your living expenses. Your activity is purely non-profit, and on libre software. Consider a non-profit organisation - it funds non-profit activities. For example it might fund a teacher to travel to a poor/disadvantaged community, and that teacher's normal living expenses are either covered specifically (per receipts), or almost exclusively, covered by a salary/wage as paid to the teacher. The teacher has full discretion to use their wage at their discretion, and presumably they pay their usual bills, telecoms, food, rent, etc. How could it be any other way? The only caveat is that the teacher is normally paid a salary that is somewhat commensurate to local salaries, which in certain regions of the world is very low by western standards. But that's so as not to appear unbalanced, not to be unbalanced wrt the local humans. And also, local rents, food, utilities etc are also commensurately lower (typically) than our "normal western standards". So dear David, our brother in spirit, please do cast aside your misunderstanding and embrace wholly and with pride, the work that you do, your conduct, your selfless contributions, and, as from the LWN article above, the lower "salary" that you receive. Respect! Kudos to you! Others have had harder times of their transition into a dominantly community-focused living of their lives, such as Tom Lord of GNU Arch fame (and old DVCS for those who don't know), and Paul Davis' early days getting the Ardour (ardour.org) DAW off the ground - check out ardour.org for a little inspiration if you need it. We (humans) are in a transition from focusing our lives around self-centered activities towards self-less "community" activities. David you are not an opportunistic investor. Far from it. You are a worker. There is a vast difference. Check out http://en.wikipedia.org/wiki/Profit_(economics) :) Those wily accountants - got us all firetrucked up in our thinking!! Time to banish the crap!! > donation targets. If we had significant non-profit expenses in the Your wage/salary is a non-profit expense. It's that simple. > But "provide a living for David, so that he can continue to diddle away > on LilyPond just at what catches his fancy on the spur of a moment" will > be a hard sell to an organisation which ultimately has to report to tax > authorities about their non-profit expenses and planning. Bzzt. Go check out SFC again, and send Bradley Kuhn an email. Once you have clarity, PLEASE write up an essay, making it as concise as possible, around your MIS-understanding, and how things REALLY are. Then please email this to r...@gnu.org, bradley kuhn, and wherever you fancy. "Steal" any/all of the above, etc, etc. Oh yes, that's right, also contact l...@lwn.net (Johnathan Corbet) with your second or third draft, and ask if they would like it as a feature article, and perhaps could they send a few dollars your way as a "guest editor". I am confident that this shift of understanding is something that many are going through, and these efforts at clarity will be very useful to others. > Hey, it is not even an easy sell on the LilyPond users we can reach Those who are with an interest, passion, enjoyment, appreciation, care and consideration ... of lilypond ... do not need a "sell". We are the converted. We see the value. We value you, and your contributions, AND of course those of all others who have and do contribute. Some of us make small contributions and are simply glad that others benefit. Others (eg yourself) have a greater passion for this particular pathway of creativity and wish to be facilitated in further pursuit of said pathway. Others (like myself), value and appreciate such passion and dedication and wish to further and foster that, even if in a small way. IF, for a particular project, enough like myself, facilitate those such as yourself, this is good. If there are not enough, then your passion must be greater :) > ourselves, and I gu
Re: Tuplets in Orthodox Liturgical Music
Hi, I'm a lilypond newbie, and having difficulty understanding what you're asking. Please reduce your example by getting rid of almost everything, even header/title not necessary etc, so that you provide an example just a bar or two long, so that your problem is easy to see. Cheers Zenaan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Error Message
On 11/27/12, David Kastrup wrote: > David Nalesnik writes: >> On Mon, Nov 26, 2012 at 8:10 PM, Mark Stephen Mrotek >> wrote: >>> Since I copied the following >>> \set TupletSpannerDuration = #(ly:make-moment 1 4) >>> from the manual and pasted it into the code, I am not sure what the >>> error >>> is. >> >> Should be "tupletSpannerDuration" with no capitalization of the first >> letter. > > I verified that the manual contains no instance of > "TupletSpannerDuration". "copy and paste" has a rather fixed meaning > that is usually not meant to include "read and manually retyped". Aww, c'mon. What's a few [de]capitalisations or an extra char between computers^Wfriends? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: resources for working with Nicolas Sceaux's source?
Some form of templating outside Lilypond could potentially be useful, eg stringtemplate.org which is my personal favourite; never used it with Lilypond though. Lilypond variables of course. Bigger than ben hur from the get go might be daunting/ frustrating learning experience. Write up your first score bit by bit, add Lilypond score features as you go. Good luck Zenaan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Advocating non-free softwares
On 2/27/13, David Kastrup wrote: > Kieren MacMillan writes: > >> David, >> >>> Then it would seem that many of us have forgotten >>> what brought LilyPond to them in the first place. >> >> No — some of us just have a sense of balance and tolerance. > > Sounds to me like the "fair is foul and foul is fair" idea of balance > and tolerance pervading today's educational systems. Interesting phrase, thanks. Can you refer me to any specific polemic on this? > "tolerant" is not the same as "stanceless". As a GNU project, LilyPond > has a stance. David, thank you so, so much! Regards Zenaan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Advocating non-free softwares [WAS: Heads up about Frescobaldi & Ubuntu - Insert Menu Glitch]
On 2/26/13, Jan Nieuwenhuizen wrote: > james writes: > >>> Could you please be more aware and more careful about advocating the use >>> of non-free operating systems? >> >> Does this mean we shouldn't mention that we use non-free operating >> systems? Or ask questions, comments about non-free operating systems? > > I think we can proudly advertise that LilyPond runs on all common > operating systems, I personally invested quite some time to create > that. This empowers users who are for one reason or another still > stuck with a freedom-denying operating system. For added (reading and googling) impact: "freedom-denying Microsoft Windows and freedom-denying Apple MacOS operating systems". :) Zenaan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user