Another problem with centerSolitaryPaperColumn
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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]
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.
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
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
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
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
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
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