Re: LilyPond Slack channel

2017-04-21 Thread Jeffery Shivers
On Fri, Apr 21, 2017 at 10:24 PM Jeffery Shivers 
wrote:

>
> So I'd like to know general thoughts about the use of such a system in
> the first place, for GSoC, but also if people might see a use for it
> outside of the scope of LilyPond.


Oops - I mean *outside of the scope of GSoC*.

> --

Jeffery Shivers
 jefferyshivers.com
 soundcloud.com/jefferyshivers
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


LilyPond Slack channel

2017-04-21 Thread Jeffery Shivers
Hi everyone,

I thought it might be useful to create a Slack channel for LilyPond,
particularly with the advent of another Google Summer of Code term.

Most GSoC orgs encourage some sort of IRC or other chat protocol for
students / mentors / admins to interact, but of course the downside is
that these aren't usually public spaces. However, this paradigm for
faster (and probably more casual) communication could be a good way of
maintaining students' enthusiasm, productivity, and general *bonding*
with each other and the more interested community members.

GSoC students shouldn't ever use the channel to ask questions that
should be answered by the general community, but it might be the place
to ask quick questions that really don't need a whole email dedicated
to them. Also, people can arrange times to meet and chat this way,
similar to Skype or whatever.

So I'd like to know general thoughts about the use of such a system in
the first place, for GSoC, but also if people might see a use for it
outside of the scope of LilyPond. Other than the tradeoff between
(potential) pace/efficiency and permanence/archivability, the only
other tricky part of Slack is the way that new members are invited to
the channel.

Admins for a channel can individually invite anyone, and can also
allow anyone whose email belongs to a certain domain (such as
*@gnu.org) to find and request to join the channel. But the upside to
that is that it is easy to curate membership and to even have private
threads (created by admins) within the channel.

If you want to have a look and try it out, I'd be happy to invite
individuals. Please just let me know - it takes two seconds to send
the invitation, and I am hopeful that this is something others are
interested in. The Slack channel is: https://lilypond.slack.com/

Looking forward to your thoughts.

Best,
Jeffery

-- 

Jeffery Shivers
 jefferyshivers.com
 soundcloud.com/jefferyshivers

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


Re: tracking/letterspacing markup

2017-04-21 Thread Thomas Morley
2017-04-21 17:40 GMT+02:00 Kieren MacMillan :
> Hello all,
>
> Is there an easy markup tracking/letterspacing function floating around out 
> there? The last time I needed to adjust letterspacing (for a style demo), I 
> simply wrote e.g.
>
>   \markup \override #'(word-space . 0) \line { l e t t e r s p a c i n g }
>   \markup \override #'(word-space . 0.2) \line { l e t t e r s p a c i n g }
>   \markup \override #'(word-space . 2) \line { l e t t e r s p a c i n g }
>
> If somebody out there has built, or could help me build, a real letterspacing 
> function — or, I suppose better yet, add letterspacing as a parameter to the 
> underlying markup code — I’d appreciate it.
>
> Thanks,
> Kieren.



Hi Kieren,

the attached was once coded in the now down German Forum by Arnold.
Please be aware of the problems, let me quote the comment for
'unicode-diacritics':
"
; These are the UNICODE ranges of the diacritical symbols, which
; should not be insulated form their predestinating glyph.
; Look at the code charts at www.unicode.org for more information.
; As long as this table is entered manually there is a high risk of errors.
; This list (ascending order) tends to be incomplete
"


Furthermore I tested with my experimental guile-2.2.1-lilypond-build:

\markup \box #(map string (string->list "名字äüö\\letterspacing"))
\markup #(map string (string->list "名字äüö\\letterspacing"))
\markup
  \override #'(word-space . -0.2)
  \line #(map string (string->list "名字äüö\\letterspacing"))
\markup
  \override #'(word-space . 2)
  \line #(map string (string->list "名字äüö\\letterspacing"))

Returning the attached png.
Though, don't try it with guilev1-lilypond.
It will return wagonloads of pango-warnings and bad output...


HTH,
  Harm
\version "2.18.2"

#(define (utf-8-string->wide-char-list str)
"
 Convert a UTF-8 byte string into an list with integer representing the 
 UNICODE character codes
"
  (let ((erg '())
(mult 1)
(sum 0))

  (for-each 
(lambda (single-byte-char)
  (let ((numeric (char->integer single-byte-char)))
  (if (< numeric #x80)
   (begin ; 7-Bit-ASCII stand alone character
 (if (not (equal? mult 1)) 
   (begin
 (ly:warning 
   "utf-8-string->wide-char-list: UTF-8-string out of sequence!")
 (set! mult 1) (set! sum 0)))
 (set! erg (cons numeric erg)))
   (if (< numeric #xc0)
(begin ; 10. . = UTF-8 expansion byte
  (set! sum (+ sum (* mult (- numeric #x80
  (set! mult (* 64 mult)))
(if (< numeric #xe0)
 (begin ; 110.  = UTF-8 start of two byte sequence
   (if (not (equal? mult 64))
(ly:warning 
  "utf-8-string->wide-char-list: UTF-8-string out of sequence!")
(begin
  (set! sum (+ sum (* mult (- numeric #xc0
  (set! erg (cons sum erg
   (set! mult 1) (set! sum 0))
 (if (< numeric #xf0)
  (begin ; 1110  = UTF-8 start of three byte sequence
   (if (not (equal? mult 4096))
(ly:warning 
  "utf-8-string->wide-char-list: UTF-8-string out of sequence!")
(begin
  (set! sum (+ sum (* mult (- numeric #xe0
  (set! erg (cons sum erg
   (set! mult 1) (set! sum 0))
  (if (< numeric #xf8)
   (begin ;  0... = UTF-8 start of four byte sequence
(if (not (equal? mult 262144))
 (ly:warning 
   "utf-8-string->wide-char-list: UTF-8-string out of sequence!")
 (begin
   (set! sum (+ sum (* mult (- numeric #xf0
   (set! erg (cons sum erg
(set! mult 1) (set! sum 0))
   (begin ;; This would be the header of a UTF-8 encoding of an 
  ;; UNICODE character with more than 21 bits - this
  ;; does not exist!
 (ly:warning 
   "utf-8-string->wide-char-list: UTF-8-string out of sequence!")
 (set! mult 1) (set! sum 0)
(reverse (string->list str)))
  erg))

#(define unicode-diacritics 
; These are the UNICODE ranges of the diacritical symbols, which
; should not be insulated form their predestinating glyph.
; Look at the code charts at www.unicode.org for more information.
; As long as this table is entered manually there is a high risk of errors.
; This list (ascending order) tends to be incomplete
 '( 
   ; Combining Diacritical Marks
   ( #x0300 . #x036f )
   ; Cyrillic
   ( #x0483 . #x0489 )
   ; Hebrew
   ( #x0591 . #x05bd )
   ( #x05bf . #x05bf )
   ( #x05c1 . #x05c2 )
   ( #x05c4 . #x05c5 )
   ( #x05c7 . #x05c7 )
   ; Arabic
   ( #x0610 . #x061a )
   ( #x064b . #x065f )
   ( #x0670 . #x0670 )
   ( #x06d6 . #x06dc )
   ( #x06df . #x06e4 )
   ( #x06ea . #x06ed )
   ; Syriac
   ( #x0711 . #x0711 )
   ( #x0730 . #x074a )
   ; Thaana
   ( #x07a6 . #x07b0 )
   

Re: Compilation Problem with lilypondbook

2017-04-21 Thread Jeffery Shivers
Hi Emil,

On Fri, Apr 21, 2017 at 3:57 PM, Emil Salim  wrote:
> Hello again,
>
> I removed the geometry package and was able to produce a PDF, but somewhat
> erratic. I'll try out several things first. Sorry to bother.

I don't think anyone can really comment on this since you didn't
indicate you were using that package in your example.

Could you provide a complete / compilable MWE which still produces the
problem you are having?
-- 

Jeffery Shivers
 jefferyshivers.com
 soundcloud.com/jefferyshivers

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


Re: Compilation Problem with lilypondbook

2017-04-21 Thread Emil Salim
Hello again,

I removed the geometry package and was able to produce a PDF, but somewhat
erratic. I'll try out several things first. Sorry to bother.

Emil


On Fri, Apr 21, 2017 at 2:22 PM, Emil Salim  wrote:

> Hi Everyone,
>
> I have this snippet below that is compilable with lilypond, but when I put
> it in a .lytex file and tried compiling the .lytex file with lilypond-book
> --latex=lualatex --output=out ___.lytex
>
> I got an error message on compressing over-full page by a bunch of numbers
> and programming error: Improbable offset for stencil.
>
> What might be the problem? I was able to do this before. I'm using Sierra
> and Lilypond 2.18.2. Many thanks.
>
> Emil
>
> ---
>
> \begin[staffsize=15]{lilypond}
>
>
> \new Staff \with {
> alignAboveContext = #"main"
> % Reduce all font sizes by ~24%
> fontSize = #-2
> }
>
>
> \relative c' {
> \set Score.timing = ##f
> \override Staff.BarLine #'bar-extent = #'(-1 . 1)
> \override Staff.Stem #'transparent = ##t
> \override Staff.TimeSignature #'stencil = ##f
> \key e \major
>  e4^\markup { \italic Liturgos } ( dis4) e4 ( fis4) fis4 fis4 fis4 fis4
> fis4 fis4 fis4 fis4 fis4 a4 gis4 fis4 gis2\bar "|" fis4^\markup { \italic
> Semua } fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4
> gis4 fis4 e4 dis2 ( e2)\override Staff.BarLine #'bar-extent = #'(-2 . 2)
> \bar "||"
>
> }
>
>\addlyrics {
>  Se -- bab cin -- ta un -- tuk ru -- mah-  -- Mu meng -- ha -- ngus -- kan
> a -- ku, | dan ka -- ta-  -- ka -- ta yang men -- ce -- la Eng -- kau te --
> lah me -- nim -- pa a -- ku.
>}
>
> \end{lilypond}
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Hairpin endings

2017-04-21 Thread David Nalesnik
Hi Nathan,

On Fri, Apr 21, 2017 at 12:54 PM, Nathan Ho  wrote:
> On 2017-04-21 05:39, David Nalesnik wrote:
>>
>> Instead of using a markup, why not use ly:line-interface::line
>> (available from 2.19.27)? This gets thickness from the grob--and any
>> other line attributes you want, so you can create dashed hairpins,
>> whatever.  There's no need adjust thickness in this case.
>
>
> Hi David,
>
> Thanks for the info. I still prefer markups for this kind of thing because
> more people understand them and they're (somewhat) better documented. Less
> ly:foo stuff I have to look up, the better. Good to know the proper way
> though!
>

OK, I see.

Anyway, in case anyone wonders, here is how your function would look:

\version "2.19.59"

#(define ((open-hairpin left-open right-open) grob)
   (let* ((stencil (ly:hairpin::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)))
 (ly:stencil-translate
  (ly:stencil-add
   (ly:line-interface::line
 grob
 0 (* height (- 0.5 (* 0.5 left-open)))
 width (* height (- 0.5 (* 0.5 right-open
   (ly:line-interface::line
grob
0 (* height (+ 0.5 (* 0.5 left-open)))
width (* height (+ 0.5 (* 0.5 right-open)
 (cons 0 (interval-start Y-ext)

{
  c'1\> c'1 c'1\!
  \once \override Hairpin.stencil = #(open-hairpin 1.0 0.5)
  c'1\> c'1 c'1\!
  \once \override Hairpin.stencil = #(open-hairpin 0.5 0.0)
  c'1\> c'1 c'1\!
  \override Hairpin.style = #'dashed-line
  \once \override Hairpin.stencil = #(open-hairpin 1.0 0.5)
  c'1\> c'1 c'1\!
  \once \override Hairpin.stencil = #(open-hairpin 0.5 0.0)
  c'1-\tweak thickness 3 \> c'1 c'1\!
}

%%%

-David

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


Compilation Problem with lilypondbook

2017-04-21 Thread Emil Salim
Hi Everyone,

I have this snippet below that is compilable with lilypond, but when I put
it in a .lytex file and tried compiling the .lytex file with lilypond-book
--latex=lualatex --output=out ___.lytex

I got an error message on compressing over-full page by a bunch of numbers
and programming error: Improbable offset for stencil.

What might be the problem? I was able to do this before. I'm using Sierra
and Lilypond 2.18.2. Many thanks.

Emil

---

\begin[staffsize=15]{lilypond}


\new Staff \with {
alignAboveContext = #"main"
% Reduce all font sizes by ~24%
fontSize = #-2
}


\relative c' {
\set Score.timing = ##f
\override Staff.BarLine #'bar-extent = #'(-1 . 1)
\override Staff.Stem #'transparent = ##t
\override Staff.TimeSignature #'stencil = ##f
\key e \major
 e4^\markup { \italic Liturgos } ( dis4) e4 ( fis4) fis4 fis4 fis4 fis4
fis4 fis4 fis4 fis4 fis4 a4 gis4 fis4 gis2\bar "|" fis4^\markup { \italic
Semua } fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4 fis4
gis4 fis4 e4 dis2 ( e2)\override Staff.BarLine #'bar-extent = #'(-2 . 2)
\bar "||"

}

   \addlyrics {
 Se -- bab cin -- ta un -- tuk ru -- mah-  -- Mu meng -- ha -- ngus -- kan
a -- ku, | dan ka -- ta-  -- ka -- ta yang men -- ce -- la Eng -- kau te --
lah me -- nim -- pa a -- ku.
   }

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


Re: Hairpin endings

2017-04-21 Thread Nathan Ho

On 2017-04-21 05:39, David Nalesnik wrote:

Instead of using a markup, why not use ly:line-interface::line
(available from 2.19.27)? This gets thickness from the grob--and any
other line attributes you want, so you can create dashed hairpins,
whatever.  There's no need adjust thickness in this case.


Hi David,

Thanks for the info. I still prefer markups for this kind of thing 
because more people understand them and they're (somewhat) better 
documented. Less ly:foo stuff I have to look up, the better. Good to 
know the proper way though!



Nathan

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


Re: Hairpin endings

2017-04-21 Thread Thomas Morley
2017-04-21 14:39 GMT+02:00 David Nalesnik :
> Hi,
>
> On Fri, Apr 21, 2017 at 1:07 AM,   wrote:
>> Am 2017-04-21 07:41, schrieb Nathan Ho:
>>>
>>> On 2017-04-20 20:42, Andrew Bernard wrote:

 I posted a while ago with a query about hairpins, to which no
 response.

 Would there be any way to have hairpins that don't start, or end in
 the other direction, with the lines converging to the same point? I
 have need from time to time of hairpins where the end points are still
 separated, rather than coming to a termination together. Sure this can
 be done with a whiteout box, but that is always fiddly and the
 position tends to move when the score is repaginated etc etc. In the
 same way as the 'height' property allows you to specify the separation
 at the open end, it would be useful to have some property for this
 sort of thing at the pointy end. Yes, definitely not Common Era
 engraving practice, but this keeps coming up in the New Complexity
 scores I work with.
>
> Besides Nathan's code below, you might be able to use the
> "Ferneyhough" hairpins.
>
> Can you provide an usage example of these partial hairpins?  How would
> they behave over line breaks?

The code for "Ferneyhough" hairpins uses make-connected-path-stencil,
hence it will not work for this purpose.

Below a rewrite using make-path-stencil:

#(define ((elbowed-hairpin coords mirrored?) grob)
  "Create hairpin based on a list of @var{coords} in @code{(cons x y)}
form.  @code{x} is the portion of the width consumed for a given line
and @code{y} is the portion of the height.  For example,
@code{'((0 . 0) (0.3 . 0.7) (0.8 . 0.9) (1.0 . 1.0))} means that at the point
where the hairpin has consumed 30% of its width, it must
be at 70% of its height.  Once it is to 80% width, it
must be at 90% height.  It finishes at 100% width and 100% height.
If @var{coords} does not begin with @code{'(0 . 0)} the final hairpin will have
an open tip.  For example '(0 . 0.5) will cause an open end of 50% of the usual
height.
@var{mirrored?} indicates if the hairpin is mirrored over the Y-axis or if
just the upper part is drawn.
Returns a function that accepts a hairpin grob as an argument
and draws the stencil based on its coordinates.

@lilypond[verbatim,quote]
#(define simple-hairpin
  (elbowed-hairpin '((0 . 0)(1.0 . 1.0)) #t))

\\relative c' {
  \\override Hairpin #'stencil = #simple-hairpin
  a\\p\\< a a a\\f
}
@end lilypond
"
  (define (normalize-coords goods x y)
(map
  (lambda (coord)
(cons (* x (car coord)) (* y (cdr coord
  goods))

  (define (my-c-p-s points thick decresc?)
(let ((start-point (car points)))
  (make-path-stencil
(append
  `(moveto
,(car start-point)
,(cdr start-point))
  (append-map
(lambda (elt)
  (list 'lineto (car elt) (cdr elt)))
(cdr points)))
thick
(if decresc? -1.0 1.0)
1.0
#f)))
  ;; outer let to trigger suicide
  (let ((sten (ly:hairpin::print grob)))
(if (grob::is-live? grob)
(let* ((decresc? (eqv? (ly:grob-property grob 'grow-direction) LEFT))
   (thick (ly:grob-property grob 'thickness 0.1))
   (thick (* thick (layout-line-thickness grob)))
   (xex (ly:stencil-extent sten X))
   (lenx (interval-length xex))
   (yex (ly:stencil-extent sten Y))
   (leny (interval-length yex))
   (xtrans (+ (car xex) (if decresc? lenx 0)))
   (ytrans (car yex))
   (uplist (normalize-coords coords lenx (/ leny 2)))
   (downlist (normalize-coords coords lenx (/ leny -2)))
   (stil
 (ly:stencil-aligned-to
   (ly:stencil-translate
 (ly:stencil-add
   (my-c-p-s uplist thick decresc?)
   (if mirrored?
   (my-c-p-s downlist thick decresc?)
   empty-stencil))
 (cons xtrans ytrans))
   Y CENTER))
   (stil-y-extent (ly:stencil-extent stil Y)))
;; Return a final stencil properly aligned in Y-axis direction and with
;; proper extents. Extent in X-axis direction is taken from the
;; original, in Y-axis direction from the new stencil.
;; Otherwise stencil-operations like 'box-stencil' will return badly.
(ly:make-stencil (ly:stencil-expr stil) xex stil-y-extent))
;; return empty if no Hairpin.stencil present.
'(

%%
%% EXAMPLE
%%

{
  \override Hairpin.to-barline = ##f
  \once \override Hairpin.stencil =
#(elbowed-hairpin '((0.0 . 0.4)(1.0 . 1.2)) #t)
  c'4\> c'' c''' d'''\! d'''1

  \once \override Hairpin.stencil =
#(elbowed-hairpin '((0.0 . 0.0)(1.0 . 0.5)) #t)
  c'1\pp\<
  

tracking/letterspacing markup

2017-04-21 Thread Kieren MacMillan
Hello all,

Is there an easy markup tracking/letterspacing function floating around out 
there? The last time I needed to adjust letterspacing (for a style demo), I 
simply wrote e.g.

  \markup \override #'(word-space . 0) \line { l e t t e r s p a c i n g }
  \markup \override #'(word-space . 0.2) \line { l e t t e r s p a c i n g }
  \markup \override #'(word-space . 2) \line { l e t t e r s p a c i n g }

If somebody out there has built, or could help me build, a real letterspacing 
function — or, I suppose better yet, add letterspacing as a parameter to the 
underlying markup code — I’d appreciate it.

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: version number rejection

2017-04-21 Thread Steve Downes
On Sun, Apr 16, 2017 at 07:44:55PM -0500, David Wright wrote:
> On Sun 16 Apr 2017 at 20:35:41 (+0100), Steve Downes wrote:
> > I attach a short script together with the rejection notice. I feel
> > confident I shall feel foolish when I recieve a reply but what am I
> > doing wrong here?
> > 
> > The version number is correct. & the same as my previous work.
> > 
> > I can see no problem with the script as far as it's gone & neither,
> >   apparently, can the compiler.
> > 
> > I attach the scrip &  compilers output.
> > 
> > 
> > Script>
> > 
> > \version "2.18.2"
> > 
> > {
> >   \new ChordNames \with {
> >   \override BarLine.bar-extent = #'(-2 . 2)
> >   \consists "Bar_engraver"
> >   }
> >   \chordmode {
> >   \time 4/4
> >  }
> > % intro Gtr only
> > r2 gis4:13/fgis g4:13 |
> > c1:maj7 |
> > g2:m9 cis4:7.5+ c4:9 |
> > f2:min9 bes:13 |
> > a2:m7 aes:7 |
> > d2:min7 g:7 |
> > c2:maj7 cis:dim7 |
> > d2:m7 g:7.+5 \bar "||"|
> > 
> > > End of Script
> > 
> > > start of compiler script
> > 
> 
> From this point...
> 
> > steve@office:~/studio/lildat/misty$ lilypond cds.ly
> > GNU LilyPond 2.18.2
> > Processing `cds.ly'
> > Parsing...
> > cds.ly:1: warning: no \version statement found, please add
> > 
> > \version "2.18.2"
> > 
> > for future compatibility
> > Success: compilation successfully completed
> > steve@office:~/studio/lildat/misty$
> 
> ...to this point, the output is exactly what one would expect
> to see when cds.ly is an empty file.
> 
> Cheers,
> David.

Thanks for your replies. Still couldn't make it happen so I just
plodded on writing the script & it sorted it self out (As at least one
ofyou intimated it might)

Steve

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


Re: Write access to issue tracker

2017-04-21 Thread Phil Holmes
- Original Message - 
From: "Amir Czwink" 

To: 
Sent: Thursday, April 20, 2017 11:14 AM
Subject: Write access to issue tracker



Dear Lilypond-Team,

I wanted to contribute to lilypond and for that matter I wrote an email
to lilypond-devel in order to be registered for the lilypond issue
tracker. I wrote two emails, the first is already 3 weeks ago. Can
someone help please? Am I doing something wrong?

Best regards,

Amir Czwink



I don't see a trace of an email from yourself in -devel, so perhaps it 
didn't get through.


What work on LilyPond do you plan to do?

--
Phil Holmes 



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


Write access to issue tracker

2017-04-21 Thread Amir Czwink
Dear Lilypond-Team,

I wanted to contribute to lilypond and for that matter I wrote an email 
to lilypond-devel in order to be registered for the lilypond issue 
tracker. I wrote two emails, the first is already 3 weeks ago. Can 
someone help please? Am I doing something wrong?

Best regards,

Amir Czwink

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


Re: Header for each page

2017-04-21 Thread Simon Albrecht

Am 21.04.2017 um 15:35 schrieb caag...@gmail.com:
While I agree that keeping lines <80ch is better, that's not always 
possible. 


Indeed it isn’t. One always has to decide about priorities.

Best, Simon

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


Re: vocalName vs. instrumentName

2017-04-21 Thread Kieren MacMillan
Hi Simon,

> In vocal scores there is a convention of displaying the name of a singer upon 
> entry as a markup above the staff, sometimes in a special font (sans serif, 
> narrow). Now, if Instrument_name_engraver actually did such a thing that 
> would be a very good feature, and a sensible use for vocalName.

This is (or at least is intimately related to) a feature I’ve been asking about 
for quite some time: the parameter-controlled printing of instrument or vocal 
names/labels at the beginning of each system or page, especially when dealing 
with partcombine-d staves.

If I understand them correctly, this is a perfect job for a Scheme engraver. 
Now if only I spoke Scheme…

Cheers,
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: Header for each page

2017-04-21 Thread Kieren MacMillan
Hi

> Indeed, but that's not all Johannes asked about.
> 
> On 04/21/17 13:16, Johannes Roeßler wrote:
>> Bt.. On the first page it will appear below(!) title and subtitle - how 
>> do I get it above?

Yes… So the superior choice (IMO) is:

1. modify oddHeaderMarkup and evenHeaderMarkup, to place the instrument name in 
the header (as desired); *and*
2. modify bookTitleMarkup and scoreTitleMarkup, to completely eliminate it from 
those blocks (as desired).

We should, when possible, use the proper elements for their custom-built 
purpose — not overload the wrong one.

Cheers,
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: Header for each page

2017-04-21 Thread caagr98

On 04/21/17 15:25, Simon Albrecht wrote:
Please never use tabs for indenting LilyPond code, always two spaces per 
indentation level (as Frescobaldi automatically does it, and as the 
LilyPond source does).


Sounds like a good idea. I prefer tabs, but I've noticed that doesn't 
work very well when mixing with Scheme code. Also, if it's the 
convention, better do it that way. I'll tell Vim to fix it.


There’s an option to send e-mail to recipient domains like gnu.org as 
plain text. IIUC, that’s all you can do – apart from not having long 
(80+ chars) lines in the code in the first place.


I always do plaintext anyway (I think). Looking at my sent mail, it 
seems the wrapping is only in the editor, anyway. That's dumb. While I 
agree that keeping lines <80ch is better, that's not always possible.


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


Re: vocalName vs. instrumentName

2017-04-21 Thread David Kastrup
Simon Albrecht  writes:

> Am 20.04.2017 um 17:59 schrieb David Kastrup:
>> Simon Albrecht  writes:
>>
>>> Hello everybody,
>>>
>>> I’m wondering: what are the historic and functional differences
>>> between vocalName and instrumentName?
>> vocalName/shortVocalName are fallbacks when neither instrumentName nor
>> shortInstrumentName are set.  That's all seemingly.
>>
>>> Are there any? Does anybody have a clever policy when to use
>>> vocalName? Does anybody use it at all?
>> Looks rather pointless to me, to be honest.
>
> They were announced as a change in v2.2:
>  with the description
> ‘Voice names, for vocal lines, have been added. They are similar to
> instrument names. They can be set by defining |vocalName| and
> |vocNam|.’
> – which doesn’t tell us how they’re _similar_, but different from
> instrument names.
> In vocal scores there is a convention of displaying the name of a
> singer upon entry as a markup above the staff, sometimes in a special
> font (sans serif, narrow). Now, if Instrument_name_engraver actually
> did such a thing that would be a very good feature, and a sensible use
> for vocalName.

As far as I can see, they are completely identical in behavior to
instrumentName.

-- 
David Kastrup

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


Re: Header for each page

2017-04-21 Thread Simon Albrecht

Am 21.04.2017 um 13:39 schrieb caag...@gmail.com:

\fromproperty #'header:arranger
}
}
}
}
}


Please never use tabs for indenting LilyPond code, always two spaces per 
indentation level (as Frescobaldi automatically does it, and as the 
LilyPond source does).



P.S. Anyone have any idea how to paste stuff into Thunderbird without
line wrapping?


There’s an option to send e-mail to recipient domains like gnu.org as 
plain text. IIUC, that’s all you can do – apart from not having long 
(80+ chars) lines in the code in the first place.


Best, Simon

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


Re: vocalName vs. instrumentName

2017-04-21 Thread Simon Albrecht

Am 20.04.2017 um 17:59 schrieb David Kastrup:

Simon Albrecht  writes:


Hello everybody,

I’m wondering: what are the historic and functional differences
between vocalName and instrumentName?

vocalName/shortVocalName are fallbacks when neither instrumentName nor
shortInstrumentName are set.  That's all seemingly.


Are there any? Does anybody have a clever policy when to use
vocalName? Does anybody use it at all?

Looks rather pointless to me, to be honest.


They were announced as a change in v2.2: 
 with the description
‘Voice names, for vocal lines, have been added. They are similar to 
instrument names. They can be set by defining |vocalName| and |vocNam|.’
– which doesn’t tell us how they’re _similar_, but different from 
instrument names.
In vocal scores there is a convention of displaying the name of a singer 
upon entry as a markup above the staff, sometimes in a special font 
(sans serif, narrow). Now, if Instrument_name_engraver actually did such 
a thing that would be a very good feature, and a sensible use for vocalName.


Best, Simon

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


Re: Header for each page

2017-04-21 Thread caagr98


On 04/21/17 13:45, Kieren MacMillan wrote:

Actually, the header is controlled by oddHeaderMarkup and evenHeaderMarkup:


Indeed, but that's not all Johannes asked about.

On 04/21/17 13:16, Johannes Roeßler wrote:

Bt.. On the first page it will appear below(!) title and subtitle - how do 
I get it above?



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


Re: Header for each page

2017-04-21 Thread Gerdau, Michael
> nice to see you too Michael... (its you from the HDE? Right?)

Yes.

> Bt.. On the first page it will appear below(!) title and subtitle - how do
> I get it above?

Kieran and caagr98 already gave valueable hints.

You may also have a look at the Lilypond Snippet Repository and there especially
at
http://lsr.di.unimi.it/LSR/Item?id=368
(or search the LSR for "title page" and similar phrases)

Last not least OpenLilylib has extensive coverage on this and other topics (but
argueably involves a learning curve).
Have a look at https://github.com/openlilylib and http://www.openlilylib.org

HTH,
Michael
--
Michael Gerdau   email: m...@qata.de
GPG-keys available on request or at public keyserver

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


Re: Hairpin endings

2017-04-21 Thread David Nalesnik
Hi,

On Fri, Apr 21, 2017 at 1:07 AM,   wrote:
> Am 2017-04-21 07:41, schrieb Nathan Ho:
>>
>> On 2017-04-20 20:42, Andrew Bernard wrote:
>>>
>>> I posted a while ago with a query about hairpins, to which no
>>> response.
>>>
>>> Would there be any way to have hairpins that don't start, or end in
>>> the other direction, with the lines converging to the same point? I
>>> have need from time to time of hairpins where the end points are still
>>> separated, rather than coming to a termination together. Sure this can
>>> be done with a whiteout box, but that is always fiddly and the
>>> position tends to move when the score is repaginated etc etc. In the
>>> same way as the 'height' property allows you to specify the separation
>>> at the open end, it would be useful to have some property for this
>>> sort of thing at the pointy end. Yes, definitely not Common Era
>>> engraving practice, but this keeps coming up in the New Complexity
>>> scores I work with.

Besides Nathan's code below, you might be able to use the
"Ferneyhough" hairpins.

Can you provide an usage example of these partial hairpins?  How would
they behave over line breaks?

>>
>> hi andrew,
>>
>> check it out:
>>
>> #(define ((open-hairpin left-open right-open) grob)
>>(let* ((stencil (ly:hairpin::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)))
>>  (ly:stencil-translate
>>(grob-interpret-markup grob
>>  (markup
>>(#:path 0.1
>>  (list (list 'moveto 0 (* height (- 0.5 (* 0.5 left-open
>>(list 'lineto width (* height (- 0.5 (* 0.5
>> right-open
>>(list 'moveto 0 (* height (+ 0.5 (* 0.5 left-open
>>(list 'lineto width (* height (+ 0.5 (* 0.5
>> right-open
>>(cons 0 (interval-start Y-ext)
>>
>> {
>>   c'1\> c'1 c'1\!
>>   \once \override Hairpin.stencil = #(open-hairpin 1.0 0.5)
>>   c'1\> c'1 c'1\!
>>   \once \override Hairpin.stencil = #(open-hairpin 0.5 0.0)
>>   c'1\> c'1 c'1\!
>> }
>>
>> respects height, but not thickness. anyone know how to convert a
>> thickness value into staff spaces?
>
>
> If I'm not mistaken this actually is a missing piece of information in
> LilyPond.
> The thickness is interpreted as relative to the staffline thickness, and
> there's no general property for it.
> It should be possible to use something like (untested)
>
> (hairpin-thickness (* (ly:staff-symbol-line-thickness grob)
> (ly:grob-property grob 'thickness)))
>
> in the let-block and use hairpin-thickness in the markup generation.
>

Yes, this would work

Instead of using a markup, why not use ly:line-interface::line
(available from 2.19.27)? This gets thickness from the grob--and any
other line attributes you want, so you can create dashed hairpins,
whatever.  There's no need adjust thickness in this case.

HTH,
David

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


Re: Header for each page

2017-04-21 Thread Kieren MacMillan
Hi all,

> The layout of the header is controlled by the `bookTitleMarkup` paper variable

Actually, the header is controlled by oddHeaderMarkup and evenHeaderMarkup:

\version "2.19.59"

\paper {
  oddHeaderMarkup = "odd page"
  evenHeaderMarkup = "even page"
}

{ \repeat unfold 3 { c'1 \pageBreak } }

No need to overload the bookTitleMarkup.

Hope this helps!
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: Header for each page

2017-04-21 Thread caagr98
The layout of the header is controlled by the `bookTitleMarkup` paper
variable (it's defined in titling-init.ly, which is included from paper-
defaults-init.ly). If you copy and change that a little, you can get it
to look pretty good (with the instrument name in the top left corner,
where it should be):

\paper {
bookTitleMarkup = \markup {
\override #'(baseline-skip . 3.5)
\column {
\fill-line { \fromproperty #'header:dedication }
\override #'(baseline-skip . 3.5)
\column {
\fill-line {
\raise #1 \fromproperty 
#'header:instrument
\huge \larger \larger \bold 
\fromproperty #'header:title
""
}
\fill-line {
\large \bold \fromproperty 
#'header:subtitle
}
\fill-line {
\smaller \bold \fromproperty 
#'header:subsubtitle
}
\fill-line {
\fromproperty #'header:poet
\fromproperty #'header:composer
}
\fill-line {
\fromproperty #'header:meter
\fromproperty #'header:arranger
}
}
}
}
}


P.S. Anyone have any idea how to paste stuff into Thunderbird without
line wrapping?

On 04/21/17 13:16, Johannes Roeßler wrote:
> Hi Michael, Hi caagr98
> 
> nice to see you too Michael... (its you from the HDE? Right?)
> 
> I wasn't aware that the "instrument" from the header shows up on every page - 
> shame on me :(
> Bt.. On the first page it will appear below(!) title and subtitle - how 
> do I get it above?
> 
> I minimized Michaels example...
> 
> 8<-
> 
> \version "2.19.58"
> 
> 
> \header {
>title = "My perfect piece"
>subtitle = "This is above the instrument"
>composer = "Music: by me"
>poet = "Words: by my wife ;-)"
>instrument = "My wonderful Voice"
> }
> 
>   \repeat unfold 160 { c'4 c' c' c' }
> 
> ->8
> 
> cheers, Joei
>> Hallo Johannes,
>>
>> nice to see you here!
>>
>>> for printing parts I'd like to place the instruments name on the very top of
>>> each(!) page - I have no idea how this can be done.
>> As already answered normally the instrument is repeated on every page anyway.
>>
>> However you write about parts and without a minimal working example I can 
>> only
>> guess as to what you do.
>>
>> Assuming you do it "like it is supposed to be done" you'll likely use 
>> something
>> like the attached small example:
>>
>> %%% snip %%%
>> \version "2.18.2"
>>
>> \header {
>>title = "My perfect piece"
>>composer = "Music: by me"
>>poet = "Words: by my wife ;-)"
>> }
>>
>> musicc = \repeat unfold 120 { c'4 c' c' c' }
>> musicd = \repeat unfold 120 { d'4 d' d' d' }
>>
>> \book {
>>\bookOutputSuffix "Full"
>>\header {
>>  instrument = "Full Score"
>>}
>>\score {
>>  <<
>>  \musicc
>>  \musicd
>>  >>
>>}
>> }
>>
>> \book {
>>\bookOutputSuffix "music-c"
>>\header {
>>  instrument = "music c"
>>}
>>\score {
>>  \musicc
>>}
>> }
>>
>> \book {
>>\bookOutputSuffix "music-d"
>>\header {
>>  instrument = "music d"
>>}
>>\score {
>>  \musicd
>>}
>> }
>> %%% snip %%%
>>
>>
>> HTH,
>> Michael
>> --
>> Michael Gerdau   email: m...@qata.de
>> GPG-keys available on request or at public keyserver
> 
> 
> 
> 
> ___
> 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: Header for each page

2017-04-21 Thread Johannes Roeßler
Hi Michael, Hi caagr98

nice to see you too Michael... (its you from the HDE? Right?)

I wasn't aware that the "instrument" from the header shows up on every page - 
shame on me :(
Bt.. On the first page it will appear below(!) title and subtitle - how do 
I get it above?

I minimized Michaels example...

8<-

\version "2.19.58"


\header {
  title = "My perfect piece"
  subtitle = "This is above the instrument"
  composer = "Music: by me"
  poet = "Words: by my wife ;-)"
  instrument = "My wonderful Voice"
}

 \repeat unfold 160 { c'4 c' c' c' }

->8

cheers, Joei
> Hallo Johannes,
>
> nice to see you here!
>
>> for printing parts I'd like to place the instruments name on the very top of
>> each(!) page - I have no idea how this can be done.
> As already answered normally the instrument is repeated on every page anyway.
>
> However you write about parts and without a minimal working example I can only
> guess as to what you do.
>
> Assuming you do it "like it is supposed to be done" you'll likely use 
> something
> like the attached small example:
>
> %%% snip %%%
> \version "2.18.2"
>
> \header {
>   title = "My perfect piece"
>   composer = "Music: by me"
>   poet = "Words: by my wife ;-)"
> }
>
> musicc = \repeat unfold 120 { c'4 c' c' c' }
> musicd = \repeat unfold 120 { d'4 d' d' d' }
>
> \book {
>   \bookOutputSuffix "Full"
>   \header {
> instrument = "Full Score"
>   }
>   \score {
> <<
> \musicc
> \musicd
> >>
>   }
> }
>
> \book {
>   \bookOutputSuffix "music-c"
>   \header {
> instrument = "music c"
>   }
>   \score {
> \musicc
>   }
> }
>
> \book {
>   \bookOutputSuffix "music-d"
>   \header {
> instrument = "music d"
>   }
>   \score {
> \musicd
>   }
> }
> %%% snip %%%
>
>
> HTH,
> Michael
> --
> Michael Gerdau   email: m...@qata.de
> GPG-keys available on request or at public keyserver




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


Center Systems

2017-04-21 Thread Johannes Roeßler
Hi again,

I'd like to centre my systems vertically. Up to now the only options to 
manipulate the vertical features I use/know are
ragged-bottom = ##f or ##t in the \paper-Env or explicit 
system-system-spacings. But is there an option to keep the auto-distance that 
is used for ragged-bottom = ##t but all systems not top-aligned but 
centre-aligned?


\version "2.19.58"

\header { tagline = ##f }
\paper {
  ragged-bottom = ##f
  ragged-last-bottom = ##f
}

\score {
  <<
\new Staff <<
  \repeat unfold 15 { c'4 c' c' c' }
>>
\new Staff {
  \repeat unfold 15 { d'4 d' d' d' }
}
  >>
}

cheers Joei



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


Re: Header for each page

2017-04-21 Thread Gerdau, Michael
Hallo Johannes,

nice to see you here!

> for printing parts I'd like to place the instruments name on the very top of
> each(!) page - I have no idea how this can be done.

As already answered normally the instrument is repeated on every page anyway.

However you write about parts and without a minimal working example I can only
guess as to what you do.

Assuming you do it "like it is supposed to be done" you'll likely use something
like the attached small example:

%%% snip %%%
\version "2.18.2"

\header {
  title = "My perfect piece"
  composer = "Music: by me"
  poet = "Words: by my wife ;-)"
}

musicc = \repeat unfold 120 { c'4 c' c' c' }
musicd = \repeat unfold 120 { d'4 d' d' d' }

\book {
  \bookOutputSuffix "Full"
  \header {
instrument = "Full Score"
  }
  \score {
<<
\musicc
\musicd
>>
  }
}

\book {
  \bookOutputSuffix "music-c"
  \header {
instrument = "music c"
  }
  \score {
\musicc
  }
}

\book {
  \bookOutputSuffix "music-d"
  \header {
instrument = "music d"
  }
  \score {
\musicd
  }
}
%%% snip %%%


HTH,
Michael
--
Michael Gerdau   email: m...@qata.de
GPG-keys available on request or at public keyserver

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


Re: Header for each page

2017-04-21 Thread caagr98
I'm pretty sure the `instrument` header is already printed on each page. 
Otherwise, you could try setting `oddHeaderMarkup` and 
`evenHeaderMarkup`, or doing #(define make-header (foo)) inside your \paper.


On 04/21/17 11:42, Johannes Roeßler wrote:

Hi,

for printing parts I'd like to place the instruments name on the very 
top of each(!) page - I have no idea how this can be done.


Any hints?

Cheers, Joei




___
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


Header for each page

2017-04-21 Thread Johannes Roeßler
Hi,

for printing parts I'd like to place the instruments name on the very top of 
each(!) page - I have no idea how this can be done.

Any hints?

Cheers, Joei


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


Re: Page frames/watermarks

2017-04-21 Thread Psalle

On 19/04/17 15:06, David Wright wrote:

On Wed 19 Apr 2017 at 09:29:19 (+0100), Richard Shann wrote:

On Wed, 2017-04-19 at 09:53 +0200, Psalle wrote:

On 18/04/17 20:11, David Wright wrote:

On Tue 18 Apr 2017 at 19:56:08 (+0200), Psalle wrote:

Hello all,

I was wondering how to add a decorative frame to a score within
lilypond, which led me to search too for absolute-positioned images
in the way of a watermark, but found nothing relevant. I'm aware of
\epsfile but in my experience it works inline.

Is there some advanced trickery to achieve this? Thanks in advance
for any pointers.

Thread starting at
http://lists.gnu.org/archive/html/lilypond-user/2017-04/msg00135.html

Thanks! So it seems there's no easy in-lilypond way to do such absolute
positioning of things... I could try the latex route suggested therein.

The conclusion that worked for the OP was to use postscript directly in
the LilyPond file, surrounding the code with gsave ... grestore

I don't know how this relates to latex.

It doesn't. The "LaTeX" solution was part of an alternative method,
one which has different advantages. Which one is more attractive
to _this_ OP depends on whether "within" is a binding condition.


In my case I'm proficient in latex and know almost nothing of low level 
postscript... so that's why I arrived at that conclusion.


Thanks for the clarifications.



LaTeX was a non-essential part of the method anyway, but might have
stuck in the mind of this OP because of the previous OP writing
http://lists.gnu.org/archive/html/lilypond-user/2017-04/msg00148.html
The method was really about tools such as pdfjam and pdftk. And the
thrust of my contributions was to (1) dissuade the OP from doing the
task interactively and (2) encourage the OP to question their
colleague about why they were "needing" lines/boxes/frames at all.

Cheers,
David.



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


Re:

2017-04-21 Thread David Kastrup
Andrew Bromage  writes:

> G'day.
>
> On 21/4/17 12:16 pm, Andrew Bernard wrote:
>> The other way to discourage the offending behaviour is simply to
>> laugh at him. There is no more powerful thing than Satire! :-)
> We could always keep it on topic and turn the discussion to notating
> church music...

"Ein Kinderlied, zu singen wider die zween Ertzfeinde Christi und
seiner heiligen Kirchen, den Bapst und Türcken"

("a child hymn, to sing against those two arch enemies of Christ and his
holy Church, the Pope and the Turks")

The Prætorius 4-choir version is nice.

In other words: church music is contextualized, and the context is
outside of the scope of LilyPond as a music typesetting program and
outside of the scope of this mailing list.  You are proposing that we
let Mirosław Doroszewski's diatribes determine the starting points of
discussion about music typesetting here.

His message of intolerance against other people's choices of topics,
places and propriety is not a useful conversation starter.  We could
equally well let our discussion depend on current football score
results.  There is no shortage of football scores to be had but shaping
our discussion around them seems like a distraction.

-- 
David Kastrup

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


Re: Page frames/watermarks

2017-04-21 Thread Johan Vromans
On Wed, 19 Apr 2017 09:53:39 +0200, Psalle  wrote:

> >> I was wondering how to add a decorative frame to a score within
> >> lilypond, 
> > Thread starting at
> > http://lists.gnu.org/archive/html/lilypond-user/2017-04/msg00135.html  
> Thanks! So it seems there's no easy in-lilypond way to do such absolute 
> positioning of things... I could try the latex route suggested therein.

I find it often much easier to just produce a PDF and use some PDF tools to
add watermarks/decorations.

-- Johan

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