Re: Words under notes with dashed slur

2020-01-18 Thread kieren_macmillan kieren_macmillan
Hi Peter,

> I am trying to do a single-stave (voice) score with words in two 
> languages. In one measure, I have a dotted crochet tied to a quaver with 
> a dashed slur because it is sung to two syllables in one language but 
> only one syllable in the other language.

There are several ways of accomplishing what you want. Perhaps the simplest to
understand is this one:

  SNIPPET BEGINS  
\version "2.19.83"

thenotes = { \once \phrasingSlurDashed c''4.\( 8\) }

onesyllable = \lyricmode { six \markup \null }
twosyllables = \lyricmode { sev -- en }

\score {
  <<
\new Staff \new Voice \thenotes
\addlyrics \onesyllable
\addlyrics \twosyllables
  >>
}
  SNIPPET ENDS  

Hope that helps!
Kieren.



Re: Distance of a grob from its reference point

2020-01-14 Thread kieren_macmillan kieren_macmillan
Hi Paolo (et al.),

> Why do I need to move a grob?
> For the simple fact that any score, in order to have a * professional *
> appearance, needs HUNDREDS of these adjustments.
> Even the simplest ones.

I think we all agree on that.

Now… At one end of a philosophical spectrum lies the point where everyone spends
all their energy, time, and brainpower trying to make Liypond do all of those
adjustments automagically; at the other end lies the point where we say "It’s
good enough now; let’s build a tool by which the user can make the necessary
adjustments."; and somewhere in between is the spot where energy, time, and
brainpower goes into both those efforts. That last spot is different for each of
us — some want to spend more time improving Lilypond’s decision-making
capabilities, some want to spend more time giving users tools to fix what
LIlypond doesn’t do perfectly.

> This type of music requires so many adjustments that it is impossible to
> achieve with Lilypond, unless you spend a very very very long time with the
> trial and error process.

The point is that Lilypond v1 required many, many times more adjustments than
Lilypond v2.19.83 does, because people took the time to improve Lilypond’s
engines and algorithms and decision-making functions. If everyone had spent
their time building a fabulous GUI on top of [stagnated] Lilypond v1, we’d be in
the same boat now that Finale and Sibelius are in: data entry is really no
faster than in Lilypond, but it takes hours and hours of tweaking just to get to
Lilypond’s default output.

> Without having to use the combination with Inkscape, because it also has many
> disadvantages.

For the record, I do all my engraving and drawing in Lilypond (leveraging the
edition-engraver), and never take it out to Inkscape — even when I’m drawing
things like Tonnetz graphs (e.g.,
https://www.mail-archive.com/lilypond-user@gnu.org/msg131758/Inte__gral32_ProtoHarmony_Ex8c.pdf).

> Try making these micro- (or big) adjustments with just the text editor. You
> will go crazy.

I do hope you make your tool able to generate tweaks that go into presentation
code/files that are separate from the content code. I use the edition-engraver
for all my Lilypond scores, and as non-crazy-making as that is by itself, I
would love to have the option of using a tool like yours to calculate, write
out, and modify the tweak code.

Cheers,
Kieren.



Re: Distance of a grob from its reference point

2020-01-14 Thread kieren_macmillan kieren_macmillan
Hi Aaron,

> > My mind was a little blown by the result of changing that to
> You and me both.

Well, that at least makes me feel a little better. #miserylovescompany

> > Hence the ability to offset (e.g.) an OttavaBracket precisely X staff
> > spaces while still [re-]engaging the spacing engine is neither an
> > unreasonable request, nor something that Lilypond could (or even
> > should!) try to manage automagically.
> 
> I suppose my sticking point is the need to be so precise with positioning.

As a deeply fussy engraver, I do a lot of grob-pushing in the final stages of
the process. My workflow, equipment, and eye are attuned enough that I can
easily estimate offsets with accuracy of 0.125 staff spaces at 100% page view.
Given how long compiling can take with large scores, it’s really frustrating to
try to offset a grob 0.5 spaces (through means other than extra-offset),
recompile [and go get coffee], only to come back and find that because of some
weird interaction or bug the grob only moved 0.125 spaces (or worse didn’t get
moved at all).

> I cannot envision any musical meaning for the exact vertical position of 
> an OttavaBracket. Rather, an engraver should simply desire it 
> positioned so the performer is able to notice it without distraction. 
> If it sits too close to other elements, then additional padding may be 
> necessary. And vice versa, perhaps the bracket needs to sit very 
> snuggly in some cases to look right.

Yes. But if attempts to move it by X don’t actually move it by *precisely* X,
the workflow gets slowed/interrupted.

> Moving an offending bracket as mentioned above *should* be doable
> with Y-offset or any one of the various padding properties.

That would be great — I like to leave 'extra-offset for the last possible
resort.

> That said, I have noticed that slur-padding seems to have no effect on
> OttavaBrackets. That is either 
> yet another bug or just a figment of my misunderstanding.

I also wish that every grob had a separate padding parameter for above and
below… but that’s a whole 'nother thing.

Thanks,
Kieren.



Re: Shift up OttavaBracket

2020-01-12 Thread kieren_macmillan kieren_macmillan
Hi Paolo,

> Unfortunately, with extra-offset I have the disadvantage that all the other
> objects are not moved automatically (smart repositioning)

Do you want to increase padding?
e.g., http://lilybin.com/yb5u35/4

> Does my example show a bug/missing feature for OttavaBracket?

To be honest, it’s not 100% clear to me what you want.
Can you be more specific what’s not working and exactly what you expect to
happen?

Thanks,
Kieren.



Re: Sustain pedal problems with voices/staffs (re-posted)

2020-01-11 Thread kieren_macmillan kieren_macmillan
Hi Paolo,

> How can your solution can be applied to the above examples?

See  for a possible start. There’s obviously a
better solution than the extra-offset I used, but I can’t currently seem to find
a way to force the pedal below the PianoStaff (e.g., with a 'direction parameter
or something) — hopefully someone else can solve that bit. I’m pretty sure if
you do this approach, you don’t need to move the pedals around in the Scheme
code.

Hope that helps!
Kieren.



Re: Collision between ottava bracket and stems in cross-staff systems

2019-12-08 Thread kieren_macmillan kieren_macmillan
Hi Paolo,

> unfortunately this method is trial and error as well.

Not if it’s a callback function.  ;)  You need to write code that determines how
much to shorten/extend (by referencing the width of noteheads, etc.), and
automatically applies the tweak. That’s how you make it not trial-and-error.

That being said, if the 8va moves too far to the left, it would imply that
earlier moments should be ottavated, so… Good luck!  =)

Best,
Kieren.



Re: Collision between ottava bracket and stems in cross-staff systems

2019-12-08 Thread kieren_macmillan kieren_macmillan
Hi Paolo,

I think you’d want a callback that tweaks shorten-pair?

Look at  for an idea of what the final result might
be.

Hope that helps!
Kieren.


> -- Original Message --
> From: Paolo Pr 
> Date: December 8, 2019 at 6:40 PM
> 
> 
> Hello,
>  
> in cross-staff systems, I see that the ottava bracket can produce an unwanted
> collision between the "8va" string and the stems. Please, look at:
>  
> http://lilybin.com/vf4vaj/1
>  
> Is there a way to automatically avoid that, without using the trial-and-error
> method for adjusting the offset of the object?
>  
> Thanks



Re: Overriding position of a full bar rest does not always work

2019-12-02 Thread kieren_macmillan kieren_macmillan
Hi Peter,

> I've just thought of another reason not too use \mark for placing text for
> tempo changes and expressive text: what happens if it's not at the beginning
> of the bar?

I think you’ve misunderstood. Using \mark doesn’t mean you stop using precise
timing placement — of course you still need to do that!

Here’s what I (and most serious Lilypond engravers I know) do: you have a
completely separate variable that includes all score-level items (tempi,
rehearsal marks, etc.), which are set using skips (so that they are placed at
the correct point in the score, regardless of what’s contained in other voices).
Then you add that variable to whatever context(s) need it (e.g., above the top
staff, also above the string group in a full score, etc.).

Hope that helps!
Kieren.



Re: How to set a fixed distance between upper page edge and top line of first staff?

2019-07-30 Thread kieren_macmillan kieren_macmillan
Hi all,

Sorry I’m late to the thread — I’m in Edinburgh with my [Lilypond-engraved!]
show at the Fringe.  =)

> Additionally, I find it difficult to get all the snippets equal width.

Seems like all of that would be dead simple by packing each score in a \markup
wrapper and then just placing them explicitly on the page. No?

Hope that helps!
Kieren.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Customize \RemoveEmptyStaves

2018-07-17 Thread kieren_macmillan kieren_macmillan
Hi Marcos,

> Is there any way to set RemoveEmptyStaves just for SKIP's or when the
> rest/skip is larger than 1 (one) bar?

Have you looked to see if keep-alive-interfaces can be set such that skips are
the only items considered?

Just an untested brainstorm.
Hope it helps!
Kieren.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


edition-engraver error

2018-02-26 Thread kieren_macmillan kieren_macmillan
Hello all,

Trying to use the EE. Running into the following fatal error:

While evaluating arguments to ly:make-moment in expression (ly:make-moment m/4):
/Volumes/KMac
Seagate/scores/_include/openlilylib/edition-engraver/engine.scm:68:17: Unbound
variable: m/4
Exited with return code 1.

I've never run into this error before. (But then again, my whole setup is
changed here: I'm working remotely, and am borrowing a friend's computer.)

That part of the code doesn't LOOK problematic to me:

(define (short-mom? v)(or (integer? v)(fraction? v)(rational? v)(ly:moment? v)))
; convert to a moment
(define (short-mom->moment m)
  (cond
   ((integer? m)(ly:make-moment m/4))
   ((fraction? m)(ly:make-moment (car m) (cdr m)))
   ((rational? m)(ly:make-moment m))
   ((ly:moment? m) m)
   (else (ly:make-moment 0/4
; predicate for a pair of measure and short-mom
(define (mom-pair? v)
  (and (or (pair? v)
   (and (list? v)(= 2 (length v
   (integer? (car v))
   (short-mom? (cadr v

But then again, my Scheme-fu is zero.

Any help would be appreciated.

Thanks!
Kieren.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: compound time signature with non duple denominator

2016-11-02 Thread kieren_macmillan kieren_macmillan

 
  Hi David,
  It's *legitimate* in all musical circles, though it's not *embraced* by all.
  Cheers,Kieren.
  
   -- Original Message --From: David Wright Date: November 2, 2016 at 12:45 PMOn Fri 28 Oct 2016 at 21:13:57 (+0200), Noeck wrote:> > Forgive me if this is a too-easy issue for the list, but: is there a way> > to define a time compound time signature such as 4/4 + 1/3? That is,> > the measure is four quarter notes long plus one triplet eighth note.> > this is definitely a valid question for this list!> This snippet will help you, I guess:> http://lsr.di.unimi.it/LSR/Item?id=743> > However the additional 1/3 is the length of a triplet half note:> 1/3 = 1/2 * 2/3> > \version "2.19.36"> > \relative c' {> \compoundMeter #'((4 4) (1 3))> a4 a a a \tuplet 3/2 { a2 | a a }> }> > For a 4/4 measure plus a triplet 8th note, you would need 1/12 if I am> not mistaken:> > \relative c' {> \compoundMeter #'((4 4) (1 12))> a4 a a a \tuplet 3/2 { a8 | a a }> }So is this legitimate notation in some circles nowadays?Cheers,David.___lilypond-user mailing listlilypond-user@gnu.orghttps://lists.gnu.org/mailman/listinfo/lilypond-user
  
 


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Scripts: differentiating in overrides

2016-10-02 Thread kieren_macmillan kieren_macmillan
Hi Simon,

In
https://github.com/openlilylib/openlilylib/blob/master/ly/stylesheets/fonts/beethoven-default.ily,
there is a function that might help.

Kieren.

> -- Original Message --
> From: Simon Albrecht 
> Date: October 2, 2016 at 7:05 PM
> 
> 
> Hello everybody,
> 
> it happens that just now Joe Srednicki asked about colouring _only_ 
> organ pedal markings as a subset of scripts, which is most cleanly 
> solved by redefining the keywords ltoe etc. including a tweak. Today I 
> needed to \tweak avoid-slur #'inside for tenuto -- but not for accents 
> ->, which I did by a temporarily overriding Script’s property, which is 
> only satisfactory if the don’t appear both on one note, don’t alternate 
> a lot, and in short pieces.
> 
> So, it clearly seems to be a desideratum to have a facility of 
> distinguishing all the different uses of Script in overrides. Do you 
> have any idea how that may be achieved in a clever way? Creating 
> separate grobs for all of them would of course be a huge clutter, and a 
> quite disruptive change.
> 
> Best, Simon
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user