Re: Moving just text, leaving articulations in place?

2018-04-18 Thread Mark Knoop
At 17:38 on 18 Apr 2018, Robert Hickman wrote:
>Tried using "\override TextScript.staff-padding" to move the text
>annotations in the attached image up but it also moves the Larson
>articulation symbols up as well. I want these to stay in the same
>place and the text to move up a bit away from them. Is lilypond
>treating the articulation symbols as text?
>
>\header {tagline = ""}
>
>{
>\override TextScript.staff-padding = #5
>\numericTimeSignature
>\time 3/8
>
>g'4.\cut^\markup {\tiny Cut } |  g'4.\strike^\markup {\tiny
> Strike } |
>}

Use \tweak instead of \override, viz:

{
\numericTimeSignature
\time 3/8

g'4.\cut -\tweak staff-padding #5 ^\markup {\tiny Cut } |  
g'4.\strike -\tweak staff-padding #5 ^\markup {\tiny Strike } |
}

-- 
Mark Knoop

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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Jacques Menu Muzhic
Ooops, that was in Oslo, Norway, not Sweden...

> Le 18 avr. 2018 à 21:47, Jacques Menu Muzhic  a écrit :
> 
> In compiler technology, ‘object code’ refers to the code generated by a 
> compiler, containing the same semantical information as the ’source code’ 
> that has been compiled, but in a form better suited for the task at hand. 
> Quite often, the goal is execution by a physical or virtual processor.
> 
> This term was coined decades back, long long before the object orientation 
> was invented in Sweden by the Simula-67 team (the class concept, grouping 
> data and the operations that work on them), though… Hey, that was 51 years 
> ago!
> 
> From this point of view, the Scheme data structures built by the LilyPond 
> compiler are a form of object code: the semantical contents is the same 
> hopefully as that of the LilyPond code, and it’s better suited to the 
> production of nice scores.
> 
> JM
> 
>> Le 18 avr. 2018 à 17:22, Carl Sorensen  a écrit :
>> 
>> 
>> 
>> On 4/18/18, 6:51 AM, "Robert Hickman"  wrote:
>> 
>>   If lilypond is based on a functional interface, the documentation
>>   making extensive use of the terms 'object' and 'interface' is
>>   confusing.
>> 
>> Patches to documentation will be reviewed.  
>> http://lilypond.org/doc/v2.19/Documentation/contributor/documentation-work
>> 
>> Carl
>> 
>> ___
>> 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: How change a dot in TabStaff

2018-04-18 Thread Carl Sorensen


On 4/18/18, 5:51 PM, "Carl Sorensen"  wrote:



From: Darío 
 Hello! I am writing a scale, and I need the tablature and the Fret 
diagram, there aren't problem, but in the tablature, the tonic note not 
appear where I want.
Since you are using a fret-diagram markup, there is no connection 
between the fret diagram and the notes on the TabStaff.

I need that it is in the eighth fret, not in the first fret of the 
second rope. 

Then you must set the string number on note, not just in the markup.

Also, you need to get the notes to be the sounding pitch, which means you 
need to move down an octave.  To have the staff look right, you should change 
from the treble clef to the “treble_8” clef, as discussed in Section 2.4.1 of 
the Notation Reference.

I think I misunderstood your request.  I've now got better code.

Two things that needed to be changed.

1) As I said before, get the notes in sounding pitch.
2) Set TabStaff.restrainOpenStrings to true


\version "2.18.2"

%Do mayor
\header {
  title = "Escalas"
}

jonicaCM =   \relative c{
c d e^\markup {\fret-diagram #"6-8;6-10;6-12;5-8;"} f
g a b^\markup {\fret-diagram #"5-10;5-12;4-9;4-10;"} c
d e f^\markup {\fret-diagram #"4-12;3-9;3-10;3-12;"} g
a b c^\markup {\fret-diagram #"2-10;2-12;2-13;1-10;"} d
e^\markup {\fret-diagram #"1-12;1-13;"} f
}
\score{
\header {
piece = "Jónica Do Mayor"
  }
<<  
  \new Staff{
\clef "treble_8"
\time 4/4
\jonicaCM
}
\new TabStaff {
 \set TabStaff.restrainOpenStrings=##t
 \set TabStaff.minimumFret = #7 %in theory I understand that this line 
indicates the minimum fret
  \jonicaCM}
>>
}

HTH,

Carl


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


Square bracket version of \left-brace markup

2018-04-18 Thread Aaron Hill
I am currently using \left-brace as a means for grouping multiple lyric 
lines:



\version "2.19.80"

lyricBracket = \markup {
  \hspace #1 \translate #'(0 . 0.75) \left-brace #40
}

\relative c' { c4 d e2 | g8 f e4 c2 }
\addlyrics {
  \repeat unfold 3 \skip 1
  Mul -- ti -- ple lines
}
\addlyrics {
  Sin -- gle line
  \set stanza = \lyricBracket
  Mul -- ti -- ple lines
}
\addlyrics {
  \repeat unfold 3 \skip 1
  Mul -- ti -- ple lines
}


This works fine, with a little manual adjustment of the brace size and 
spacing.  However, I would prefer to use a square bracket instead of the 
curly brace.  It seems like I will have to manually "draw" the bracket 
using markup functions and/or custom PostScript.


Has anyone here attempted something like this and can offer advice?

-- Aaron Hill

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


Re: temporarily disable Dot_column_engraver?

2018-04-18 Thread Thomas Morley
2018-04-18 13:22 GMT+02:00 foxfanfare :
> This post is old, but I can't find the solution for this specific problem.
> In a general way, I wonder how it is possible to remove an engraver
> temporarily?
>
> For this dot_column case, here's the exemple wrote in Elaine Gould's book:
>
> \version "2.19.80"
>
> \score {
>   \relative c' {
> \cadenzaOn
> \omit Staff.TimeSignature
><< { c'2.^"OK" b \bar "|" b4. a } \\
>{ b2. a c4. b } >> \bar "|"
> << { c2. \bar "|" b } \\
>{ b2 a4 a2 g4 } >> \bar "|"
>
> << { *2.^"Not OK" 1. } \\
>{ 2. 4. r 2. } >> \bar "|"
>   }
> }
>
> \score {
>   \relative c' {
> \cadenzaOn
> \omit Staff.TimeSignature
><< { c'2. b^"Not OK" \bar "|" b4. a } \\
>{ b2. a c4. b } >> \bar "|"
> << { c2. \bar "|" b } \\
>{ b2 a4 a2 g4 } >> \bar "|"
>
> << { *2.^"OK" 1. } \\
>{ 2. 4. r 2. } >> \bar "|"
>   }
>   \layout {
> \context {
>   \Staff
>   \remove Dot_column_engraver
> }
> \context {
>   \Voice
>   \consists Dot_column_engraver
> }
>   }
> }
>
> How is it possible to combine those two solutions in a same staff?
> Dot_column.PNG
> 



It's not possible to consist/remove engraver temporarily, but you can
have several named Voices (keep them alive) with and without the
engraver:


\score {
\new Staff \with { \omit TimeSignature }
<<
  \new Voice = "x" \with { \consists Dot_column_engraver } s4*24
  \new Voice = "y" \with { \consists Dot_column_engraver } s4*24
  \new Voice ="z"
\relative c' {
\cadenzaOn
\voiceOne
c'2. b
\bar "|"
b4. a c2.
\bar "|"
b
\bar "|"
\context Voice = "x" {
  \voiceOne
  < b c d >2. 1.
}
c2. b
\bar "|."
}
  \new Voice = "xy"
\relative c' {
\voiceTwo
b'2. a
c4. b b2
\context Voice = "y" {
  \voiceTwo
  a4 a2 g4 < c, d f >2. 4. r 2.
}
b'2. a
}
>>
}


Cheers,
  Harm

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


Re: Dotted notes

2018-04-18 Thread Thomas Morley
2018-04-19 1:56 GMT+02:00 Thomas Morley :

> obviously the flags from the beethoven-font have less y-extent.
> Sometimes too less, so DotColumn doesn't notice there's flag which
> should be avoided.
> (I've cc-ed the original author of the font. Maybe he joins the discussion.)

Actually I forgot to cc :(

Instead of resending the whole mail, a link to  the archives:
https://lists.gnu.org/archive/html/lilypond-user/2018-04/msg00580.html

Cheers,
  Harm

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


Re: Dotted notes

2018-04-18 Thread Thomas Morley
2018-04-17 23:34 GMT+02:00 foxfanfare :
> I struggle on this:
>
> \version "2.19.80"
>
> \paper {
>   #(set-paper-size "a7")
> }
> \bookpart {
>
>   \score {
> \relative c' {
>   \cadenzaOn
>   \omit Staff.TimeSignature
>   c1.^"Default" d4.. e8... f16
> }
>   }
> }
>
> \bookpart {
>
>   \paper {
> #(define fonts
> (set-global-fonts
>   #:music "beethoven"
>   #:brace "beethoven"
>   #:factor (/ staff-height pt 20)
>   ))
>   }
>   \score {
>
>\relative c' {
>  \cadenzaOn
>  \omit Staff.TimeSignature
>
>  c1.^"New Font" d4.. e8... f16 \bar "" \break
>
>  \override Staff.Dots.font-size = #-1.5
>  %closer to note head:
>  \override Staff.Dots.extra-offset = #'(-0.1 . 0)
>
>  c1.^"Some Changes ?" d4.. e8... f16
>
>}
>   }
> }
>
> \layout {
>   ragged-right = ##t
> }
>
> When the font is changed, the dotted notes doesn't avoid the flags as it did
> with default emmentaler!
> I think it could be solved by settting some "padding" for the flags, but I
> wasn't able to find this command! (?)
>
> Also, when playing with their options, I was able to find a way to make them
> smaller and closer to the notehead (extra-offset) but I am unable to find
> the solution get the following dots closer to each other!
>
> Any suggestions?



Hi,

obviously the flags from the beethoven-font have less y-extent.
Sometimes too less, so DotColumn doesn't notice there's flag which
should be avoided.
(I've cc-ed the original author of the font. Maybe he joins the discussion.)

To watch the values uncomment
\printFontFlagYExtent
in the test-code below.

Additionally I wrote some procedures to deal with this problem as well
as to get access and manipulate the dots of a DotColumn.
Per default most work is done in C++ and locked from the user, though
with a little trickery there's a way.

(1) The too short flags form beethoven-font may be corrected with
\tallerBeethovenFlags
(2) Alternatively you can move the DotColumn with \moveBeethovenDotColumn

Both functions are limited to beethoven-font, they will have no impact
on other fonts

(3) \dotsAndDotColumnPadding is the most generic one.
Put it in layout and add
\override Staff.DotColumn.padding = 
and/or
\override Staff.DotColumn.details.dots-padding-factor = 
where you want.
Both properties will influence each other.

Be aware, although it's the most generic one, it is also the most fragile one:
Because Dots in DotColumn are processed in C++ and only very few
grob-properties are accessible we have little chance to customize it,
apart from post-processing the ready stencil. A tedious and involved
work. This also means: if LilyPond internals change,
\dotsAndDotColumnPadding may break.

But here the code.

\version "2.19.81"

printFontFlagYExtent =
  \override Flag.after-line-breaking =
#(lambda (grob)
   (let* ((stil (ly:flag::print grob))
  (stil-y-ext (ly:stencil-extent stil Y))
  (grob-default-font (ly:grob-default-font grob))
  (font (ly:font-name grob-default-font))
  (font-name (car (string-split font #\-
 (newline)
 (format #t "\nfont: ~a" font-name)
 (format #t "\nstil-y-ext:~a" stil-y-ext)))

tallerBeethovenFlags =
  \override Flag.before-line-breaking =
#(lambda (grob)
   (let* ((stil (ly:flag::print grob))
  (stil-y-ext (ly:stencil-extent stil Y))
  (grob-default-font (ly:grob-default-font grob))
  (font (ly:font-name grob-default-font))
  (font-name (car (string-split font #\-
 (if (string=? font-name "beethoven")
 (ly:grob-set-property! grob 'stencil
   (ly:make-stencil
 (ly:stencil-expr stil)
 (ly:stencil-extent stil X)
 (coord-translate
   stil-y-ext
   '(-0.054 . 0)))

moveBeethovenDotColumn =
\override Staff.DotColumn.before-line-breaking =
  #(lambda (grob)
(let* ((grob-default-font (ly:grob-default-font grob))
   (font (ly:font-name grob-default-font))
   (font-name (car (string-split font #\-
  (if (string=? font-name "beethoven")
  (ly:grob-set-property! grob 'positioning-done
(lambda (grob)
  (ly:dot-column::calc-positioning-done grob)
  (ly:grob-translate-axis! grob 1 X)
  #t)

#(define (lists-map function ls)
   "Apply @var{function} to @var{ls} and all of it sublists.
First it recurses over the children, then the function is applied to
@var{ls}."
   (if (list? ls)
   (set! ls (map (lambda (y) (lists-map function y)) ls))
   ls)
   (function ls))

#(define (delete-adjacent-duplicates lst)
  (if (pair? lst)
  (fold-right
(lambda (elem ret)
  (if (equal? elem (first ret))
  ret
  (cons elem ret)))
(list (last lst))
lst)
  lst))

#(define (get-next-to-sym ls symbol proc)

Re: How change a dot in TabStaff

2018-04-18 Thread Carl Sorensen


From: Darío 
 Hello! I am writing a scale, and I need the tablature and the Fret 
diagram, there aren't problem, but in the tablature, the tonic note not 
appear where I want.
Since you are using a fret-diagram markup, there is no connection between 
the fret diagram and the notes on the TabStaff.

I need that it is in the eighth fret, not in the first fret of the second 
rope. 

Then you must set the string number on note, not just in the markup.

Also, you need to get the notes to be the sounding pitch, which means you need 
to move down an octave.  To have the staff look right, you should change from 
the treble clef to the “treble_8” clef, as discussed in Section 2.4.1 of the 
Notation Reference.

Here’s code that does what I think you want:

\version "2.18.2"

%Do mayor
\header {
  title = "Escalas"
}

jonicaCM =   \relative c{
  c\6 d\6 e\6^\markup {\fret-diagram #"6-8;6-10;6-12;5-8;"} f\5
  g\5 a\5 b\4^\markup {\fret-diagram #"5-10;5-12;4-9;4-10;"} c\4
  d\4 e\3 f\3^\markup {\fret-diagram #"4-12;3-9;3-10;3-12;"} g\3
  a\2 b\2 c\2^\markup {\fret-diagram #"2-10;2-12;2-13;1-10;"} d\1
  e\1^\markup {\fret-diagram #"1-12;1-13;"} f\1
}

\score{
  \header {
piece = "Jónica Do Mayor"
  }
   <<   
  \new Staff{
 \clef "treble_8"
 \time 4/4
 \jonicaCM
  }
 \new TabStaff {
 \jonicaCM
 }
  >>
}



HTH,

Carl


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


Re: Moving just text, leaving articulations in place?

2018-04-18 Thread Andrew Bernard
Hi Robert and Simon,

I posted a code example here of how to recast the Larsen library as
articulations, not markup. You can take it from there and convert the whole
lot the same way.

Andrew


On 19 April 2018 at 08:25, Simon Albrecht  wrote:

> On 18.04.2018 18:38, Robert Hickman wrote:
>
>> Tried using "\override TextScript.staff-padding" to move the text
>> annotations in the attached image up but it also moves the Larson
>> articulation symbols up as well. I want these to stay in the same
>> place and the text to move up a bit away from them. Is lilypond
>> treating the articulation symbols as text?
>>
>
> Yes, it does, because that’s how they are implemented. ^\markup ""
> generates a TextScript grob.
> Sorry I can’t help with how to generate proper custom articulations (that
> generate Script grobs) right now – surely somebody else will be able to
> chime in.
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Moving just text, leaving articulations in place?

2018-04-18 Thread Robert Hickman
Is it possible to create a local context around just the text to move
them up individually and 'fake it'? I only need these secondary
annotations in this example so it woulden't be a problem overall.

I don't want to resort to hand editing the image if I can at all avoid
it. For instance if screen DPI increases and I need to re render the
images. They are automatically converted by my CMS, so I'd only need
to change the dpi and purge the cache. Anything changed manually would
need to be re done manually and would probably be forgotten about. I
am not using SVG due to a font sizing inconsistency I've noted before
and can't be bothered to look into.

On 18 April 2018 at 23:25, Simon Albrecht  wrote:
> On 18.04.2018 18:38, Robert Hickman wrote:
>>
>> Tried using "\override TextScript.staff-padding" to move the text
>> annotations in the attached image up but it also moves the Larson
>> articulation symbols up as well. I want these to stay in the same
>> place and the text to move up a bit away from them. Is lilypond
>> treating the articulation symbols as text?
>
>
> Yes, it does, because that’s how they are implemented. ^\markup "" generates
> a TextScript grob.
> Sorry I can’t help with how to generate proper custom articulations (that
> generate Script grobs) right now – surely somebody else will be able to
> chime in.
>
> Best, Simon

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


Re: Stanzas over staves

2018-04-18 Thread Simon Albrecht

On 18.04.2018 23:20, Partitura Organum wrote:
My scheme knowledge is very very limited. I just found out one can 
construct a pair in a scheme function like this:


   #(cons a b)

where a and b are the values. So for your function "narrator", this 
would become:


   \with-dimensions #(cons 0 dim)  #'(0 . 0)


Good call, that’s another way to do it.

I am however lost how to make "\override #'(line-width . dim)" work 
inside this scheme-function. 


You have to quote line-width because it’s a symbol, not a variable. That 
can also be done in a verbose or in a practical way:

\override #(cons 'line-width dim)
or
\override #(cons (quote line-width) dim).
The two are exactly equivalent.

Best, Simon

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


Re: Moving just text, leaving articulations in place?

2018-04-18 Thread Simon Albrecht

On 18.04.2018 18:38, Robert Hickman wrote:

Tried using "\override TextScript.staff-padding" to move the text
annotations in the attached image up but it also moves the Larson
articulation symbols up as well. I want these to stay in the same
place and the text to move up a bit away from them. Is lilypond
treating the articulation symbols as text?


Yes, it does, because that’s how they are implemented. ^\markup "" 
generates a TextScript grob.
Sorry I can’t help with how to generate proper custom articulations 
(that generate Script grobs) right now – surely somebody else will be 
able to chime in.


Best, Simon

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


Re: Stanzas over staves

2018-04-18 Thread Partitura Organum



On 18-4-2018 20:26, Helge Kruse wrote:

Am 18.04.2018 um 12:39 schrieb Engraver:

I use "with-dimensions" if I want to place some text over staves. And
"\whiteout" can be used to blot out the staff-lines. See attached.
It's rather hackish, so I hope the more knowledgeable members of the
list have a more elegant solution for you.

This is one approach I would follow.
Since this repeats I would like to put this to a scheme construct. But I
don't have sufficient knowledge. Here is my (failed) try:

%%START
\version "2.19.65"

narrator =
#(define-music-function (dim text) (integer? string?)
#{
  s1^\markup
   \with-dimensions #'(0 . dim) #'(0 . 0)
   \override #'(line-width . dim)
   \translate #'(0 . -1.5)
   \wordwrap {  text }
#})


\score {
   \narrator #1  "The message"
}
%%END

It looks like the parameter 'dim' can't be used in this way to build a
valid parameter to with-dimension. Is this true? How to do it correctly?

How could I pass 'dim+2' to the override of line-width?

Regards,
Helge

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


My scheme knowledge is very very limited. I just found out one can 
construct a pair in a scheme function like this:


   #(cons a b)

where a and b are the values. So for your function "narrator", this 
would become:


   \with-dimensions #(cons 0 dim)  #'(0 . 0)

I am however lost how to make "\override #'(line-width . dim)" work 
inside this scheme-function.


Regards,
Auke




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


Re: Stanzas over staves

2018-04-18 Thread Simon Albrecht

On 18.04.2018 20:26, Helge Kruse wrote:

It looks like the parameter 'dim' can't be used in this way to build a
valid parameter to with-dimension. Is this true? How to do it correctly?


You need quasi-quotation:
\with-dimensions #`(0 . ,dim) #'(0 . 0)
For more on this, consult the Extending Guide to LilyPond, the Guile 1.8 
reference manual or any other Scheme resource of your liking.


Best, Simon

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


Re: Key signatures in modes other than Ionian & Aeolian

2018-04-18 Thread Peter Crighton
2018-04-17 7:47 GMT+02:00 Lukas-Fabian Moser :

> Am 17.04.2018 um 01:24 schrieb Torsten Hämmerle:
>
> Even if my opinion may differ from the general opinion here, I think that
>> in
>> popular music, one would use standard D major key signature.
>> Reason: Two sharps clearly show D major tonic and the characteristic mixo
>> tone C (flat seventh) stands out in the sheet music by the accidental
>> used.
>>
> I very much agree. In my impression, nowadays most musicians (save
> medieval or Renaissance music specialists and maybe Jazz musicians) tend to
> only differentiate between "major-like" and "minor-like" scales/keys, which
> means that every modal scale is measured against the one of the two
> "standard" scales/keys more similar to what is at hand. So, having two
> sharps in the key signature will most probably be read as "major-like tune
> with tonic D", which is exactly what should come across, even in the music
> leans more toward, e.g., mixolydian mode. (In fact, more ofthen than not
> there are elements characteristic of more standard major/minor tonality in
> such a tune, for instance think of the e-Dorian mittle eight in "Norwegian
> Wood" which concludes with a regular cadenza in E major.)
>
> If you write your D-mixolydian tune with just one sharp, I see two equally
> unfortunate possibilites: Either musicians will correctly recognize D as
> the tonic and play C sharp all the time (since this is what they're used to
> in a major-like tune with tonic D), or they look at the key signature,
> think "G major" and try to relate everything in the tune to some elusive
> "tonic" G.
>
> Nowadays, I think the key signatures are read not as combinations of
> alterations but of fixed code sets designating one of the standard keys,
> expressed as a combination of tonic plus "major/minor". So, go for D major
> key signature.
>

I agree with you, at least for now I will go with this in my project … I
think it makes the most sense in this kind of music. It is an album of 12
songs, so I might change my mind again when I have listened to and
transcribed all the songs. I’ll go with whatever makes most sense
consistently throughout the album.

But thanks everybody for your input, it has been quite helpful and
interesting!

--
Peter Crighton | Musician & Music Engraver based in Mainz, Germany
http://www.petercrighton.de
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


How change a dot in TabStaff

2018-04-18 Thread Darío
Hello! I am writing a scale, and I need the tablature and the Fret diagram, 
there aren't problem, but in the tablature, the tonic note not appear where I 
want.
I need that it is in the eighth fret, not in the first fret of the second rope. 
The code is:
\version "2.18.2"

%Do mayor
\header {
  title = "Escalas"
}

jonicaCM =   \relative c'{
c d e^\markup {\fret-diagram #"6-8;6-10;6-12;5-8;"} f
g a b^\markup {\fret-diagram #"5-10;5-12;4-9;4-10;"} c
d e f^\markup {\fret-diagram #"4-12;3-9;3-10;3-12;"} g
a b c^\markup {\fret-diagram #"2-10;2-12;2-13;1-10;"} d
e^\markup {\fret-diagram #"1-12;1-13;"} f
}
\score{
\header {
piece = "Jónica Do Mayor"
  }
<< \new Staff{\clef treble
\time 4/4
\jonicaCM
}
\new TabStaff {\relative c' {
 \set TabStaff.minimumFret = #7 %in theory I understand that this line 
indicates the minimum fret
\jonicaCM}
}
>>
}

I wrote as well because is a particular paper for study simply, and because is 
more simple.

Thanks a lot!
-

Sent with [ProtonMail](https://protonmail.com) Secure Email.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Jacques Menu Muzhic
In compiler technology, ‘object code’ refers to the code generated by a 
compiler, containing the same semantical information as the ’source code’ that 
has been compiled, but in a form better suited for the task at hand. Quite 
often, the goal is execution by a physical or virtual processor.

This term was coined decades back, long long before the object orientation was 
invented in Sweden by the Simula-67 team (the class concept, grouping data and 
the operations that work on them), though… Hey, that was 51 years ago!

From this point of view, the Scheme data structures built by the LilyPond 
compiler are a form of object code: the semantical contents is the same 
hopefully as that of the LilyPond code, and it’s better suited to the 
production of nice scores.

JM

> Le 18 avr. 2018 à 17:22, Carl Sorensen  a écrit :
> 
> 
> 
> On 4/18/18, 6:51 AM, "Robert Hickman"  wrote:
> 
>If lilypond is based on a functional interface, the documentation
>making extensive use of the terms 'object' and 'interface' is
>confusing.
> 
> Patches to documentation will be reviewed.  
> http://lilypond.org/doc/v2.19/Documentation/contributor/documentation-work
> 
> Carl
> 
> ___
> 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: Stanzas over staves

2018-04-18 Thread Helge Kruse
Am 18.04.2018 um 12:39 schrieb Engraver:
> I use "with-dimensions" if I want to place some text over staves. And
> "\whiteout" can be used to blot out the staff-lines. See attached.
> It's rather hackish, so I hope the more knowledgeable members of the
> list have a more elegant solution for you.

This is one approach I would follow.
Since this repeats I would like to put this to a scheme construct. But I
don't have sufficient knowledge. Here is my (failed) try:

%%START
\version "2.19.65"

narrator =
#(define-music-function (dim text) (integer? string?)
   #{
 s1^\markup
  \with-dimensions #'(0 . dim) #'(0 . 0)
  \override #'(line-width . dim)
  \translate #'(0 . -1.5)
  \wordwrap {  text }
   #})


\score {
  \narrator #1  "The message"
}
%%END

It looks like the parameter 'dim' can't be used in this way to build a
valid parameter to with-dimension. Is this true? How to do it correctly?

How could I pass 'dim+2' to the override of line-width?

Regards,
Helge

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


Re: Changing spacing between notes a lot

2018-04-18 Thread Robert Hickman
ok, I see.

On 18 April 2018 at 17:26, Ben  wrote:
> On 4/18/2018 12:18 PM, Robert Hickman wrote:
>
> How could I do this, but move the whole note instead of just the head?
>
> \tweak Note.X-extent #'(-3 . -1)
>
> Dosn't seem to work.
>
> Also why are two numbers given in the parans if it is only moving the
> X position?
>
> On 17 April 2018 at 19:41, Kieren MacMillan
>  wrote:
>
>
>
> i.e.
>
> \override NoteColumn.X-offset = #5
>
>
> or
>
>
> \tweak NoteColumn.X-extent #'(-14 . 0)
>
>
>
> ...there are many ways to do things but it all would depend on the situation
> and the score.
>
>
>
> ___
> 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


Moving just text, leaving articulations in place?

2018-04-18 Thread Robert Hickman
Tried using "\override TextScript.staff-padding" to move the text
annotations in the attached image up but it also moves the Larson
articulation symbols up as well. I want these to stay in the same
place and the text to move up a bit away from them. Is lilypond
treating the articulation symbols as text?

Complete below, my code is at the bottom:

\version "2.18.2"

% Copyright © 2014, Bret Pimentel. http://bretpimentel.com


% HOW TO USE

  % 1. Put this file in the same folder as the .ly file you are
working on, or, even better, somewhere in your Lilypond include path.
  % 2. Add the following line near the top of your .ly file, under the
"version" line (do not include the percent sign):
  %  \include "larsen-symbols.ily"
  % 3. Add symbols to notes using this syntax (no percent sign):
  %  c\crann
  % The following symbols are available:
  %cut
  %strike
  %slideUp
  %slideDown
  %longRoll
  %shortRoll
  %longDoubleCutRoll
  %shortDoubleCutRoll
  %crann
  %shortCrann
  %trill
  %singleTrill
  %shake
  %breathe
  % ("trill" and "breathe" are already built into Lilypond, but are
listed here because they form part of Mr. Larsen's system of symbols.)
  % For a thorough introduction to Mr. Larsen's excellent
ornamentation system, buy this book (affiliate link):
http://www.amazon.com/gp/product/0786649429/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0786649429&linkCode=as2&tag=bretpimewood-20&linkId=DQYNUO6ZFISH6REA


% OPTIONS -- ADJUST AS DESIRED

  larsenSymbolsScale = #1.5
% Adjust this to scale all symbols up or down (default #1.5).
Known issue: adjusting this affects the spacing of the components of
the long and short double-cut roll symbols.

  larsenSymbolsOutlineWidth = #.065
% Adjust this to change outline thicknesses for all symbols.

% DON'T CHANGE ANYTHING BELOW HERE UNLESS YOU KNOW WHAT YOU'RE DOING


% SOME VARIABLES
  larsenSymbolsHalignFactor = #(+ (* larsenSymbolsScale ( / 2 3 ) )
.15 ) % this is an arbitrary number discovered by trial and error; it
helps keep the symbols roughly aligned with noteheads if the symbols
are resized using \larsenSymbolsScale
  larsenSymbolsHalfSize = #(* .5 larsenSymbolsScale)
  larsenSymbolsFlipVertical = #(* -1 larsenSymbolsScale)

% SYMBOL: CUT

  cutCoordinates =   #'(
(.4 .9)
(.55 .825)
  )

  cutStencil =
\markup \halign #(/ -3 larsenSymbolsHalignFactor) \stencil
#(make-connected-path-stencil
  cutCoordinates
  larsenSymbolsOutlineWidth
  larsenSymbolsScale
  larsenSymbolsScale
  #t
  #t
)

  cut = ^\cutStencil

  tinyCutStencil = % The "tiny cut" is used as a component of some of
the more complex symbols
\markup \stencil
#(make-connected-path-stencil
  cutCoordinates
  larsenSymbolsOutlineWidth
  larsenSymbolsHalfSize
  larsenSymbolsHalfSize
  #t
  #t
)

  tinyCut = \tinyCutStencil

  tinyCuts =
\markup
  \halign #(/ -6.25 larsenSymbolsHalignFactor) \raise #(/ .35
larsenSymbolsHalignFactor)
  \combine
\tinyCut
\halign #(/ .25 larsenSymbolsHalignFactor) \raise #(/ .2
larsenSymbolsHalignFactor) \tinyCut

% SYMBOL: STRIKE

  strikeStencil = \markup \halign #(/ -1.75 larsenSymbolsHalignFactor) \stencil
#(make-connected-path-stencil
  '(
(.234 .831)
(.156 .831)
(-.012 .317)
(-.156 .831)
(-.293 .831)
   )
  larsenSymbolsOutlineWidth
  larsenSymbolsScale
  larsenSymbolsScale
  #t
  #t
)

  strike = ^\strikeStencil

%-
\header {tagline = ""}

{
\override TextScript.staff-padding = #5
\numericTimeSignature
\time 3/8

g'4.\cut^\markup {\tiny Cut } |  g'4.\strike^\markup {\tiny Strike } |
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: lyLuaTeX, still troubles

2018-04-18 Thread Urs Liska



Am 18.04.2018 um 18:20 schrieb Urs Liska:


Am 18. April 2018 18:10:13 MESZ schrieb Federico Bruni :

Hi folks

I'm still having a problem with lyluatex...
I've installed native TeX Live 2017 on Fedora 27. I've compiled
successfully a few examples, including the test files and the manual in

lyluatex repository.

Any idea of why testing.tex compiles fine while broken.tex fails?

Does using the nofragment option make a difference?




When you write \begin{lilypond}[] (note the square brackets) your second 
example compiles.


This recalls two separate issues we were struggling with (both of which 
I haven't understood or touched):


 * a need to add an empty optional argument.
   This has reportedly been fixed, but it seems not for every case.
 * Having some LaTeX keywords in the LilyPond code, IIRC \repeat was
   among them.

I have the impression these two "work" together here.

It would be good if you'd create an issue  on the tracker with the examples.

Best
Urs

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


Re: Changing spacing between notes a lot

2018-04-18 Thread Ben

On 4/18/2018 12:18 PM, Robert Hickman wrote:

How could I do this, but move the whole note instead of just the head?

\tweak Note.X-extent #'(-3 . -1)

Dosn't seem to work.

Also why are two numbers given in the parans if it is only moving the
X position?

On 17 April 2018 at 19:41, Kieren MacMillan
 wrote:



i.e.

\override NoteColumn.X-offset = #5


or


\tweak NoteColumn.X-extent #'(-14 . 0)



...there are many ways to do things but it all would depend on the 
situation and the score.



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


Re: lyLuaTeX, still troubles

2018-04-18 Thread Urs Liska


Am 18. April 2018 18:10:13 MESZ schrieb Federico Bruni :
>Hi folks
>
>I'm still having a problem with lyluatex...
>I've installed native TeX Live 2017 on Fedora 27. I've compiled 
>successfully a few examples, including the test files and the manual in
>
>lyluatex repository.
>
>Any idea of why testing.tex compiles fine while broken.tex fails?

Does using the nofragment option make a difference?


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


Re: Changing spacing between notes a lot

2018-04-18 Thread Robert Hickman
How could I do this, but move the whole note instead of just the head?

\tweak Note.X-extent #'(-3 . -1)

Dosn't seem to work.

Also why are two numbers given in the parans if it is only moving the
X position?

On 17 April 2018 at 19:41, Kieren MacMillan
 wrote:
> Hi,
>
>> I was wondering if there is a way to change the spacing between notes
>> many times in a staff.
>
> There are many ways of accomplishing the thing you describe.
>
>> What I would like to do is to make something like this.
>> 
>
> Here’s one way of doing that:
>
> %%%  SNIPPET BEGINS
> \version "2.19.80"
> \language "english"
>
> \layout {
>   \context {
> \Staff
> \omit Stem
> \remove "Time_signature_engraver"
> \remove "Clef_engraver"
>   }
> }
>
> stuff = {
>   \cadenzaOn
>   \tweak NoteHead.X-extent #'(-3 . -1) g'4
>   \tweak NoteHead.X-extent #'(-1.75 . 2) f' g' c''1 4
>   \tweak NoteHead.X-extent #'(1 . 2.5) a' f'1
> }
>
> \score { \stuff }
> %%%  SNIPPET ENDS
>
> Hope that 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

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


lyLuaTeX, still troubles

2018-04-18 Thread Federico Bruni

Hi folks

I'm still having a problem with lyluatex...
I've installed native TeX Live 2017 on Fedora 27. I've compiled 
successfully a few examples, including the test files and the manual in 
lyluatex repository.


Any idea of why testing.tex compiles fine while broken.tex fails?

$ cat testing.tex
\documentclass{article}
\usepackage{lyluatex}
\begin{document}

\begin{lilypond}
music = \relative {
c d e
}
\score {
 \new ChoirStaff \with {
   instrumentName = "2 Fl."
 } <<
 \new Staff \transpose c c' \music
 \new Staff {
   \clef bass
   \music
 }
 >>
}
\end{lilypond}

\end{document}



$ cat broken.tex
\documentclass{article}
\usepackage{lyluatex}
\begin{document}

\begin{lilypond}
music = \relative {
 \repeat volta 2 {
   \stemDown
   a,8[ ] e[ q] a,[ q] e'[ q] |
 }
}
\score {
 \new StaffGroup <<
   \new Staff { \clef "treble_8" \music }
   \new TabStaff { \clef "moderntab" \new TabVoice \music }
 >>
}
\end{lilypond}

\end{document}


Here's the output:

$ lualatex --shell-escape broken.tex
This is LuaTeX, Version 1.0.4 (TeX Live 2017)
system commands enabled.
(./broken.tex
LaTeX2e <2017-04-15>
(using cache: 
/home/fede/.local/texlive/2017/texmf-var/luatex-cache/generic)

luaotfload | main : initialization completed in 0.119 seconds
Babel <3.18> and hyphenation patterns for 1 language(s) loaded.
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/base/size10.clo(load 
luc:

/home/fede/.local/texlive/2017/texmf-var/luatex-cache/generic/fonts/otl/lmroman
10-regular.luc)))
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/lyluatex/lyluatex.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/luatex/luatexbase/luatexbase.sty

(/home/fede/.local/texlive/2017/texmf-dist/tex/luatex/ctablestack/ctablestack.s
ty)) 
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/xkeyval/xkeyval.sty

(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/xkeyval/keyval.tex
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/graphics/graphicx.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/graphics/graphics.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/graphics/trig.sty)
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/graphics-def/luatex.def)))

(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/minibox/minibox.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/l3kernel/expl3.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/l3kernel/l3pdfmode.def)))
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/environ/environ.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/trimspaces/trimspaces.sty)
) 
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/currfile/currfile.sty

(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/oberdiek/etexcmds.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/oberdiek/ifluatex.sty)))
) 
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/filehook/filehook.sty))

(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/pdfpages/pdfpages.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/base/ifthen.sty)
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/tools/calc.sty)
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/eso-pic/eso-pic.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/oberdiek/atbegshi.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/oberdiek/ifpdf.sty))
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/xcolor/xcolor.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/graphics-cfg/color.cfg)))
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/pdfpages/ppluatex.def))
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/metalogo/metalogo.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/ifxetex/ifxetex.sty)))
(./broken.aux)
(/home/fede/.local/texlive/2017/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
)
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/oberdiek/grfext.sty
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/oberdiek/kvdefinekeys.st
y))
(/home/fede/.local/texlive/2017/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty)

(/home/fede/.local/texlive/2017/texmf-dist/tex/latex/latexconfi

Re: Lilypond interfaces

2018-04-18 Thread David Bellows
You didn't say why you wanted this so I might as well throw in the
project I'm working on, the Platonic Music Engine
(http://www.platonicmusicengine.com). The point is **not** to be a
front-end for Lilypond but to generate music. But it will also create
sheet music using Lilypond (and graphical notation using LaTeX). I've
begun working on a very simple parser that allows one to enter in a
piece of music using a not-so-efficient syntax which will then create
music via Csound and sheet music.

My software is very much in the alpha stages and the parser exists
only on my computer because it is woefully incomplete but if anyone
wants to try it for some reason I can upload it to my git repo.

The syntax goes like this (using the first several notes for Row, Row,
Row Your Boat):

pitches = {"P1:c4","P1","P1","M2","M3","M3","M2","M3","P4","P5"}

As you can see it uses interval notation. You specify what octave to
start with and can change this as needed. If you don't specify an
octave than the previous one holds over.

The durations are held in a separate table for now but eventually will
be merged:

durations = {"dotted quarter","dotted quarter", "quarter",
"8th","dotted quarter","quarter","8th","quarter", "8th", "dotted
half"}

And dynamics have their own table as well:

volume = "ff"

The point of the interval notation is not ease-of-use but because one
of the big features of my software is that it can handle just about
any tuning imaginable (99% compatible with Scala). So you enter in the
notes once and then change the tuning to whatever you want (various
JIs, 0<=n<=3 million+ EDO (or EDI), etc) and the software will
calculate the nearest pitch to what I designate as the Platonic values
for the standard 12 Western intervals (using a 5-lim JI and eventually
non-Western intervals will be supported as well). So it's very easy to
hear what your melody will sound like in 12-EDO, Harry Partch's 43
Tone System, 13-EDO, 5-ED:P5, etc. And then also to be able to
generate sheet music and various kinds of graphical notation.

As of now, the parser can only handle a small subset of what the PME
can do sheet music-wise which itself is only a small subset of what
Lilypond can do.

On Tue, Apr 17, 2018 at 1:17 PM, Amir Teymuri  wrote:
> Hello,
>
> does anyone knows about interfaces and/or notation systems written in other
> programming languages which use lilypond as backend? Two examples of such
> interfaces are fomus (https://common-lisp.net/project/fomus/doc/)
> and abjad (http://projectabjad.org/).
>
> cheers,
> Amir
>
>
> - - - - - - - - - - -
> ateymur...@gmail.com
> - - - - - - - - - - -
>
> ___
> 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: override TextScript.padding changes text baseline?

2018-04-18 Thread Carl Sorensen


On 4/18/18, 7:49 AM, "Robert Hickman"  wrote:

I am attempting to increase the spacing between a text block and the
staff, which I have found can be done using
 \override TextScript.padding = ... However doing this changes the
baseline of the text for some reason. 'good baseline' the bottom of
the 'g' hangs down as expected. When the padding is set, the bottom of
the G is used as basis making the result look bad.

Padding applies to the bounding box of the graphical element.  It maintains a 
minimum space between ink on the page, if you will.

Text spacing is based on the baseline.

Have you tried the Y-offset property?  I'm not sure what you're after, but it 
seems to work for me.

\version "2.18.2"
\header {tagline = ""}
{
\override TextScript.Y-offset = #5
\omit Staff.TimeSignature
\textLengthOn
\numericTimeSignature
\time 1/4
\acciaccatura c''8 g'4^\markup {\tiny Absolute } | \acciaccatura
a'8 g'4^\markup {\tiny Vague }
}

HTH,

Carl


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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Carl Sorensen


On 4/18/18, 6:51 AM, "Robert Hickman"  wrote:

If lilypond is based on a functional interface, the documentation
making extensive use of the terms 'object' and 'interface' is
confusing.

Patches to documentation will be reviewed.  
http://lilypond.org/doc/v2.19/Documentation/contributor/documentation-work

Carl

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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Werner LEMBERG

>> Can you suggest a better word to describe all the various things on
>> a page of musical notation (e.g., note head, flag, rest, stem, dot,
>> slur, etc.)?
> 
> No, but classifying it to say 'not related to OOP' would have avoided
> the confusion.

Yes, a remark into this direction should be added – too many users of
lilypond have experience with object-oriented programming...


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


Re: override TextScript.padding changes text baseline?

2018-04-18 Thread Karlin High

On 4/18/2018 9:42 AM, Robert Hickman wrote:

Was using 'spacing' to refer to 'gap' as a general concept, rather
than an LP term. But staff-padding fixes the issue. Thanks Ben and
David.

'padding' is relative to the bounding box of a grob?


The Joram Berger LilyPond spacing map:

--
Karlin High
Missouri, USA

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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Robert Hickman
> Can you suggest a better word to describe all the various things on a page of 
> musical notation (e.g., note head, flag, rest, stem, dot, slur, etc.)?

No, but classifying it to say 'not related to OOP' would have avoided
the confusion.

I think my main point of confusion related to the term 'interface'
which appears to be used in the same sense of 'class implementing an
interface' in java-esque oop systems. 'This object must provide the
following methods'.

On 18 April 2018 at 15:13, Kieren MacMillan
 wrote:
> Hi Robert,
>
>> If lilypond is based on a functional interface, the documentation
>> making extensive use of the terms 'object' and 'interface' is confusing.
>
> Can you suggest a better word to describe all the various things on a page of 
> musical notation (e.g., note head, flag, rest, stem, dot, slur, etc.)?
>
> 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: override TextScript.padding changes text baseline?

2018-04-18 Thread Robert Hickman
Was using 'spacing' to refer to 'gap' as a general concept, rather
than an LP term. But staff-padding fixes the issue. Thanks Ben and
David.

'padding' is relative to the bounding box of a grob?

On 18 April 2018 at 15:32, David Kastrup  wrote:
> Robert Hickman  writes:
>
>> I am attempting to increase the spacing between a text block and the
>> staff, which I have found can be done using
>>  \override TextScript.padding = ...
>
> That doesn't increase the _spacing_ but the padding.
>
>> However doing this changes the baseline of the text for some
>> reason.
>
> It doesn't change the baseline at all.  The additional padding may make
> it necessary to shift the baseline in order to avoid collisions with
> other scripts or objects.  You likely want to change staff-padding
> instead which is supposed to make room for the reference points rather
> than the outlines.
>
> --
> David Kastrup

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


Re: override TextScript.padding changes text baseline?

2018-04-18 Thread David Kastrup
Robert Hickman  writes:

> I am attempting to increase the spacing between a text block and the
> staff, which I have found can be done using
>  \override TextScript.padding = ...

That doesn't increase the _spacing_ but the padding.

> However doing this changes the baseline of the text for some
> reason.

It doesn't change the baseline at all.  The additional padding may make
it necessary to shift the baseline in order to avoid collisions with
other scripts or objects.  You likely want to change staff-padding
instead which is supposed to make room for the reference points rather
than the outlines.

-- 
David Kastrup

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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread David Kastrup
Robert Hickman  writes:

> If lilypond is based on a functional interface, the documentation
> making extensive use of the terms 'object' and 'interface' is
> confusing.

LilyPond is not "based on a functional interface".  If you have concrete
examples of where the documentation rather than your preconceptions is
inaccurate, feel free to bring them up.

-- 
David Kastrup

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


Re: override TextScript.padding changes text baseline?

2018-04-18 Thread Ben

On 4/18/2018 9:49 AM, Robert Hickman wrote:

I am attempting to increase the spacing between a text block and the
staff, which I have found can be done using
  \override TextScript.padding = ... However doing this changes the
baseline of the text for some reason. 'good baseline' the bottom of
the 'g' hangs down as expected. When the padding is set, the bottom of
the G is used as basis making the result look bad.

\version "2.18.2"
\header {tagline = ""}
{
 \override TextScript.padding = #2
 \omit Staff.TimeSignature
 \textLengthOn
 \numericTimeSignature
 \time 1/4
 \acciaccatura c''8 g'4^\markup {\tiny Absolute } | \acciaccatura
a'8 g'4^\markup {\tiny Vague }
}

This example shows two different uses of grace-notes for notating
finger articulations in Irish music. the first is used to indicate



If you just change it to

\override TextScript.staff-padding = #2


...that keeps the text aligned.

Is that what you mean?
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Kieren MacMillan
Hi Robert,

> If lilypond is based on a functional interface, the documentation
> making extensive use of the terms 'object' and 'interface' is confusing.

Can you suggest a better word to describe all the various things on a page of 
musical notation (e.g., note head, flag, rest, stem, dot, slur, etc.)?

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


override TextScript.padding changes text baseline?

2018-04-18 Thread Robert Hickman
I am attempting to increase the spacing between a text block and the
staff, which I have found can be done using
 \override TextScript.padding = ... However doing this changes the
baseline of the text for some reason. 'good baseline' the bottom of
the 'g' hangs down as expected. When the padding is set, the bottom of
the G is used as basis making the result look bad.

\version "2.18.2"
\header {tagline = ""}
{
\override TextScript.padding = #2
\omit Staff.TimeSignature
\textLengthOn
\numericTimeSignature
\time 1/4
\acciaccatura c''8 g'4^\markup {\tiny Absolute } | \acciaccatura
a'8 g'4^\markup {\tiny Vague }
}

This example shows two different uses of grace-notes for notating
finger articulations in Irish music. the first is used to indicate
whistle fingering, the second means 'play a cut on any finger'.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Fwd: Re: Stanzas over staves

2018-04-18 Thread Engraver



On 18-4-2018 07:20, Helge Kruse wrote:

But there are some open points.

- The harp requires two staff lines. I managed to remove the 
outside-staff-priority for one staff. But the other staff line is 
pushed away. How can I use both staves of one harp for the text? How 
could I place the text covering all staves of the score and avoid 
Lilyponds anti-collision routines that moves the staff lines away?


- The readability of the text could be improved by changing to color 
of the lines in the narrative measure to gray, light gray, or probably 
white. LSR #700 shows a way to color staff lines. But is there a 
simpler way when I need a common color for all lines?


Best regards
Helge 



I use "with-dimensions" if I want to place some text over staves. And
"\whiteout" can be used to blot out the staff-lines. See attached.
It's rather hackish, so I hope the more knowledgeable members of the
list have a more elegant solution for you.

Regards,
Auke

\version "2.19.80"

\header {
  title = "Max and Moritz"
}

% http://lsr.di.unimi.it/LSR/Item?id=780
narrative = {
  \once\override TextScript.extra-spacing-width = #'(0 . 0)
  %\once\override TextScript.Y-offset = #2
  %\once\override TextScript.outside-staff-priority = ##f
  %\once\override TextScript.self-alignment-X = #LEFT
  %\once\override Stem.transparent = ##t
  %\once\override NoteHead.transparent = ##t
  %\once\override NoteHead.no-ledgers = ##t
}


scoreAUpperHarpI = \relative c'' {
  c4 4 4 4
  s1
  s
  \narrative s1^\markup 
\with-dimensions #'(0 . 42) #'(0 . 0)
\override #'(line-width . 40)
\translate #'(0 . -1.5) 
\wordwrap { Of two youths, named Max and Moritz, Who, instead of early turning Their young minds to useful learning, Often leered with horrid features At their lessons and their teachers. }
  s
}

scoreALowerHarpI = \relative c' { s1 s s s s }

scoreAUpperHarpII = \relative c'' {
  s1
  \narrative s^\markup 
 \with-dimensions #'(0 . 22) #'(0 . 0)
 \whiteout \override #'(line-width . 20) 
 \translate #'(0 . 0) 
 \wordwrap   { Ah, how oft we read or hear of  Boys we almost stand in fear of!  For example, take these stories  
   }
   s1
   s
   e4 4 4 4
}

scoreALowerHarpII = \relative c' { s1 s s s s }

scoreAUpperHarpIII = \relative c'' { s s | d4 4 4 4 | s1 s }

scoreALowerHarpIII = \relative c' { s1 s s s s }

scoreAHarpIPart = \new PianoStaff \with {
  instrumentName = "Harfe I"
} <<
  \new Staff = "upper" \scoreAUpperHarpI
  \new Staff = "lower" { \clef bass \scoreALowerHarpI }
>>


scoreAHarpIIPart = \new PianoStaff \with {
  instrumentName = "Harfe II"
} <<
  \new Staff = "upper" \scoreAUpperHarpII
  \new Staff = "lower" { \clef bass \scoreALowerHarpII }
>>

scoreAHarpIIIPart = \new PianoStaff \with {
  instrumentName = "Harfe III"
} <<
  \new Staff = "upper" \scoreAUpperHarpIII
  \new Staff = "lower" { \clef bass \scoreALowerHarpIII }
>>

\score {
  <<
\scoreAHarpIPart
\scoreAHarpIIPart
\scoreAHarpIIIPart
  >>
  \layout { }
}

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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Robert Hickman
If lilypond is based on a functional interface, the documentation
making extensive use of the terms 'object' and 'interface' is
confusing.

On 18 April 2018 at 13:35, Andrew Bernard  wrote:
> Hi Robert,
>
> Having just learned ABC, I see that it supports rolls, but not all the
> Larsen ornament notation. I see no reason why ABC can't be extended - there
> are many, dozens in fact, ABC editors that are open source. Worth looking
> into. It you can produce a trill in ABC, you can produce a cut.
>
> Andrew
>
>

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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread David Kastrup
Robert Hickman  writes:

> You are largely missing the point I was trying to make, however I have
> a lot of work to do and cannot be bothered to argue.

Good start.

> On 18 April 2018 at 13:24, David Kastrup  wrote:

[...]

>> So?  What are you hoping to gain by lecturing everyone how bad LilyPond
>> must have been designed according to your experience with and/or without
>> it?
>>
>> I mean, I am the last one to let a good opportunity for pontificating go
>> to waste, but so far I fail to see that you have availed yourself of
>> such an opportunity.  Perhaps try to figure out what you actually want
>> to get achieved and then think of plans, technical and/or social, to
>> actually get them done.
>>
>> There is no point playing to your strengths without applying them in a
>> useful manner to problems you want to see solved.

-- 
David Kastrup

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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Andrew Bernard
Hi Robert,

EasyABC, the one I am using, is open source. Would you like me to
investigate?

I think we are probably off topic by now.


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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Andrew Bernard
Hi Robert,

Having just learned ABC, I see that it supports rolls, but not all the
Larsen ornament notation. I see no reason why ABC can't be extended - there
are many, dozens in fact, ABC editors that are open source. Worth looking
into. It you can produce a trill in ABC, you can produce a cut.

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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Robert Hickman
You are largely missing the point I was trying to make, however I have
a lot of work to do and cannot be bothered to argue.

On 18 April 2018 at 13:24, David Kastrup  wrote:
> Robert Hickman  writes:
>
>> The best example of the leaky abstraction problem I can think of right
>> now are actually visual HTML editors.
>
> That's more in line of complaining about Denemo than LilyPond.  Either
> way the solution lies in not confusing the editor's domain with the the
> result domain.
>
>> As David notes, I am talking about input layer not internals. The
>> lilypond syntax appears to be an abstraction over an object oriented
>> design,
>
> No, that definitely isn't it.  Absolutely not.
>
>> with a lot of implicit 'magic', and for me as a new user it is very
>> difficult to see why it does some things, like randomly creating an
>> empty staff. What I'm wandering is weather it would be clearer to just
>> use an object oriented syntax directly and make the implicit stuff
>> explicit.
>
> LilyPond is designed as an input language.  Its internal data structures
> are mostly mapped to Scheme data structures.  Scheme is a functional
> language, not an object oriented language.  Large swaths of LilyPond are
> coded in C++ for efficiency reasons, but the data models of C++ don't
> really have exposure worth noting to LilyPond.
>
> Understanding LilyPond's input is not related to understanding C++ and
> not significantly related to Scheme either.  Its input language is
> defined in a traditional lexer/parser manner implemented with a standard
> LALR(1) parser generator.  For debugging and programming reasons, its
> productions these days pass around Scheme data structures exclusively
> but that's a comparatively recent development.
>
> So no: you are completely wrong with your musings and they have
> absolutely no relation to internals of LilyPond: this rather concerns
> the completely independent syntax (and parser-internal semantics) of its
> input files.
>
>> ABC notation does most of what I need, but lacks a few minor
>> formatting controls and the ability to define symbols which I need to
>> finish the work that I'm doing. Lillypond seems vastly more
>> complicated than I need.
>
> If you don't insist into digging yourself into the complexity, you can
> get away perfectly well without it.  But you refuse doing so because you
> express your a priori confidence that its authors and maintainers are
> incapable of properly layering its complexity.
>
>> The learning manual spends most of it's time going into things that I
>> have no use for, such as multiple staff arrangements.
>
> If you want to pay for a personal tutor catering to your personal needs,
> of course you can save the time skipping over unwanted material.
> Manuals are a compromise between saving time for the teacher and saving
> time for the learner.  As we have a vastly larger number of users over
> teachers, they are freeing resources for the project.
>
>> Sheet music could either be complex or simple depending on what you
>> are trying to do, for what I'm doing a fixed-spacing 'dumb stacking
>> algorithm' that abcm2ps appears to use is perfectly adequate.
>
> So?  What are you hoping to gain by lecturing everyone how bad LilyPond
> must have been designed according to your experience with and/or without
> it?
>
> I mean, I am the last one to let a good opportunity for pontificating go
> to waste, but so far I fail to see that you have availed yourself of
> such an opportunity.  Perhaps try to figure out what you actually want
> to get achieved and then think of plans, technical and/or social, to
> actually get them done.
>
> There is no point playing to your strengths without applying them in a
> useful manner to problems you want to see solved.
>
> --
> David Kastrup

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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread David Kastrup
Robert Hickman  writes:

> The best example of the leaky abstraction problem I can think of right
> now are actually visual HTML editors.

That's more in line of complaining about Denemo than LilyPond.  Either
way the solution lies in not confusing the editor's domain with the the
result domain.

> As David notes, I am talking about input layer not internals. The
> lilypond syntax appears to be an abstraction over an object oriented
> design,

No, that definitely isn't it.  Absolutely not.

> with a lot of implicit 'magic', and for me as a new user it is very
> difficult to see why it does some things, like randomly creating an
> empty staff. What I'm wandering is weather it would be clearer to just
> use an object oriented syntax directly and make the implicit stuff
> explicit.

LilyPond is designed as an input language.  Its internal data structures
are mostly mapped to Scheme data structures.  Scheme is a functional
language, not an object oriented language.  Large swaths of LilyPond are
coded in C++ for efficiency reasons, but the data models of C++ don't
really have exposure worth noting to LilyPond.

Understanding LilyPond's input is not related to understanding C++ and
not significantly related to Scheme either.  Its input language is
defined in a traditional lexer/parser manner implemented with a standard
LALR(1) parser generator.  For debugging and programming reasons, its
productions these days pass around Scheme data structures exclusively
but that's a comparatively recent development.

So no: you are completely wrong with your musings and they have
absolutely no relation to internals of LilyPond: this rather concerns
the completely independent syntax (and parser-internal semantics) of its
input files.

> ABC notation does most of what I need, but lacks a few minor
> formatting controls and the ability to define symbols which I need to
> finish the work that I'm doing. Lillypond seems vastly more
> complicated than I need.

If you don't insist into digging yourself into the complexity, you can
get away perfectly well without it.  But you refuse doing so because you
express your a priori confidence that its authors and maintainers are
incapable of properly layering its complexity.

> The learning manual spends most of it's time going into things that I
> have no use for, such as multiple staff arrangements.

If you want to pay for a personal tutor catering to your personal needs,
of course you can save the time skipping over unwanted material.
Manuals are a compromise between saving time for the teacher and saving
time for the learner.  As we have a vastly larger number of users over
teachers, they are freeing resources for the project.

> Sheet music could either be complex or simple depending on what you
> are trying to do, for what I'm doing a fixed-spacing 'dumb stacking
> algorithm' that abcm2ps appears to use is perfectly adequate.

So?  What are you hoping to gain by lecturing everyone how bad LilyPond
must have been designed according to your experience with and/or without
it?

I mean, I am the last one to let a good opportunity for pontificating go
to waste, but so far I fail to see that you have availed yourself of
such an opportunity.  Perhaps try to figure out what you actually want
to get achieved and then think of plans, technical and/or social, to
actually get them done.

There is no point playing to your strengths without applying them in a
useful manner to problems you want to see solved.

-- 
David Kastrup

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


Re: temporarily disable Dot_column_engraver?

2018-04-18 Thread foxfanfare
Oh yeah, it got mixed with the forum synthax.

\version "2.19.80"

\score {
  \relative c' {
\cadenzaOn
\omit Staff.TimeSignature
   << { c'2.^"OK" b \bar "|" b4. a } \\
   { b2. a c4. b } >> \bar "|"
<< { c2. \bar "|" b } \\
   { b2 a4 a2 g4 } >> \bar "|"

<< { < b c d >2.^"Not OK" 1. } \\
   { < c, d f >2. 4. r 2. } >> \bar "|"
  }
}


  
\score {
  \relative c' {
\cadenzaOn
\omit Staff.TimeSignature
   << { c'2. b^"Not OK" \bar "|" b4. a } \\
   { b2. a c4. b } >> \bar "|"
<< { c2. \bar "|" b } \\
   { b2 a4 a2 g4 } >> \bar "|"

<< { < b c d >2.^"OK" 1. } \\
   { < c, d f >2. 4. r 2. } >> \bar "|"
  }
  \layout {
\context {
  \Staff
  \remove Dot_column_engraver
}
\context {
  \Voice
  \consists Dot_column_engraver
}
  }
}



--
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: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread Robert Hickman
The best example of the leaky abstraction problem I can think of right
now are actually visual HTML editors. HTML is very complicated and
follows a 'WYSIWYM' model similar to LaTeX, however the visual editors
try to force this into a 'WYSIWYG' model which simply does not work,
especially when responsive layouts are a factor, as what you see is
inherently going to change. This tends to result in things breaking in
unexpected ways, because the user is not aware of the mismatch. Plus
these tools are usually only aware of a small subset of HTML, so if
they are used in combination with hand written code things get broken
as a result.

As David notes, I am talking about input layer not internals. The
lilypond syntax appears to be an abstraction over an object oriented
design, with a lot of implicit 'magic', and for me as a new user it is
very difficult to see why it does some things, like randomly creating
an empty staff. What I'm wandering is weather it would be clearer to
just use an object oriented syntax directly and make the implicit
stuff explicit.

ABC notation does most of what I need, but lacks a few minor
formatting controls and the ability to define symbols which I need to
finish the work that I'm doing. Lillypond seems vastly more
complicated than I need. The learning manual spends most of it's time
going into things that I have no use for, such as multiple staff
arrangements. Sheet music could either be complex or simple depending
on what you are trying to do, for what I'm doing a fixed-spacing 'dumb
stacking algorithm' that abcm2ps appears to use is perfectly adequate.

Irish trad music is different from classical tradition in that the
scores denote a simple 'outline' of a tune. How they are actually
played tends to differ a great deal, including implicit 'lilt' or
'swung' rhythms and ornamentation and melodic variations that are
added by the player, generally differently every single time they play
a tune. Outside of teaching materials it is rare to notate
articulations, slurs, or ornaments at all. Standard playing style
often attempts to emulate numerous historical bagpipes by slurring
everything by default, and using fingered articulations extensively.

I suspect that ABCn hasn't defined the Larson symbols both because of
the above, and because folk musicians often notate fingered
articulations using grace notes. However this notation requires
different interpretation from the usage of grace notes in classical
theory, and as a result only works within the scope of a given
tradition. It's also very open to misinterpretation if encountered by
classically trained musicians. Calling these 'grace notes' is also
misleading as they are used as articulations, basically
interchangeably with tonguing. They exploit the limits of human
perception by being extremely brief. When played well they are so
brief that their absolute pitch is not perceived. In order to do this
dependably special fingerings or techniques are used.  Grey Larson's
book recognises the mostly my last point, which lead to his notation
system.

On 18 April 2018 at 09:37, David Kastrup  wrote:
> Andrew Bernard  writes:
>
>> Hello Robert,
>>
>> Speaking as a programmer myself with over forty years of experience,
>> and an advanced lilypond users, I can categorically assert that
>> lilypond is not trying to be 'clever'. This is an utter
>> misunderstanding. Lilypond is however trying to engrave music to the
>> highest possible standard, and this is an immensely difficult
>> programming proposition, hence the complexity under the hood, and the
>> slight difficulties in the syntax. It's not meant to be simplistic or
>> easy like ABC.
>
> I hate to waste a good defense, but you are talking about its internals
> here and Robert was arguing about the input layer with me.  Different
> beasts.  It's akin to discussing plain TeX vs LaTeX based on the quality
> of the output.  The point of LaTeX is to provide an input and
> abstraction layer, the typesetting remains the job of TeX, the program.
> Now LaTeX is indeed bleeding complexity when you poke it too hard.
>
> LilyPond's input language is intended to be expressive and convenient
> but a whole lot of pain goes into assuring that it bleeds in concordance
> with both reasonable and unreasonable expectations even when you poke it
> too hard.
>
> As an example, compare the 2.19 version and interaction of of #{ ... #},
> $, and # with the 2.12 one.  The current version is quite "cleverer",
> going to large pains to make sure that closures, error messages and
> whatnot reliably point to where you'd expect them to be.  This is a much
> more thorough layer than LaTeX provides around TeX, and yet people feel
> much more comfortable using LaTeX than plain TeX.  The LaTeX layers fall
> apart when problems occur and you have to debug.  LilyPond layers tend
> to hold up even under debugging.
>
> Robert may be speaking from experience, but experience without actual
> knowledge can win over knowledge only when

Re: temporarily disable Dot_column_engraver?

2018-04-18 Thread Jacques Menu Muzhic
Hello Fox,

   << { *2.^"Not OK" 1. } \\

prevents your code from compiling on 2.19.80.

JM

> Le 18 avr. 2018 à 13:22, foxfanfare  a écrit :
> 
> This post is old, but I can't find the solution for this specific problem.
> In a general way, I wonder how it is possible to remove an engraver
> temporarily?
> 
> For this dot_column case, here's the exemple wrote in Elaine Gould's book:
> 
> \version "2.19.80"
> 
> \score {
>  \relative c' {
>\cadenzaOn
>\omit Staff.TimeSignature
>   << { c'2.^"OK" b \bar "|" b4. a } \\
>   { b2. a c4. b } >> \bar "|"
><< { c2. \bar "|" b } \\
>   { b2 a4 a2 g4 } >> \bar "|"
> 
><< { *2.^"Not OK" 1. } \\
>   { 2. 4. r 2. } >> \bar "|"
>  }
> }
> 
> \score {
>  \relative c' {
>\cadenzaOn
>\omit Staff.TimeSignature
>   << { c'2. b^"Not OK" \bar "|" b4. a } \\
>   { b2. a c4. b } >> \bar "|"
><< { c2. \bar "|" b } \\
>   { b2 a4 a2 g4 } >> \bar "|"
> 
><< { *2.^"OK" 1. } \\
>   { 2. 4. r 2. } >> \bar "|"
>  }
>  \layout {
>\context {
>  \Staff
>  \remove Dot_column_engraver
>}
>\context {
>  \Voice
>  \consists Dot_column_engraver
>}
>  }
> }
> 
> How is it possible to combine those two solutions in a same staff?
> Dot_column.PNG
>   
> 
> 
> 
> --
> 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


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


Re: temporarily disable Dot_column_engraver?

2018-04-18 Thread foxfanfare
This post is old, but I can't find the solution for this specific problem.
In a general way, I wonder how it is possible to remove an engraver
temporarily?

For this dot_column case, here's the exemple wrote in Elaine Gould's book:

\version "2.19.80"

\score {
  \relative c' {
\cadenzaOn
\omit Staff.TimeSignature
   << { c'2.^"OK" b \bar "|" b4. a } \\
   { b2. a c4. b } >> \bar "|"
<< { c2. \bar "|" b } \\
   { b2 a4 a2 g4 } >> \bar "|"

<< { *2.^"Not OK" 1. } \\
   { 2. 4. r 2. } >> \bar "|"
  }
}

\score {
  \relative c' {
\cadenzaOn
\omit Staff.TimeSignature
   << { c'2. b^"Not OK" \bar "|" b4. a } \\
   { b2. a c4. b } >> \bar "|"
<< { c2. \bar "|" b } \\
   { b2 a4 a2 g4 } >> \bar "|"

<< { *2.^"OK" 1. } \\
   { 2. 4. r 2. } >> \bar "|"
  }
  \layout {
\context {
  \Staff
  \remove Dot_column_engraver
}
\context {
  \Voice
  \consists Dot_column_engraver
}
  }
}

How is it possible to combine those two solutions in a same staff?
Dot_column.PNG
  



--
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: Book with bookpart stored in variable: expecting real number

2018-04-18 Thread David Kastrup
Caagr98  writes:

> This code:
>
> ⋘
> \version "2.19.81"
> bk = \book{\bookpart{\score{a}}}
> \bk
> ⋙
>
> gives a strange error:
>
> ⋘
> GNU LilyPond 2.19.81
> Processing `bpart.ly'
> Parsing.../usr/share/lilypond/2.19.81/scm/lily-library.scm:243:5: In
> procedure ly:book-process in expression (process-procedure book paper
> ...):
> /usr/share/lilypond/2.19.81/scm/lily-library.scm:243:5: Wrong type
> (expecting real number): #
> ⋙.
>
> Inserting the \book{...} directly without a variable works as it should.
> Replacing the \bk with $bk acts exactly the same.
> #bk gives no error, but is instead silently ignored.
> $((lambda () bk)) and #((lambda () bk)) act the same as their
> respective #bk or $bk variants.
> The #(print-book-with-defaults) function works, but is quite clunky.
>
> Does anyone know why all these methods fail, and what is the proper
> way to store a book in a variable?

I think this is the proper way.  I think it breaks in Book::process (the
three-argument version of the function) when doing

  Real scale = scm_to_double (paper->c_variable ("output-scale"));

Adding a paper block to the \bookpart (!) helps.  Book/bookpart
processing is seriously broken and I don't have a good idea what the
actual design behind it was supposed to be, though the code causing the
error is likely my fault.

-- 
David Kastrup

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


Book with bookpart stored in variable: expecting real number

2018-04-18 Thread Caagr98
This code:

⋘
\version "2.19.81"
bk = \book{\bookpart{\score{a}}}
\bk
⋙

gives a strange error:

⋘
GNU LilyPond 2.19.81
Processing `bpart.ly'
Parsing.../usr/share/lilypond/2.19.81/scm/lily-library.scm:243:5: In procedure 
ly:book-process in expression (process-procedure book paper ...):
/usr/share/lilypond/2.19.81/scm/lily-library.scm:243:5: Wrong type (expecting 
real number): #
⋙.

Inserting the \book{...} directly without a variable works as it should.
Replacing the \bk with $bk acts exactly the same.
#bk gives no error, but is instead silently ignored.
$((lambda () bk)) and #((lambda () bk)) act the same as their respective #bk or 
$bk variants.
The #(print-book-with-defaults) function works, but is quite clunky.

Does anyone know why all these methods fail, and what is the proper way to 
store a book in a variable?

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


Re: Consistent vertical alignment of annotations, disable time signiture

2018-04-18 Thread David Kastrup
Andrew Bernard  writes:

> Hello Robert,
>
> Speaking as a programmer myself with over forty years of experience,
> and an advanced lilypond users, I can categorically assert that
> lilypond is not trying to be 'clever'. This is an utter
> misunderstanding. Lilypond is however trying to engrave music to the
> highest possible standard, and this is an immensely difficult
> programming proposition, hence the complexity under the hood, and the
> slight difficulties in the syntax. It's not meant to be simplistic or
> easy like ABC.

I hate to waste a good defense, but you are talking about its internals
here and Robert was arguing about the input layer with me.  Different
beasts.  It's akin to discussing plain TeX vs LaTeX based on the quality
of the output.  The point of LaTeX is to provide an input and
abstraction layer, the typesetting remains the job of TeX, the program.
Now LaTeX is indeed bleeding complexity when you poke it too hard.

LilyPond's input language is intended to be expressive and convenient
but a whole lot of pain goes into assuring that it bleeds in concordance
with both reasonable and unreasonable expectations even when you poke it
too hard.

As an example, compare the 2.19 version and interaction of of #{ ... #},
$, and # with the 2.12 one.  The current version is quite "cleverer",
going to large pains to make sure that closures, error messages and
whatnot reliably point to where you'd expect them to be.  This is a much
more thorough layer than LaTeX provides around TeX, and yet people feel
much more comfortable using LaTeX than plain TeX.  The LaTeX layers fall
apart when problems occur and you have to debug.  LilyPond layers tend
to hold up even under debugging.

Robert may be speaking from experience, but experience without actual
knowledge can win over knowledge only when that knowledge in return is
lacking significant amounts of experience.

And I'd argue that dismissing my experience in designing, managing,
maintaining, and explaining complex systems as insignificant does not
likely make for the best fitting working hypothesis.

-- 
David Kastrup

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


Re: Ottava mark: edge dashed line

2018-04-18 Thread foxfanfare
Thank you for the explanation!



--
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: Lilypond interfaces

2018-04-18 Thread Urs Liska



Am 17.04.2018 um 22:17 schrieb Amir Teymuri:

Hello,

does anyone knows about interfaces and/or notation systems written in 
other programming languages which use lilypond as backend? Two 
examples of such interfaces are fomus 
(https://common-lisp.net/project/fomus/doc/)

and abjad (http://projectabjad.org/).

cheers,
Amir



There is a "notes" plugin for PureData:
http://nyu-waverlylabs.org/notes/
http://puredata.info/

I think this is exactly what you're asking about but I haven't tested it.

Urs

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


Re: Lilypond interfaces

2018-04-18 Thread Martin Tarenskeen



On Wed, 18 Apr 2018, Malte Meyn wrote:

1. lilypond-book 
(http://lilypond.org/doc/v2.19/Documentation/usage/lilypond_002dbook): This 
is distributed with LilyPond, output to LaTeX or HTML.
2. lyluatex (https://ctan.org/pkg/lyluatex or 
https://github.com/jperon/lyluatex): This is for LuaLaTeX. It works similar 
to lilypond-book but is a little bit easier to handle as you don’t have to 
use another program outside LaTeX.
3. OOoLilyPond (http://ooolilypond.sourceforge.net/) for OpenOffice and 
LibreOffice. It might be possible that this is rewritten in the near future 
(see http://lilypond.org/google-summer-of-code.html).


For people who use MS Word rather than OpenOffice/LibreOffice there is 
MsLily. (see: https://sellfy.com/dentonlt ) Currently Windows only and not 
available for Mac (yet). 
It offers functionality similar to OOoLilyPond. I use both.


--

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


Re: Ottava mark: edge dashed line

2018-04-18 Thread Thomas Morley
2018-04-17 22:50 GMT+02:00 foxfanfare :

> Btw, is there any interest to put "(text . #f)" for the right-broken? Or was
> this just for me to understand how the code should be written?

If you set left.text to some value, then every part of a possibly
broken spanner wil start with it.
Technical speaking, if left-broken.text is unset it will inherit the
value of left.text. Some holds for right.text and right-broken.text.

In the end it depends on your needs what you should do. I wouldn't
want the text at the end of every broken spanner, only at the very
end.
Thus I've set right-broken #f.

Below a demonstration using the more simple TextSpanner.

\paper {
  line-width = 80
}

mus = {
  c'1 c'\startTextSpan
  \break
  d' d'
  \break
  e' e'
  \break
  f' f'\stopTextSpan
}

{
  \override TextSpanner.bound-details.left.text = "left"
  \override TextSpanner.bound-details.right.text = "right"
  \mus
}

{
  \override TextSpanner.bound-details.left.text = "left"
  \override TextSpanner.bound-details.right.text = "right"
  \override TextSpanner.bound-details.left-broken.text = "left-broken"
  \override TextSpanner.bound-details.right-broken.text = "right-broken"
  \mus
}

{
  \override TextSpanner.bound-details.left.text = "left"
  \override TextSpanner.bound-details.right.text = "right"
  \override TextSpanner.bound-details.left-broken.text = ##f
  \override TextSpanner.bound-details.right-broken.text = ##f
  \mus
}

> I also discovered that I can then alterate some individual values directly
> in the score block:
> \once \override Staff.OttavaBracket.bound-details.right-broken.padding = #4

Indeed. This updates only a certain subsubproperty leaving others unchanged.

> Gosh, I'm starting to fall in love for this software! So many capabilites,
> it's amazing!

:)

Best,
  Harm

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


Re: Lilypond interfaces

2018-04-18 Thread Malte Meyn



Am 17.04.2018 um 22:17 schrieb Amir Teymuri:

Hello,

does anyone knows about interfaces and/or notation systems written in 
other programming languages which use lilypond as backend? Two examples 
of such interfaces are fomus (https://common-lisp.net/project/fomus/doc/)

and abjad (http://projectabjad.org/).


Not really independent software, but there are three “front-ends” that 
allow including LilyPond code in LaTeX, HTML and Open/LibreOffice documents:


1. lilypond-book 
(http://lilypond.org/doc/v2.19/Documentation/usage/lilypond_002dbook): 
This is distributed with LilyPond, output to LaTeX or HTML.
2. lyluatex (https://ctan.org/pkg/lyluatex or 
https://github.com/jperon/lyluatex): This is for LuaLaTeX. It works 
similar to lilypond-book but is a little bit easier to handle as you 
don’t have to use another program outside LaTeX.
3. OOoLilyPond (http://ooolilypond.sourceforge.net/) for OpenOffice and 
LibreOffice. It might be possible that this is rewritten in the near 
future (see http://lilypond.org/google-summer-of-code.html).


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