Another problem with centerSolitaryPaperColumn

2015-07-29 Thread Víctor

Dear David and all Lilyponders:

I keep using the latest update of your centerSolitaryPaperColumn 
snippet, and have spotted another glitch. I hope it is not much trouble 
if I ask you to give it a look again: In the attachment you can see that 
ties in measures 4 and 8 are missaligned in the first staff, while the 
second staff has no problem. I belive it is necesary to break the system 
manually to reproduce the bug, otherwise the ties seem to be correctly 
placed.


Thanks and regards,
Víctor.
\version "2.19.15"

#(define center-column
   (lambda (col)
 (let* ((sys (ly:grob-system col))
(all-cols
 (ly:grob-array->list
  (ly:grob-object sys 'columns)))
(measure-no
 (car (ly:grob-property col 'rhythmic-location)))
; we need to find out if there is another
; PaperColumn in the measure.  If there is,
; we make no adjustments.
(in-company?
 ; is there a column...
 (any
  (lambda (c)
(and
 ; which is NOT our column...
 (not (eq? col c))
 ; which is a PaperColumn...
 (not (eq? #t (ly:grob-property c 'non-musical)))
 ; which is in the same measure
 (eq?
  (car (ly:grob-property c 'rhythmic-location))
  measure-no)))
  all-cols))
(alone? (not in-company?))) ; 
   (if alone?
   (let* ((left-col (ly:grob-object col 'left-neighbor))
  (right-col (ly:grob-object col 'right-neighbor))
  (elts-list
   (ly:grob-array->list (ly:grob-object col 'elements)))
  (note-cols
   (filter
(lambda (elt)
  (grob::has-interface elt 'note-column-interface))
elts-list))
  (all-rests
   (map (lambda (c)
  (ly:grob-object c 'rest))
 note-cols))
  (all-rests (filter ly:grob? all-rests))
  (all-notes
   (map
(lambda (c)
  (ly:grob-object c 'note-heads))
note-cols))
  (all 
   (map (lambda (ga) 
  (if (ly:grob-array? ga)
  (ly:grob-array->list ga)
  '()))
 all-notes))
  (all (flatten-list all))
  (all (append all all-rests))
  (same-dur?
   (every (lambda (o) 
(equal?
 (ly:grob-property o 'duration-log)
 (ly:grob-property (car all)
   'duration-log)))
 all)))
 (if same-dur?
 (let* ((col-center (interval-center
 (ly:grob-extent col sys X)))
(left-right-X
 (cdr (ly:grob-extent left-col sys X)))
(right-left-X
 (car (ly:grob-extent right-col sys X)))
(middle-X
 (- (average left-right-X right-left-X)
   col-center)))
   (ly:grob-translate-axis! col middle-X X

centerSolitaryPaperColumn =
\override Score.PaperColumn.after-line-breaking = #center-column

\score{
  <<
\new Staff \relative c' { \time 3/4 \repeat unfold 9 f4 \break f2.~ f4 \repeat unfold 7 f4 f~ f2. }
\new Staff \relative c' { \time 3/4 \repeat unfold 9 f4 \break f2.~ f4 \repeat unfold 7 f4 f~ f2. }
  >>
}

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


Re: Footnotes and lilypond book

2015-08-06 Thread Víctor
You can place the note call in lilypond using ^\markup { 1 } and then 
the footnote directly in TeX using \footnotetext[1]{My footnote}. The 
trick to make this appear in the correct page is to insert it inside the 
\betweenlilypondsystem macro, you can try this:


\newcommand{\betweenlilypondsystem}[1]{ % Use \renewcommand 
instead, if it has already been defined
\ifnum #1 = 4 {\footnotetext[1]{My first footnote, in the 4th 
system}} \fi
\ifnum #1 = 6 {\footnotetext[2]{My second footnote, in the 6th 
system}} \fi

}
\includely{my_file.ly}

I hope this helps.
Víctor.

El 05/08/15 a las 13:15, Alberto Simões escribió:

Hello

I am trying to use lilypond book, and it seems that footnotes are not 
rendered.


A (non minimal) example is in attach.
Am I doing anything wrong?
Is there any easy solution?

Thank you in advance,
Alberto


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


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


Center paper column

2015-08-08 Thread Víctor

Hello Lilyponders:

I've already made this question, but now it's lost under a ton of mails, 
so I'll ask again:


I've been using David Nalesnik's CenterPaperColumn function for a while 
now, and I've stumbled upon a glitch with tied notes in the first staff 
when one of the notes involved is centered. This only seems to happen 
when the system is broken manualy. See the attachment for details.


Thanks, best regards.
\version "2.19.15"

#(define center-column
   (lambda (col)
 (let* ((sys (ly:grob-system col))
(all-cols
 (ly:grob-array->list
  (ly:grob-object sys 'columns)))
(measure-no
 (car (ly:grob-property col 'rhythmic-location)))
; we need to find out if there is another
; PaperColumn in the measure.  If there is,
; we make no adjustments.
(in-company?
 ; is there a column...
 (any
  (lambda (c)
(and
 ; which is NOT our column...
 (not (eq? col c))
 ; which is a PaperColumn...
 (not (eq? #t (ly:grob-property c 'non-musical)))
 ; which is in the same measure
 (eq?
  (car (ly:grob-property c 'rhythmic-location))
  measure-no)))
  all-cols))
(alone? (not in-company?))) ; 
   (if alone?
   (let* ((left-col (ly:grob-object col 'left-neighbor))
  (right-col (ly:grob-object col 'right-neighbor))
  (elts-list
   (ly:grob-array->list (ly:grob-object col 'elements)))
  (note-cols
   (filter
(lambda (elt)
  (grob::has-interface elt 'note-column-interface))
elts-list))
  (all-rests
   (map (lambda (c)
  (ly:grob-object c 'rest))
 note-cols))
  (all-rests (filter ly:grob? all-rests))
  (all-notes
   (map
(lambda (c)
  (ly:grob-object c 'note-heads))
note-cols))
  (all 
   (map (lambda (ga) 
  (if (ly:grob-array? ga)
  (ly:grob-array->list ga)
  '()))
 all-notes))
  (all (flatten-list all))
  (all (append all all-rests))
  (same-dur?
   (every (lambda (o) 
(equal?
 (ly:grob-property o 'duration-log)
 (ly:grob-property (car all)
   'duration-log)))
 all)))
 (if same-dur?
 (let* ((col-center (interval-center
 (ly:grob-extent col sys X)))
(left-right-X
 (cdr (ly:grob-extent left-col sys X)))
(right-left-X
 (car (ly:grob-extent right-col sys X)))
(middle-X
 (- (average left-right-X right-left-X)
   col-center)))
   (ly:grob-translate-axis! col middle-X X

centerSolitaryPaperColumn =
\override Score.PaperColumn.after-line-breaking = #center-column

\score{
  <<
\new Staff \relative c' { \time 3/4 \repeat unfold 9 f4 \break f2.~ f4 \repeat unfold 7 f4 f~ f2. }
\new Staff \relative c' { \time 3/4 \repeat unfold 9 f4 \break f2.~ f4 \repeat unfold 7 f4 f~ f2. }
  >>
}

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


Chord between braces

2015-08-08 Thread Víctor

Hello all:

I've been looking for a way to place braces [ ] around a whole chord 
without succes. The lilypond documentation 
<http://lilypond.org/doc/v2.18/Documentation/notation/inside-the-staff#parentheses> 
warns that using \parenthesize with a chord will place each note between 
parentheses, and the same occurs when I use \bracketify 
<http://lsr.di.unimi.it/LSR/Item?id=564> snippet. I desperately need the 
whole chord to be bracketified, does anyone knows a solution for this?


Thanks and best regards,
Víctor.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Center paper column

2015-08-08 Thread Víctor
Thank you for your answer Stephen. I've already used a similar solution, 
but I really need a more automated one, since I'm working in a very 
large project with about 300 pieces, and would like to avoid fixing 
every tie in this condition manually.


Víctor.

El 08/08/15 a las 12:32, Stephen MacNeil escribió:

you could use shape!

\version "2.18.2"

#(define center-column

(lambda (col)

(let* ((sys (ly:grob-system col))

(all-cols

(ly:grob-array->list

(ly:grob-object sys 'columns)))

(measure-no

(car (ly:grob-property col 'rhythmic-location)))

; we need to find out if there is another

; PaperColumn in the measure. If there is,

; we make no adjustments.

(in-company?

; is there a column...

(any

(lambda (c)

(and

; which is NOT our column...

(not (eq? col c))

; which is a PaperColumn...

(not (eq? #t (ly:grob-property c 'non-musical)))

; which is in the same measure

(eq?

(car (ly:grob-property c 'rhythmic-location))

measure-no)))

all-cols))

(alone? (not in-company?))) ;

(if alone?

(let* ((left-col (ly:grob-object col 'left-neighbor))

(right-col (ly:grob-object col 'right-neighbor))

(elts-list

(ly:grob-array->list (ly:grob-object col 'elements)))

(note-cols

(filter

(lambda (elt)

(grob::has-interface elt 'note-column-interface))

elts-list))

(all-rests

(map (lambda (c)

(ly:grob-object c 'rest))

note-cols))

(all-rests (filter ly:grob? all-rests))

(all-notes

(map

(lambda (c)

(ly:grob-object c 'note-heads))

note-cols))

(all

(map (lambda (ga)

(if (ly:grob-array? ga)

(ly:grob-array->list ga)

'()))

all-notes))

(all (flatten-list all))

(all (append all all-rests))

(same-dur?

(every (lambda (o)

(equal?

(ly:grob-property o 'duration-log)

(ly:grob-property (car all)

'duration-log)))

all)))

(if same-dur?

(let* ((col-center (interval-center

(ly:grob-extent col sys X)))

(left-right-X

(cdr (ly:grob-extent left-col sys X)))

(right-left-X

(car (ly:grob-extent right-col sys X)))

(middle-X

(- (average left-right-X right-left-X)

col-center)))

(ly:grob-translate-axis! col middle-X X


centerSolitaryPaperColumn =

\override Score.PaperColumn.after-line-breaking = #center-column


\score{

<<

\new Staff \relative c' { \time 3/4 \repeat unfold 9 f4 \break

\shape #'(( 0 . 0) (2 . -.3) (-4 . .3) (-4.5 . 0)) Tie

f2.~ f4 \repeat unfold 7 f4


\shape #'(( 0 . 0) (0 . 0) (3 . -.3) (4.5 . 0)) Tie


f~ f2. }

\new Staff \relative c' { \time 3/4 \repeat unfold 9 f4 \break

f2.~ f4 \repeat unfold 7 f4 f~ f2. }

>>

}


\layout{

\centerSolitaryPaperColumn

}


Stephen




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


Re: Chord between braces

2015-08-08 Thread Víctor

This works very well, thank you!
Víctor

El 08/08/15 a las 13:00, Malte Meyn escribió:


Am 08.08.2015 um 19:32 schrieb Víctor:

I desperately need the
whole chord to be bracketified, does anyone knows a solution for this?

Thanks and best regards,
Víctor.



Hi Víctor,

you can use the function \parch from the following post at the German 
LilyPond board:


http://www.lilypondforum.de/index.php?topic=347.msg10785#msg10785

This allows you to put a chord in to parentheses:

{ \parch 3  }

The number after \parch moves the right bracket (it’s the gap between 
the parentheses).


For brackets [] instead of parentheses () replace the three occurences 
of ly:arpeggio::brew-chord-slur by ly:arpeggio::brew-chord-bracket.


Malte

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



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


centerPaperColumn

2015-08-30 Thread Víctor

Dear David and lilyponders:

I'm glad to see that you are around here again, so now I hope it 
will be not much of a trouble if ask you to take a look to the 
aforementioned problem with the ties and centered notes. For those who 
don't know what I'm talking about, David Nalesnik programed a very 
useful function that centers notes when they occupy the whole measure. 
The problem seems to be that tie's length is not recalculated after the 
note column has been moved; and since my scheme-fu is very basic, I just 
can't fix this myself.


See attachments for minimum example and output.

Thanks and best regards,
Víctor.


\version "2.19.15"

#(define center-column
   (lambda (col)
 (let* ((sys (ly:grob-system col))
(all-cols
 (ly:grob-array->list
  (ly:grob-object sys 'columns)))
(measure-no
 (car (ly:grob-property col 'rhythmic-location)))
; we need to find out if there is another
; PaperColumn in the measure.  If there is,
; we make no adjustments.
(in-company?
 ; is there a column...
 (any
  (lambda (c)
(and
 ; which is NOT our column...
 (not (eq? col c))
 ; which is a PaperColumn...
 (not (eq? #t (ly:grob-property c 'non-musical)))
 ; which is in the same measure
 (eq?
  (car (ly:grob-property c 'rhythmic-location))
  measure-no)))
  all-cols))
(alone? (not in-company?))) ; 
   (if alone?
   (let* ((left-col (ly:grob-object col 'left-neighbor))
  (right-col (ly:grob-object col 'right-neighbor))
  (elts-list
   (ly:grob-array->list (ly:grob-object col 'elements)))
  (note-cols
   (filter
(lambda (elt)
  (grob::has-interface elt 'note-column-interface))
elts-list))
  (all-rests
   (map (lambda (c)
  (ly:grob-object c 'rest))
 note-cols))
  (all-rests (filter ly:grob? all-rests))
  (all-notes
   (map
(lambda (c)
  (ly:grob-object c 'note-heads))
note-cols))
  (all 
   (map (lambda (ga) 
  (if (ly:grob-array? ga)
  (ly:grob-array->list ga)
  '()))
 all-notes))
  (all (flatten-list all))
  (all (append all all-rests))
  (same-dur?
   (every (lambda (o) 
(equal?
 (ly:grob-property o 'duration-log)
 (ly:grob-property (car all)
   'duration-log)))
 all)))
 (if same-dur?
 (let* ((col-center (interval-center
 (ly:grob-extent col sys X)))
(left-right-X
 (cdr (ly:grob-extent left-col sys X)))
(right-left-X
 (car (ly:grob-extent right-col sys X)))
(middle-X
 (- (average left-right-X right-left-X)
   col-center)))
   (ly:grob-translate-axis! col middle-X X

centerSolitaryPaperColumn =
\override Score.PaperColumn.after-line-breaking = #center-column

\score{
  <<
\new Staff \relative c' { \time 3/4 \repeat unfold 9 f4 \break f2.~ f4 \repeat unfold 7 f4 f~ f2. }
\new Staff \relative c' { \time 3/4 \repeat unfold 9 f4 \break f2.~ f4 \repeat unfold 7 f4 f~ f2. }
  >>
}

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


Re: centerPaperColumn

2015-09-03 Thread Víctor
Sorry to hear that. Anyway thank you for trying, I guess I'll have to 
fix them manually.


Regards,
Víctor.

El 31/08/15 a las 08:06, David Nalesnik escribió:



On Mon, Aug 31, 2015 at 7:58 AM, David Nalesnik 
mailto:david.nales...@gmail.com>> wrote:


Victor,

On Sun, Aug 30, 2015 at 8:12 PM, Víctor mailto:piratabonifa...@gmail.com>> wrote:

Dear David and lilyponders:

I'm glad to see that you are around here again, so now I
hope it will be not much of a trouble if ask you to take a
look to the aforementioned problem with the ties and centered
notes. For those who don't know what I'm talking about, David
Nalesnik programed a very useful function that centers notes
when they occupy the whole measure. The problem seems to be
that tie's length is not recalculated after the note column
has been moved; and since my scheme-fu is very basic, I just
can't fix this myself.


I'm sorry, but I don't know how to fix this.

The problem lies in the code for determining whether the
PaperColumn to center or ignore is alone in the measure.  This
requires access to other columns in the line, and these are
located through the grob-array 'columns.  Unfortunately, this
array is empty until line breaking has occurred.  By then, it's
too late to do anything about the ties, as far as I know.  If
there were a way to get the previous and adjoining columns before
line breaking, that could possibly fix your problem.  I don't see
a way in Scheme, but I'd welcome being wrong about that.


And you might think 'left-neighbor and 'right-neighbor 
(http://lilypond.org/doc/v2.19/Documentation/internals/spaceable_002dgrob_002dinterface) 
would be exactly what we want.  Works for an override of 
PaperColumn.after-line-breaking but we come up empty for 
'before-line-breaking:


\version "2.19.25"

{
  \override Score.PaperColumn.before-line-breaking =
  #(lambda (grob)
 (let ((left (ly:grob-object grob 'left-neighbor))
   (right (ly:grob-object grob 'right-neighbor)))
   (format #t "left neighbor: ~a right neighbor: ~a~%" left right)))
  c'1
  c'1
}

DN



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


Beam slope tweaking

2015-01-28 Thread Víctor

Hello everyone:

I'm trying to make beam slopes parallel to the music, or at least more 
evident. So I'm using \override Beam.damping = #0 wich works mostly ok, 
but beams in the center of the staves are still very horizontal. I've 
also tried to mess around with Beams.details list, but I can't figure 
out what of most of its keys do. Is there any way of increasing the 
slope of beams in the center of the staff?


Thanks in advance. Víctor.

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


Re: Beam slope tweaking

2015-01-28 Thread Víctor

I'm sorry, here it is:

\version "2.19.15"

\score {
  \new Staff {
\autoBeamOff
\override Beam.damping = #0
\relative c' {
  c8[^"sloped beam" d e f]
  g,[^"non sloped beam" a b c]
}
  }
}



El 28/01/15 a las 10:37, Pierre Perol-Schneider escibió:

Hi Victor,
Please send a tiny example.
Cheers,
Pierre

2015-01-28 17:23 GMT+01:00 Víctor <mailto:piratabonifa...@gmail.com>>:


Hello everyone:

I'm trying to make beam slopes parallel to the music, or at least
more evident. So I'm using \override Beam.damping = #0 wich works
mostly ok, but beams in the center of the staves are still very
horizontal. I've also tried to mess around with Beams.details
list, but I can't figure out what of most of its keys do. Is there
any way of increasing the slope of beams in the center of the staff?

Thanks in advance. Víctor.

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




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


Re: Beam slope tweaking

2015-01-28 Thread Víctor
Thank you for your quick response Pierre. Your solution fixes ascending 
music, but descending music has now horizontal beams too:


\version "2.19.15"

\score {
  \new Staff {
\autoBeamOff
%\override Beam.damping = #0
\offset positions #'(0 . 1) Beam
\relative c' {
  c8[^"sloped beam" d e f]
  g,[^"non sloped beam" a b c]
  c'[ b a g] f[ e d c]
  c[ e g c] c[ g e c]
}
  }
}


El 28/01/15 a las 11:04, Pierre Perol-Schneider escibió:

Thank you Victaor,

How about :

\version "2.19.15"

\score {
  \new Staff {
\autoBeamOff
%\override Beam.damping = #0
\offset positions #'(0 . 1) Beam
\relative c' {
  c8[^"sloped beam" d e f]
  g,[^"non sloped beam" a b c]
}
  }
}

HTH
Pierre


2015-01-28 17:53 GMT+01:00 Víctor <mailto:piratabonifa...@gmail.com>>:


I'm sorry, here it is:

\version "2.19.15"

\score {
  \new Staff {
\autoBeamOff
\override Beam.damping = #0
\relative c' {
  c8[^"sloped beam" d e f]
  g,[^"non sloped beam" a b c]
}
  }
}



El 28/01/15 a las 10:37, Pierre Perol-Schneider escibió:

Hi Victor,
Please send a tiny example.
Cheers,
Pierre

2015-01-28 17:23 GMT+01:00 Víctor mailto:piratabonifa...@gmail.com>>:

Hello everyone:

I'm trying to make beam slopes parallel to the music, or at
least more evident. So I'm using \override Beam.damping = #0
wich works mostly ok, but beams in the center of the staves
are still very horizontal. I've also tried to mess around
with Beams.details list, but I can't figure out what of most
of its keys do. Is there any way of increasing the slope of
beams in the center of the staff?

Thanks in advance. Víctor.

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





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




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


Re: Beam slope tweaking

2015-01-28 Thread Víctor

Thank you very much, this fixed my issue.


El 28/01/15 a las 13:47, Thomas Morley escibió:

\score {
   \new Staff {
 \autoBeamOff
 \override Beam.damping = #0
 \override Stem.no-stem-extend = ##t
 \relative c' {
   c8[^"sloped beam" d e f]
   g,[^"non sloped beam" a b c]
   c'[ b a g] f[ e d c]
   c[ e g c] c[ g e c]
 }
   }
}



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


Center note column bug

2015-05-29 Thread Víctor
I've been using "center note column" function written by Thomas Morley, 
for some time now, and today I've spotted a bug. Notice the position of 
the dots in the last measure.


I hope this can be fixed.
Regards. Víctor.


center note column bug.pdf
Description: Adobe PDF document
\version "2.19.15"

% FUNCIÓN "CENTER NOTE COLUMN": Escrita por Thomas Morley, colaboración de David Nalesnik.
% Usar \centerNoteColumnOn para empezar a centrar notas en el compás y \centerNoteColumnOff
% para dejar de hacerlo.
% Tomada de la lista de correo de usuarios de Lilypond lilypond-user@gnu.org

% Thanks to David Nalesnik

#(define (sort-by-X-coord sys grob-lst)
"Arranges a list of grobs in ascending order by their X-coordinates"
   (let* ((X-coord (lambda (x) (ly:grob-relative-coordinate x sys X)))
  (comparator (lambda (p q) (< (X-coord p) (X-coord q)
  
 (sort grob-lst comparator)))

#(define (find-bounding-grobs note-column grob-lst)
   (let* ((sys (ly:grob-system note-column))
  (X-coord (lambda (n) (ly:grob-relative-coordinate n sys X)))
  (note-column-X (X-coord note-column)))

  (define (helper lst)
(if (and (< (X-coord (car lst)) note-column-X)
 (> (X-coord (cadr lst)) note-column-X))
(cons (car lst) (cadr lst))
(if (null? (cddr lst))
(cons note-column note-column)
(helper (cdr lst)

  (helper grob-lst)))

#(define (read-out l1 l2)
   (define (helper ls1 ls2 ls3)
   "Filters all elements of ls1 from ls2 by their grob-name and appends it to ls3"
(let ((grob-name-proc (lambda (x) (assq-ref (ly:grob-property x 'meta) 'name
 (if (null? ls1)
 ls3
 (helper
   (cdr ls1) 
   ls2 
   (append ls3 (filter (lambda (x) (eq? (car ls1) (grob-name-proc x))) ls2))
  (helper l1 l2 '()))
  
#(define ((center-note-column x-offs) grob)
 (let* ((sys (ly:grob-system grob))
(elements-lst (ly:grob-array->list (ly:grob-object sys 'all-elements)))
(grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta) 'name)))
(X-extent (lambda (q) (ly:grob-extent q sys X)))
  ;; NoteColumn
(note-column-coord (ly:grob-relative-coordinate grob sys X))
(grob-ext (X-extent grob))
(grob-length (interval-length grob-ext))
  ;; NoteHeads
(note-heads (ly:grob-object grob 'note-heads))
(note-heads-grobs (if (not (null? note-heads))
 (ly:grob-array->list note-heads)
 '()))
(one-note-head (if (not (null? note-heads-grobs))
(car note-heads-grobs)
'()))
(one-note-head-length (if (not (null? one-note-head))
 (interval-length (X-extent one-note-head)) ;; NB
 0))
  ;; Stem
(stem (ly:grob-object grob 'stem))
(stem-dir (ly:grob-property stem 'direction))
(stem-length-x (interval-length (X-extent stem))) ;; NB
  ;; DotColumn
(dot-column (ly:note-column-dot-column grob))
  ;; AccidentalPlacement
(accidental-placement (ly:note-column-accidentals grob))
  ;; Arpeggio
(arpeggio (ly:grob-object grob 'arpeggio))
  ;; Rest
(rest (ly:grob-object grob 'rest))
  ;; BassFigure + ChordName
(other-grobs-to-center
   ;; TODO 
   ;; Not sure: What belongs to the list, what not?
   (list 'BassFigure
 ;'BassFigureAlignment
 ;'BassFigureAlignmentPositioning
 'BassFigureBracket
 'BassFigureContinuation
 ;'BassFigureLine
 'ChordName
 'FretBoard
 ))
(all-other-grobs (read-out other-grobs-to-center elements-lst))
(condensed-other-grobs
   (remove 
 (lambda (x) 
  (not (= (ly:grob-relative-coordinate x sys X)
  note-column-coord))) 
 all-other-grobs))
  ;; Grobs to center between
(args (list 'BarLine 
 	'Clef 
 	'KeySignature
 	'KeyCancellation
 	'TimeSignature))
(grob-lst (read-out args elements-lst)) 
(new-grob-lst (remove (lambda (x) (interval-empty? (X-extent x))) grob-lst))
(sorted-grob-lst (sort-by-X-coord sys new-grob-lst))
  ;; Bounds
(bounds (find-bounding-grobs grob sorted-grob-lst))
  

Re: Center note column bug

2015-05-30 Thread Víctor

Thank you both for your answers, I'll see to update to David's solution.

Regards. Víctor.

El 30/05/15 a las 13:31, Thomas Morley escibió:

2015-05-30 19:17 GMT+02:00 David Nalesnik :

Hi Victor,

On Fri, May 29, 2015 at 5:34 PM, Víctor  wrote:

I've been using "center note column" function written by Thomas Morley,
for some time now, and today I've spotted a bug. Notice the position of the
dots in the last measure.

I hope this can be fixed.
Regards. Víctor.


I don't have a fix for the function you're using,

The original function filters 'all-elements from system, filtering
those for certain grobs under certain conditions. Those grobs are
translated.

In case of two voices per Staff this is done for the note-heads (or
event-chords) of both voices, meaning: the dot-column is found twice
and translated twice! Same for accidental-placement.
Whereas every note-head (or event-chord) is found once and translated only once.

It may be doable to fix this, though, why?

David's function is much better.
Thanks a lot for it !!

I'd deprecate the old one!

Cheers,
   Harm


but trying the alternate
routine here
<http://www.mail-archive.com/lilypond-user%40gnu.org/msg99927.html>
gets good results.  (See attached.)

Best,
David


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




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


Re: Center note column bug

2015-05-31 Thread Víctor

Hello again,

I've tried your solution, but I get this error:

Dibujando los 
sistemas.../tmp/frescobaldi-Fwsk3s/tmpR0qdla/document.ly:6:22 <0>: In 
expression (ly:item-get-column grob):


/tmp/frescobaldi-Fwsk3s/tmpR0qdla/document.ly:6:22 <1>: Unbound 
variable: ly:item-get-column


Se ha devuelto al salir el código 1.


Do I need to update to a more recent version of Lily? I'm using 2.19.15

Regards,
Víctor

El 30/05/15 a las 12:17, David Nalesnik escibió:

Hi Victor,

On Fri, May 29, 2015 at 5:34 PM, Víctor <mailto:piratabonifa...@gmail.com>> wrote:


I've been using "center note column" function written by Thomas
Morley, for some time now, and today I've spotted a bug. Notice
the position of the dots in the last measure.

I hope this can be fixed.
Regards. Víctor.


I don't have a fix for the function you're using, but trying the 
alternate routine here 
<http://www.mail-archive.com/lilypond-user%40gnu.org/msg99927.html>

gets good results.  (See attached.)

Best,
David



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


Re: Center note column bug

2015-05-31 Thread Víctor


El 31/05/15 a las 08:43, David Nalesnik escibió:

Hi Victor,

Yes, you do.  However, the second version I posted should work with 
earlier versions as I factored out ly:item-get-column.


Sorry, I just missed that post. Now I've checked it and it works in 
2.19.15 I'll ask however, what do you advice me to do, to use this 
version or update Lily?


Regards,
Víctor.

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


Re: Center note column bug

2015-06-05 Thread Víctor

Hi David,

I've been using your new function to center paper column of notes, 
however, under certain circumstances a bug appears.
Thanks again for all the help, I hope this can be fixed without much 
trouble.


Víctor.

El 31/05/15 a las 11:56, David Nalesnik escibió:

Hi Victor,

On Sun, May 31, 2015 at 8:51 AM, Víctor <mailto:piratabonifa...@gmail.com>> wrote:



El 31/05/15 a las 08:43, David Nalesnik escibió:

Hi Victor,

Yes, you do.  However, the second version I posted should work
with earlier versions as I factored out ly:item-get-column.

Sorry, I just missed that post. Now I've checked it and it works
in 2.19.15 I'll ask however, what do you advice me to do, to use
this version or update Lily?


Well, I don't think that your choice to use a development version vs. 
a stable release should depend only on these functions, as both do 
pretty much the same thing.  I do prefer using the later code, which 
will work with both stable and unstable.


As to the larger question of whether to upgrade or not, that's up to 
you.  Development versions come with a caveat about possible dangers, 
though I've only purposely downgraded (to an earlier development 
version) on one occasion because of (temporary) brokenness.

.
David


\version "2.19.15"

#(define center-column
   (lambda (col)
 (let* ((left-col (ly:grob-object col 'left-neighbor))
(right-col (ly:grob-object col 'right-neighbor))
; If a column adjoining our column is a PaperColumn, ours
; is not alone in the measure.  We make no adjustments.
(alone?
 (and (eq? #t (ly:grob-property left-col 'non-musical))
  (eq? #t (ly:grob-property right-col 'non-musical)
   (if alone?
   (let* ((elts-list
   (ly:grob-array->list (ly:grob-object col 'elements)))
  (note-cols
   (filter
(lambda (elt)
  (grob::has-interface elt 'note-column-interface))
elts-list))
  (all-rests
   (map (lambda (c)
  (ly:grob-object c 'rest))
 note-cols))
  (all-rests (filter ly:grob? all-rests))
  (all-notes
   (map
(lambda (c)
  (ly:grob-object c 'note-heads))
note-cols))
  (all 
   (map (lambda (ga) 
  (if (ly:grob-array? ga)
  (ly:grob-array->list ga)
  '()))
 all-notes))
  (all (flatten-list all))
  (all (append all all-rests))
  (same-dur?
   (every (lambda (o) 
(equal?
 (ly:grob-property o 'duration-log)
 (ly:grob-property (car all)
   'duration-log)))
 all)))
 (if same-dur?
 (let* ((sys (ly:grob-system col))
(col-center (interval-center
 (ly:grob-extent col sys X)))
(left-right-X
 (cdr (ly:grob-extent left-col sys X)))
(right-left-X
 (car (ly:grob-extent right-col sys X)))
(middle-X
 (- (average left-right-X right-left-X)
   col-center)))
   (ly:grob-translate-axis! col middle-X X

centerSolitaryPaperColumn =
\override Score.PaperColumn.after-line-breaking = #center-column

\score {
  <<
\new Staff {
  \time 3/8
  a8 a4~
  a4.
}
\new PianoStaff <<
  \new Staff \repeat unfold 12 a16
  \new Staff \repeat unfold 6 a8
>>
  >>
}

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


Re: Center note column bug

2015-06-05 Thread Víctor

Dear David:

I can't thank you enough for solving this issue, you've saved my life... 
or at least a large amount of work-hours for me and my team.


Best regards,
Víctor

El 05/06/15 a las 12:03, David Nalesnik escibió:

Hi Victor,

On Fri, Jun 5, 2015 at 11:10 AM, Víctor <mailto:piratabonifa...@gmail.com>> wrote:


Hi David,

I've been using your new function to center paper column of notes,
however, under certain circumstances a bug appears.
Thanks again for all the help, I hope this can be fixed without
much trouble.


That's a problem with my "streamlining".  The dotted quarter in this 
measure should not be centered.  (If you _do_ want it centered, even 
though there are subdivisions of the beat in the other staves, you 
can't use my functions at all.  The paper column which includes the 
dotted quarter includes notes attacked at the same time in the other 
staves.)


Anyway, attached is a variant of the original function I posted.  I 
notice your example is 2.19.15, but this will work with 2.18 as well.


Best,
David




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


Scheme function

2015-06-10 Thread Víctor

Hi all:

solfa =
#(define-music-function
(parser location framed number note)
(string? string? string?)
  #{
^\markup{
  \box
  \pad-to-box #'(0 . 0) #'(0 . 2.2){ #framed }
  #number :
  \italic #note
}
  #})

\relative c' { c4^\solfa "C" "I" "do" }

I need this function to stop drawing the box when first argument is "" 
or stop printing the ":" when second or third argument are "". I'm very 
new to Scheme and any help is very much apreciated.


Regards,
Víctor.

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


Re: Scheme function

2015-06-10 Thread Víctor
Thank you very much for your answer and the documentation, I looked for 
scheme tutorials but only found very large books which I don't have time 
to read right now. I'll take a look to lilypond's scheme tutorial right 
away.


Thanks again.
Víctor

El 10/06/15 a las 10:34, Simon Albrecht escibió:

Hello Víctor,

see attached.
For an introduction into scheme tailored on Lilypond see the Lilypond 
Extending Manual 
<http://lilypond.org/doc/v2.18/Documentation/extending/index.html> and 
for reference of the used functions such as if, not, or, etc. the 
Scheme R5RS standard 
<http://www.schemers.org/Documents/Standards/R5RS/> (Disclaimer: that 
one is challenging at the beginning).


HTH, Simon

Am 10.06.2015 um 16:17 schrieb Víctor:

Hi all:

solfa =
#(define-music-function
(parser location framed number note)
(string? string? string?)
  #{
^\markup{
  \box
  \pad-to-box #'(0 . 0) #'(0 . 2.2){ #framed }
  #number :
  \italic #note
}
  #})

\relative c' { c4^\solfa "C" "I" "do" }

I need this function to stop drawing the box when first argument is 
"" or stop printing the ":" when second or third argument are "". I'm 
very new to Scheme and any help is very much appreciated.


Regards,
Víctor.

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





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


Re: Scheme function

2015-06-10 Thread Víctor
Thank you very much for your answer, this works very well. I'll be 
studying the scheme tutorial so I don't have to bother you people with 
basic things.

Regards,
Víctor.

El 10/06/15 a las 12:04, Nathan Ho escibió:

Hi Victor,

Here's one way to do it:

solfa =
#(define-music-function
(parser location framed number note)
(string? string? string?)
  (make-music
'TextScriptEvent
'direction 1
'text
(markup
   (if (not (equal? framed ""))
  (markup #:box #:pad-to-box '(0 . 0) '(0 . 2.2) framed)
  "")
#:simple number
(if (not (or (equal? number "") (equal? note "")))
  (markup #:simple ":")
  "")
#:italic note)))

\relative c' {
  c1^\solfa "C" "I" "do"
  c1^\solfa "" "I" "do"
  c1^\solfa "C" "" "do"
  c1^\solfa "C" "I" ""
}

Regards,
Nathan


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


Re: Question about \repeat unfold

2015-06-10 Thread Víctor

Hello Daniel:

You could use a hidden voice to add markups, dynamics, whatever and 
leave your repeat like it is. Something like:


music = { \repeat unfold 12 c4 }

control = {
s1*2
s1^\markup{ bla }
}

\score {
<<
\new Staff <<
\new Voice \music
\new Voice \control
>>
>>
}

El 10/06/15 a las 13:54, Daniel Contreras escibió:

Hello ponders,
I have a question about using the repeat unfold function. Is it possible to 
write a mark up on the second repeat. For example…
I want to write a indicator and notation on the bottom of the very last measure 
of a passage, the passage itself repeats two times. Is there a way for that 
annotation to only show up on the second repeat? Hope this makes sense. Thank 
you

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



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


Re: gregorian.ly with clef & italics

2015-06-11 Thread Víctor

Hello Karen:

I can't answer your question, but I can recommend you to try Gregorio 
<http://gregorio-project.github.io/>. This very nice software engraves 
the most beautiful gregorian chant I've seen around, and it is way 
easier to use than lilypond.


Regards,
Víctor

El 11/06/15 a las 15:37, Karen Billings escibió:


I have been experimenting with gregorian.ly using a fairly long chant. 
 It does a lovely job, but it only includes the clef on the first line 
of an 11-line chant, which I find very disorienting when playing.


I have been searching for days, but have not been able to figure out 
how to do the following:
1. Get the clef (treble) and key (if applicable) to print on each line 
instead of just at the beginning.
2. How to include italicized notes with the text (e.g. "Cantor" or "T. 
P.")


Thanks much!

Karen




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


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


Switching on/off instrument staff

2015-07-07 Thread Víctor

Hello Lilyponders:

Is there a way to place a switch in some instrument part so it is not 
rendered when such switch is off? Something like:


\score{
<<
\new Staff \with { instrumentName = "Violin" }{
\relative c'' { c4 d e f }
}
\new Staff \with { instrumentName = "Cello" }{
\relative c { c4 d e f }
}
>>
}

\layout{
\disableCello
}

Thanks,
Víctor.

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


Re: Switching on/off instrument staff

2015-07-08 Thread Víctor
Wow, so many answers. I think Rob's solution will be the most close to 
what I need, however I fear Abraham already answered my question.


I'll explain my problem further: I'm working in a three volume anthology 
for a singers school, each volume will come in two versions, one for the 
professor and the other for the student. The professor's version must 
have all voice piano parts, while the student's should only have the 
voice part. Now, because this is a very large project that includes 
gregorian scores, a lot of text and some didactics, I've decide to 
assemble the book in LuaLaTeX using lyluatex 
<https://github.com/jperon/lyluatex> package (a recent replacement for 
lilypond-book). So all lilypond files (about 80 right now, but they will 
be something like 200 in the end) are configured from a single style 
sheet named /formato.ly/, wich contains all snippets, formats, etc. So 
what I am looking for, is a snippet that can disable all piano parts 
across the project from a single line in such /formato.ly/. To replace 
the \score block in all of the files could be both painful and 
dangerous, but I prefer to do it right now than later, when there will 
be much more of them; and since all files are generated from a template, 
I can just replace it with any text editor.


Anyway, if somebody has an idea of how to make this, I'll really apreciate.
Thanks to all for your answers, best regards.
Víctor

El 08/07/15 a las 07:00, Robert Schmaus escribió:

Hi Chris,

The tag method is a fantastic tool in many cases, so it's great to be 
aware of it. Just in this particular case it's maybe not the easiest 
way to go.


Yeah, that's how I mostly use variables as well - placing just the 
music in variables and then, in the score block, build up a


\new StaffGroup <<
  \new Staff \new Voice \someMusic
  \new Staff <<
 \new Voice { \voiceOne \moreMusic }
\new Voice { \voiceTwo \yetMoreMusic }
  >>
>>

I find this a very clear structure ... and it allows me to have a 
"complete" template where you just comment out  all \Staffs you don't 
need in a particular case.


Cheers, Rob

__

Truth does not change according to our ability to stomach it.
-- /Flannery O'Connor/

On 8 Jul 2015, at 13:11, Chris Yate <mailto:chrisy...@gmail.com>> wrote:



Hi Rob,

Wow, thanks, that's a much neater way. I think I should probably look 
at refactoring my band template.


I agree, my method is a bit complicated -- but it's bothering me a 
bit, because I think there was a reason I did it like this in the 
first place! Could well be an insufficient understanding at the time, 
of how variables work :-)


I do already use variables as:

violinMusic = { a b c d }

violinVoice = \new Voice {
 % voice setup stuff %
 \violinMusic
}

Chris

On 8 July 2015 at 09:58, Robert Schmaus <mailto:robert.schm...@web.de>> wrote:


In addition to the suggested way with tags (which surely works, but
which I find overly complicated), a simpler way would be to
simply place
the Staffs in variables and comment out the ones you don't want
to have
in the next engraving. Like this:

violinStaff = \new Staff \with { instrumentName = "Violin" }{
\relative c'' { c4 d e f }
}

celloStaff = \new Staff \with { instrumentName = "Cello" }{
\relative c { c4 d e f }
}

\score{
<<
  \violinStaff
  \celloStaff
>>
}

IMO there's no need for a complicated tag structure, just go for a
simple approach. You will want to use a variable structure for any
non-trivial score anyway ...

Best, Rob


Am 07/07/15 um 17:42 schrieb Víctor:
> Hello Lilyponders:
>
> Is there a way to place a switch in some instrument part so it
is not
> rendered when such switch is off? Something like:
>
> \score{
> <<
> \new Staff \with { instrumentName = "Violin" }{
> \relative c'' { c4 d e f }
    > }
> \new Staff \with { instrumentName = "Cello" }{
> \relative c { c4 d e f }
> }
> >>
> }
>
> \layout{
> \disableCello
> }
>
> Thanks,
> Víctor.
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org <mailto:lilypond-user@gnu.org>
> https://lists.gnu.org/mailman/listinfo/lilypond-user

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





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


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


Re: Switching on/off instrument staff

2015-07-08 Thread Víctor

Abraham:

You just gave me a wonderful solution, I'll explain myself:

My current file layout is like this:


*formato.ly*

   \version "2.19.15"

   \include "snippets.ly"% file with lots of snippets (really)
   \include "tipografia.ly"  % typographies

   \layout {
% some overrides here
   }

   % some format snippets here:
   formatoPerc = { \stemDown }



*voice_with_piano_example.ly*

   \include "formato.ly"

   control { } % this normaly stays empty, but can be used to add code
   to the voice without "polluting" it

   voz = { a4 b c }
   verso = \lyricmode { la la la }

   pianoDer = { a4 b c }
   pianoIzq = {a4 b c }

   dinamicas = { s4\pp s4 s4\f } % some dynamics here

   \score {
  <<
\new Staff \with { instrumentName = \vozSolo } << % this
   variable is defined in /formato.ly/
  \new Voice \voz
  \addlyrics \verso
  \new Voice \control
>>
\new PianoStaff \with { instrumentName = \pianoIns } <<
  \new Staff = "MD" <<
\new Voice \pianoDer
\new Dynamics \dinamicas
  >>
  \new Staff = "MI" {
\clef bass
\pianoIzq
  }
>>
  >>
   }

But now I've realized that \score should be declared in a separate file, 
something like*/voz_y_piano.ly/*, and there I can easely comment out the 
piano staff for all my files at once, avoiding both pain and human mistakes.


Thanks again to all of you for your support. Best regards,
Víctor.


El 08/07/15 a las 11:33, tisimst escribió:

Victor,

You have gotten some great advice. Sorry they don't work for you. As 
I've been thinking about your dilemma I wondered if you could just do 
something like


\layout {
\context {
\Score
\denies "PianoStaff"
  }
}

on the top-level to remove the PianoStaff altogether (assuming this is 
how you built the piano part), but that doesn't do it either. This 
would be the kind of solution you would be looking for. Sorry it 
doesn't work like I postulated. I think I have a solution, but seeing 
a tiny example of a couple of files the exemplify your work-flow may 
help us out. Just put them in the body of an email like this:


%%% file1.ly <http://file1.ly>

voicePart = { c1 }
pianoRH = { c1 }
pianoLH = { c1 }

\include "formato.ly <http://formato.ly>"

%%% file2.ly <http://file2.ly>

voicePart = { b1 }
pianoRH = { b1 }
pianoLH = { b1 }

\include "formato.ly <http://formato.ly>"

%%% formato.ly <http://formato.ly>

\paper {
  indent = 0
}

\layout {
\override SomeThing.property = 1.5
\override SomeThingElse.property = 0
}

\score {
<<
\new Staff \voicePart
\new PianoStaff <<
\new Staff \pianoRH
\new Staff \pianoLH
>>
>>
  \layout {}
}

%%% masterfile.ly <http://masterfile.ly>

\include "file1.ly <http://file1.ly>"
\include "file2.ly <http://file2.ly>"

%%%

I just made that up, of course. Thank you in advance for clarifying 
things so that we may help you better.

- Abraham

On Wed, Jul 8, 2015 at 9:44 AM, Víctor [via Lilypond] <[hidden email] 
> wrote:


Wow, so many answers. I think Rob's solution will be the most
close to what I need, however I fear Abraham already answered my
question.

I'll explain my problem further: I'm working in a three volume
anthology for a singers school, each volume will come in two
versions, one for the professor and the other for the student. The
professor's version must have all voice piano parts, while the
student's should only have the voice part. Now, because this is a
very large project that includes gregorian scores, a lot of text
and some didactics, I've decide to assemble the book in LuaLaTeX
using lyluatex <https://github.com/jperon/lyluatex> package (a
recent replacement for lilypond-book). So all lilypond files
(about 80 right now, but they will be something like 200 in the
end) are configured from a single style sheet named /formato.ly
<http://formato.ly>/, wich contains all snippets, formats, etc. So
what I am looking for, is a snippet that can disable all piano
parts across the project from a single line in such /formato.ly
<http://formato.ly>/. To replace the \score block in all of the
files could be both painful and dangerous, but I prefer to do it
right now than later, when there will be much more of them; and
since all files are generated from a template, I can just replace
it with any text editor.

Anyway, if somebody has an idea of how to make this, I'll really
apreciate.
Thanks to all for your answers, best regards.
Víctor

El 08/07/15 a las 07:00, Robert Schmaus escribió:

Hi Chris,

   

Re: Switching on/off instrument staff

2015-07-08 Thread Víctor


Also, I don't know if it makes a difference to you (it appears the 
output doesn't change), but I'd move your Dynamic section more 
explicitly in-between the two piano staves. I think it just makes the 
code a little cleaner. Like this:


\new PianoStaff <<
\new Staff ...
\new Dynamics ...
\new Staff ...
>>

Oh, and you don't need to explicitly create a \new Voice anymore in 
the upper piano Staff if you do that. Just a small suggestion.


- Abraham


Thanks for the suggestion, it is indeed a cleaner way. Now that I'll 
redefine the \score, I'll do it this way. Thanks again.

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


Re: Lilypond and LaTeX - margins

2015-07-25 Thread Víctor
On a separate subject, I'd like to recommend you to use lyluatex 
<https://github.com/jperon/lyluatex> instead of Lilypond-book. I've 
found it to be a cleaner way to work as it is a LuaLaTeX package 
(developed by the Gregorio team!) and not an engine.


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


Re: OT: Getting lyluatex to work [was: Re: Lilypond and LaTeX - margins]

2015-07-26 Thread Víctor
Maybe you should write your question in the GitHub page, or in the 
gregorio project mail list, where its developer will surely read it. He 
is quite a supportive person, and clearly the most qualified to help you.


Víctor.

El 26/07/15 a las 05:33, Marc Hohl escribió:

Am 25.07.2015 um 18:12 schrieb Víctor:

On a separate subject, I'd like to recommend you to use lyluatex
<https://github.com/jperon/lyluatex> instead of Lilypond-book. I've
found it to be a cleaner way to work as it is a LuaLaTeX package
(developed by the Gregorio team!) and not an engine.


I wanted to give this package a try and copied the two files
lyluatex.sty and lyluatex.lua in my project folder
(as described in
https://github.com/jperon/lyluatex/blob/master/README.en.md)

Now I get

! LuaTeX error ./lyluatex.lua:1: attempt to index global 'luatexbase' 
(a nil value)

stack traceback:
./lyluatex.lua:1: in main chunk
[C]: in function 'dofile'
[\directlua]:1: in main chunk.
l.13 ...tlua{dofile(kpse.find_file("lyluatex.lua"))}

?

As an alternative, I made a directory in the texlive tree

$ sudo mkdir /usr/local/texlive/2014/texmf-dist/tex/lualatex/lyluatex/

and copied the files in there, followed by a

$ sudo mktexlsr

but the error message persists.

Can someone of the TeXperts explain to me what I am (obviously) doing 
wrong here?


Thanks,

Marc



Víctor.


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




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



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


Offseting stems and distributing notes evenly.

2021-09-14 Thread Víctor Cisneros
Dear lilyponders:


For musicological purposes, I need to make every down-sided stem to be to
the

right of the note. So far, I've managed it by offseting it case per case
like

this:


pdn = {

\override Stem.X-offset = 1.12

\override Stem.Y-offset = 0.4

\override Stem.length = 7.5

}


\once\pdn c4


This is, however, impractical, so I'm asking you, guys, if there is a way
to

automatize it. I guess a function could be written to detect the direction
of

the stem and the type of pneuma (as white notes are a little bit wider than

blacks), but I don't know how to do it, nor do I have the time to do all
the

research (sadly).


I also need to make every note equally spaced across the staff, regardless
of

its value; I've achieved a somewhat evenly distribution by doing this:


\override Score.SpacingSpanner.spacing-increment = #0.5

\override Score.SpacingSpanner.strict-note-spacing = ##t


But it is not perfect. Is there a way to make lilypond ignore completely
the

value of the note, and make them appear all equally distanced?


Thank you all very much for your help,

Víctor.


lyluatex usage

2018-02-16 Thread Víctor Cisneros
I'm hoping this is the right place to post a question about lyluatex, 
since I can't find a mailing list in that project's site.


Anyway, I used lyluatex plenty of times in the past year in several 
projects, without a problem, but now I can't seem to run a minimal example:



\documentclass[letterpaper]{report}
\usepackage{lyluatex}

\begin{document}
    \lily{c'}
    % \begin{ly}
    %     \relative c' { c d e f g a b c }
    % \end{ly}
\end{document}


All I can get is this error:

/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:5: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:1025: 
attempt to index field 'shared' (a nil value) [    \lily{c'}]
/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:5: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:1025: 
attempt to index field 'shared' (a nil value) [    \lily{c'}]
/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:5: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:663: 
attempt to index local 'self' (a nil value) [    \lily{c'}]



If I attempt to compile the above commented lines, I'll get this:

/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:7: 
Undefined control sequence. [        \relative]
/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:8: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:1025: 
attempt to index field 'shared' (a nil value) [    \end{ly}]
/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:8: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:1025: 
attempt to index field 'shared' (a nil value) [    \end{ly}]
/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:8: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:663: 
attempt to index local 'self' (a nil value) [    \end{ly}]



I'm using TeXlive 2015 and lilypond 2.19.49, compiling with 
-shell-escape option.


Thank you very much for your help.

Victor.


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


Re: lyluatex usage

2018-02-16 Thread Víctor Cisneros
Ok, so I updated  my TeXlive to 2017 and now the errors are gone, but I 
have no output.



El 16/02/18 a las 11:19, Víctor Cisneros escribió:
I'm hoping this is the right place to post a question about lyluatex, 
since I can't find a mailing list in that project's site.


Anyway, I used lyluatex plenty of times in the past year in several 
projects, without a problem, but now I can't seem to run a minimal 
example:



\documentclass[letterpaper]{report}
\usepackage{lyluatex}

\begin{document}
    \lily{c'}
    % \begin{ly}
    %     \relative c' { c d e f g a b c }
    % \end{ly}
\end{document}


All I can get is this error:

/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:5: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:1025: 
attempt to index field 'shared' (a nil value) [    \lily{c'}]
/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:5: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:1025: 
attempt to index field 'shared' (a nil value) [    \lily{c'}]
/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:5: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:663: 
attempt to index local 'self' (a nil value) [    \lily{c'}]



If I attempt to compile the above commented lines, I'll get this:

/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:7: 
Undefined control sequence. [        \relative]
/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:8: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:1025: 
attempt to index field 'shared' (a nil value) [    \end{ly}]
/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:8: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:1025: 
attempt to index field 'shared' (a nil value) [    \end{ly}]
/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.sty:8: 
LuaTeX error /usr/share/texmf/tex/latex/lyluatex/lyluatex.lua:663: 
attempt to index local 'self' (a nil value) [    \end{ly}]



I'm using TeXlive 2015 and lilypond 2.19.49, compiling with 
-shell-escape option.


Thank you very much for your help.

Victor.




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


Bar in a Symphony by Beethoven

2019-08-10 Thread Víctor Manuel Ares Piñeiro via lilypond-user
Greetings to all members of the group:

I'm transcribing Beethoven Symphonies using LilyPond for my personal use and 
enjoyment, and I've come across a musical notation that I don't know how to 
implement in LilyPond. I've tried to find examples of how to do it, but I 
haven't been able to find any. I attacg in the mail the PNG image of the bar 
I'm trying to replicate. Does anyone know how to write this bar in LilyPond?

Thank you very much for your help

Víctor Manuel Ares Piñeiro
victormanue...@protonmail.com___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Bar in a Symphony by Beethoven

2019-08-11 Thread Víctor Manuel Ares Piñeiro via lilypond-user
Thank you all very much for your answers and comments.

First of all, the code that Andrew Bernard very kindly gave me:

{
   \clef bass
   \stemUp
   b,8
   \stemDown
   b8 b b b
}

This code was one of my first attempts to make that fragment. However, in my 
version of LilyPond, which is 2.19.82, the compiler shows me this warning:

"warning: no viable initial configuration found: may not find good beam slope

Although the score is compiled correctly, in each fragment of the score in 
which I use it, the compiler shows me the corresponding warning, and the 
Frescobaldi program marks the lines in red.

Maybe it's just a simple warning, no more complications, but I'd like to know 
if there's any other way to make that fragment without the LilyPond compiler 
"protesting".

On the other hand, Pierre Perol-Schneider, thank you very much for your 
warning. I am aware that this mode of writing is obsolete and not currently 
used. My intention is to copy Beethoven's Symphonies to review my musical 
knowledge and learn complex and unusual LilyPond techniques to improve my 
knowledge of the program.

Many thanks again to all of you for your answers.


Víctor Manuel Ares Piñeiro
victormanue...@protonmail.com

‐‐‐ Original Message ‐‐‐
El sábado, 10 de agosto de 2019 14:38, Andrew Bernard 
 escribió:

> Use stem up and stem down.
>
> {
>   \clef bass
>   \stemUp
>   b,8
>   \stemDown
>   b8 b b
> }
>
> I leave it as an exercise for you to check the NR (Notation Reference)
> for how to make the beam flat.
>
> Andrew
>
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user



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


Re: Bar in a Symphony by Beethoven

2019-08-13 Thread Víctor Manuel Ares Piñeiro via lilypond-user
Thank you all very much for your help and comments.

I think I'm clear on how to do musical notation.

Greetings to the whole community from Spain.

Víctor Manuel Ares Piñeiro
victormanue...@protonmail.com

‐‐‐ Original Message ‐‐‐
El sábado, 10 de agosto de 2019 11:23, Víctor Manuel Ares Piñeiro via 
lilypond-user  escribió:

> Greetings to all members of the group:
>
> I'm transcribing Beethoven Symphonies using LilyPond for my personal use and 
> enjoyment, and I've come across a musical notation that I don't know how to 
> implement in LilyPond. I've tried to find examples of how to do it, but I 
> haven't been able to find any. I attacg in the mail the PNG image of the bar 
> I'm trying to replicate. Does anyone know how to write this bar in LilyPond?
>
> Thank you very much for your help
>
> Víctor Manuel Ares Piñeiro
> victormanue...@protonmail.com___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user