Text Spanner, with Text left-aligned to bar-line, and spanner line right-aligned to subsequent bar-line?

2012-10-01 Thread Zenaan Harkness
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?

2012-10-01 Thread Zenaan Harkness
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?

2012-10-02 Thread Zenaan Harkness
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?

2012-10-02 Thread Zenaan Harkness
> 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.

2012-10-04 Thread Zenaan Harkness
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.

2012-10-05 Thread Zenaan Harkness
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

2012-10-05 Thread Zenaan Harkness
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

2012-11-26 Thread Zenaan Harkness
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?

2012-12-10 Thread Zenaan Harkness
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

2013-02-28 Thread Zenaan Harkness
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]

2013-03-01 Thread Zenaan Harkness
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