Re: test spanner with controlled gradient / dynamic volume curve indicated by grey level

2018-01-30 Thread Michael Winter

On first glance. This looks ideal. THANK YOU

I am a bit brain dead at the moment, so will dig in tomorrow and let you 
know if I have any further questions / thoughts / ideas.


Very kind indeed.

Best,

Michael


On 01/30/2018 07:35 PM, Thomas Morley wrote:

2018-01-31 0:00 GMT+01:00 Michael Winter :

That is really beautiful. Thank you. I have been giving myself a crash
course in scheme and was also getting somewhat closer to a solution using a
glissando event. Then the internet went down. And low and behold it woke up
to your response.

So this is almost what I want. And I need to dissect your code a bit more
(again, still wrapping my head around scheme). Maybe I can adapt it. My
ultimate goal is to specify the gradient within the given note length (as
opposed to giving a new color directive for every note. This is where it
gets tricky. In my current attempt (drowning in the deep end), it is a bit
tricky because you cannot change colors in the middle of a path directive.
So you need to combine several markups (as in my original example). I was
piecing together stuff I found on LSR and in the user archive and was also
having a huge problem with alignment. My current code is pasted below. It is
a mess, but getting there. I just was reading about returning markup
definitions in hopes that I could iterate through the gradient and build the
markup that way.

En fin, I will study your code. Like I said, it is almost exactly what I
want except I want the gradient within the note length. Of course, any help
in that direction will be much appreciated.

Best,

Michael

How about below then:

\version "2.19.65"

\paper { ragged-right = ##f }

\layout {
   \context {
   \Staff
   \override StaffSymbol.line-count = #1
   }
   \context {
   \Voice
   \override Glissando.minimum-length = #0
   %% n.b. line-breaks are TODO
   \override Glissando.breakable = ##t
   \override Glissando.after-line-breaking = ##t
   \override Glissando.bound-details =
 #'((right
  (attach-dir . 0)
  (end-on-accidental . #f)
  (padding . 0.))
(left
  (attach-dir . 0)
  (padding . 0.)))
 }
}

#(define (make-grey-filled-box-stencil-list x-coords color-steps half-thick rl)
   (if (null? (cdr x-coords))
   rl
   (make-grey-filled-box-stencil-list
 (cdr x-coords)
 (cdr color-steps)
 half-thick
 (cons
   (stencil-with-color
 (make-filled-box-stencil
   (interval-widen (cons (car x-coords) (cadr x-coords)) 0.1)
   (cons (- half-thick) half-thick))
 (x11-color
   (string->symbol (format #f "grey~a" (car color-steps)
   rl

#(define my-gliss
   (lambda (grob)
 (if (ly:stencil? (ly:line-spanner::print grob))
 (let* ((left-bound-info (ly:grob-property grob 'left-bound-info))
(left-Y (assoc-get 'Y left-bound-info))
(left-X (assoc-get 'X left-bound-info))
(right-bound-info (ly:grob-property grob 'right-bound-info))
(right-X (assoc-get 'X right-bound-info))
(thick (ly:grob-property grob 'thickness 0.5))
(delta-X (- right-X left-X))
(steps
  (assoc-get 'color-steps (ly:grob-property grob 'details) 100))
(raw-color-steps
  (iota (abs steps) 0 (round (/ 100 (min 100 (abs steps))
(color-steps
  (if (negative? steps)
  (reverse raw-color-steps)
  raw-color-steps))
(x-coords (iota (1+ (abs steps)) 0 (/ delta-X (abs steps)

   ;; create a flat glissando
   (ly:grob-set-nested-property! grob '(right-bound-info Y) left-Y)

   ;; return the stencil of added boxes
   (ly:stencil-translate-axis
 (apply
   ly:stencil-add
   (make-grey-filled-box-stencil-list
 x-coords
 color-steps
 thick
 '()))
 ;; the actual offset is TODO, hardcoded here
 -8
 Y))
  #f)))

#(define (add-gliss m)
(case (ly:music-property m 'name)
  ((NoteEvent)
   (set! (ly:music-property m 'articulations)
 (append
   (ly:music-property m 'articulations)
   (list (make-music 'GlissandoEvent
   m)
  (else #f)))

addGliss =
#(define-music-function (music)
   (ly:music?)
   (map-some-music add-gliss music))

%
%% EXAMPLE
%

mus =
   {
 \addGliss {
   \override Glissando.stencil = #my-gliss
   b'16 b'16 b'8 b'4
   \override Staff.Beam.color = #(x11-color 'grey60)
   b'8 b'16 b'16 ~
 }
 %% n.b. If glissando-skip is #t \addGliss needs to be interrupted
 %% otherwise a 

Re: test spanner with controlled gradient / dynamic volume curve indicated by grey level

2018-01-30 Thread Thomas Morley
2018-01-31 0:00 GMT+01:00 Michael Winter :
> That is really beautiful. Thank you. I have been giving myself a crash
> course in scheme and was also getting somewhat closer to a solution using a
> glissando event. Then the internet went down. And low and behold it woke up
> to your response.
>
> So this is almost what I want. And I need to dissect your code a bit more
> (again, still wrapping my head around scheme). Maybe I can adapt it. My
> ultimate goal is to specify the gradient within the given note length (as
> opposed to giving a new color directive for every note. This is where it
> gets tricky. In my current attempt (drowning in the deep end), it is a bit
> tricky because you cannot change colors in the middle of a path directive.
> So you need to combine several markups (as in my original example). I was
> piecing together stuff I found on LSR and in the user archive and was also
> having a huge problem with alignment. My current code is pasted below. It is
> a mess, but getting there. I just was reading about returning markup
> definitions in hopes that I could iterate through the gradient and build the
> markup that way.
>
> En fin, I will study your code. Like I said, it is almost exactly what I
> want except I want the gradient within the note length. Of course, any help
> in that direction will be much appreciated.
>
> Best,
>
> Michael

How about below then:

\version "2.19.65"

\paper { ragged-right = ##f }

\layout {
  \context {
  \Staff
  \override StaffSymbol.line-count = #1
  }
  \context {
  \Voice
  \override Glissando.minimum-length = #0
  %% n.b. line-breaks are TODO
  \override Glissando.breakable = ##t
  \override Glissando.after-line-breaking = ##t
  \override Glissando.bound-details =
#'((right
 (attach-dir . 0)
 (end-on-accidental . #f)
 (padding . 0.))
   (left
 (attach-dir . 0)
 (padding . 0.)))
}
}

#(define (make-grey-filled-box-stencil-list x-coords color-steps half-thick rl)
  (if (null? (cdr x-coords))
  rl
  (make-grey-filled-box-stencil-list
(cdr x-coords)
(cdr color-steps)
half-thick
(cons
  (stencil-with-color
(make-filled-box-stencil
  (interval-widen (cons (car x-coords) (cadr x-coords)) 0.1)
  (cons (- half-thick) half-thick))
(x11-color
  (string->symbol (format #f "grey~a" (car color-steps)
  rl

#(define my-gliss
  (lambda (grob)
(if (ly:stencil? (ly:line-spanner::print grob))
(let* ((left-bound-info (ly:grob-property grob 'left-bound-info))
   (left-Y (assoc-get 'Y left-bound-info))
   (left-X (assoc-get 'X left-bound-info))
   (right-bound-info (ly:grob-property grob 'right-bound-info))
   (right-X (assoc-get 'X right-bound-info))
   (thick (ly:grob-property grob 'thickness 0.5))
   (delta-X (- right-X left-X))
   (steps
 (assoc-get 'color-steps (ly:grob-property grob 'details) 100))
   (raw-color-steps
 (iota (abs steps) 0 (round (/ 100 (min 100 (abs steps))
   (color-steps
 (if (negative? steps)
 (reverse raw-color-steps)
 raw-color-steps))
   (x-coords (iota (1+ (abs steps)) 0 (/ delta-X (abs steps)

  ;; create a flat glissando
  (ly:grob-set-nested-property! grob '(right-bound-info Y) left-Y)

  ;; return the stencil of added boxes
  (ly:stencil-translate-axis
(apply
  ly:stencil-add
  (make-grey-filled-box-stencil-list
x-coords
color-steps
thick
'()))
;; the actual offset is TODO, hardcoded here
-8
Y))
 #f)))

#(define (add-gliss m)
   (case (ly:music-property m 'name)
 ((NoteEvent)
  (set! (ly:music-property m 'articulations)
(append
  (ly:music-property m 'articulations)
  (list (make-music 'GlissandoEvent
  m)
 (else #f)))

addGliss =
#(define-music-function (music)
  (ly:music?)
  (map-some-music add-gliss music))

%
%% EXAMPLE
%

mus =
  {
\addGliss {
  \override Glissando.stencil = #my-gliss
  b'16 b'16 b'8 b'4
  \override Staff.Beam.color = #(x11-color 'grey60)
  b'8 b'16 b'16 ~
}
%% n.b. If glissando-skip is #t \addGliss needs to be interrupted
%% otherwise a programming error occurs
\once \override NoteColumn.glissando-skip = ##t
b'16
\addGliss {
  b'16 b'8
}
%% a final target for the last glissando needs to be present, otherwise
%% lily complains about unterminated glissando
b'8
  }

\new Staff \mus

\new Staff {
  %% 

Custom Dynamics using Edition Engraver

2018-01-30 Thread Craig Dabelstein
Hi all,

Would anyone know if it's possible to create custom dynamics using the
Edition Engraver?

Instead of the default dynamics I need to be able to reproduce them just
using plain text; e.g. for *fortissimo* just FF.

Thanks in advance,

Craig




-- 
*Craig Dabelstein*
Maxime's Music
craig.dabelst...@gmail.com
*http://maximesmusic.com *
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: test spanner with controlled gradient / dynamic volume curve indicated by grey level

2018-01-30 Thread Karlin High

On 1/30/2018 5:00 PM, Michael Winter wrote:
I will study your code. Like I said, it is almost exactly what I want 
except I want the gradient within the note length. Of course, any help 
in that direction will be much appreciated.


Only brainstorming here:

How about writing a loop that moves from the desired gradient's start 
point to its end point, drawing small rectangles of progressively 
changing color?


Or maybe that's what Thomas Morley's code does. Or maybe that's not how 
Scheme works. I really have no idea what I'm asking, I'll stop now.

--
Karlin High
Missouri, USA

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


Re: test spanner with controlled gradient / dynamic volume curve indicated by grey level

2018-01-30 Thread David Kastrup
Michael Winter  writes:

> That is really beautiful. Thank you. I have been giving myself a crash
> course in scheme and was also getting somewhat closer to a solution
> using a glissando event. Then the internet went down.

Now _that's_ what a I call a crash course.

-- 
David Kastrup

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


Re: test spanner with controlled gradient / dynamic volume curve indicated by grey level

2018-01-30 Thread Michael Winter
That is really beautiful. Thank you. I have been giving myself a crash 
course in scheme and was also getting somewhat closer to a solution 
using a glissando event. Then the internet went down. And low and behold 
it woke up to your response.


So this is almost what I want. And I need to dissect your code a bit 
more (again, still wrapping my head around scheme). Maybe I can adapt 
it. My ultimate goal is to specify the gradient within the given note 
length (as opposed to giving a new color directive for every note. This 
is where it gets tricky. In my current attempt (drowning in the deep 
end), it is a bit tricky because you cannot change colors in the middle 
of a path directive. So you need to combine several markups (as in my 
original example). I was piecing together stuff I found on LSR and in 
the user archive and was also having a huge problem with alignment. My 
current code is pasted below. It is a mess, but getting there. I just 
was reading about returning markup definitions in hopes that I could 
iterate through the gradient and build the markup that way.


En fin, I will study your code. Like I said, it is almost exactly what I 
want except I want the gradient within the note length. Of course, any 
help in that direction will be much appreciated.


Best,

Michael


#(set-global-staff-size 16)

\layout {
  indent = 0.0\cm
  \context {
  \Staff
  % \override NoteHead.transparent =##t
  \override StaffSymbol.line-count = #1
  \override Glissando.minimum-length = #0
  \override Glissando #'bound-details = #'((right (attach-dir . 0) 
(end-on-accidental . #f) (padding . 0.)) (left (attach-dir . 0) (padding 
. 0.)))


  \remove "Clef_engraver"
  \remove "Time_signature_engraver"
   \stemDown
    }
    \context {
  \Voice
  \consists "Horizontal_bracket_engraver"
    }
}

glissWidth = #1 %<< global variable for glissando width

#(define (path-gliss handle)
  (lambda (grob)
    (if (ly:stencil? (ly:line-spanner::print grob))
    (let* ((stencil (ly:line-spanner::print grob))
      (X-ext (ly:stencil-extent stencil X))
      (Y-ext (ly:stencil-extent stencil Y))
      (width (interval-length X-ext))
      (height (interval-length Y-ext))
      (lefty (cdr (assoc 'Y (ly:grob-property grob 'left-bound-info
      (righty (cdr (assoc 'Y (ly:grob-property grob 
'right-bound-info

      (deltay (- righty lefty))
      (dir (if (> deltay 0) 1 -1)))

      (ly:stencil-translate
        (grob-interpret-markup grob
      (markup
            ;(#: tiny (format "~a" (ly:grob-properties grob)))
                ;(format "~a" (cdr (assoc 'Y (ly:grob-property grob 
'left-bound-info

                ;(#: tiny (format "~a" handle))
        (#:combine
         (#:override
   (cons (quote line-cap-style) (quote square))
         (#:path glissWidth
          (list (list 'moveto 0 -5)
            (list 'lineto (* (- width 1.1) 0.5) -5

         (#:override
   (cons (quote line-cap-style) (quote square))
   (#:with-color
          (list 0.5 0.5 0.5)
          (#:path glissWidth
          (list (list 'moveto (* (- width 0.1) 0.5) -5)
            (list 'lineto (- (* width 1) 1.1) -5)
         (#:override
   (cons (quote line-cap-style) (quote square))
   (#:with-color
          (list 0.8 0.5 0.5)
          (#:path glissWidth
          (list (list 'moveto 0 1)
            (list 'lineto (* width 0.5) 1)

         )))
        (if (> dir 0)
           (cons (interval-start X-ext) (+ (interval-start Y-ext) 0.1))
           (cons (interval-start X-ext) (+ (interval-start Y-ext) 
height)

     #f)))


#(define (add-gliss m)
   (case (ly:music-property m 'name)
 ((NoteEvent) (set! (ly:music-property m 'articulations)
  (append (ly:music-property m 'articulations)
 (list (make-music (quote GlissandoEvent)
   m)
 (else #f)))

addGliss = #(define-music-function (parser location music)
 (ly:music?)
   (map-some-music add-gliss music))



\new Score
  \with {
    %proportionalNotationDuration = #(ly:make-moment 1/16)
    %\override SpacingSpanner.strict-note-spacing = ##t
    %\override SpacingSpanner.uniform-stretching = ##t
  }
  <<

  \new Staff
  <<
   \repeat unfold 32 { \repeat unfold 63 { s16 \noBreak } s16 \break }
    {\time 4/4 \override Glissando.breakable = ##t
  \override Glissando.after-line-breaking = ##t
  \addGliss {

 \override Glissando #'stencil = #(path-gliss '(0 0))
 b'16 b'16 b'8 b'4 \override Staff.Beam.color = 
#(x11-color 'grey60) b'8 b'16 b'16 ~ \once \override 
NoteColumn.glissando-skip = ##t b'16 b'16 b'8

    }}
  >>

  >>


On 01/30/2018 03:32 PM, Thomas Morley wrote:

2018-01-30 6:19 GMT+01:00 Michael Winter :

A bit more here. I think I can fake this in a markup... See example pasted

Re: test spanner with controlled gradient / dynamic volume curve indicated by grey level

2018-01-30 Thread Thomas Morley
2018-01-30 6:19 GMT+01:00 Michael Winter :
> A bit more here. I think I can fake this in a markup... See example pasted
> below. My scheme skilz are minimal. I would like yo do this interpolating
> between the x position of adjacent notes. So maybe I can do this as a custom
> beam stencil. or some kind of spanner. Basically I want a scheme function
> that will give me the position of a given note and the next note... Thanks!
>
> \relative c'' {
>   s64
>   -\markup {
> \combine
> \override #'(line-join-style . miter)
> \with-color #(x11-color 'grey60)
> \path #2
> #'((moveto 0 0)
>  (lineto 0.3 0)
>  (closepath)
>  )
>
>\combine
> \override #'(line-join-style . miter)
> \with-color #(x11-color 'grey40)
> \path #2
> #'((moveto 0.3 0)
>  (lineto 0.6 0)
>  (closepath))
>
> \override #'(line-join-style . miter)
> \with-color #(x11-color 'grey20)
> \path #2
> #'((moveto 0.6 0)
>  (lineto 0.9 0)
>  (closepath))
>
>   }
>
>
> }
>
>
> On 01/29/2018 06:27 PM, Michael Winter wrote:
>>
>> Hello...
>>
>> I have tried quite a few hacks, but nothing really suitable.
>>
>> What I really want is to simple draw a line beneath the staff that has a
>> grey scale gradient such that for each note, I give a target value.
>>
>> Most of what I have tried involves doing this in increments with
>> overlapping spanners, I also tried the code in this thread:
>> https://lists.nongnu.org/archive/html/lilypond-user/2016-10/msg00097.html
>>
>> I think the answer is doing this with svg directives since in the svg
>> documentation there are directives for linear gradients, but I do not know
>> how to build the function to use svg directives and such that the target
>> greyscale value is reached at the x-position of a given notehead.
>>
>> Also, ideally I would be able to use spacer rests to give intermediary
>> values along the way, since the curve is actually not linear.
>>
>> Thanks in advance and my apologies if I have been unclear.
>>
>> Best,
>> Michael



Hi Michael,

not sure I've got you right.

Probably the quick hack below may give you a starting point.
It will not work with spacers though, because they don't cause a NoteColumn.

Cheers,
  Harm

#(define (make-filled-box-stencil-list x-coords half-thick colors rl)
  (if (null? (cdr x-coords))
  rl
  (make-filled-box-stencil-list
(cdr x-coords)
half-thick
(cdr colors)
(cons
  (stencil-with-color
(make-filled-box-stencil
  (cons (car x-coords) (cadr x-coords))
  (cons (- half-thick) half-thick))
(car colors))
  rl

\version "2.19.65"

foo =
\override TextSpanner.stencil =
  #(lambda (grob)
(let* ((ncs (ly:grob-object grob 'note-columns))
   (nc-ls
 (if (ly:grob-array? ncs)
 (ly:grob-array->list ncs)
 '()))
   (sys (ly:grob-system grob))
   (nc-exts
 (map
   (lambda (nc)
 (ly:grob-extent nc sys X))
   nc-ls))
   (left-info
 (ly:grob-property grob 'left-bound-info))
   (right-info
 (ly:grob-property grob 'right-bound-info))
   (thick (ly:grob-property grob 'thickness 1))
   (x-coords
 (map
   (lambda (e)
 (- e (assoc-get 'X left-info)))
   `(
 ,(assoc-get 'X left-info)
 ,@(map
   interval-center
   (drop-right (drop nc-exts 1) 1))
 ,(assoc-get 'X right-info
  (ls (iota (1- (length x-coords)) 20 20))
  (color-gradient
(assoc-get 'color-gradient (ly:grob-property grob 'details) '(1)))
  ;; overkill below ...
  (safe-color-gradient-ls
(append
  color-gradient
  (make-list (length x-coords) (last color-gradient
  (color
(assoc-get 'color (ly:grob-property grob 'details)))
  (colors
(map
  (lambda (n)
(x11-color (string->symbol (format #f "~a~a" (or color
'grey) n
  safe-color-gradient-ls)))
(apply
  ly:stencil-add
  (make-filled-box-stencil-list x-coords thick colors '()

{
\override TextSpanner.thickness = 0.5
%% make sure color and it's gradient exists, otherwise all's black
\override TextSpanner.details.color = #'grey
\override TextSpanner.details.color-gradient = #'(60 40 20)
\foo
c''2\startTextSpan
d''
e''
f''\stopTextSpan
}

{
\override TextSpanner.thickness = 0.5
\override TextSpanner.details.color = #'LightCyan
\override TextSpanner.details.color-gradient = #'(2 3 4)
\foo
c''2\startTextSpan
d''
e''
f''\stopTextSpan
}
___
lilypond-user mailing list

Re: coding question about include-d tweak/function files

2018-01-30 Thread Urs Liska



Am 30.01.2018 um 22:14 schrieb Simon Albrecht:

On 30.01.2018 17:22, Urs Liska wrote:
Thinking about it, that would be a path to writing an \includeOnce or 
\require command in oll-core.
The downside with that idea is that coding tools (i.e. Frescobaldi) 
will be able to help much less than with regular includes: no 
auto-completion, neither for the include itself nor for variables 
defined in the included files. Also you can'T open the included file 
with ctrl-click.


Wouldn’t it be possible to have a list in Frescobaldi of ‘include 
alias functions’, which for the purpose of you mention are treated 
just like \include? The way I think of it, a \includeOnce or \require 
function like you propose should have the same strings be eligible 
arguments, and also one could be certain that after \require "foo.ly" 
the contents of foo.ly would always be ‘known’ to the parser, i.e. 
auto-complete could be used?


Sure, but as of now Frescobaldi will not support such non-standard tools 
that are not part of LilyPond itself.
Well, ignoring that fact I once started working on openLilyLib 
integration for Frescobaldi (where such functionality could be 
implemented), but for some reason or other I didn't get too far with that.


Urs



Best, Simon



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


Re: coding question about include-d tweak/function files

2018-01-30 Thread Simon Albrecht

On 30.01.2018 17:22, Urs Liska wrote:
Thinking about it, that would be a path to writing an \includeOnce or 
\require command in oll-core.
The downside with that idea is that coding tools (i.e. Frescobaldi) 
will be able to help much less than with regular includes: no 
auto-completion, neither for the include itself nor for variables 
defined in the included files. Also you can'T open the included file 
with ctrl-click.


Wouldn’t it be possible to have a list in Frescobaldi of ‘include alias 
functions’, which for the purpose of you mention are treated just like 
\include? The way I think of it, a \includeOnce or \require function 
like you propose should have the same strings be eligible arguments, and 
also one could be certain that after \require "foo.ly" the contents of 
foo.ly would always be ‘known’ to the parser, i.e. auto-complete could 
be used?


Best, Simon

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


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Guy Stalnaker
Harm,

There are many roads to Lilypond as you know. My main road has been through
Frescobaldi. Wilbert has an exceptional application that includes a
ScoreWizard which creates the LP structure. One hardly needs to know more
than how to type notes and durations to use it. I've almost always found LP
default output sufficient for my personal needs (noone in my church choir
will care at all about the kinds of detail that many people on this list
care about :-) So I've not really needed to dig too deeply and there's
always LSR for ideas.

Now, I've become more savvy over the nearly seven years I've been using
FB/LP and have posted to this list when I've encountered issues that Google
could not help me solve. But though I know understanding the way that LP
works is likely beneficial, actually digging into the docs to get a firm
grasp on all the contexts, etc. and how they fit together is, well, not
high on my priorities.

Your post was simple, elegant, and informative and gave me a bit of
insight.

Guy

Guy Stalnaker
jimmyg...@gmail.com

On Tue, Jan 30, 2018 at 2:23 PM, Thomas Morley 
wrote:

> 2018-01-30 16:19 GMT+01:00 Guy Stalnaker :
> > Harm,
> >
> > MUCH thanks for that snippet, now saved to my snippet folder, that so
> > clearly explains what's going on with the << \\ >> polyphonic context
> > syntax. I get it now.
> >
> > Guy
>
> >
> > On Tue, Jan 30, 2018 at 3:56 AM, Thomas Morley  >
> > wrote:
> >>
> >> 2018-01-30 9:01 GMT+01:00 mosea chen :
> >> >
> >> > Hi,
> >> > I found it difficult to engrave the staff as the fingure:
> >> >
> >> >
> >> > the "slur" just does not work.
> >> > The source is as follows:
> >> >
> >> > \version "2.19.80"
> >> > {
> >> > \clef bass
> >> > \time 3/4
> >> >
> >> > fis-2 ( e-1 d-2 |
> >> > <<
> >> > { r4 ) e4 a8 ( g8  | }
> >> > \\
> >> > { a,2. |  }
> >> > >>
> >> > fis4 ) r4 r4
> >> > }
> >>
> >>
> >> << ... \\ ... >>
> >> is equivalent to
> >> <<
> >>   \context Voice = "1" { \voiceOne ... }
> >>   \context Voice = "2" { \voiceTwo ... }
> >> >>
> >>
> >> The exercise is to distribute stuff to Voices properly,
> >> starting/ending Slurs in the same Voice.
> >>
> >> One possibility
> >>
> >> \version "2.19.80"
> >>
> >> \context Voice {
> >>   \clef bass
> >>   \time 3/4
> >>
> >>   \context Voice = "2" { fis4-2( e-1 d-2 }
> >>   <<
> >> { r4 e4 a8( g8 \oneVoice }
> >> \\
> >> { a,2.) }
> >>   >>
> >>   \context Voice = "1" fis4)
> >>   \context Voice
> >>   r4
> >>   r4
> >> }
> >>
> >> Cheers,
> >>   Harm
> >>
> >> ___
> >> lilypond-user mailing list
> >> lilypond-user@gnu.org
> >> https://lists.gnu.org/mailman/listinfo/lilypond-user
> >
> >
>
>
> Hi Guy et al,
>
> glad you like it, but isn't all that covered by
> LM 3.2 Voices contain music
> Or a direct consequence of it?
>
> Cheers,
>   Harm
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Thomas Morley
2018-01-30 16:19 GMT+01:00 Guy Stalnaker :
> Harm,
>
> MUCH thanks for that snippet, now saved to my snippet folder, that so
> clearly explains what's going on with the << \\ >> polyphonic context
> syntax. I get it now.
>
> Guy

>
> On Tue, Jan 30, 2018 at 3:56 AM, Thomas Morley 
> wrote:
>>
>> 2018-01-30 9:01 GMT+01:00 mosea chen :
>> >
>> > Hi,
>> > I found it difficult to engrave the staff as the fingure:
>> >
>> >
>> > the "slur" just does not work.
>> > The source is as follows:
>> >
>> > \version "2.19.80"
>> > {
>> > \clef bass
>> > \time 3/4
>> >
>> > fis-2 ( e-1 d-2 |
>> > <<
>> > { r4 ) e4 a8 ( g8  | }
>> > \\
>> > { a,2. |  }
>> > >>
>> > fis4 ) r4 r4
>> > }
>>
>>
>> << ... \\ ... >>
>> is equivalent to
>> <<
>>   \context Voice = "1" { \voiceOne ... }
>>   \context Voice = "2" { \voiceTwo ... }
>> >>
>>
>> The exercise is to distribute stuff to Voices properly,
>> starting/ending Slurs in the same Voice.
>>
>> One possibility
>>
>> \version "2.19.80"
>>
>> \context Voice {
>>   \clef bass
>>   \time 3/4
>>
>>   \context Voice = "2" { fis4-2( e-1 d-2 }
>>   <<
>> { r4 e4 a8( g8 \oneVoice }
>> \\
>> { a,2.) }
>>   >>
>>   \context Voice = "1" fis4)
>>   \context Voice
>>   r4
>>   r4
>> }
>>
>> Cheers,
>>   Harm
>>
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>


Hi Guy et al,

glad you like it, but isn't all that covered by
LM 3.2 Voices contain music
Or a direct consequence of it?

Cheers,
  Harm

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


Re: Problems in vertical spacing on header

2018-01-30 Thread Ben


On 1/30/2018 2:56 PM, Son_V wrote:

Hi,
thisis if I correctly have inserted it, how the header of my score appear:
too much space between the first and the second line in the title, and a too
small spacing before the subsubtitle.
How can I fix them?
Thanks.




Hi,

What version of LP are you using?

Try adjusting with some markup - I think it should do what you are 
askingadjust to taste.


%%%
\version "2.19.80"

\header {
    title = \markup \center-column { "Title here" \vspace #1.2 }
    subtitle = "Subtitle"
    composer = "Composer"
    arranger = "Arranger"
}


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


Problems in vertical spacing on header

2018-01-30 Thread Son_V
Hi,
thisis if I correctly have inserted it, how the header of my score appear:
too much space between the first and the second line in the title, and a too
small spacing before the subsubtitle.
How can I fix them?
Thanks.



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

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


Re: MIDI player in Frescobaldi wiki page

2018-01-30 Thread Guy Stalnaker
Federico,

You wiki document makes no mention of Qsynth. I use it in conjunction with
FluidSynth and Frescobaldi on LinuxMint and MacOS (I use CoolSoft Virtual
Midi Synth on Windows):

https://sourceforge.net/projects/qsynth/files/qsynth/0.5.0/

I personally find using Qsynth the best way to manage Fluidsynth. Qsynth
allows me to specify easily multiple soundfont files, reorder them, modify
Fluidsynth volume output, Reverb adjustment, and Chorus adjustment with its
UI. It also allows changes to the base sound engine Fluidsynth uses (ALSA,
Pulseaudio, Jack, etc.) from its Settings. And it runs Fluidsynth only when
Qsynth is loaded. Fluidsynth's CLI syntax, of course, can do all of this,
but with a substantial learning-curve working CLI. I'm normally a CLI guy
(long years in IT many of them as a ERP app admin) but sometimes a GUI is
better (e.g. Frescobaldi :-)

Regards,

Guy

Guy Stalnaker
jimmyg...@gmail.com

On Tue, Jan 30, 2018 at 11:53 AM, Federico Bruni  wrote:

> Hi folks
>
> A quick email, as I have few time.
>
> While looking at this bug:
> https://github.com/wbsoft/frescobaldi/issues/463
>
> I found the link to this wiki page I wrote almost two years ago:
> https://github.com/wbsoft/frescobaldi/wiki/MIDI-playback-on-Linux
>
> There are a couple of edits I'd like to do, but I'd like to have some
> feedback from you first.
>
> 1. Do not use ~/.config/NAME.desktop to start the MIDI synth
> I would remove that section, as you cannot easily control
> applications/services started this way.
>
> 2. Suggest only Systemd instead.
> I don't know why I wrote that systemd timidity service would have worked
> only if Pulseaudio was not installed. The link which should explain it does
> not work anymore. But anyway I have Pulseaudio installed and the timidity
> service is working fine.
>
> I would add also an example for fluidsynth.
>
> The following works for me:
>
> $ systemctl --user cat fluidsynth.service
> # /home/fede/.config/systemd/user/fluidsynth.service
> [Unit]
> Description=Fluidsynth
> After=sound.target
>
> [Service]
> ExecStart=/usr/bin/fluidsynth -a pulseaudio -m alsa_seq -i -l -s -p
> FluidSynth -R 0 -C 0 -c 2 -z 512 -r 48000 /usr/share/soundfonts/default.
> sf2
>
> [Install]
> WantedBy=default.target
>
>
>
>
> ___
> 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


Re: My quick rundown of how to use OpenLilyLib's Edition Engraver

2018-01-30 Thread Kieren MacMillan
Hi Urs (et al.),

>> Would anyone care to comment about the relative advantages (and most 
>> appropriate use cases) of:
>> - Edition Engraver
> 
> * separate tweaks (or optional contents (like marks, dynamics, but no notes)) 
> from the content
>   => keep the content file simple
> * store *sets of tweaks* for different targets (stressing this is what I miss 
> most in Stefano's text)
>   => Have different tweaks for score/part, a4/tablet, manuscript/original 
> edition or for transposed/concert pitch
> * All this without touching the content files - differently from tags

These are all great, and give most of the main reasons I rely heavily on the EE 
for literally every score I engrave.

>> - lilypond tags
> I can't really comment on them because I never liked them.

I didn't, either… but pre-EE, they were the best way [I knew of] to get done 
what I needed to get done.

> Opposite from the edition-engraver they clutter the content files with their 
> hard-coded switches.
> *But*: depending on the use case this can also be an advantage as the 
> information is robustly encoded in the main file.

Yes. There are still use cases in which the tag system is superior. In fact, 
the score I'm currently working on (a 90-minute stage musical comprising 30ish 
songs/cues) is a perfect example. At the request of the theatre company 
currently rehearsing it (for production in March), we toned down the "racier" 
bits (lyrics with sexual innuendo, etc.). So I have \tag #'PG and \tag #'G 
chunks in the note code. Now I can simply generate G-rated or PG-rated 
version(s) of the score — or even individual tunes within the whole show — as 
desired by any future producing theatre.

> With the edition-engraver you might actually lose them one day, or the tool 
> doesn't work anymore, who knows.

Let's hope the EE — or something very much like it — gets absorbed into the 
main distro someday.

Best regards,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: coding question about include-d tweak/function files

2018-01-30 Thread Kieren MacMillan
Hi Stefano,

> Is it not viable to load them once one your "main" file instead of on every 
> score that requires one of their functions? Or is it the case that you want 
> to be able to compile each song in the songbook independently, meaning you 
> need to include the "tweaks" in each score, which then causes great 
> inefficiencies when you include them all?

The latter. I have one file of music variable definitions for each song, e.g.,

/MyProject/Song1_notes.ily
/MyProject/Song2_notes.ily
etc.

[Note: All naming is "pseudocode" here, for clarity.] Then I have multiple 
scores built using one or more of those music definition files, such as

   /MyProject/PianoConductor_letter.ly
   /MyProject/PianoVocal_letter.ly
   /MyProject/ChorusVocal_letter.ly
   /MyProject/FullScore_letter.ly
   /MyProject/Song1_standalone_letter.ly
   etc.

I \include each *_notes.ily file into each main "score" (*_letter.ly) file as 
required. I suppose I *could* save all the tweak \include files for the score 
file… But then I'd have to keep track [in my brain, I guess?] of which tweak 
files were needed for each song, and to my mind that's a recipe for disaster 
(or at least frustration and inefficiency).

Hope that makes it clearer.  =)

Thanks,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


MIDI player in Frescobaldi wiki page

2018-01-30 Thread Federico Bruni

Hi folks

A quick email, as I have few time.

While looking at this bug:
https://github.com/wbsoft/frescobaldi/issues/463

I found the link to this wiki page I wrote almost two years ago:
https://github.com/wbsoft/frescobaldi/wiki/MIDI-playback-on-Linux

There are a couple of edits I'd like to do, but I'd like to have some 
feedback from you first.


1. Do not use ~/.config/NAME.desktop to start the MIDI synth
I would remove that section, as you cannot easily control 
applications/services started this way.


2. Suggest only Systemd instead.
I don't know why I wrote that systemd timidity service would have 
worked only if Pulseaudio was not installed. The link which should 
explain it does not work anymore. But anyway I have Pulseaudio 
installed and the timidity service is working fine.


I would add also an example for fluidsynth.

The following works for me:

$ systemctl --user cat fluidsynth.service
# /home/fede/.config/systemd/user/fluidsynth.service
[Unit]
Description=Fluidsynth
After=sound.target

[Service]
ExecStart=/usr/bin/fluidsynth -a pulseaudio -m alsa_seq -i -l -s -p 
FluidSynth -R 0 -C 0 -c 2 -z 512 -r 48000 
/usr/share/soundfonts/default.sf2


[Install]
WantedBy=default.target




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


Re: My quick rundown of how to use OpenLilyLib's Edition Engraver

2018-01-30 Thread Urs Liska



Am 30.01.2018 um 18:19 schrieb Graham King:

On 29 Jan 2018, at 20:36, Stefano Troncaro wrote:


Hello again everyone!

In a recent thread I was asked to write a little bit depicting how I would have liked to 
learn about using the Edition Engraver. I share it here so that others can give their 
insights. Hopefully we can make a "quick start guide" kind of thing to help 
future users.



Thank you Stefano; this is really helpful.

Would anyone care to comment about the relative advantages (and most 
appropriate use cases) of:
- Edition Engraver


* separate tweaks (or optional contents (like marks, dynamics, but no 
notes)) from the content

  => keep the content file simple
* store *sets of tweaks* for different targets (stressing this is what I 
miss most in Stefano's text)
  => Have different tweaks for score/part, a4/tablet, 
manuscript/original edition or for transposed/concert pitch

* All this without touching the content files - differently from tags


- lilypond tags, and


I can't really comment on them because I never liked them.
Opposite from the edition-engraver they clutter the content files with 
their hard-coded switches.
*But*: depending on the use case this can also be an advantage as the 
information is robustly encoded in the main file.
With the edition-engraver you might actually lose them one day, or the 
tool doesn't work anymore, who knows.



- git version control branches?


This is something completely different. You generally use them to 
encapsulate work in independent *sessions*, so you (or you and someone 
else) can cleanly work on different parts/tasks at the same time and 
still create a clean history. You should usually not use branches for 
different versions of something because that tends to become a 
maintenance nightmare.
That said, you *can* have (for example) a "core" and a "beautified" 
branch with the "beautified" branch running in parallel to the core 
content. But I wouldn't actually do that.


HTH
Urs


___
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


Re: My quick rundown of how to use OpenLilyLib's Edition Engraver

2018-01-30 Thread Graham King

On 29 Jan 2018, at 20:36, Stefano Troncaro wrote:

> Hello again everyone!
> 
> In a recent thread I was asked to write a little bit depicting how I would 
> have liked to learn about using the Edition Engraver. I share it here so that 
> others can give their insights. Hopefully we can make a "quick start guide" 
> kind of thing to help future users.


Thank you Stefano; this is really helpful.

Would anyone care to comment about the relative advantages (and most 
appropriate use cases) of:
- Edition Engraver
- lilypond tags, and
- git version control branches?
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: coding question about include-d tweak/function files

2018-01-30 Thread Stefano Troncaro
Hello Kieren,

Is it not viable to load them once one your "main" file instead of on every
score that requires one of their functions? Or is it the case that you want
to be able to compile each song in the songbook independently, meaning you
need to include the "tweaks" in each score, which then causes great
inefficiencies when you include them all?

2018-01-30 13:22 GMT-03:00 Urs Liska :

>
>
> Am 30.01.2018 um 17:02 schrieb Urs Liska:
>
> ...
>
> If this is a regular case I would look for a way to include them only
> once. Including them multiple times definitely doesn't make sense as the
> file will be completely parsed again and all the definitions just
> overwritten.
>
> The approach I would use (doesn't necessarily mean it's the best one) is:
>
>- replace the \include with a new function
>- have that function add the included filels absolute path to some list
>- check that list before including the file
>
> This is totally improvised, but with oll-core loaded you could do
> something along the lines of
>
> % provide a storage space
> \registerOption kieren.included-files #'()
>
> % in a loading function ('to-include' is the file to check:
> #(if (not (getOptionWithFallback `(kieren included-files ,to-include) #f))
>  (begin
>   (do-include-file to-include)
>   (setChildOption '(kieren included-files) to-include #t))
>
>
> just as a rough idea. Actually I don't know if the syntax of the functions
> is correct, but ...
>
>
> Thinking about it, that would be a path to writing an \includeOnce or
> \require command in oll-core.
> The downside with that idea is that coding tools (i.e. Frescobaldi) will
> be able to help much less than with regular includes: no auto-completion,
> neither for the include itself nor for variables defined in the included
> files. Also you can'T open the included file with ctrl-click.
>
> One issue I'm not sure about is whether that include function would
> properly work with LilyPond's include path or if you'd be forced to use
> absolute paths or paths relative to the directory (i.e. not paths that are
> relative to any item from the search path).
>
> What do you think, would that be a worthwile effort?
>
> Urs
>
> ___
> 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


Re: My quick rundown of how to use OpenLilyLib's Edition Engraver

2018-01-30 Thread Stefano Troncaro
I'm glad you found it useful!

There are other powerful aspects of the EE that got left out because I
don't understand them well enough yet, but I plan to write about them when
I am confident with their use.

Since I have only used git on personal private repos, I'm not sure about
the workflow of proposing changes, and I don't want to cause
inconveniences. So, if you don't mind, I'd rather leave the "add it to the
wiki" part to you. Maybe I'll have it figured by the time I have something
else to add to the guide.

Best regards,
Stéfano

2018-01-30 3:39 GMT-03:00 Jan-Peter Voigt :

> Thank you very much, Stefano!
> This is very helpful and shall be, like Urs said, added to the Wiki.
>
> Best
> Jan-Peter
>
> Am 29.01.2018 um 21:36 schrieb Stefano Troncaro:
>
>> Hello again everyone!
>>
>> In a recent thread I was asked to write a little bit depicting how I
>> would have liked to learn about using the Edition Engraver. I share it here
>> so that others can give their insights. Hopefully we can make a "quick
>> start guide" kind of thing to help future users.
>>
>> I'll say it ended up being longer than I anticipated. I formatted it a
>> little to improve readability. Here it goes:
>>
>>
>> *My quick rundown of how to use OpenLilyLib's Edition Engraver
>> *(OR I wish I could have read this instead of having to learn by poking
>> example code with a stick)
>>
>>
>> What is it?
>>
>> In a nutshell, the Edition Engraver provides a convenient way of storing
>> a tweaks, overrides and other objects that can later be applied to some
>> musical content.
>>
>>
>> Why use it?
>>
>> To keep the "musical source" of a project free from tweaks, temporary
>> overrides, and tagged material that needs to be filtered later. This serves
>> to generate code that is clean, reusable and has clarity of purpose,
>> meaning it's fast to read and understand.
>>
>>
>> How is it used?
>>
>> In summary, by following this four logical steps:
>>
>>  1. Load the Edition Engraver into the project.
>>  2. Create an edition (a container to store the edits)
>>  3. Fill the edition with content.
>>  4. Consist the contents of the edition to the musical contexts to which
>> they apply.
>>
>>
>> Each step explained:
>>
>> 1) Loading the Edition Engraver:
>>
>> Assuming OpenLilyLib is already installed on your working environment,
>> include it's core functionality:
>>
>> \include "oll-core/package.ily"
>>
>>
>> Then, load the Edition Engraver itself:
>>
>> \loadPackage edition-engraver
>>
>>
>>
>> 2) Creating an edition
>>
>> Just use the /\addEdition/ command. Like this:
>>
>> \addEdition edition-name
>>
>>
>>
>> 3) Filling the edition with content
>>
>> The most basic way to do this is by using the /\editionMod/ command. It
>> is used as follows:
>>
>> \editionMod edition measure position context content
>>
>>
>> Breaking it apart:
>>
>>   * /edition/ specifies in what edition the content is stored.
>>   * /measure/ specifies in what measure of the music the content is to
>> be placed.
>>   * /position/ specifies where where exactly in that measure the content
>> is to be placed.
>>   * /context/ specifies in what context the content belongs.
>>   * /content/ specifies, finally, what should be placed there.
>>
>> So, this means that
>>
>> \editionMod my-edition 5 0/4 Score \break
>>
>>
>> will store in /my-edition/ that a /\break/ needs to be placed in the
>> /Score/ context, in measure /5/, specifically at /0/4/, which is its first
>> beat.
>>
>>
>> 3.1) About the position value
>>
>> The way I understand it is that this is the amount of musical time that
>> is counted from the start of the given measure. A few useful examples:
>>
>>   * /0/4/ will not add anything, so it references the first beat of the
>> measure.
>>   * /3/8/ will count three 8th notes / quavers from the start of the
>> measure. In 4/4 time this would reference the second half of the
>> second beat.
>>   * /1/24/ will count one 16th note / semiquaver of a 16th note triplet.
>> If the measure starts with 16th note triplets, this will point to
>> the second note of the measure. The fraction is expressed like this
>> because there are 24 "tripleted 16th notes" in a whole note.
>>
>>
>>
>> 3.2) About referencing contexts
>>
>> Precise control can be achieved by giving IDs to contexts. This is done
>> with the /\editionID/ command:
>>
>> \new Staff \with { \editionID my-staff } {
>>\new Voice { c4 d e f }
>> }
>>
>>
>> This ID can be used like this:
>>
>> \editionMod test 1 2/4 my-staff.Staff \accidentalStyle dodecaphonic
>> \editionMod test 1 3/4 my-staff.Voice.A \override NoteHead.color =
>> #red
>>
>>
>> Notice that even though the ID /my-staff/ points to a specific /Staff/,
>> /\editionMod/ still needs to know specifically where you need to inject the
>> content. So, /my-staff.Staff/ puts it in the /Staff/ context, while
>> /my-staff.Voice.A/ puts it in the first /Voice/ inside 

Re: coding question about include-d tweak/function files

2018-01-30 Thread Urs Liska



Am 30.01.2018 um 17:02 schrieb Urs Liska:

...

If this is a regular case I would look for a way to include them only 
once. Including them multiple times definitely doesn't make sense as 
the file will be completely parsed again and all the definitions just 
overwritten.


The approach I would use (doesn't necessarily mean it's the best one) is:

  * replace the \include with a new function
  * have that function add the included filels absolute path to some list
  * check that list before including the file

This is totally improvised, but with oll-core loaded you could do 
something along the lines of


% provide a storage space
\registerOption kieren.included-files #'()

% in a loading function ('to-include' is the file to check:
#(if (not (getOptionWithFallback `(kieren included-files ,to-include) #f))
  (begin
   (do-include-file to-include)
   (setChildOption '(kieren included-files) to-include #t))

just as a rough idea. Actually I don't know if the syntax of the 
functions is correct, but ...


Thinking about it, that would be a path to writing an \includeOnce or 
\require command in oll-core.
The downside with that idea is that coding tools (i.e. Frescobaldi) will 
be able to help much less than with regular includes: no 
auto-completion, neither for the include itself nor for variables 
defined in the included files. Also you can'T open the included file 
with ctrl-click.


One issue I'm not sure about is whether that include function would 
properly work with LilyPond's include path or if you'd be forced to use 
absolute paths or paths relative to the directory (i.e. not paths that 
are relative to any item from the search path).


What do you think, would that be a worthwile effort?

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


Re: coding question about include-d tweak/function files

2018-01-30 Thread Urs Liska



Am 30.01.2018 um 16:28 schrieb Kieren MacMillan:

Hello all,

For those who make heavy use of stylesheets and/or overrides and tweaks:
Do you have one large file? Several smaller files? One file per override?

Currently, I use "several smaller files", e.g.,

 /tweaks/dynamics.ily
 /tweaks/lyrics.ily
 /tweaks/spacing.ily


This looks like a reasonable grouping.



and so on.

But each of those files is pretty big (i.e., often containing many functions, 
many of which comprise a large number of lines). And I'm wondering if there's 
much of a performance hit when I load them multiple times (e.g., in a songbook, 
where the included file is brought in with each song that is included). That's 
especially inefficient if I'm only using one small function from the entire 
tweak file.

Thoughts and advice appreciated.


If this is a regular case I would look for a way to include them only 
once. Including them multiple times definitely doesn't make sense as the 
file will be completely parsed again and all the definitions just 
overwritten.


The approach I would use (doesn't necessarily mean it's the best one) is:

 * replace the \include with a new function
 * have that function add the included filels absolute path to some list
 * check that list before including the file

This is totally improvised, but with oll-core loaded you could do 
something along the lines of


% provide a storage space
\registerOption kieren.included-files #'()

% in a loading function ('to-include' is the file to check:
#(if (not (getOptionWithFallback `(kieren included-files ,to-include) #f))
 (begin
  (do-include-file to-include)
  (setChildOption '(kieren included-files) to-include #t))


just as a rough idea. Actually I don't know if the syntax of the 
functions is correct, but ...


Best
Urs


Thanks,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


___
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


Re: Pitch inflection

2018-01-30 Thread Hans Åberg

> On 29 Jan 2018, at 22:39, Michael Taylor  wrote:
> 
> I am transcribing sketches in which small pitch adjustments are notated using 
> up & down arrows. As my aim is to reproduce the composer's notation as 
> closely as possible I don't want to substitute quarter-tone symbols. Is there 
> a simple way to insert arrows in place of accidentals? Playback is not an 
> issue.

One can use Helmholtz-Ellis notation in E53 using OpenLilyLib, SMuFL, and 
Graham Breed's regular.ly.


___
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


Re: coding question about include-d tweak/function files

2018-01-30 Thread Urs Liska



Am 30.01.2018 um 16:28 schrieb Kieren MacMillan:

Hello all,

For those who make heavy use of stylesheets and/or overrides and tweaks:
Do you have one large file? Several smaller files? One file per override?

Currently, I use "several smaller files", e.g.,

 /tweaks/dynamics.ily
 /tweaks/lyrics.ily
 /tweaks/spacing.ily


This looks like a reasonable grouping.



and so on.

But each of those files is pretty big (i.e., often containing many functions, 
many of which comprise a large number of lines). And I'm wondering if there's 
much of a performance hit when I load them multiple times (e.g., in a songbook, 
where the included file is brought in with each song that is included). That's 
especially inefficient if I'm only using one small function from the entire 
tweak file.

Thoughts and advice appreciated.


If this is a regular case I would look for a way to include them only 
once. Including them multiple times definitely doesn't make sense as the 
file will be completely parsed again and all the definitions just 
overwritten.


The approach I would use (doesn't necessarily mean it's the best one) is:

 * replace the \include with a new function
 * have that function add the included filels absolute path to some list
 * check that list before including the file

This is totally improvised, but with oll-core loaded you could do 
something along the lines of


% provide a storage space
\registerOption kieren.included-files #'()

% in a loading function ('to-include' is the file to check:
#(if (not (getOptionWithFallback `(kieren included-files ,to-include) #f))
 (do-include-file to-include))


just as a rough idea.

Best
Urs


Thanks,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


___
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


coding question about include-d tweak/function files

2018-01-30 Thread Kieren MacMillan
Hello all,

For those who make heavy use of stylesheets and/or overrides and tweaks:
Do you have one large file? Several smaller files? One file per override?

Currently, I use "several smaller files", e.g.,

/tweaks/dynamics.ily
/tweaks/lyrics.ily
/tweaks/spacing.ily

and so on.

But each of those files is pretty big (i.e., often containing many functions, 
many of which comprise a large number of lines). And I'm wondering if there's 
much of a performance hit when I load them multiple times (e.g., in a songbook, 
where the included file is brought in with each song that is included). That's 
especially inefficient if I'm only using one small function from the entire 
tweak file.

Thoughts and advice appreciated.

Thanks,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Guy Stalnaker
Harm,

MUCH thanks for that snippet, now saved to my snippet folder, that so
clearly explains what's going on with the << \\ >> polyphonic context
syntax. I get it now.

Guy

Guy Stalnaker
jimmyg...@gmail.com

On Tue, Jan 30, 2018 at 3:56 AM, Thomas Morley 
wrote:

> 2018-01-30 9:01 GMT+01:00 mosea chen :
> >
> > Hi,
> > I found it difficult to engrave the staff as the fingure:
> >
> >
> > the "slur" just does not work.
> > The source is as follows:
> >
> > \version "2.19.80"
> > {
> > \clef bass
> > \time 3/4
> >
> > fis-2 ( e-1 d-2 |
> > <<
> > { r4 ) e4 a8 ( g8  | }
> > \\
> > { a,2. |  }
> > >>
> > fis4 ) r4 r4
> > }
>
>
> << ... \\ ... >>
> is equivalent to
> <<
>   \context Voice = "1" { \voiceOne ... }
>   \context Voice = "2" { \voiceTwo ... }
> >>
>
> The exercise is to distribute stuff to Voices properly,
> starting/ending Slurs in the same Voice.
>
> One possibility
>
> \version "2.19.80"
>
> \context Voice {
>   \clef bass
>   \time 3/4
>
>   \context Voice = "2" { fis4-2( e-1 d-2 }
>   <<
> { r4 e4 a8( g8 \oneVoice }
> \\
> { a,2.) }
>   >>
>   \context Voice = "1" fis4)
>   \context Voice
>   r4
>   r4
> }
>
> Cheers,
>   Harm
>
> ___
> 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


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread David Wright
On Tue 30 Jan 2018 at 15:04:25 (+0100), Mats Bengtsson wrote:
> 
> 
> On 2018-01-30 11:45, Thomas Morley wrote:
> >2018-01-30 11:40 GMT+01:00 Robert Blackstone :
> >>Hi Harm.
> >>Your example did not work on my system. No idea why not.
> >>The error message mentions an unexpected } at the end. What is bothering
> >>LilyPond here?
> >>
> >>
> >>I've retested my code: all working.
> >>c/p-error on your part?
> >>
> >>Cheers,
> >>   Harm
> Or perhaps different LilyPond versions? Note that the code requires
> a recent "unstable" version of LilyPond, i.e. version
> 2.19.something. It won't work with version 2.18.

Attached.

> In addition to the answers you already received, I guess that
> reading 
> http://lilypond.org/doc/v2.19/Documentation/learning/explicitly-instantiating-voices
> will help.

The guilty email client appears to be Apple Mail (2.1878.6).

Cheers,
David.


atest-70.pdf
Description: Adobe PDF document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Pitch inflection

2018-01-30 Thread Hans Åberg

> On 29 Jan 2018, at 22:39, Michael Taylor  wrote:
> 
> I am transcribing sketches in which small pitch adjustments are notated using 
> up & down arrows. As my aim is to reproduce the composer's notation as 
> closely as possible I don't want to substitute quarter-tone symbols. Is there 
> a simple way to insert arrows in place of accidentals? Playback is not an 
> issue.

One can use Helmholtz-Ellis notation in E53 using OpenLilyLib, SMuFL, and 
Graham Breed's regular.ly.


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


Re: Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Mats Bengtsson



On 2018-01-30 11:45, Thomas Morley wrote:

2018-01-30 11:40 GMT+01:00 Robert Blackstone :

Hi Harm.
Your example did not work on my system. No idea why not.
The error message mentions an unexpected } at the end. What is bothering
LilyPond here?


I've retested my code: all working.
c/p-error on your part?

Cheers,
   Harm
Or perhaps different LilyPond versions? Note that the code requires a 
recent "unstable" version of LilyPond, i.e. version 2.19.something. It 
won't work with version 2.18.
In addition to the answers you already received, I guess that reading 
http://lilypond.org/doc/v2.19/Documentation/learning/explicitly-instantiating-voices 
will help.


   /Mats

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


Re: Release tarball URL

2018-01-30 Thread Gwyn Ciesla
Ah, I missed that, thank you!


On 01/30/2018 07:48 AM, Karlin High wrote:
> On 1/30/2018 7:43 AM, Gwyn Ciesla wrote:
>> Additionally, this morning
>> http://download.linuxaudio.org/lilypond/sources/v2.19/ doesn't load.
>>
>> -G
>
> A response to another thread said something about changes to servers.
> Might take a little for everything to settle.
>
> The link given for use in the meantime was:
>
> http://lilypond.org/downloads/

-- 
http://cecinestpasunefromage.wordpress.com/

in your fear, seek only peace
in your fear, seek only love

-d. bowie




signature.asc
Description: OpenPGP digital signature
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Release tarball URL

2018-01-30 Thread Karlin High

On 1/30/2018 7:43 AM, Gwyn Ciesla wrote:

Additionally, this morning
http://download.linuxaudio.org/lilypond/sources/v2.19/ doesn't load.

-G


A response to another thread said something about changes to servers. 
Might take a little for everything to settle.


The link given for use in the meantime was:

http://lilypond.org/downloads/
--
Karlin High
Missouri, USA

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


Re: Release tarball URL

2018-01-30 Thread Gwyn Ciesla
Additionally, this morning
http://download.linuxaudio.org/lilypond/sources/v2.19/ doesn't load.

-G


On 01/29/2018 10:14 AM, Gwyn Ciesla wrote:
> Hi! FYI, the release tarball for 2.19.81 is 404.
>
> http://download.linuxaudio.org/lilypond/sources/v2.19/lilypond-2.19.81.tar.gz
>
> Thank you!
>
> -G
>

-- 
http://cecinestpasunefromage.wordpress.com/

in your fear, seek only peace
in your fear, seek only love

-d. bowie




signature.asc
Description: OpenPGP digital signature
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


test spanner with controlled gradient / dynamic volume curve indicated by grey level

2018-01-30 Thread Michael Winter

Hello...

I have tried quite a few hacks, but nothing really suitable.

What I really want is to simple draw a line beneath the staff that has a 
grey scale gradient such that for each note, I give a target value.


Most of what I have tried involves doing this in increments with 
overlapping spanners, I also tried the code in this thread:

https://lists.nongnu.org/archive/html/lilypond-user/2016-10/msg00097.html

I think the answer is doing this with svg directives since in the svg 
documentation there are directives for linear gradients, but I do not 
know how to build the function to use svg directives and such that the 
target greyscale value is reached at the x-position of a given notehead.


Also, ideally I would be able to use spacer rests to give intermediary 
values along the way, since the curve is actually not linear.


Thanks in advance and my apologies if I have been unclear.

Best,
Michael


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


Re: test spanner with controlled gradient / dynamic volume curve indicated by grey level

2018-01-30 Thread Michael Winter
A bit more here. I think I can fake this in a markup... See example 
pasted below. My scheme skilz are minimal. I would like yo do this 
interpolating between the x position of adjacent notes. So maybe I can 
do this as a custom beam stencil. or some kind of spanner. Basically I 
want a scheme function that will give me the position of a given note 
and the next note... Thanks!


\relative c'' {
  s64
  -\markup {
    \combine
    \override #'(line-join-style . miter)
    \with-color #(x11-color 'grey60)
    \path #2
    #'((moveto 0 0)
 (lineto 0.3 0)
 (closepath)
 )

   \combine
    \override #'(line-join-style . miter)
    \with-color #(x11-color 'grey40)
    \path #2
    #'((moveto 0.3 0)
 (lineto 0.6 0)
 (closepath))

    \override #'(line-join-style . miter)
    \with-color #(x11-color 'grey20)
    \path #2
    #'((moveto 0.6 0)
 (lineto 0.9 0)
 (closepath))
  }


}


On 01/29/2018 06:27 PM, Michael Winter wrote:

Hello...

I have tried quite a few hacks, but nothing really suitable.

What I really want is to simple draw a line beneath the staff that has 
a grey scale gradient such that for each note, I give a target value.


Most of what I have tried involves doing this in increments with 
overlapping spanners, I also tried the code in this thread:

https://lists.nongnu.org/archive/html/lilypond-user/2016-10/msg00097.html

I think the answer is doing this with svg directives since in the svg 
documentation there are directives for linear gradients, but I do not 
know how to build the function to use svg directives and such that the 
target greyscale value is reached at the x-position of a given notehead.


Also, ideally I would be able to use spacer rests to give intermediary 
values along the way, since the curve is actually not linear.


Thanks in advance and my apologies if I have been unclear.

Best,
Michael




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


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Thomas Morley
2018-01-30 11:45 GMT+01:00 Thomas Morley :
> 2018-01-30 11:40 GMT+01:00 Robert Blackstone :
>> Hi Harm.
>> Your example did not work on my system. No idea why not.
>> The error message mentions an unexpected } at the end. What is bothering
>> LilyPond here?
>>
>> I would very much like to see and try your solution because I recently have
>> struggled endlessly with slurs in passages with up to six voices in a single
>> staff. Maddening.
>>
>> Best regards,
>> Robert Blackstone
>
>
> I've retested my code: all working.
> c/p-error on your part?



Or some email-client messing with << >>
Try attached file.

Cheers,
  Harm
\version "2.19.80"

\context Voice {
  \clef bass
  \time 3/4

  \context Voice = "2" { fis4-2( e-1 d-2 }
  <<
{ r4 e4 a8( g8 \oneVoice }
\\
{ a,2.) }
  >>
  \context Voice = "1" fis4)
  \context Voice
  r4
  r4
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Thomas Morley
2018-01-30 11:40 GMT+01:00 Robert Blackstone :
> Hi Harm.
> Your example did not work on my system. No idea why not.
> The error message mentions an unexpected } at the end. What is bothering
> LilyPond here?
>
> I would very much like to see and try your solution because I recently have
> struggled endlessly with slurs in passages with up to six voices in a single
> staff. Maddening.
>
> Best regards,
> Robert Blackstone


I've retested my code: all working.
c/p-error on your part?

Cheers,
  Harm

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


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Robert Blackstone
Hi Harm.
Your example did not work on my system. No idea why not.
The error message mentions an unexpected } at the end. What is bothering 
LilyPond here?

I would very much like to see and try your solution because I recently have 
struggled endlessly with slurs in passages with up to six voices in a single 
staff. Maddening.  

Best regards,
Robert Blackstone



On 30 Jan 2018, at 10:56 , Thomas Morley  wrote:

> 2018-01-30 9:01 GMT+01:00 mosea chen :
>> 
>> Hi,
>>I found it difficult to engrave the staff as the fingure:
>> 
>> 
>> the "slur" just does not work.
>> The source is as follows:
>> 
>> \version "2.19.80"
>> {
>>\clef bass
>>\time 3/4
>> 
>>fis-2 ( e-1 d-2 |
>><<
>>{ r4 ) e4 a8 ( g8  | }
>>\\
>>{ a,2. |  }
 
>>fis4 ) r4 r4
>> }
> 
> 
> << ... \\ ... >>
> is equivalent to
> <<
>  \context Voice = "1" { \voiceOne ... }
>  \context Voice = "2" { \voiceTwo ... }
>>> 
> 
> The exercise is to distribute stuff to Voices properly,
> starting/ending Slurs in the same Voice.
> 
> One possibility
> 
> \version "2.19.80"
> 
> \context Voice {
>  \clef bass
>  \time 3/4
> 
>  \context Voice = "2" { fis4-2( e-1 d-2 }
>  <<
>{ r4 e4 a8( g8 \oneVoice }
>\\
>{ a,2.) }
>>> 
>  \context Voice = "1" fis4)
>  \context Voice
>  r4
>  r4
> }
> 

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


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Robert Blackstone
On 30 Jan 2018, at 09:49 , mosea chen  wrote:

> Thank you. Well done. It would take some time to understand the grammer.


Hi,

It is not all that difficult. 
The  main point is that you have to recognize that on this singe staff in these 
three bars of your example there are two separate voices, each with its own 
slur. 
Let's call them upper and lower voice.
In the first bar the upper voice is silent and the lower voice carries on into 
the second bar.
In the second bar both the upper and lower voice are active, with only the 
upper voice carrying on into the third bar, while the lower voice is silent.
So, to get the slurs right you have to make all three bars like this:
<< {lower } \\ {upper} >>  or , if it fits in better with the rest of the 
score: << {upper } \\ { lower} >> .

If this, two (or more) voices in a particular staff, happens more than 
occasionally it is better to write two separate voices and combine them into 
one staff in the score.

I hope this will save you some time.

Best regards, 
Robert Blackstone



On 30 Jan 2018, at 09:49 , mosea chen  wrote:

> Thank you. Well done. It would take some time to understand the grammer.
> 
> 2018-01-30 16:38 GMT+08:00 Robert Blackstone :
> Hi,
> 
> In the improved version the first slur is still missing.
> I would do it in the following way, ugly perhaps, but it works for me:
> 
> %%
> \version "2.19.80"
> {
> \clef bass
> \time 3/4  
> << {\stemDown fis-2 ( e-1 d-2 }  \\ { s2. } >> | % V1-1
> << {\stemDown a,2. ) }  \\ {\slurUp  a4 \rest \stemUp e4 a8 ( [ g8 ] } >> 
> | % V1-2
> << { s2. }  \\ { fis4 ) d4 \rest d4 \rest  } >> | % V1-3
> 
> }
> 
> 
> 
> I hope it also works for you.
> 
> Best regards,
> Robert Blackstone
> 
> On 30 Jan 2018, at 09:13 , mosea chen  wrote:
> 
>> Thank you. I get the fingure. But not work,getting the warning:" cannot end 
>> slur"
>> 
>> 
>> 2018-01-30 16:03 GMT+08:00 Malte Meyn :
>> 
>> 
>> Am 30.01.2018 um 09:01 schrieb mosea chen:
>> Hi,
>>  I found it difficult to engrave the staff as the fingure:
>> 内嵌图片 1
>> 
>> the "slur" just does not work.
>> The source is as follows:
>> 
>> \version "2.19.80"
>> {
>>  \clef bass
>>  \time 3/4
>>  fis-2 ( e-1 d-2|
>>  <<
>>  { r4 ) e4 a8 ( g8  |}
>>  \\
>>  { a,2. |  }
>>  >>
>>  fis4 ) r4 r4
>> }
>> 
>> I would change this to
>> 
>> 
>> \version "2.19.80"
>> {
>>  \clef bass
>>  \time 3/4
>>  fis-2 ( e-1 d-2|
>>  <<
>>  { r4 ) e4 a8 ( g8  | \oneVoice fis4) }
>>  \\
>>  { a,2. |  }
>>  >>
>>  r4 r4
>> }
>> 
>> ___
>> 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
> 
> 

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


Setting staff size for a single book

2018-01-30 Thread Sandro Santilli
According to the manual [1] you can use #(set-global-staff-size 14)
in a book block, but when I try (using lilypond 2.18.2) the output
does not change. Example:

  \version "2.18.2"
  \book {
#(set-global-staff-size 48)
\header { instrument = "Bass" }
\score {
  \new Staff { \absolute c' }
}
  }

Moving the #(set-global-staff-size 48) line *outside*
of the `\book` block works fine. Is it a bug in the manual
or in the code ?

[1] http://lilypond.org/doc/v2.18/Documentation/notation/setting-the-staff-size

--strk;

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


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Thomas Morley
2018-01-30 9:01 GMT+01:00 mosea chen :
>
> Hi,
> I found it difficult to engrave the staff as the fingure:
>
>
> the "slur" just does not work.
> The source is as follows:
>
> \version "2.19.80"
> {
> \clef bass
> \time 3/4
>
> fis-2 ( e-1 d-2 |
> <<
> { r4 ) e4 a8 ( g8  | }
> \\
> { a,2. |  }
> >>
> fis4 ) r4 r4
> }


<< ... \\ ... >>
is equivalent to
<<
  \context Voice = "1" { \voiceOne ... }
  \context Voice = "2" { \voiceTwo ... }
>>

The exercise is to distribute stuff to Voices properly,
starting/ending Slurs in the same Voice.

One possibility

\version "2.19.80"

\context Voice {
  \clef bass
  \time 3/4

  \context Voice = "2" { fis4-2( e-1 d-2 }
  <<
{ r4 e4 a8( g8 \oneVoice }
\\
{ a,2.) }
  >>
  \context Voice = "1" fis4)
  \context Voice
  r4
  r4
}

Cheers,
  Harm

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


Re: Pitch inflection

2018-01-30 Thread David Kastrup
msk...@ansuz.sooke.bc.ca writes:

> On Tue, 30 Jan 2018, David Kastrup wrote:
>> > as closely as possible I don't want to substitute quarter-tone symbols. Is
>> > there a simple way to insert arrows in place of accidentals? Playback is
>> > not an issue.
>>
>> Quarter notes wouldn't work anyway since you'd not be able to
>> distinguish a quarter note up from e from a quarter note down from f.
>
> Really?  The input { eih'1 feh'1 } seems to work for me, producing
> distinct "e half-sharp" and "f half-flat" notation even though in 24-EDO
> these are the same pitch.

Argh, right.  Different note name.  Should have taken E raised by a
quartertone versus E♯ flattened by a quarter tone.

_Those_ would be indistinguishable.

> It seems like just replacing the "half-sharp" and "half-flat" symbols
> with up and down arrows would be enough to satisfy the original
> poster's request.

See above.

-- 
David Kastrup

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


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread mosea chen
Thank you. Well done. It would take some time to understand the grammer.

2018-01-30 16:38 GMT+08:00 Robert Blackstone :

> Hi,
>
> In the improved version the first slur is still missing.
> I would do it in the following way, ugly perhaps, but it works for me:
>
> %%
> \version "2.19.80"
> {
> \clef bass
> \time 3/4
> << {\stemDown fis-2 ( e-1 d-2 }  \\ { s2. } >> | % V1-1
> << {\stemDown a,2. ) }  \\ {\slurUp  a4 \rest \stemUp e4 a8 ( [ g8 ] }
> >> | % V1-2
> << { s2. }  \\ { fis4 ) d4 \rest d4 \rest  } >> | % V1-3
>
> }
>
> 
>
> I hope it also works for you.
>
> Best regards,
> Robert Blackstone
>
> On 30 Jan 2018, at 09:13 , mosea chen  wrote:
>
> Thank you. I get the fingure. But not work,getting the warning:" cannot
> end slur"
> 
>
> 2018-01-30 16:03 GMT+08:00 Malte Meyn :
>
>>
>>
>> Am 30.01.2018 um 09:01 schrieb mosea chen:
>>
>>> Hi,
>>>  I found it difficult to engrave the staff as the fingure:
>>> 内嵌图片 1
>>>
>>> the "slur" just does not work.
>>> The source is as follows:
>>>
>>> \version "2.19.80"
>>> {
>>>  \clef bass
>>>  \time 3/4
>>>  fis-2 ( e-1 d-2|
>>>  <<
>>>  { r4 ) e4 a8 ( g8  |}
>>>  \\
>>>  { a,2. |  }
>>>  >>
>>>  fis4 ) r4 r4
>>> }
>>>
>>
>> I would change this to
>>
>>
>> \version "2.19.80"
>> {
>>  \clef bass
>>  \time 3/4
>>  fis-2 ( e-1 d-2|
>>  <<
>>  { r4 ) e4 a8 ( g8  | \oneVoice fis4) }
>>  \\
>>  { a,2. |  }
>>  >>
>>  r4 r4
>> }
>>
>> ___
>> 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
>
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Robert Blackstone
Hi,

In the improved version the first slur is still missing.
I would do it in the following way, ugly perhaps, but it works for me:

%%
\version "2.19.80"
{
\clef bass
\time 3/4  
<< {\stemDown fis-2 ( e-1 d-2 }  \\ { s2. } >> | % V1-1
<< {\stemDown a,2. ) }  \\ {\slurUp  a4 \rest \stemUp e4 a8 ( [ g8 ] } >> | 
% V1-2
<< { s2. }  \\ { fis4 ) d4 \rest d4 \rest  } >> | % V1-3

}



I hope it also works for you.

Best regards,
Robert Blackstone

On 30 Jan 2018, at 09:13 , mosea chen  wrote:

> Thank you. I get the fingure. But not work,getting the warning:" cannot end 
> slur"
> 
> 
> 2018-01-30 16:03 GMT+08:00 Malte Meyn :
> 
> 
> Am 30.01.2018 um 09:01 schrieb mosea chen:
> Hi,
>  I found it difficult to engrave the staff as the fingure:
> 内嵌图片 1
> 
> the "slur" just does not work.
> The source is as follows:
> 
> \version "2.19.80"
> {
>  \clef bass
>  \time 3/4
>  fis-2 ( e-1 d-2|
>  <<
>  { r4 ) e4 a8 ( g8  |}
>  \\
>  { a,2. |  }
>  >>
>  fis4 ) r4 r4
> }
> 
> I would change this to
> 
> 
> \version "2.19.80"
> {
>  \clef bass
>  \time 3/4
>  fis-2 ( e-1 d-2|
>  <<
>  { r4 ) e4 a8 ( g8  | \oneVoice fis4) }
>  \\
>  { a,2. |  }
>  >>
>  r4 r4
> }
> 
> ___
> 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

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


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread mosea chen
Thank you. I get the fingure. But not work,getting the warning:" cannot end
slur"
[image: 内嵌图片 1]

2018-01-30 16:03 GMT+08:00 Malte Meyn :

>
>
> Am 30.01.2018 um 09:01 schrieb mosea chen:
>
>> Hi,
>>  I found it difficult to engrave the staff as the fingure:
>> 内嵌图片 1
>>
>> the "slur" just does not work.
>> The source is as follows:
>>
>> \version "2.19.80"
>> {
>>  \clef bass
>>  \time 3/4
>>  fis-2 ( e-1 d-2|
>>  <<
>>  { r4 ) e4 a8 ( g8  |}
>>  \\
>>  { a,2. |  }
>>  >>
>>  fis4 ) r4 r4
>> }
>>
>
> I would change this to
>
>
> \version "2.19.80"
> {
>  \clef bass
>  \time 3/4
>  fis-2 ( e-1 d-2|
>  <<
>  { r4 ) e4 a8 ( g8  | \oneVoice fis4) }
>  \\
>  { a,2. |  }
>  >>
>  r4 r4
> }
>
> ___
> 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


Re: quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread Malte Meyn



Am 30.01.2018 um 09:01 schrieb mosea chen:

Hi,
     I found it difficult to engrave the staff as the fingure:
内嵌图片 1

the "slur" just does not work.
The source is as follows:

\version "2.19.80"
{
     \clef bass
     \time 3/4
     fis-2 ( e-1 d-2|
     <<
         { r4 ) e4 a8 ( g8  |}
         \\
         { a,2. |  }
     >>
     fis4 ) r4 r4
}


I would change this to


\version "2.19.80"
{
 \clef bass
 \time 3/4
 fis-2 ( e-1 d-2|
 <<
 { r4 ) e4 a8 ( g8  | \oneVoice fis4) }
 \\
 { a,2. |  }
 >>
 r4 r4
}

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


quetion about slur in the "<< .... \\ .....>>"

2018-01-30 Thread mosea chen
Hi,
I found it difficult to engrave the staff as the fingure:
[image: 内嵌图片 1]

the "slur" just does not work.
The source is as follows:

\version "2.19.80"
{
\clef bass
\time 3/4

fis-2 ( e-1 d-2 |
<<
{ r4 ) e4 a8 ( g8  | }
\\
{ a,2. |  }
>>
fis4 ) r4 r4
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user