Re: fingering

2019-05-06 Thread Robin Bannister

Gianmaria Lari wrote:


But when I finished to enter the fingering, I would definitely prefer
having the fingering instruction separated by the music. Something like
this (NB: it does not work correctly but I hope the idea is clear):

\version "2.21.0"
myMusic = {a4 b c' d'}
myFing = {s4-1 s-2 s-3 s-4}
<<\myMusic \myFing >>



I agree with you about being able to have a separation if you want it.

But I am not sure what does not work correctly for you.


Your example lets lilypond create the contexts automagically,
and this gives you two staves, one for \myMusic and one for \myFing.
You should limit lilypond to one staff by saying
   \new Staff << \myMusic \myFing >>


That looks better, but it is still not equivalent.
Try changing the s-2 to s_2:
the notehead and the fingering collide.
To avoid that you should also limit lilypond to one voice by saying
   \new Staff \new Voice << \myMusic \myFing >>


But the full score may need several voices. Doing it this way means that 
each voice needs not only its own \myMusic but also its own \myFing.

That can get quite fiddly when the music needs changing.


If you use a Dynamics context as Pierre suggested, you will lose the 
vertical aspects of lilyponds fingering: try changing s-2 to s_2 here!
To regain that partly you would need two Dynamics contexts for each 
staff, one above for UP fingerings and one below for DOWN fingerings.




Cheers,
Robin

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


Re: fingering

2019-05-06 Thread Robin Bannister

Gianmaria Lari wrote:



If I'm not wrong to generate the two variables (myMusic and myFing) from
the previous code should not be that difficult.

1 I duplicate the music expression
2 In the variable where I want to put the music I remove the fingering
3 In the variable where I want to put the fingering I remove all the
articulations and I substitute each note occurrence with their octave with
s.

.
.
.

Any comments?


This scenario is incomplete.

There are surely further steps where you do something made possible by 
this separation of myFing.


And maybe not just one but several use cases.
These use cases would demonstrate what aspects of separation are 
important to you.




Cheers,
Robin

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


Re: The "let vibrate" tie

2019-05-14 Thread Robin Bannister

 Vicente Sanches wrote:


Example in the link bellow just in the 1st seconds of the video, in the 4th
and 5th measures:

https://www.youtube.com/watch?v=VEMyj-8I3pw


I would use LSR715 to make the \laissezVibrer starting at the end of the 
fourth stretch all the way through the 5th.

http://lsr.di.unimi.it/LSR/Snippet?id=715


Cheers,
Robin

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


Re: Change right-end placement of VoiceFollower line

2019-05-15 Thread Robin Bannister

DJF wrote:

In the example below, I need the VoiceFollower line from the left hand to go to 
the A half-note in the right hand, not to the quarter rest.


You could replace   r4   with   << s4 \new Voice r4 >>


Cheers,
Robin

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


Re: [Help] How to type the symbol for indicating left/right hand

2022-06-15 Thread Robin Bannister

On 15.06.2022 09:37, xurc wrote:

Hi all,

Is it possible to type this right-angled symbol as seen in the attached image in LilyPond? 




Here is a recent answer to this question:
https://lists.gnu.org/archive/html/lilypond-user/2022-05/msg00449.html


Cheers,
Robin






Re: debug scheme part working with Frescobaldi

2022-07-20 Thread Robin Bannister

Eef Weenink wrote:


I have several lines of scheme, somewhere is probably an syntax error.
The only message I get is form lilypond log:  there is an error in the line # 
begin etcetera.
(that is the first line of the scheme segment).
I want to zoom in, and see what specific problem there is, 


I think it is telling you that it doesn't like the  # begin

It is relying on you to realize that it should be  # (begin


Cheers,
Robin




Re: -dcompile-scheme-code on Windows

2022-11-20 Thread Robin Bannister

On 20.11.2022 13:37, Jean Abou Samra wrote:

I wonder if -dcompile-scheme-code is broken for everyone on Windows
or just for some. (If it's broken for everyone, I'm surprised that
this is only noticed now ...)

Can a few people on Windows please try compiling this and report back:




See attached log.

Cheers,
Robin
GNU LilyPond 2.23.81 (running Guile 2.2)
Processing `1.ly'
Parsing...
1.ly:5:2: error: Guile signaled an error for the expression beginning here
#
 (debug-enable 'backtrace)

In procedure bytevector-u64-set!: Value out of range: -149659645
1.ly:7:2: error: Guile signaled an error for the expression beginning here
#
 (display (+ 2 2))

In procedure bytevector-u64-set!: Value out of range: -149659645
1.ly:8:2: error: Guile signaled an error for the expression beginning here
#
 (use-modules (ice-9 match)

In procedure bytevector-u64-set!: Value out of range: -149659645
Success: compilation successfully completed


Re: -dcompile-scheme-code on Windows

2022-11-20 Thread Robin Bannister

On 20.11.2022 13:56, Jean Abou Samra wrote:


Ah, sorry, the snippet was silly. Please use this one instead:


\version "2.23.81"

#(debug-enable 'backtrace)
#(ly:set-option 'compile-scheme-code)

#(display (+ 2 2))
#(use-modules (ice-9 match)
    (ice-9 hash-table)
    (oop goops))



Says successful, but doesn't look it.


Cheers,
Robin
GNU LilyPond 2.23.81 (running Guile 2.2)
Processing `1.ly'
Parsing...
1.ly:6:2: error: Guile signaled an error for the expression beginning here
#
 (display (+ 2 2))

  16 (apply-smob/1 #)
In 
/home/lily/lilypond-2.23.81/release/binaries/lilypond/build/out/share/lilypond/current/scm/lily/lily.scm:
   876:16 15 (lilypond-main _)
905:4 14 (lilypond-all _)
In srfi/srfi-1.scm:
640:9 13 (for-each # …)
In 
/home/lily/lilypond-2.23.81/release/binaries/lilypond/build/out/share/lilypond/current/scm/lily/lily.scm:
915:9 12 (_ "1.ly")
In ice-9/boot-9.scm:
829:9 11 (catch ly-file-failed # …)
In unknown file:
  10 (ly:parse-file "1.ly")
   9 (apply-smob/1 #)
In system/base/compile.scm:
255:6  8 (compile _ #:from _ #:to _ #:env _ #:opts _)
   183:32  7 (compile-fold _ (display (+ 2 2)) # …)
In language/cps/compile-bytecode.scm:
   591:12  6 (emit-bytecode _ # _)
In system/vm/assembler.scm:
  2614:12  5 (link-assembly #< buf: #u32(2097437 573 0 577 513…> …)
  2587:22  4 (link-objects #< buf: #u32(2097437 573 0 577 513 2…>)
   1857:9  3 (link-dynamic-section #< buf: #u32(2097437 573 0 …> …)
In unknown file:
   2 (bytevector-u64-set! #vu8(0 0 0 0 0 0 0 0 0 0 0 0 0 0 …) …)
In ice-9/boot-9.scm:
   751:25  1 (dispatch-exception 0 out-of-range ("bytevector-u64-…" …))
In unknown file:
   0 (apply-smob/1 # out-of-range "b…" …)
In procedure bytevector-u64-set!: Value out of range: -149659645
1.ly:7:2: error: Guile signaled an error for the expression beginning here
#
 (use-modules (ice-9 match)

  16 (apply-smob/1 #)
In 
/home/lily/lilypond-2.23.81/release/binaries/lilypond/build/out/share/lilypond/current/scm/lily/lily.scm:
   876:16 15 (lilypond-main _)
905:4 14 (lilypond-all _)
In srfi/srfi-1.scm:
640:9 13 (for-each # …)
In 
/home/lily/lilypond-2.23.81/release/binaries/lilypond/build/out/share/lilypond/current/scm/lily/lily.scm:
915:9 12 (_ "1.ly")
In ice-9/boot-9.scm:
829:9 11 (catch ly-file-failed # …)
In unknown file:
  10 (ly:parse-file "1.ly")
   9 (apply-smob/1 #)
In system/base/compile.scm:
255:6  8 (compile _ #:from _ #:to _ #:env _ #:opts _)
   183:32  7 (compile-fold _ (use-modules (ice-9 match) (ice-9 #) #) …)
In language/cps/compile-bytecode.scm:
   591:12  6 (emit-bytecode _ # _)
In system/vm/assembler.scm:
  2614:12  5 (link-assembly #< buf: #u32(3146013 836 0 0 0 1 3…> …)
  2587:22  4 (link-objects #< buf: #u32(3146013 836 0 0 0 1 314…>)
   1857:9  3 (link-dynamic-section #< buf: #u32(3146013 836 0 …> …)
In unknown file:
   2 (bytevector-u64-set! #vu8(0 0 0 0 0 0 0 0 0 0 0 0 0 0 …) …)
In ice-9/boot-9.scm:
   751:25  1 (dispatch-exception 0 out-of-range ("bytevector-u64-…" …))
In unknown file:
   0 (apply-smob/1 # out-of-range "b…" …)
In procedure bytevector-u64-set!: Value out of range: -149659645
Success: compilation successfully completed


Re: Adding text to chord names or note names

2022-11-26 Thread Robin Bannister

On 26.11.2022 00:06, Koen van Walstijn wrote:
Ideally, I would love to be able to do something like this: 

>
> \new ChordNames {    \relative { c1^\markup { \super "6-9" } }}
>
> The text added to the note would get printed above the staff in a
> Staff context but gets ignored by the ChordNames context.



ChordNames ignores BarLines too.
But you probably didn't realize the implications of the snippet
'Adding bar lines to ChordNames context' at
https://lilypond.org/doc/v2.22/Documentation/notation/displaying-chords#customizing-chord-names
It uses \consists to add the appropriate engraver.


You can do that for your case too, like this:

\new ChordNames \with { \consists Text_engraver }
  \relative { c1^\markup { \super "6-9" } }
}

And then read
https://lilypond.org/doc/v2.22/Documentation/notation/modifying-context-plug_002dins
and maybe
https://lsr.di.unimi.it/LSR/Item?id=280


Cheers,
Robin



Re: Error when compiling snippet "Parenthesize a group of notes using a Scheme function"

2022-12-16 Thread Robin Bannister

Kieren MacMillan wrote:

Hi Joseph,

If you use convert-ly on your files, it will update ParenthesesItem to 
Parentheses, which will eliminate the error.



Yes, but:

The LSR snippets don't have a \version statement.
If convert-ly doesn't help, insert the line
\version "2.22.0"
and try again.


Cheers,
Robin





Re: left space in front of the score

2022-12-26 Thread Robin Bannister

   bernhard kleine wrote:

Hello,

I am working on the space frescobaldi plus Lilypond put infront of the
score for long instrument names. There is only a small space after the
first score when names are repeated, too small to match the instrument
names which aligned to the right reach the physical border and go over it.

How is it possible to have more space to the left of the score?



The general answer to that is to increase the left margin.
https://lilypond.org/doc/v2.24/Documentation/notation/horizontal-spacing-paper-variables#paper-variables-for-widths-and-margins

But there are two standard ways specific to instrument naming:


One way is to use abbreviated names further down.
What you call 'long instrument names', LilyPond calls 'instrumentName'.
LilyPond also provides 'shortInstrumentName', for further down.
https://lilypond.org/doc/v2.24/Documentation/notation/writing-parts#instrument-names

You can also use the second way, which provides more room on the left.
https://lilypond.org/doc/v2.24/Documentation/notation/horizontal-spacing-paper-variables#paper-variables-for-shifts-and-indents


Cheers,
Robin



Re: chord placement in Scores

2023-02-07 Thread Robin Bannister

Jeff Kopmanis wrote:

I've found that when I put chords in my score, it's printing them *below* the
staff rather than above, as usual.  Things are normal if I'm not building a
score, but I'm wondering why this is happening. 


Well, I'm not sure.
But, to be clear, I see this happening only on the "Bass" line.

If you swap "Guitar" and "Bass", it happens only with "Guitar".
So it is happening when "Bass" is at the bottom.

Well it isn't really at the bottom, because "Drum Set" is declared last.
If you make the drum line last as long as everything else
(by appending  s2. s1*85  to drumSetMusic)
then "Drum Set" is always at the bottom.
With that configuration, the "Bass" chords drop down onto the drum line.


To keep the chords and the music together, try the following:
  - introduce the Bass line with\new StaffGroup
  - introduce \bassGuitarMusic with\new Staff


That you got strange layout rather than an error message was probably 
thanks to automagic trying to cope.



Cheers,
Robin




Re: Message size limit

2023-03-04 Thread Robin Bannister

Jean Abou Samra wrote:

Hi,

We've been informed that the size of messages to this list containing large 
attachments is occasionally clogging up the GNU list server's mail delivery 
queue, causing distribution delays (not just for this list, but for everyone on 
the hundreds of other gnu.org lists).

To avoid this, your friendly list admins have configured a max message size of 512KB. 


Is there any specific advice for users taking screenshots?

Especially inline ones: those get copied when quoted, cf 2021-09.


Cheers,
Robin



Re: Message size limit

2023-03-04 Thread Robin Bannister

Jean Abou Samra wrote:

Le samedi 04 mars 2023 à 16:45 +0100, Robin Bannister a écrit :



Is there any specific advice for users taking screenshots?


Not sure I understand the question. Why would they differ from other kinds of 
attachments?


If you are attaching a code file, you probably have some idea of its 
size, without checking.  Maybe it involved your time and effort.


But screenshots are easy to create and their huge size may not be 
immediately obvious.  A lot of LilyPond people might be thankful for 
friendly tips on coping with their oversize cases.





Especially inline ones: those get copied when quoted, cf 2021-09.


What are you referring to precisely? There are lots of messages in the list 
archives for September 2021.



The average mbox size is around 10MB; that one is 75MB.

https://lists.gnu.org/archive/html/lilypond-user/2021-09/msg00013.html
This thread has .png of around 100KB, 8 instances original and 8 quoted.

https://lists.gnu.org/archive/html/lilypond-user/2021-09/msg00147.html
This thread has one original .jpg instance of nearly 6MB (+ apology).
The 6 quoted instances bring this short thread up to ca. 40MB.


Cheers,
Robin







Re: -dgui option dropped in 2.24 - how to stop the black box on Windows now?

2023-04-02 Thread Robin Bannister

Richard Shann wrote:

There was an option -dgui which allowed Denemo to run LilyPond in the
background on Windows, but this has vanished without, as far as I can
see, any entry in the Changes to account for it



See 
https://gitlab.com/lilypond/lilypond/-/commit/0a7d54646be5566de53e2f7dd0c19a2c1df92156?merge_request_iid=1373



Cheers,
Robin



Re: movement in markups like TeX's `em` and `ex` units

2023-04-07 Thread Robin Bannister

Werner LEMBERG wrote:

```
Emaj = \markup { E \raise #1 maj }

\markup \Emaj

\markup \fontsize #10 \Emaj
```

As can be seen, `\raise #1` is not the right value in the second case. 



We have  \translate-scaled #'(0 . 1)  for doing that.
A simple-minded mouthful.


Cheers,
Robin



Re: Separate dynamics from notes

2023-04-27 Thread Robin Bannister

Gianmaria Lari wrote:


This thing always seemed so inconvenient to me that I thought it was
practically unusable. Or that there was some trick to maybe have
Frescobaldi tell me the "position" of the note (meant as numbers of quarter
or eight notes from the beginning). 


Here is a primitive include file for you to play around with.

When hovering with the mouse
 - over a notehead
 - over a barline (inside a staff)
it shows such a position as (an inconvenient) fraction.


Cheers,
Robin
% 2020-11-11 mouseover shows moments of noteheads/barlines (not span; not startbar) 
% updated to \version "2.24.0"

%schemeIndentOn

#(define (url-when fmt) ; cf LSR865
  (lambda (grob)
(let* (
  (url-strg (format #f fmt (grob::when grob) (grob::rhythmic-location grob)))
  (stil (ly:grob-property grob 'stencil)))
  (if (ly:stencil? stil)
(let* ((x-ext (ly:stencil-extent stil X))
  (y-ext (ly:stencil-extent stil Y))
  ;; For < 2.22.0 use:
  ;; (url-expr `(url-link ,url-strg ',x-ext ',y-ext))
  (url-expr `(url-link ,url-strg ,x-ext ,y-ext))
  (new-stil 
(ly:stencil-add
  (ly:make-stencil url-expr x-ext y-ext) 
  stil)))
  (ly:grob-set-property! grob 'stencil new-stil))
%   
%schemeIndentOff

\pointAndClickOff

\layout {
  \override Staff.BarLine.before-line-breaking = #(url-when "BL: ~a ~a") 
  \override  NoteHead.before-line-breaking = #(url-when "NH: ~a") 
}



Re: Separate dynamics from notes

2023-04-28 Thread Robin Bannister

Gianmaria Lari wrote:


Your code works well but it doesn't solve the problem because it returns
the "absolute" location of the notes while on the other hand in the
variable where you write the dynamic you use a relative location. 



That's why I said primitive.

One way to extend it, would be:
 - set it up to act like point+click does
 - but with its own protocol, going to a logger
 - which logs the differences

You would start a new trace by multiple-clicking (for zeros)
at e.g. a preceding rehearsal mark.

And you may need to keep tuplet accounting separate.



Cheers,
Robin



Re: Adjusting layout to bigger notes

2023-05-23 Thread Robin Bannister

Jakob Pedersen  wrote:


I'm getting a warning: set-global-staff-size: not in toplevel scope
error when compiling. That's with the size set in the top-level doc
layout block. 


Move it out of the layout block.

It shouldn't be inside anything else like that; just by itself.


Cheers,
Robin



Re: Changing accidental size and alignment in chord symbols

2023-05-27 Thread Robin Bannister

Lib Lists wrote:


Replying to myself, as it might help someone else to give me some hints.
I made some progresses following the LSR example here:
https://lsr.di.unimi.it/LSR/Item?id=1057.

.
.
.



Here a MWE:

\version "2.25.5"
\chords {
  aes2 cis
}

Specifically, I'd like to have all the flats smaller, and the sharps
smaller and horizontally center-aligned with the root note name.



You got no hints from me because your MWE uses chordmode entry.

Now with LSR1057 you are abandoning chordmode entry.
Your chords will not be transposable.


Ten years ago I tried to squash up chordmode output horizontally.
The attached shows what I had to do using version 2.16.
I abandoned that attempt, but kept the example.
You can convert the code to 2.24, but the spacing isn't conserved.


I'm not the only one who has tried this sort of customisation.


Cheers,
Robin




\version "2.16.0"

% \include "cin.ily" inlined
% out of chord-Ignatzek-names.scm, chord-name.scm and other stuff as needed
%  - toplevel ;; comment removed 
%  - prefixed toplevel (defines with #
%  - renamed all define-safe-public to define-public

% modified renamed i-c-n for nestling: base-stuff aligned after: -super +root
% modified alteration->text-accidental-markup for accidentals smaller and higher
% 
% N.B. redefine slashChordSeparator, chordNoteNamer etc. for nestling below root and super
%schemeIndentOn

%%
% from markup.scm

#(define (markup-join markups sep)
  "Return line-markup of MARKUPS, joining them with markup SEP"
  (if (pair? markups)
(make-line-markup (list-insert-separator markups sep))
empty-markup))


%%
% from lily-library.scm 
#(define (split-at-predicate pred lst)
"Split LST into two lists at the first element that returns #f for
(PRED previous_element element).  Return the two parts as a pair.
Example: (split-at-predicate < '(1 2 3 2 1)) ==> ((1 2 3) . (2 1))"
(if (null? lst)
  (list lst)
  (let ((i (list-index (lambda (x y) (not (pred x y)))
lst
(cdr lst
(if i
  (cons (take lst (1+ i)) (drop lst (1+ i)))
  (list lst)


%%
% from chord-generic-names.scm 

#(define (conditional-kern-before markup bool amount)
  "Add AMOUNT of space before MARKUP if BOOL is true."
  (if bool
(make-line-markup
  (list (make-hspace-markup amount)
markup))
markup))


%%
% from chord-name.scm 


#(define (natural-chord-alteration p)
  "Return the natural alteration for step P."
  (if (= (ly:pitch-steps p) 6)
FLAT
0))

#(define (conditional-string-downcase str condition)
  (if condition
(string-downcase str)
str))

#(define-public (alteration->text-accidental-markup alteration)
  
  (make-fontsize-markup (if (= alteration SHARP) -3 -1.5)
(make-raise-markup
  (if (= alteration FLAT)
0.9
1.5)
  (make-musicglyph-markup
(assoc-get alteration standard-alteration-glyph-name-alist "")

#(define (accidental->markup alteration)
  "Return accidental markup for ALTERATION."
  (if (= alteration 0)
(make-line-markup (list empty-markup))
(conditional-kern-before
  (alteration->text-accidental-markup alteration)
  (= alteration FLAT) 0.2)))

#(define (accidental->markup-italian alteration)
  "Return accidental markup for ALTERATION, for use after an italian chord root name."
  (if (= alteration 0)
(make-hspace-markup 0.2)
(make-line-markup
  (list
(make-hspace-markup (if (= alteration FLAT) 0.7 0.5))
(make-raise-markup 0.7 (alteration->text-accidental-markup alteration))
(make-hspace-markup (if (= alteration SHARP) 0.2 0.1))


#(define-public (note-name->markup pitch lowercase?)
  "Return pitch markup for @var{pitch}."
  (make-line-markup
(list
  (make-simple-markup
(conditional-string-downcase
  (vector-ref #("C" "D" "E" "F" "G" "A" "B") (ly:pitch-notename pitch))
  lowercase?))
  (accidental->markup (ly:pitch-alteration pitch)

#(define (pitch-alteration-semitones pitch)
  (inexact->exact (round (* (ly:pitch-alteration pitch) 2

#(define-public ((chord-name->german-markup B-instead-of-Bb)
  pitch lowercase?)
  "Return pitch markup for PITCH, using german note names.
  If B-instead-of-Bb is set to #t real german names are returned.
  Otherwise semi-german names (with Bb and below keeping the british names)
  "
  (let* ((name (ly:pitch-notename pitch))
(alt-semitones  (pitch-alteration-semitones pitch))
(n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -2)))
  (cons 7 (+ (if B-instead-of-Bb 1 0) alt-semitones))
  (cons name alt-semitones
(make-line-markup
  (list
(make-simple-markup
  (conditional-string-downcase
(vector-ref #("C" "D" "E" "F" "G" "A" "H" "B") (car n-a))
   

Re: Custom text in repeats

2023-05-30 Thread Robin Bannister

Jakob Pedersen wrote:


Is there any way to force lilypond to assume that it's simply text


voltatekst = \markup \text { Efter sidste vers. }


Cheers,
Robin



Re: Adjusting length of final line

2023-06-20 Thread Robin Bannister

Dave Shield wrote:


 How can I get the general
spacing of the last line to be similar to the other lines in the
following example?  (i.e. roughly half the width of the page).



Previously I would have, after \halfscale, added
\stopStaff s16*20
where you adjust the 20 to taste.
But this adjustment factor is nonlinear making it difficult to readjust.


Nowadays I would probably use LSR1098 and, before \halfscale, add
\pseudoIndents 0 53
Its adjustment factor (here 53) is very stable and precise.

Instead of scraping pseudoIndent.ily off the LSR, you can find one at
https://lists.gnu.org/archive/html/lilypond-user/2022-03/msg00224.html


Cheers,
Robin





Re: Need help displaying note names in 2.22

2023-08-06 Thread Robin Bannister

David Kastrup wrote:


Note names have changed to use ♯ and ♭ characters, so you need to look
up "c♯" instead of "cis".


I got no hits that way.

An alternative is to add
   printAccidentalNames = #'lily
to the NoteNames \with.



And if I change the "es" lookup key to the more canonical "ees" it finds 
the corresponding markup instead of returning the errored #f.




Cheers,
Robin



Re: 2.22.2 and 2.24.2

2023-09-09 Thread Robin Bannister

Jean Abou Samra wrote:


In short, the folder is "created" by unpacking the zip archive that you
downloaded.



On my win7:
 - I download the zip for 2.23.80 and put it in folder test_
 - Looking in this folder, I can then see test_a.png
 - When I double-click on the .zip file, I then see test_b.png

The config qualifier is dropped from the folder name.


Cheers,
Robin


Re: Two small issues

2023-11-02 Thread Robin Bannister

Peter Mayes wrote:


I have since learned about silent notes, and I get almost what I want if
I add a silent note after the advisory key change. But then the bar
lengths are altered. To put the two result together:

Ideally what I want is the first version, but with the stave extending
just enough to go through the key signature.



I take it that your silent note moved things around too much.

The shortest thing you can add is a grace note.  This will also move 
things, but not nearly as much.  Try adding just


%%
\grace s1
%%

Lilypond accepts this, but leaves a complaint in the log.
You probably have to ignore that complaint for now.

See https://gitlab.com/lilypond/lilypond/-/issues/3851
which refers to grace-end-2.ly
which 64bit versions no longer have.


Cheers,
Robin



Re: left alignment of text lines and musical notes

2023-11-05 Thread Robin Bannister

Ad Rommel wrote:

Is it possible to left align both musical notes and text?


Well, both of your examples _are_ left-aligned.


If you don't like the way the short line is stretched,
look up ragged-right in Notation Reference 4.1.5.


Your code example
 - errors (mysize undefined)
 - does not correspond to your images (global-staff-size?)


Cheers,
Robin





Re: Cent rit between staves

2023-11-09 Thread Robin Bannister

Will Turner wrote:
Thank you. I've been using Lilypond for only a couple weeks. 


This automatic conversion will give you the wrong impression about how 
readable Lilypond code can be.




I thi[nk] this is

the text I should insert:
\new Dynamics{
s93-"rit." |
}


But this code will start the rit when the s93 starts.
To start the rit when the s93 has finished, insert an empty chord
   { s93 <>-"rit." }




The rit. needs to go in the piano staves on measure 94, but I don't know
where to place the code.


Insert it in the PianoStaff code after Staff1 and before Staff2.
This gets it placed vertically between Staff1 and Staff2.
For readabilty, give it its own code line.


Cheers,
Robin







Re: Is there a simple way to append markup to a chordname in chordmode?

2023-11-12 Thread Robin Bannister

Kevin Cole wrote:



I would like to use F. Bb and Am as the "real" chords and append "(C)",
"(F)" and "(Em)" as text. 


This may help:
https://lists.gnu.org/archive/html/lilypond-user/2022-11/msg00416.html


Cheers,
Robin



Re: LilyPond 2.25.10 with Guile 3.0

2023-11-12 Thread Robin Bannister

Jonas Hahnfeld wrote:

On Sat, 2023-11-11 at 19:37 +0100, Jonas Hahnfeld wrote:

We are happy to announce the release of LilyPond 2.25.10.


And here are the binaries with Guile 3.0, built using
https://gitlab.com/lilypond/lilypond/-/merge_requests/2163 and
https://gitlab.com/lilypond/lilypond/-/merge_requests/2170 :
https://gitlab.com/lilypond/lilypond/-/packages/20197593

If you have some time, please test them in your setups and report back
in case of problems!



If I take the code of LSR1098 [1] , without the demo part,
Guile3 errors the input-warning call:

GNU LilyPond 2.25.10 (running Guile 3.0)
Processing `1.ly'
Parsing...
1.ly:38:2: error: Guile signaled an error for the expression beginning here
#
 (define-music-function (name-tweaks left-indent right-indent)

Syntax error:
1.ly:40:64: _: bad use of '_' syntactic keyword in subform (_ " 
pseudoIndents ~s ~s is stretching staff; expect distorted layout") of (_ 
" pseudoIndents ~s ~s is stretching staff; expect distorted layout")

1.ly:1: warning: no \version statement found, please add

\version "2.25.10"

for future compatibility
fatal error: failed files: "1.ly"


If I include the rest of the file, I get a lot more errors.


[1] https://lsr.di.unimi.it/LSR/Item?id=1098


Cheers,
Robin



Re: Stand indents on the left and right.

2023-11-25 Thread Robin Bannister

Виноградов Юрий wrote:

Hello. There is one snippet that allows any stan to minimize left and right.
Here is the link: https://lsr.di.unimi.it/LSR/Item?id=1098
There is a very large block of code written there to be able to use these 
settings.
My question. Is it possible to make this code shrink? Or maybe there is a
possibility to do it with other settings?



There are two debugging code lines that you can omit.  That's all.

Note that you need only the two code blocks starting with
pseudoIndents =   andpseudoIndent =.

If that is still too large, put that code in an include file
e.g. pseudoIndent.ily.



Or do it like LSR966.
Start each line as a newly indented Score.
Shift it left using NonMusicalPaperColumn.line-break-system-details.

Or maybe retry the original hack:
https://lists.gnu.org/archive/html/lilypond-user/2019-07/msg00135.html
It could be less fragile wrt. Y positioning since 2.23.0.


Cheers,
Robin






Re: Stand indents on the left and right.

2023-11-26 Thread Robin Bannister

Виноградов Юрий wrote:

Please specify exactly what part of the code I need. 


The attached file is suitable for this.

You can copy it to beside your current code file,
or keep it in a different folder for future use.
See 
https://lilypond.org/doc/v2.24/Documentation/notation/including-lilypond-files


Then near the beginning of your current code, write:
\include "pseudoIndent.ily"


Cheers,
Robin
 PSEUDOINDENT FUNCTIONS 

% these two functions are for indenting individual systems
% - to left-indent a system, apply \pseudoIndent before the music continues
% - \pseudoIndents is similar, but lets you also indent on the right
% - both provide an option for changing that system's instrument names

% N.B. these functions 
% - assume application to non-ragged lines (generally the default)
% - include a manual \break to ensure application at line start 
% - misbehave if called more than once at the same line start

% the parameters of the (full) pseudoIndents function are:
% 1: name-tweaks
%  usually omitted; accepts replacement \markup for instrument names 
%  as an ordered list; starred elements leave their i-names unchanged.
% 2: left-indent 
%  additional left-indentation, in staff-space units; can be negative, 
%  but avoid a total indentation which implies (unsupported) stretching. 
% 3: right-indent 
%  amount of right-indentation, in staff-space units; can be negative. 
%  - not offered by the (reduced) pseudoIndent function


pseudoIndents = % inline alternative to a new \score, also with right-indent
#(define-music-function (name-tweaks left-indent right-indent) 
  ((markup-list? '()) number? number?)
  (define (warn-stretched p1 p2) (ly:input-warning (*location*) (G_
" pseudoIndents ~s ~s is stretching staff; expect distorted layout") p1 p2))
  (let* ( 
(narrowing (+ left-indent right-indent)) ; of staff implied by args

(set-staffsymbol! (lambda (staffsymbol-grob) ; change staff to new width 
  (let* (
(left-bound (ly:spanner-bound staffsymbol-grob LEFT))
(left-moment (ly:grob-property left-bound 'when))
(capo? (moment<=? left-moment ZERO-MOMENT)) ; in first system of score
(layout (ly:grob-layout staffsymbol-grob))
(lw (ly:output-def-lookup layout 'line-width)) ; debugging info
(indent (ly:output-def-lookup layout (if capo? 'indent 'short-indent)))
(old-stil (ly:staff-symbol::print staffsymbol-grob))
(staffsymbol-x-ext (ly:stencil-extent old-stil X))
;; >=2.19.16's first system has old-stil already narrowed [2]
;; compensate for this (ie being not pristine) when calculating 
;; - old leftmost-x (its value is needed when setting so-called 'width) 
;; - the new width and position (via local variable narrowing_) 
(ss-t (ly:staff-symbol-line-thickness staffsymbol-grob))
(pristine? (<= 0 (car staffsymbol-x-ext) ss-t)) ; would expect half
(leftmost-x (+ indent (if pristine? 0 narrowing))) 
(narrowing_ (if pristine? narrowing 0)) ; uses 0 if already narrowed
(old-width (+ (interval-length staffsymbol-x-ext) ss-t))
(new-width (- old-width narrowing_))
(new-rightmost-x (+ leftmost-x new-width)) ; and set! this immediately
(junk (ly:grob-set-property! staffsymbol-grob 'width new-rightmost-x))
(in-situ-stil (ly:staff-symbol::print staffsymbol-grob))
(new-stil (ly:stencil-translate-axis in-situ-stil narrowing_ X))
   ;(new-stil (stencil-with-color new-stil red)) ; for when debugging
(new-x-ext (ly:stencil-extent new-stil X)))
  (ly:grob-set-property! staffsymbol-grob 'stencil new-stil)
  (ly:grob-set-property! staffsymbol-grob 'X-extent new-x-ext)
  )))

(set-X-offset! (lambda (margin-grob) ; move grob across to line start 
  (let* (
(old (ly:grob-property-data margin-grob 'X-offset)) 
(new (lambda (grob) (+ (if (procedure? old) (old grob) old) narrowing
  (ly:grob-set-property! margin-grob 'X-offset new

(tweak-text! (lambda (i-name-grob mkup) ; tweak both instrumentname texts   
  (if (and (markup? mkup) (not (string=? (markup->string mkup) "*")))
  (begin 
(ly:grob-set-property! i-name-grob 'long-text mkup)
(ly:grob-set-property! i-name-grob 'text mkup)
 ; else retain existing text 

(install-narrowing (lambda (leftedge-grob) ; on staves, + adapt left margin
  (define (grob-name x) (assq-ref (ly:grob-property x 'meta) 'name))
  (let* (
(sys (ly:grob-system leftedge-grob))
(all-grobs (ly:grob-array->list (ly:grob-object sys 'all-elements)))
(grobs-named (lambda (name)
  (filter (lambda (x) (eq? name (grob-name x))) all-grobs)))
(first-leftedge-grob (list-ref (grobs-named 'LeftEdge) 0))
(relsys-x-of (lambda (g) (ly:grob-relative-coordinate g sys X)))
(leftedge-x (relsys-x-

Re: Fw: I wrote a MIDI to Lily front end; also questions about video

2023-12-07 Thread Robin Bannister

Karlin High wrote:


FluidSynth can do it. I use VLC Player which I think contains it.

Prior post explains:





My contribution to that thread is outdated:
  midi returned to VLC with version 3.0.8


Cheers,
Robin



Re: Changes to Notename - lost some functionality

2023-12-13 Thread Robin Bannister

Stefano Antonelli wrote:



A good place to start is a minimum working example.  I can't help debug
this, but I put together a minimum working example that shows the
problem.  Maybe someone with better scheme can spot the problem.

With liilypond v2.20 there is no issue.  With lilypond v2.23.3

Preprocessing graphical objects...
programming error: Trying to interpret a non-markup object: #f
continuing, cross fingers
programming error: Trying to interpret a non-markup object: #f
continuing, cross fingers
programming error: Trying to interpret a non-markup object: #f
continuing, cross fingers
programming error: Trying to interpret a non-markup object: #f
continuing, cross fingers
Finding the ideal number of pages...

newnames =
#`(
   ("c" . "cee")
   ("d" . "dee")
   ("e" . "eee")
   ("f" . "fff")
)



With lilypond v2.20 there is no issue.
With lilypond v2.21.1, the names are missing
(and the 4 errors are reported differently)


warning: no \version statement found, please add
\version "2.21.1"
for future compatibility
Interpreting music...
Preprocessing graphical objects...
programming error: Object is not a markup.
continuing, cross fingers
programming error: Object is not a markup.
continuing, cross fingers
programming error: Object is not a markup.
continuing, cross fingers
programming error: Object is not a markup.
continuing, cross fingers
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `./tmp-lilypond-UX8ggy'...
Converting to `2.pdf'...
Deleting `./tmp-lilypond-UX8ggy'...
This object should be a markup: #f
This object should be a markup: #f
This object should be a markup: #f
This object should be a markup: #f
Success: compilation successfully completed


Cheers,
Robin





Re: fony-size chord wiyh bass chord

2024-01-14 Thread Robin Bannister

achar wrote:


I would like to be able to change only the size of the bass in a bass
chord, for example G in the F/G chord.

And possibly be able to move it down and to the right of the agreement name.



Add the attached layout section and adjust the numbers.


Cheers,
Robin
\layout{ 
  \context { \ChordNames 
slashChordSeparator = % is only a dividing line;
#(make-with-dimensions-markup (cons 0 0) (cons 0 0) ;; displaces nothing
(make-translate-markup  (cons -1 -1.5) ;; just clear of root-stuff base
(make-rotate-markup -45 "/"))) % roughly perp to bass/root axis 
chordNoteNamer = #(lambda (p l?)
(make-lower-markup 2.0 ;; not too cramped but still belonging graphically
(make-small-markup ;; as qualifier is subordinate to root name 
(note-name->markup p l?
  }
}


Re: performance marks

2024-01-31 Thread Robin Bannister

Stan Sanderson wrote:
Certain marks are used to indicate emphasis (phrase breaking) and across-staff fingering. 



I don't know about the phrase breaking, but you could try doing the 
across-staff fingering with my undocumented code, called thumbBracket.


Look at the Reger 17 and 60 examples in the demo.

The .ily file provides the \thumbBracket funtion which the demo file 
abbreviates to \thBr.  You call this with a string parameter which 
starts with the letter R or L, for right or left.  You can then append a 
digit to make the stem longer.


The attached files are updated versions which need 2.24 and should be ok 
with Guile3.



Cheers,
Robin





\version "2.24.0"

% compatibility changes: u15k0830 u23k0114

%% +thumb bracket

#(define (make-thumb-bracket-props location spec-str settings-alist) 
  (define (inchar? index) (> (string-length spec-str) index))
  (define (inchar  index) (string-ref spec-str index))
  (define (char->dir ch) 
   (case (char-upcase ch) ((#\R) 1) ((#\L) -1) (else 0))) 
  (define (char->digit ch)
   (if (char-numeric? ch) (- (char->integer ch) (char->integer #\0)) 0))
  (define (inhit->1 key-str) (if (string-contains spec-str key-str) 1 0))
  (define (get key) (assq-ref settings-alist key))
  (define (warn p1 p2) (ly:input-warning location 
   (G_ " bad thumb-bracket:   ~a ~a~a~a") p1 "\"" p2 "\"")) ; cf 
  (let* ( ;% decode spec 
(vdir(if (inchar? 0) (char->dir   (inchar 0)) 0))
(vbigger  (* 0.5 (if (inchar? 1) (char->digit (inchar 1)) 0)))
(vfurther (* 0.5 (if (inchar? 2) (char->digit (inchar 2)) 0)))
(hcloser  (* 0.5 (if (inchar? 3) (char->digit (inchar 3)) 0)))
(hrear(* 0.5 (if (inchar? 4) (char->digit (inchar 4)) 0)))
(vbigger+ (* 5 (string-count spec-str #\|)))
(posdir   ((if (string-contains spec-str "*") - +) vdir))
(hcloser? (eq? (string-contains spec-str "!") #f))
(vtip=?   (string-contains spec-str "="))
(hdir-req (- (inhit->1 "]") (inhit->1 "[")))
(closed? (char-lower-case? (inchar 0
   (if (zero? vdir) (begin (warn "first char in" spec-str) '())
   (let* ( ;% collect settings
(hdir-init (get 'hdir-init))   (htip (get 'htip)) 
(vtip (get (if vtip=? 'vtip= 'vtip)))  
(vstem (get 'vstem))   (vmin (get 'vmin))   (hvernier (get 'hvernier))
(vO 0) (hO 0) (hpad-base 0.5) ;% givens
(hdir (if (zero? hdir-req) hdir-init hdir-req))
(hflip? (positive? hdir))
(h-interval 
 (if (positive? hdir) (cons hO (+ htip hrear)) (cons (- hrear) htip)))
(vsize (+ vtip (if closed? vtip vstem) vbigger vbigger+))
(vsize+ (if (and closed? (< vsize vmin)) (- vmin vsize) 0))
(vshift (+ vfurther vtip (* 0.5 vsize+)))
(bracket (lambda (grob) (let* ( ;% collect chord range from grob
  (vnote-lo-hi (ly:grob-property grob 'positions))
  (vnote ((if (eq? posdir 1) cdr car) vnote-lo-hi)))
 (grob-interpret-markup grob (markup #:translate (cons 
((if (positive? hdir) - +) hvernier) (- vnote (* vdir vshift)))
   #:combine #:draw-line (cons htip vO) #:combine 
#:translate (cons hO (if closed? (* vdir (+ vsize vsize+)) vO))
 #:draw-line (cons htip vO)
#:translate (cons (if (positive? hdir) htip hO) vO)
 #:draw-line (cons hO (* vdir (+ vsize vsize+)
;% alist of props for misusing Arpeggio as a thumb bracket
`((stencil . ,bracket) 
  (X-extent . ,h-interval) 
  (padding . ,((if hcloser? - +) hpad-base hcloser)) 
  (direction . ,hdir) 
  (thickness . ,(get 'weight)))

thumbBracketEx = #(define-music-function 
  (spec settings) (string? list?)
 (let* (
   (props (make-thumb-bracket-props (*location*) spec settings)))
   (define (get key) (assq-ref props key))
  (if (null? props) #{ #} ;% abort without bracket
   #{
 \once \override Arpeggio.stencil   = #(get 'stencil)
 \once \override Arpeggio.X-extent  = #(get 'X-extent)
 \once \override Arpeggio.padding   = #(get 'padding)
 \once \override Arpeggio.direction = #(get 'direction) 
 \once \override Arpeggio.thickness = #(get 'thickness)
 $(make-music 'EventChord 'elements (list (make-music 'ArpeggioEvent)))
   #})))

thumbBracket = #(define-music-function (spec) (string?)
 (let ((settings thumbBracketSettings)) ;% as Defaults, or user defined
#{ \thumbBracketEx $spec $settings #}))

thumbBracketDefaults = #(quasiquote( 
  (hdir-init . ,LEFT) ;% usual placement wrt note: on RIGHT or LEFT
  (weight. 1.5  ) ;% line thickness
  (htip  . 0.8  ) ;% horizontal length of bracket tip
  (vtip  . 0.75 ) ;% usual vertical overlap beyond notehead centre 
  (vtip= . 0.30 ) ;% alternative vertical overlap 
  (vstem . 1.25 ) ;% length of an unextended open bracket (excl. tip)
  (vmin  . 0.6  ) ;% minimum length of a closed bracket
  (hvernier  . 0.2  ) ;% horizontal quasi-extra-offset
  ))

thumbBracketSettin

Re: LilyPond 2.25.14

2024-03-23 Thread Robin Bannister

Jonas Hahnfeld via LilyPond user discussion wrote:


Windows build with Guile JIT: https://cloud.hahnjo.de/s/Ek5x9rybpiPNtoj
This turns on just-in-time compilation that was added in Guile 3.0, but
we had to keep disabled on Windows until now. Please test, especially
on larger scores where this should provide a performance advantage.




GNU LilyPond 2.25.14 (running Guile 3.0)
Processing `3.ly'
Parsing...
Interpreting music...
Interpreting music...[8][16][24][32][40][48][56][64][72][80][88][96][104]
Preprocessing graphical objects...
MIDI output to `3.mid'...
Finding the ideal number of pages...
Fitting music on 3 or 4 pages...
Drawing systems...
Converting to `3.pdf'...
Success: compilation successfully completed


No problem here on Win7, but I have nothing large.
  N.B. the log doesn't mention JIT mode.


Cheers,
Robin



Re: Delayed turns etc

2024-04-17 Thread Robin Bannister

Peter Mayes wrote:

On 16/04/2024 23:33, Knute Snortum wrote:


3. How to stop the second line being justified out to the right?
In the fuller score, something like this is followed by a page
break and more music, but there is a natural break at this double
bar, and it looks very "stretched out". I tried various "ragged"
keywords, but none of them just operated on the one line.


Is this not what you want?

\paper {
  ragged-last = ##t
}

That works for the last line of the whole score. The line I want to be
"ragged" is the last line of a page. with more music on the next page.



A similar question last year got several answers:
https://lists.gnu.org/archive/html/lilypond-user/2023-06/msg00148.html

If you want to try pseudoIndent, I have appended the latest version.


Cheers,
Robin
 PSEUDOINDENT FUNCTIONS 

% these two functions are for indenting individual systems
% - to left-indent a system, apply \pseudoIndent before the music continues
% - \pseudoIndents is similar, but lets you also indent on the right
% - both provide an option for changing that system's instrument names

% N.B. these functions 
% - assume application to non-ragged lines (generally the default)
% - include a manual \break to ensure application at line start 
% - misbehave if called more than once at the same line start

% the parameters of the (full) pseudoIndents function are:
% 1: name-tweaks
%  usually omitted; accepts replacement \markup for instrument names 
%  as an ordered list; starred elements leave their i-names unchanged.
% 2: left-indent 
%  additional left-indentation, in staff-space units; can be negative, 
%  but avoid a total indentation which implies (unsupported) stretching. 
% 3: right-indent 
%  amount of right-indentation, in staff-space units; can be negative. 
%  - not offered by the (reduced) pseudoIndent function


pseudoIndents = % inline alternative to a new \score, also with right-indent
#(define-music-function (name-tweaks left-indent right-indent) 
  ((markup-list? '()) number? number?)
  (define (warn-stretched p1 p2) (ly:input-warning (*location*) (G_
" pseudoIndents ~s ~s is stretching staff; expect distorted layout") p1 p2))
  (let* ( 
(narrowing (+ left-indent right-indent)) ; of staff implied by args

(set-staffsymbol! (lambda (staffsymbol-grob) ; change staff to new width 
  (let* (
(left-bound (ly:spanner-bound staffsymbol-grob LEFT))
(left-moment (ly:grob-property left-bound 'when))
(capo? (moment<=? left-moment ZERO-MOMENT)) ; in first system of score
(layout (ly:grob-layout staffsymbol-grob))
(lw (ly:output-def-lookup layout 'line-width)) ; debugging info
(indent (ly:output-def-lookup layout (if capo? 'indent 'short-indent)))
(old-stil (ly:staff-symbol::print staffsymbol-grob))
(staffsymbol-x-ext (ly:stencil-extent old-stil X))
;; >=2.19.16's first system has old-stil already narrowed [2]
;; compensate for this (ie being not pristine) when calculating 
;; - old leftmost-x (its value is needed when setting so-called 'width) 
;; - the new width and position (via local variable narrowing_) 
(ss-t (ly:staff-symbol-line-thickness staffsymbol-grob))
(pristine? (<= 0 (car staffsymbol-x-ext) ss-t)) ; would expect half
(leftmost-x (+ indent (if pristine? 0 narrowing))) 
(narrowing_ (if pristine? narrowing 0)) ; uses 0 if already narrowed
(old-width (+ (interval-length staffsymbol-x-ext) ss-t))
(new-width (- old-width narrowing_))
(new-rightmost-x (+ leftmost-x new-width)) ; and set! this immediately
(junk (ly:grob-set-property! staffsymbol-grob 'width new-rightmost-x))
(in-situ-stil (ly:staff-symbol::print staffsymbol-grob))
(new-stil (ly:stencil-translate-axis in-situ-stil narrowing_ X))
   ;(new-stil (stencil-with-color new-stil red)) ; for when debugging
(new-x-ext (ly:stencil-extent new-stil X)))
  (ly:grob-set-property! staffsymbol-grob 'stencil new-stil)
  (ly:grob-set-property! staffsymbol-grob 'X-extent new-x-ext)
  )))

(set-X-offset! (lambda (margin-grob) ; move grob across to line start 
  (let* (
(old (ly:grob-property-data margin-grob 'X-offset)) 
(new (lambda (grob) (+ (if (procedure? old) (old grob) old) narrowing
  (ly:grob-set-property! margin-grob 'X-offset new

(tweak-text! (lambda (i-name-grob mkup) ; tweak both instrumentname texts   
  (if (and (markup? mkup) (not (string=? (markup->string mkup) "*")))
  (begin 
(ly:grob-set-property! i-name-grob 'long-text mkup)
(ly:grob-set-property! i-name-grob 'text mkup)
 ; else retain existing text 

(install-narrowing (lambda (leftedge-grob) ; on staves, + adapt left margin
  (define (grob-name x) (assq-ref (ly:grob-property x 'meta) 'name))

Re: explicit arpeggio

2024-04-26 Thread Robin Bannister

 Robert Garrigos wrote:



I don’t find a way to do this kind of explicit arpeggio (piano):




This is covered at
https://lilypond.org/doc/v2.25/Documentation/snippets/rhythms_003a-using-ties-with-arpeggios



Cheers,
Robin



Re: Transparent box around notes

2024-04-27 Thread Robin Bannister

Paolo Prete wrote:

Something like:

\coloredBox color offsLeft offsTop offsRight offsBottom "labelstring"
labeldirection { c' e' f' }

Many thanks for your help!
Paolo



This may get you started:

https://lsr.di.unimi.it/LSR/Search?q=background+%7C+colorspan


Cheers,
Robin



Re: Transparent box around notes

2024-04-28 Thread Robin Bannister

Paolo Prete wrote:

Note that there's also this (no trial-and-error):

https://lists.gnu.org/archive/html/lilypond-user/2015-01/msg00142.html

But it doesn't compile with 2.24...



That's due to merge request !818 [1], applied between 2.23.3 and 2.23.4.

Simon Albrecht ran into the same problem in another case, and Jean 
helped him out [2] by adapting just the add-grob-definition part.


Doing the same to David N's add-grob-definition gets his code running 
again.  Maybe that's all you need to do.



[1] https://gitlab.com/lilypond/lilypond/-/merge_requests/818
[2] https://lists.gnu.org/archive/html/lilypond-user/2021-12/msg00045.html


Cheers,
Robin



Re: Bracketed passages

2014-09-23 Thread Robin Bannister

Phil Holmes wrote:

The difficulty would be allowing for varying staff spacing


Cross-staff arpeggios will do this for you.  See
http://lists.gnu.org/archive/html/lilypond-user/2010-02/msg00659.html

That was for version 2.12.
With 2.18 you still need to cater for the closing bracket orientation.
http://lists.gnu.org/archive/html/lilypond-user/2012-03/msg00725.html


Cheers,
Robin

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


Re: Generating symbols from strings

2014-09-26 Thread Robin Bannister

Jay Vara wrote:

In the following program, I set xyz to the variable abc using scheme
string->symbol as well as the usual \abc.

Instead of giving the same value for xyz, the first one sets it to string
"abc" and the second sets it to value of abc.


Maybe you are reading out the symbol name (which is abc).


What do I need to modify in the assignment of string->symbol to get it to
be equivalent to xyz = \abc


The following seems to read out the value of abc:
>  xyz = #(eval (string->symbol "abc") (interaction-environment))


Hope this helps! Maybe the blind can lead the blind.

Cheers,
Robin

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


Re: Generating symbols from strings

2014-09-27 Thread Robin Bannister

Jay Vara wrote:

Wow, that works!


This also seems to do what you want:
>  xyz = #(eval-string "abc")


Cheers,
Robin

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


Re: String as a command?

2014-10-03 Thread Robin Bannister

Jay Vara wrote:

If I define lilyA, lilyB, lilyC to be strings containing lilypond commands,
and I have set xyz = lilyA, is there a way to execute xyz?


Does this work?
>  #(ly:parser-include-string parser #'xyz)

Maybe this thread is relevant:
http://lists.gnu.org/archive/html/lilypond-user/2014-04/msg00602.html


Cheers,
Robin

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


Re: A solution I've invented for a SATB choir

2014-10-18 Thread Robin Bannister

Son_V wrote:
> I had two choices: to make it in a
> single page but really crowded
> or to make it in two pages.
> I choose another way;
> I divided it in SA and TB voices.

I don't quite understand, unless your first choice
would have been to use one staff for each voice,
i.e. 4 staves in total.

But surely this piece is simple and synchronous
enough to be acommodated on just two staves, as in
http://imslp.org/wiki/Pater_noster_%28Kedrov,_Nikolai%29
so needing even less room.

What do you think of that solution?


Cheers,
Robin



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


Re: Scheme function to affect a compound music expression?

2014-10-24 Thread Robin Bannister

Peter Crighton wrote:


But I would like to be able to use the function [...]

 > so it doesn’t only affect the next note,
 > but a sequence of notes enclosed in { … }:


The source file music-functions.scm defines
music-map
which you can use for this:


bgr = #(define-music-function (parser location music) (ly:music?)
   (music-map (lambda (note)
 #{
   \tweak NoteHead.font-size #-2
   \tweak Accidental.font-size #-2
   #note
 #})
 music ))


There is an advanced example in the regression tests:
http://www.lilypond.org/doc/v2.18/input/regression/collated-files.html#music-map.ly


Cheers,
Robin

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


Re: Scheme function to affect a compound music expression?

2014-10-24 Thread Robin Bannister

Peter Crighton wrote:

> I don’t know why the \bgr function causes it.
> Any ideas?
> ...
> Are there other places to learn about Scheme in LilyPond
> than the Scheme tutorial?


Welcome to Scheme in LilyPond.
This example shows that knowing Scheme isn't enough.
You have to cooperate with Lilypond,
and to do that successfully you have to know
how Lilypond does things (under the hood).


So read the whole LilyPond source code before you start!
Or maybe you can just peek at the seemingly relevant bits.

A more workable approach is to modify similar snippets.

How about a black box approach here?
You got a nice warning - very explicit, with location info.

Try simpler cases:
\new Voice << { c4 d r f } { e4 f r a } >>
doesn't complain,
but
\new Voice << { c4 d r f } { e4 f \tweak color #black r a } >>
does complain.
\new Voice << { c4 d e f } { e4 f e a } >>
shows both noteheads and doesn't complain,
and
\new Voice << { c4 d e f } { e4 f \tweak color #black e a } >>
also shows both noteheads and doesn't complain.

So it looks like LilyPond wants to merge the rests,
but will do this only if they seem identical.


Having read through the regression snippet
and been inspired by the way it removes things,
we can modify bgr to make it remove rests:

bgr = #(define-music-function (parser location music) (ly:music?)
  (music-map (lambda (mus)
(if (music-is-of-type? mus 'rest-event)
  (make-music 'SkipEvent mus)
  #{
\tweak NoteHead.font-size #-2
\tweak Accidental.font-size #-2
#mus
  #}))
music ))

Note A: found 'rest-event in the Internals Reference
Note B: renamed your parameter to not imply just "note"

Hope this helps.


Cheers,
Robin

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


Re: Enlarging tenuto marks

2015-01-17 Thread Robin Bannister

David Sumbler wrote:

But why doesn't '\tweak Script.font-size' work?


The note g and the tenuto belong together musicwise,
but in the input stream they are two separate items.

Your tweak command is applied to the note g.
{ \tweak font-size #6 g-- }
will change the notehead's font size.

But you specifically tweaked Script,
so the notehead size stays unaffected.

To apply the \tweak to the tenuto item,
place it after the note item:
{ g-\tweak font-size #6 -- }

Read about this halfway down
http://www.lilypond.org/doc/v2.18/Documentation/learning/tweaking-methods#the-tweak-command


Cheers,
Robin

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


Re: tie <> to << {} \\ {} >>

2015-01-25 Thread Robin Bannister

My contribution of two days ago hasn't turned up on the list (yet),
so here goes again:


Here is a variant of Pierre's proposal:


\transpose c c' {
   %16 ~
   <<
 {
   \once \override NoteColumn #'ignore-collision = ##t
   \once \hideNotes 16
   \once \override NoteColumn.force-hshift = #0.6
   ees2^\trill
 }
 \\
 {
   \once \stemUp
   16
   \once \override NoteColumn.force-hshift = #-0.6
   d2
 }
   >>
}


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


Re: arpeggio on single note

2015-01-29 Thread Robin Bannister

MING TSANG wrote:

The arpeggio did not show on the score.


If you insist on it showing (for this _single_ note),
try applying the workaround given for issue 794
https://code.google.com/p/lilypond/issues/detail?id=794

Result shown for 2.18.2.


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


Re: Pianostaff 4-part writing and rests

2015-02-10 Thread Robin Bannister

Michael Rivers wrote:

I just engraved a piece for which the standard solutions given in this thread
worked especially badly. There were many 8th notes alternating with 8th
rests (which should be merged by Lilypond, but can't be automatically), so
switching back and forth between a polyphonic structure and \oneVoice was
not workable.


Tedious to enter and tedious to read, but it should work.


A standard manual solution, not yet mentioned in this thread
 - defines a sequential music variable for just the shared 'r'
 - includes this as \oneVoice in parallel with the other voices
 - all these other voices have 's' where the shared rests are

Features:
 - this variable can be thought of as associated with the staff
 - it can be left untransposed while the other voices are transposed
 - that way, the positioning produced by using '\rest' is stable
 - none of the other voices has a special role regarding shared rests

You may find this somewhat tedious to enter, but it is a lot easier to 
read.




Cheers,
Robin

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


Re: Line Length

2015-02-15 Thread Robin Bannister

William Marchant wrote:

  How can I control the length of the [bottom] line



Have a look at answers in a similar thread last July:

http://lists.gnu.org/archive/html/lilypond-user/2014-07/msg00341.html
http://lists.gnu.org/archive/html/lilypond-user/2014-07/msg00371.html


Cheers,
Robin
[bottom]

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


Re: Precise markup position

2015-05-06 Thread Robin Bannister

Pierre G. wrote:


I wonder if there is a way to position precisely a text markup



One way to insert vertical millimetres is
http://lists.gnu.org/archive/html/lilypond-user/2010-04/msg00035.html

This may not be the current method, but it still works e.g.
  \markup \mm-feed #27

in order to create some vertical space
(see line 34, for the space beetween composer and title 1).



Cheers,
Robin

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


Re: Precise markup position

2015-05-07 Thread Robin Bannister

Stephen MacNeil wrote:

the overlay on the lsr will do this


That would be "Absolute positioning of markup elements"
http://lsr.di.unimi.it/LSR/Item?id=628


Then to position millimetre-wise, you need something like

%%

#(define-markup-command (mm-translate layout props mm-offset arg)
  (number-pair? markup?)
  (let ((o-s (ly:output-def-lookup layout 'output-scale)))
(ly:stencil-translate (interpret-markup layout props arg)
  (cons (/ (car mm-offset) o-s) (/ (cdr mm-offset) o-s)

%%


Cheers,
Robin


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


Re: Global Color Changes

2015-05-09 Thread Robin Bannister

Peter Heisen wrote:


Is there a way to globally change the color of an entire printed score
without having to change every color property of every possible grob?


Start here
http://lsr.di.unimi.it/LSR/Item?id=443


Cheers,
Robin

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


Re: Polyphonic notes slur solution

2015-06-20 Thread Robin Bannister

Nathan Ho wrote:


% And, of course, the slur's too short vertically


Adjust 0.3 to taste:

\override Staff.Arpeggio #'positions = #(lambda (grob)
  (interval-widen (ly:arpeggio::calc-positions grob) 0.3))


Cheers,
Robin

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


Re: Polyphonic notes slur solution

2015-06-20 Thread Robin Bannister

rsfjr wrote:


It keeps throwing an error message


Well, tell us some more ...
 - what message
 - with what lilypond version

But preferably, send a small .ly file which has this problem.


Cheers,
Robin

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


Re: Fit-to-single-page for lead sheets

2015-07-17 Thread Robin Bannister

Robert Schmaus wrote:



Maybe that's what you're looking for ...


Or, more directly:  page-count
to be found further down in the same section.


Cheers,
Robin

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


Re: How to adjust the padding between a StemTremolo and a NoteHead?

2015-08-11 Thread Robin Bannister

 Dominic wrote:


At the moment I have to laboriously override the Stem.length-fraction on an
individual basis, depending on how many slashes there are, which is not
ideal.

Any ideas?



I had this problem recently and worked around it with

hoist = % for moving StemTremolo beams further from notehead
{
  \once \override Stem.length =
  #(lambda (grob) (+ 1 (ly:stem::calc-length grob)))
}

Comment indicates I had reservations about 'unpure only'.
Someone else might be able to explain that.


Cheers,
Robin

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


Re: How to adjust the padding between a StemTremolo and a NoteHead?

2015-08-11 Thread Robin Bannister

  Malte Meyn wrote:


But I already have an idea how to improve this



This discussion of a similar (outdated?) attempt might be useful:

http://www.lilypondforum.de/index.php?topic=415.msg2425;topicseen#msg2425


Cheers,
Robin

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


Re: How to adjust the padding between a StemTremolo and a NoteHead?

2015-08-11 Thread Robin Bannister

Malte Meyn wrote:



But unfortunately it doesn’t work properly in 2.19.24 (and 2.18.2)



Yes, I think stems were reworked a lot around 2.16?

Here is that override approach with a duration condition:

%%

\version "2.18.0"

#(define (stem-stretch stem-tremolo-grob)
  (let ((flag-count (ly:grob-property stem-tremolo-grob 'flag-count)))
(if (> flag-count 2) 1 0)))

#(define (longer-for-tremolo stem-grob)
  (let* (
(stem-tremolo-grob (ly:grob-object stem-grob 'tremolo-flag))
(plain-stem? (< (ly:grob-property stem-grob 'duration-log) 8))
)
(+ (ly:stem::calc-length stem-grob)
  (if (and (ly:grob? stem-tremolo-grob) plain-stem?)
(stem-stretch stem-tremolo-grob) 0

music = \relative {
  b'1:32
  b2: b4: b8: b:
  b4:8 b:16 b:32 b:64
  b!2:32 b8:16 b: b: b:
  \tweak color #green b2:32 b
}

\markup "original LilyPond behaviour"
{ \music \stemUp \music }
\markup "longer-for-tremolo"
{ \override Stem.length = #longer-for-tremolo  \music \stemUp \music }

%%


Cheers,
Robin

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


Re: hide repeat endings?

2015-08-29 Thread Robin Bannister

Ian Rashkin wrote:


Maybe i'm going about this the wrong way...


One way would be to wait until something comes of issue 3752.
Until then, \repeat only offers you volta, with brackets included.


As it seems to be a fairly simple structure,
I would avoid \repeat and instead assemble sections sequentially.

Set up section variables something like
  - intro  [8]
  - head  [33]
  - turnaround  [1]
  - coda  [3]

Then use _separate_ blocks for layout and midi,
each having their own music sequence:

{ \intro \head \turnaround \coda } for layout
{ \intro \head \turnaround \head \coda } for midi


Cheers,
Robin

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


Re: hide repeat endings?

2015-08-29 Thread Robin Bannister

Ian Rashkin wrote offlist:


here, I'm attaching the full ly file.

> [..]

I'll check out issue 3752, but if you see any easy way for me to go the
variable route, I would prefer that for sure.
Thanks for your help!



The attached untitled_refactored.ly is a cursory demo of what I meant.

I also split the non-music off into Aux;
see there how using <> makes the skips easier to group and read.


Cheers,
Robin
\version "2.18.2"

%\include "ijr-jazzchords.ily"
%\include "lilyjazz.ily"

\header {
  title =  "untitled..."
  composer = "Ian Rashkin"
  copyright = "© 2014 Ian Rashkin (BMI)"
  tagline = "refactored  Re: hide repeat endings? lilypond-user 2015-08-29" %need blank to suppress lilypond marker
}

sl = {
  \improvisationOn
  \override Voice.Stem.stencil = ##f
}
nsl = {
  \improvisationOff
  \revert Voice.Stem.stencil
}

%% harmony

initialHarmony = {}

introHarmony = \chordmode {
  s1*8
}

headHarmony = \chordmode {
  f1*8:7 \bar "||" \break
  des1*8:7 \bar "||" \break
  a1*8:7.9- \bar "||" \break
  bes1:7
  c1:7
  f1:min7
  bes1:7
  a1:min7+
  d1:7
  g1:min7
  g1:7
  c1:7 
}

turnaroundHarmony = \chordmode {
  bes1:9+.5+ \bar "|." \break
}

codaHarmony = \chordmode {
  bes1:9+.5+
  c1:9+.5+
  bes2:9+.5+ b2:7 \bar "|."
}

%% melody

initialMelody = {
  \clef treble
  \key f \major
  \tempo "Fast Swing" 4 = 232 \time 4/4
  \numericTimeSignature
}

introMelody = \relative c'' {
  \sl
  \repeat unfold 8 {\repeat unfold 4 {f4}}
  \nsl
}

headMelody = \relative c'' {
  f1~---> \repeat unfold 23 {f1~} |
  f2\accent-\bendAfter #-4.75 r2
  d8 d8 c8 d,8 a'8 c8 r4
  r4 aes8 c8 bes8  aes8 ees8 des8
  d!8 ees8 aes8 c8 bes8 g8~ g8 r8
  gis8 gis8 a8 d8 c8 fis,8~ fis8 r8
  fis8 e8 c8 a8 d8 a'8-.-> r4
  r4 bes8 bes8~ bes8 bes8 bes4
  b8 b8~ b8 b8 b4 c4
  d8 f8 c8 a8 \tuplet 3/2 {g8 a8 bes8} d8 c8
}

turnaroundMelody = \relative c'' {
  bes8 aes8 g8 fis8~ fis8 r4.
}

codaMelody = \relative c'' {
  bes8 aes8 g8 fis8~ fis8 r8 b4
  c8 bes8 a8 gis8~ gis8 r8 cis4
  \tuplet 3/2 {bes4 aes4 g4} fis2 |
}

%% auxiliary

initialAux = {}

introAux = { 
  <>-\markup {"Intro: Drums (+?) arhythmic improv"} 
  s1*8 \bar "||" \break 
}

headAux = { 
  <>^\markup{ \translate #'(-6 . 2) \musicglyph #"scripts.segno"}_\markup{\override #'(line-width . 100) \italic
\wordwrap-string #"* Use circular breathing, repetition, free improivisation, or whatrever you can to extend this note through all 24 bars
  (freely vary timbre, volume, intonation, etc.)"}
  s1*8 \bar "||" \break
  s1*8 \bar "||" \break
  s1*8 \bar "||" \break
  s1*8
  s8*7 <>\coda s8
}

turnaroundAux = { 
  s8*5 <>_\markup {\translate #'(-30 . -5) { "solos " {\teeny \musicglyph #"scripts.segno"} " to end, coda on out head only"}}
  s8*3
}

codaAux = { 
  <>^\markup{ \translate #'(-6 . 2) \musicglyph #"scripts.coda"}
  s1*3
}




%% paper

\score {
  <<
\new ChordNames
{ \initialHarmony \introHarmony \headHarmony \turnaroundHarmony \codaHarmony }
\new Voice \with { \consists "Pitch_squash_engraver" }
<< 
  { \initialAux \introAux \headAux \turnaroundAux \codaAux  }
  { \initialMelody \introMelody \headMelody \turnaroundMelody \codaMelody }
>>
  >>  
  \layout {
indent = 0
ragged-last = ##t
\context {
  \Score
  \remove "Bar_number_engraver"
}
  }
}

%% midi

\score {
  <<
{ \initialHarmony \introHarmony \headHarmony \turnaroundHarmony \headHarmony \codaHarmony }
{ \initialMelody \introMelody \headMelody \turnaroundMelody \headMelody \codaMelody }
  >>
  \midi { }
}

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


Re: PDF Links in Windows

2015-09-27 Thread Robin Bannister

Thomas WillNot wrote:

 I looked for settings in Acrobat Reader and found none.

Please let me know if this functionality is possible in Microsoft Windows.



It is possible (without resorting to Frescobaldi).
But there doesn't seem to be a standard way to set it up.


The most direct point-and-click connection involves:

A: the pdf program sending the textedit URL
B: having a custom Windows 'URL Protocol' tell your editor
C: your editor going to the right place

This does not involve a browser.
You may need some scripting glue between B and C.


The first thing you need to do is stop trying with Adobe Reader.
It expects all URLs to be http. See my notes on this [ARnok.txt]

Try out Sumatra instead, and modify it as Arnold Theresius did:
http://lists.gnu.org/archive/html/bug-lilypond/2013-04/msg00033.html


Cheers,
Robin
a theory why adobe reader is clunky with textedit

[1] says (undated?)
> When an attempt to load the URL is made, 
> Adobe AIR uses Dynamic Data Exchange (DDE) to connect to 
> an open instance of the browser registered for URL requests. 
> If that fails, Adobe AIR falls back on Shell Execution.

So if no browser is running a browser window gets opened. 
If a browser is already running its window gets reused.
This happens unconditionally (before URL been examined).  


[2] says 
> kodelite,May 12, 2012 4:08 PM ...
> Regular http hyperlinks seem to work fine, great job! 
> However, custom url schemes still don't seem to work, 
> ...
> ...
> Pat Wibbeler, May 14, 2012 9:14 AM   in reply to kodelite
> Enhanced linking is not something we have on our immediate roadmap, 
> however, we can add your request for this feature. 

So browser is sent textedit URL and doesn't understand it.
Then AR does Shell Execution, which gets through.


[1] http://helpx.adobe.com/x-productkb/multi/html-links-dont-open-default.html
[2] https://forums.adobe.com/message/4401951#4401951___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: PDF Links in Windows

2015-09-27 Thread Robin Bannister

Keith OHara wrote:


C is done by converting the textedit fields to the command for your
editor.  Instead of LilyPond's Scheme, I use a DOS script:



Just a note to avoid confusing Thomas at this early stage:

Keith's 'C' is the scripting glue I mentioned.
So what the editor has to do would then be 'D'.


Cheers,
Robin

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


Re: Stacked letters in markup

2015-10-01 Thread Robin Bannister

Urs Liska wrote:


How can I overlay letters in lyrics? I want to print two "D"s that
overlap, one left-top, the other bottom-right. The default symbol for a
double dominant.



maybe:

\markup \combine \translate #(cons 0.3 -0.3) "D" \translate #(cons -0.3 
0.3) "D"


and, not just by itself:

\markup \concat { \combine \translate #(cons 0.3 -0.3) "D" \translate 
#(cons -0.3 0.3) "D" ouble }



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


Re: PDF Links in Windows

2015-10-05 Thread Robin Bannister

On 05.10.2015 11:23, Urs Liska wrote:

Am 05.10.2015 um 11:18 schrieb Federico Bruni:

>> ...

"Custom protocol handlers aren't supported by Adobe Reader X and later
for security reasons."
https://forums.adobe.com/message/5593888#5593888


Is this definitive?



My last _abandoned_ attempt at getting point-and-click to work
was 4 years ago with Adobe Reader 8 on XP SP3.
It launched a textedit URL successfully, but did it in such a
clumsy manner, that you needed to tidy up afterwards each time.
That was what my ARnok.txt was referring to (earlier in thread).

I link the textedit URL through to jEdit.
This works reliably from SumatraPDF and another program,
on XP, and currently on Windows7.

I tested point-and-click just now with Adobe Reader XI:
 - the tooltip displays the textedit parameters
 - the first-time click brings up a security dialog, cf ARwarning.png
   - I chose 'Allow'
 - but nothing happens when I click (not even a browser activity)

So it would seem so.


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


Re: LilyPond-aware text editors

2015-11-06 Thread Robin Bannister

On 05.11.2015 21:58, Thomas Morley wrote:

2015-11-05 16:18 GMT+01:00 Urs Liska :

...
Is there *any* tool around that offers more than a notepad application
but doesn't try to be an IDE?
...

I mostly use jEdit.


Me too.

IDE-wise, I feel safer with minimalist homegrown, even if primitive.
Editorwise, I don't want/need templates, prompting or autocompletion.

Some relevant things jEdit offers vs Notepad:
 - several views of one buffer, eg for several voices in one file
 - splittable text area, eg for several voices in several files
 - hypersearch, eg for navigating between similar things
 - syntax highlighting - maybe a bit weak but good enough for me
And I occasionally use
 - bracket matching - especially with Scheme!
 - rectangular selection
 - multiple selection
 - (my halfbaked transposition) macros


There was a lilypondtool-plugin for jEdit warranting LilyPond-specific
highlighting and autocompletition, though the developer stopped work
on it. Last release was 12.1.2010, afaict.


I found jEdit's LilyPond indenting unsatisfactory, and worked with
Bertalan Fodor to improve it (just before that date).
It was still confused by Scheme sections then, but I now have
a rather clunky way to cope with one level of nesting - all I need.


Cheers,
Robin







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


Re: Can I vary the system width for 1 system only

2015-11-13 Thread Robin Bannister

Peter Berlau wrote:


I found a ugly solution
with
\stopStaffs % generates 2 invisible staffs
s1
s1
\startStaff
for this i have to add on same place in the
\chords  also 2
s1
s1
to adjust chords to the remaining bars


In this case you already have a structure amenable to splitting:
 - 34 bars melody
 - 2*4 bars coda
So you could have melody variable and a coda variable,
and introduce a third variable for the gap;
eg it would then be easy to omit the gap from midi.


But I agree that involving s1 is a depressing sort of hack.


See if you like the attached pauseStaffBL hack any better.
No skips needed - it maltreats bar lines instead.
The demo does '\pauseStaffBL 40 \break' at the end of measure 9.


Cheers,
Robin

\version "2.18.0"

pauseStaffBL = 
#(define-music-function (parser location white-width) (number?)
  (define (append-whitebox grob) 
(let* (
  (stil (ly:bar-line::print grob))
  (yext (ly:stencil-extent stil 1))
  (y-padding 0.2)
  (box-height (interval-widen yext y-padding))
  (box-width (cons 0 white-width)) 
  (box-stil (make-filled-box-stencil box-width box-height))
  (whitebox-stil (stencil-with-color box-stil white
)))
 (ly:stencil-combine-at-edge stil X RIGHT whitebox-stil 0)))
  #{
\once \override Score.BarLine.stencil = #append-whitebox 
\once \override Score.BarLine.layer = 1 % mask StaffSymbol
  #})  


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


Re: Accidentals in roots of chordNames: tweaking size and placement

2015-11-18 Thread Robin Bannister

alamire wrote:


In the MWE below, I would like the flat in the root name to appear identical
to the flat in the "m7b5" chord. I do *not* want to continue using the text
markup font via unicode.



You will find LilyPond's flat and sharp glyphs listed in
http://lilypond.org/doc/v2.18/Documentation/notation/the-feta-font


But LilyPond also provides markup commands for accidentals,
listed in the Notation Reference A.10.4 and also
reachable via the command index in Appendix D
e.g. the index entry for \flat takes you to
http://lilypond.org/doc/v2.18/Documentation/notation/music#index-_005cflat-1


So instead of (make-text-markup "♭") use (make-flat-markup)
and readjust the sizing.


Cheears,
Robin

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


Re: function to replace notes by rests

2015-11-24 Thread Robin Bannister

Marc Hohl wrote:


Now I need a midi file that contains the "normal" notes only:


Skips would be quiet too.


notesToSkips =
#(define-music-function (music) (ly:music?)
(skip-of-length music))


Cheers,
Robin

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


Re: Why does \fromproperty fail in instrumentName?

2015-11-24 Thread Robin Bannister

David Kastrup wrote:


In general, those variables seem to be defined only within titling
material.



http://lists.gnu.org/archive/html/lilypond-user/2008-05/msg00426.html


Cheers,
Robin

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


Re: Layout of a (piano) hand indicator

2015-11-25 Thread Robin Bannister

David Kastrup wrote:


See issue 4671: probably as of version 2.19.33, convert-ly should be
able to do this by itself.  Another possibility is to not use
ly:music-function-extract at all but rather write

#{ \whateveritwas ... #}

here.  That should be fairly convertible.



OK. I had to pay a two dollar streamlining fee though.


thumbBracket = #(define-music-function (spec) (string?)
 (let ((settings thumbBracketSettings)) ;% as Defaults, or user defined
#{ \thumbBracketEx $spec $settings #}))



Cheers,
Robin

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


Re: Layout of a (piano) hand indicator

2015-11-25 Thread Robin Bannister

David Kastrup wrote:


Of course, the `let' is spurious.  You can just use thumbBracketSettings
directly instead of settings.


The 'let' is my plodding anti-cryptic:
a small step with a locally relevant name, and a slot for comment



Probably as of 2.14 or something.


Written with 2.12 early 2009.
Untouched since then.
I've never used it.


Cheers,
Robin

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


Re: Vertically centering a song text.

2015-12-02 Thread Robin Bannister

Robert Blackstone wrote:


How can I shift the lyrics of the second part vertically

> so that it is centered with respect to the first part

LSR503 shows one way of doing this:
http://lsr.di.unimi.it/LSR/Item?id=503

I use Y-offset instead of extra-offset


Cheers,
Robin

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


Re: Break a chord glissando

2015-12-10 Thread Robin Bannister

Luca Danieli wrote:


I followed this explanation to break a 
glissandohttp://lsr.di.unimi.it/LSR/Search?q=break
but in this code it is not able to break the glissando between two chords.



Do you mean LSR940?
http://lsr.di.unimi.it/LSR/Item?id=940

As it says there, you must also apply
>   \override Glissando.breakable = ##t


Cheers,
Robin

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


Re: Clef-BarLine crash with changed break-align-orders

2015-12-11 Thread Robin Bannister

 Noeck wrote:


This puts the clef after the bar line. However, there is not enough
space between the bar line and the clef.


This looks like an old weakness.
The BarLine rework left it much the same.


Cheers,
Robin

\version "2.19.32"

forcedClef = { \set Staff.forceClef = ##t \clef bass }

{
  \forcedClef c1 \bar "|" 
  
  \override Score.BreakAlignment #'break-align-orders =
  #(make-vector 3 '(staff-bar clef))
  \forcedClef c1 \bar "."
  \forcedClef c1 \bar "||"
  \forcedClef c1 \bar ".|"
  \forcedClef c1 \bar ".."
  \forcedClef c1 \bar "|.|"
  \forcedClef c1 \bar "|."
  \forcedClef c1 \bar ""
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: different margins for footer and music

2016-01-14 Thread Robin Bannister

Mike Solomon wrote:


I’d like to place page numbers to the left and right of the music’s margin


How about duping \fill-line?

evenHeaderMarkup = \markup \fill-line {
  \with-dimensions #'(6 . 8) #'(0 . 0)
  \fromproperty #'page:page-number-string
  \fromproperty #'header:title
  \with-dimensions #'(-8 . -6) #'(0 . 0)
  \fromproperty #'page:page-number-string
}


Cheers,
Robin


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


Re: glissando without start note?

2016-02-16 Thread Robin Bannister

BB wrote:

With stringed instruments a playing technique (mainly in Rock, Pop,
Blues, Jazz) to get some acoustic effect is to slide up a string to a
defined fret without a real starting fret.



Have a look at
http://lists.gnu.org/archive/html/lilypond-user/2014-01/msg01191.html

This was probably based on my old scoop stencil,
which uses a brackettips glyph (as initially proposed by Lewis Overton).
You can find an updated version of that here:
http://lists.gnu.org/archive/html/lilypond-user/2011-11/msg00161.html


Cheers,
Robin

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


Re: Whole note bracket

2013-04-04 Thread Robin Bannister

Rustik wrote:


 Tell me please only how can I make right-aligned bracket «]» by \arpeggio 
command.


Have a look at
http://lists.gnu.org/archive/html/lilypond-user/2012-03/msg00725.html

Cheers,
Robin


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


Re: Notating bends

2013-05-12 Thread Robin Bannister
Jim Long wrote: 

 I was looking for the counterpart to bendAfter


This might do what you want: 
http://lists.gnu.org/archive/html/lilypond-user/2009-06/msg00137.html



Cheers, 
Robin


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


Re: volta bracket right-edges; also RehearsalMark conflicts

2013-06-24 Thread Robin Bannister
Mark Polesky wrote: 


 1) How do I get the right vertical edges of the volta
 spanners to print when I've overridden the bar type at those
 moments? They only seem to print when there's a repeat bar
 in the staff.


Welcome back!

I have an amusing workaround for this particular case, 
but this is old [1] by now so check out issue 1320 etc. 


Instead of  \bar "||" use:

doubleBarLineClosingVB = {
 \bar "|." 
 \once \override Score.BarLine #'thick-thickness = #1.9

}


Cheers, 
Robin


[1] http://lists.gnu.org/archive/html/lilypond-user/2010-02/msg00488.html






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


Re: Figured bass brackets (bug?)

2013-07-23 Thread Robin Bannister

Jean-Charles Malahieude wrote:


Could anyone help me finish this BWV246 project?


Well, I don't know anything about figured bass 
but it seems that Lilypond's square brackets are 
not intended to be spread apart. 

add_brackets is called eventwise, and at each call 
initialises its local variable "inside" to false. 
And I didn't find a regtest demonstrating your spreading. 



But if you want to hack your way to the finish 
have a look at half-bfb. 

This assumes that the square brackets fill the stencil-extents 
and makes its own (single) bracket to fit these, 
honoring a few things like thickness and padding. 
But because no continuation mechanism is involved 
you have to check that the [ and ] are set at the same height. 


Maybe you could adapt this for a different bracket style?


Cheers, 
Robin\version "2.16.0"

#(define (half-bfb which-side) (lambda (grob)
  (let* (
(dir-h (if (negative? which-side) -1 +1)) ;; clamp to LEFT or RIGHT
(layout (ly:grob-layout grob))
(line-thickness (ly:output-def-lookup layout 'line-thickness))
(thickness (ly:grob-property grob 'thickness 1)) 
(th (* line-thickness thickness))
(hth (/ th 2))
(tip-lo-h (car (ly:grob-property grob 'edge-height)))
(tip-hi-h (cdr (ly:grob-property grob 'edge-height)))
(bfb (ly:enclosing-bracket::print grob))
(bfb-x (ly:stencil-extent bfb X))
(bfb-y (ly:stencil-extent bfb Y))
(stem-v (interval-widen bfb-y (- hth))) 
(stems-h (interval-widen bfb-x (- hth))) 
(single-bracket (lambda (grob) 
  (grob-interpret-markup grob (markup 
#:translate (cons ((if (negative? dir-h) car cdr) stems-h) (cdr stem-v)) 
#:scale (cons (- dir-h) -1)
#:combine #:draw-line (cons tip-hi-h 0) #:combine 
#:draw-line (cons 0 (interval-length stem-v))
#:translate (cons 0 (interval-length stem-v))
#:draw-line (cons tip-lo-h 0))
(single-bracket grob


bfbJustOpen = 
\once \override FiguredBass.BassFigureBracket #'stencil =  #(half-bfb LEFT)
bfbJustClose = 
\once \override FiguredBass.BassFigureBracket #'stencil =  #(half-bfb RIGHT)


<<
  \new Voice  
  { 
\clef bass 
\key g \minor
g1 
g4 a4 bes4 ees4
  }
  \new FiguredBass  \with { implicitBassFigures = #'(0) } 
  {
\figuremode 
{ 
  s1
  \bfbJustOpen <[6 0]>4 \bfbJustClose <[6 5]> s2
} 
  }
>>

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


Re: anyone got lilypond 2.16.2 to work on Windows Vista?

2013-08-02 Thread Robin Bannister

Robert Honoré wrote:


 I am attempting a complete cleanup ...


This would include deleting the font cache,
or rather: _all_ lilypond font caches.

I had a mix-up with these caches (on XP)
with somewhat similar symptoms.
Check out the thread ending in
http://lists.gnu.org/archive/html/lilypond-user/2010-01/msg00297.html


Cheers,
Robin 



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


Re: text to the *right* of staves?

2013-08-14 Thread Robin Bannister

Adam Spiers-5 wrote
How can I put text *after* a staff?  
 I.e. directly to the right of the final barline?  



And here is another way: 


\version "2.16.2"
{
 \repeat unfold 44 R1
 \bar "|."
 % after final barline:
 \stopStaff 
 \once \override TextScript #'Y-offset = #-0.5 
 s1^"text at the right"

}

The -0.5 value centres it vertically; feel free to change this. 



Cheers, 
Robin



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


Re: explicit 7 on a half diminished 7

2013-08-22 Thread Robin Bannister

Derek Klinge wrote:


 Exactly, how do I write a chordname exception for a Half Diminished 7th?



Here's one way (2.16): 


%%

flatadj = \markup { \translate #'(0.2 . 0.2) \fontsize #-1 \flat } 

chExceptionMusic = 
{
 1-\markup 
 { "m" \super \concat {"7" \hspace #0.3 \flatadj "5"} }% half-diminished

}


%%



Cheers, 
Robin


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


Re: Strummed chord as straight line arpeggio

2013-08-30 Thread Robin Bannister

Peter Bjuhr" wrote:
My starting point was that this could be achieved by using some kind of 
alternative arpeggio, but so far this has not been a successful approach.


Here is a rough sketch of such an approach, 
without considering collisions and other subtleties.


It has its own arrowdir parameter, bypassing arpeggio-direction.


Cheers, 
Robin\version "2.16"

#(define ((strum arrowdir) grob) 
  (let* (
(longer 0.5)
(closer 0.5)
(chord-lo-hi (ly:grob-property grob 'positions))
(line-lo-hi (interval-widen chord-lo-hi longer))
(len (interval-length line-lo-hi))
)
(if (not (= 1 (abs arrowdir))) #f ; only for UP or DOWN
  (grob-interpret-markup grob 
(markup 
  #:translate (cons closer (interval-center line-lo-hi)) 
  #:scale (cons 1 (- arrowdir))
  #:translate (cons 0 (* -0.5 len)) 
  #:combine 
  #:draw-line (cons 0 len)
  #:tiny #:arrow-head Y DOWN #t)


strumUP = \once \override Arpeggio #'stencil = #(strum UP)
strumDOWN = \once \override Arpeggio #'stencil = #(strum DOWN)


{
  \strumUP4 \arpeggio 
  \strumDOWN  4 \arpeggio 
}
<>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: fixed vertical space

2013-09-20 Thread Robin Bannister
Werner LEMBERG wrote: 
However, I want a fixed space between \markup and \score 
that doesn't get stretched.


How about mm-feed?  
http://lists.gnu.org/archive/html/lilypond-user/2010-04/msg00057.html


Cheers, 
Robin



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


Re: fixed vertical space

2013-09-20 Thread Robin Bannister
Werner LEMBERG wrote: 

 \markup \mm-feed #10 % <-- here I want a fixed space of, say, 10mm


Ok, maybe I get it; 
mm-feed gives you a fixed space (which you could use) 
but is followed by flexible space (which you don't want). 

Would it be acceptable to clobber the flexible space by adding 
markup-system-spacing = #'() 
to \paper in this example? 



Cheers, 
Robin<>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \path command

2013-09-24 Thread Robin Bannister
MING TSANG wrote: 
 works fine except I have undesired background image 


Here is a black & white version.


Cheers, 
Robin

black.eps
Description: PostScript document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Help with Chordname

2013-09-28 Thread Robin Bannister

Steve Noland wrote:
 I am having problems with some of the jazz chordnames engraving correctly.  
Specifically, a Dm7(b5) chord (D minor 7, flat 5) ...


Check out this recent thread: 
http://lists.gnu.org/archive/html/lilypond-user/2013-08/msg00568.html



Cheers, 
Robin


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


Re: Tremolo/Ledger/Slur Collision

2013-10-02 Thread Robin Bannister
EdBeesleywrote: 

 temporary fix very welcome


You can move force the vertical position like this: 


\override StemTremolo #'Y-offset = #-2


Cheers, 
Robin


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


Re: Descant

2013-10-15 Thread Robin Bannister
Emil Salim" wrote: 
How do I add the descant line on top of the SATB 


The score block currently contains just a ChoirStaff context. 
You need to add a new Staff context which runs simultaneously. 

So wrap the ChoirStaff block in a pair of double angle brackets 
and insert the new Staff at the beginning of this outer block.  
A minimal example would then read like: 



\score {
 <<
   \new Staff \new Voice = descants { \descant }
   \context ChoirStaff <<
 \context Staff = upper <<


The attached png has \descant defined as { \transpose c c'' \tenor }


Cheers, 
Robin<>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Resizing accidental in a chord

2010-11-04 Thread Robin Bannister
Rodolfo Zitellini wrote: 

and I can't use \tweak (the notation manual states quite
clearly that accidentals can not be modified with \tweak)


You mean at the end of Notation Reference 5.3.4. 

Well, it used to be quite categorical on this, e.g in the 2.12.1 docs. 

Last year Mark Polesky found out that he could, though in a roundabout way, 
and so Trevor added the word "directly" [1], c.f. the 2.12.3 docs. 
I suppose this qualification kept the sentence correct, 
but hardly led readers to expect to be able to do it "indirectly" 
(which 5.5 Advanced tweaks will demonstrate one day). 

And I see that the 2.13(.38) docs have an additional sentence up front 
which is *seems*  to make it clear that ordinary accidentals are 
quite inaccessible to any sort of \tweak command. 


[1] http://lists.gnu.org/archive/html/lilypond-devel/2009-07/msg00353.html



But [1] shows how to do this. In your case: 



#(define (resize-accidental note-grob fontsize)
 ;; notehead before-line-breaking callback
 (let ((accidental (ly:grob-object note-grob 'accidental-grob)))
   (if (not (null? accidental))
 (ly:grob-set-property! accidental 'font-size fontsize

\relative c' { 
  \tweak #'before-line-breaking #(lambda (grob) (resize-accidental grob -5))
 cis> 
}




You can shorten this e.g. to  if you define: 



twResizeAcc =
#(define-music-function (parser location fontsize mus) (number? ly:music?)
 (set! (ly:music-property mus 'tweaks) (acons 'before-line-breaking 
   (lambda (grob) (resize-accidental grob fontsize))

   (ly:music-property mus 'tweaks))) mus)



Cheers,
Robin


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


Re: How to create a coda with a gap?

2010-11-25 Thread Robin Bannister
Dominic Neumann wrote: 

[...] Gilles, said that using a "|." bar the bracket has an end line.


You can make the "|." merely look like "||" by saying  

 \once \override Score.BarLine #'thick-thickness = #1.9



That way you don't need the s4 and the extra-(X-)offsets: 

 \set Score.repeatCommands = #'((volta #f))
 \bar "|."
 \once \override Score.BarLine #'thick-thickness = #1.9
 \key f \major
 \stopStaff
 \once \override TextScript #'extra-offset = #'(-2 . 3)
 s1^\markup { \musicglyph #"scripts.segno" }



Cheers,
Robin

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


Re: arpeggio symbol placement

2010-12-21 Thread Robin Bannister
Peter Buhr wrote: 
 the arpeggio symbol appears [...] about 1cm from the chord, 
 and the finger number is to the left of the arpeggio symbol, 
 while I want the finger number to be on the right of the arpeggio symbol. 
 Suggestions?


Check out my hack at 
http://lists.gnu.org/archive/html/lilypond-user/2009-03/msg00658.html


Cheers,
Robin

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


Re: How do I stop circles from wobbling?

2010-12-31 Thread Robin Bannister
David Kastrup wrote: 

 the vertical extent should fit in the circles
 necessitated by the horizontal extent. 


The 4 is big enough to ensure that all the vertical extents do fit, 
but (because of this) they all fit loosely. 
This looseness means that to decide where to position a circle 
vertically a further criterion is needed. 

Behind the scenes the circle-stencil bases its circle on the 
centre of the vertical extent (see stencil.scm and issue 107). 
This of course varies e.g. between button strings "G" and "g". 




 Can anybody tell me what to do to keep the circles from wobbling?


The simplest method is to accompany the #:hcenter-in 4 with a #:vcenter. 
This makes the legends wobble instead of the circles. 



That looks OK to me, but maybe the legends shouldn't wobble either. 
In that case we need some sort of average displacement. 

A line average is insufficient e.g. the bottom line has no "g". 
A total average seems inconvenient so I would do it with a fiddle factor. 
Replace 

 #:hcenter-in 4 


with

 #:with-dimensions (cons -2 2) (cons 0 1.5) #:center-align 


and adjust the 1.5 to taste. 



Cheers,
Robin



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


Re: Invalid tie in a repeat causes missed notes in MIDI

2011-01-22 Thread Robin Bannister
Disc Magnet wrote: 
 the MIDI output misses the second note in the last bar 


This looks like issue 676, so you are probably using a 2.12 version. 
See   
http://code.google.com/p/lilypond/issues/detail?id=676


The MIDI behaviour was corrected in version 2.13.8.
Warnings for this situation were added later, in version 2.13.41.   
See   
http://code.google.com/p/lilypond/issues/detail?id=1395



Cheers, 
Robin


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


Re: How to tie the last note of one variable to the first note ofanother variable?

2011-01-24 Thread Robin Bannister

Xavier Scheuer wrote:

[...] James Bailey wrote: 

I haven't checked it, but they're probably in different voice contexts.
Possible explicity doing a \new Voice = first and \context Voice = first
where appropriate may solve the problem.


Yes, or simply putting all in a \new Voice works: 
  
  
The idea being to obviate the implicit Voice creation?  
But this is surely not the whole story; 
reformulating the variables with absolute pitches works too.   
  
So is it due to an initial \relative messing up the automagic dataflow? 
  
And does the following snippet indicate an additional aspect? 
The output makes it apparent why the (first) tie might be suppressed, 
but I would very much like to understand what is going on here.  
  
  
{

 \relative c' b1
 \partOne
 \partTwo
 b1
 \partOne
 \partTwo
}
  
  
Cheers, 
Robin<>___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Bar line at beginning of piece

2011-01-28 Thread Robin Bannister
ornello wrote: 
My solution is not working because it affects all line breaks 
(not just the beginning of the piece
  
Having to affect all line breaks was what made was-empty.ly so cumbersome.  
  
You can make LSR 500 work by adding: 
\once \override Staff.BarLine #'glyph-name = "||" 
  
  
Cheers,

Robin
  
  
P.S.  
And please don't consider replacing the LSR 500 overrides 
with the deprecated one-liner (as still seen in LSR 377) 
\once \override Staff.BarLine #'break-align-symbol = #'custos 



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


<    1   2   3   4   5   >