Re: Ties between Fingerings

2020-04-06 Thread Thomas Morley
Am Mo., 6. Apr. 2020 um 10:49 Uhr schrieb Noeck :
>
> Wow. Thanks Harm! That makes sense and looks good.
>
> I never thought of a glissando here. But it actually makes sense. Now I
> wonder if a straight glissando line would even be more appropriate than
> a slur … I would read it more easily.
>
> Joram

Hi Joram,

you may try David Nalesnik's Code from
http://lilypond.1069038.n5.nabble.com/Glissando-on-single-note-in-chords-tt34672.html#a34676

Or my unfinished work-on-progress code (attached).

Cheers,
  Harm
\version "2.19.82"

%%%
%%%
%%
%%  GLISSANDI, DEFAULT AND BETWEEN FINGERINGS
%%
%%%
%%%

%% Thanks to David Nalesnik

%% See
%% http://lilypond.1069038.n5.nabble.com/Glissando-on-single-note-in-chords-tt34672.html#a34676
%%
%% http://lists.gnu.org/archive/html/lilypond-user/2019-02/msg00109.html

%% Glissandi should be set/selected via 'glissandoMap'
%% which may take additional pairs of string-numbers
%% i.e. a setting like:
%% '((0 . 0) (1 . 1) ("0" . "0") ("1" . "1"))
%% prints Glissandi between the first and the second (typed) note of two chords.
%% This is the default anyway.
%% If the new context-property 'fingerSlide' is set #t, additional Glissandi
%% will be printed between the fingerings of the first and the second (typed) 
%% note of two chords.
%% For missing fingerings the NoteHead is taken instead.
%%
%% A possible bow is further customizable modifing the newly introduced
%%   Glissando.bound-details.left/right.y-padding 
%%  (a numerical value, default is 1)
%%
%% Glissando-stubs are possible with 'glissando::print-harm' taking
%% optional arguments for left and/or right stubs and for further selection 
%% (like finger-gliss-bow-stencil)
%% The length of the stubs is settable, with an override for 
%%   Glissando.bound-details.left/right.left/right-gliss-stub-length
%%  (a numerical value, default is 0.6)
%%
%% The other known subproperties of Glissando.bound-details may still be 
%% modified.
%%
%% The provided music-function 'detailedGlissando' may be used to
%% determine which of the various styles should be used for which glissando.


#(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))
`((fingerSlide
   ,boolean?
   "Should printing Glissandi between Fingerings be possible?")))

#(define glissando::print-harm
  (lambda (grob)
  "Prints Glissando-stubs, instead of a line. The length of the stubs can be
  modified by an override for 
  bound-details.left/right.left/right-gliss-stub-length, default is 0.6."
   (let* ((gliss-style (ly:grob-property grob 'style 'line))
  (gliss-count (ly:grob-property grob 'glissando-index))
  (left-bound (ly:spanner-bound grob LEFT))
  (right-bound (ly:spanner-bound grob right))
  (sign 
(lambda (x)
  (if (= x 0)
  0
  (if (< x 0) -1 1
  (sys (ly:grob-system grob))
  (left-coord (ly:grob-relative-coordinate left-bound sys X))
  (right-coord (ly:grob-relative-coordinate right-bound sys X))
  
  (left-bound-info (ly:grob-property grob 'left-bound-info))
  (left-padding (assoc-get 'padding left-bound-info))
  (Y-left (assoc-get 'Y left-bound-info))
  (X-left (assoc-get 'X left-bound-info))
  (y-padding-default
(if (eq? gliss-style 'bow) 1 0))
  (y-left-padding 
(assoc-get 'y-padding left-bound-info y-padding-default))
  (left-gliss-stub
(assoc-get 'left-gliss-stub-length left-bound-info 0.6))
  
  (right-bound-info (ly:grob-property grob 'right-bound-info))
  (Y-right (assoc-get 'Y right-bound-info))
  (right-padding (assoc-get 'padding right-bound-info))
  (X-right (assoc-get 'X right-bound-info))
  (y-right-padding 
(assoc-get 'y-padding right-bound-info y-padding-default))
  (right-gliss-stub
(assoc-get 'right-gliss-stub-length right-bound-info 0.6))
  
  (thick (ly:grob-property grob 'thickness 0.12))
  (x-gliss-start (- X-left left-coord (-  left-padding)))
  (x-gliss-end (- X-right left-coord (+ right-padding)))
  (y-gliss-start (+ Y-left (* y-left-padding (sign Y-left
  (y-gliss-end (+ Y-right (* 

Re: Ties between Fingerings

2020-04-06 Thread Noeck
> Hm. Can it be made breakable in a way that the glissando line appears on
> both ends?

Found it: \override Glissando.after-line-breaking = #'()




Re: Ties between Fingerings

2020-04-06 Thread Noeck
Hm. Can it be made breakable in a way that the glissando line appears on
both ends?

Joram



Re: Ties between Fingerings

2020-04-06 Thread Noeck
Wow. Thanks Harm! That makes sense and looks good.

I never thought of a glissando here. But it actually makes sense. Now I
wonder if a straight glissando line would even be more appropriate than
a slur … I would read it more easily.

Joram



Re: Ties between Fingerings

2020-04-06 Thread Thomas Morley
Am Mo., 6. Apr. 2020 um 10:27 Uhr schrieb Noeck :
>
> Hi,
>
> can Lilypond draw ties between fingerings?
> I can fake it by using a slur and putting it above the fingering:
>
> \version "2.20.0"
> {
>   % fake what I want
>   \override Fingering.avoid-slur = #'inside
>   cis''-4( c''-4) r
>   % ties possible on one note
>   c''^\markup \finger \overtie "43"
> }
>
> Is that the way to go or is there a semantically correct way of
> specifying ties between fingerings instead of notes?
>
> Cheers,
> Joram
>

https://lists.gnu.org/archive/html/lilypond-user/2019-02/msg00109.html
may help-

Cheers,
  Harm



Ties between Fingerings

2020-04-06 Thread Noeck
Hi,

can Lilypond draw ties between fingerings?
I can fake it by using a slur and putting it above the fingering:

\version "2.20.0"
{
  % fake what I want
  \override Fingering.avoid-slur = #'inside
  cis''-4( c''-4) r
  % ties possible on one note
  c''^\markup \finger \overtie "43"
}

Is that the way to go or is there a semantically correct way of
specifying ties between fingerings instead of notes?

Cheers,
Joram