(Git users) Please test a Fresocbaldi Feature
Hi all, there's a pull request for Frescobaldi, submitted by a new contributor (https://github.com/wbsoft/frescobaldi/pull/905), and I have a problem with it: The contributor states it works for him, I can't see anything wrong in the code, but it doesn't work for me. So I'd be happy if others could give it a try to see if we've missed something in the code or if it's an issue with my set-up. Steps to do so: * Be sure that you run Frescobaldi from its Git repository * Add https://github.com/prabhanshuguptagit/frescobaldi.git as a remote * Pull from that remote * checkout the midiinput_addshortcut branch from that remote * (Re-)Start Frescobaldi * Open the MIDI Input tool * Try Ctrl+Shift+3 This should toggle the "Accidentals" radio button between sharps and flats and so improve the handling when using MIDI input. Best Urs -- u...@openlilylib.org https://openlilylib.org http://lilypondblog.org ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Accessing a grob from within a music function
Hi Harm, thank you for your suggestions. I will definitely have a closer look but I've realized that I have to postpone this task because it massively interferes with a related one I'm currently at. So I'll probably only comment after some more time. Best Urs Am 17.03.2017 um 00:34 schrieb Thomas Morley: > 2017-03-16 22:51 GMT+01:00 Thomas Morley : >> 2017-03-16 14:23 GMT+01:00 Urs Liska : >>> Hi, >>> >>> I'm trying to write a function to push a note column like this: >>> >>> pushLeftBroken = >>> #(define-music-function ()() >>>#{ >>> \once \override NoteColumn.X-offset = 3 >>>#}) >>> >>> But I need to make that "3" depend on some characteristics of the actual >>> note column. Basically I need the width of the note column, including >>> attached accidentals. >>> >>> I know how to get to the accidental(s) within a note column, but if I'm >>> not mistaken there's no actual grob inside that. >>> >>> Probably music-function isn't the right approach? >>> >>> What I need is a way to say something like >>> >>> \once \override NoteColumn.X-offset = #(+ 3 >>> extent-of-all-accidentals-in-the-note-column) >>> >>> Any ideas? >>> TIA >>> Urs >> >> >> Hi Urs, >> >> here my thoughts about the topic so far. >> Although I'm afraid it will not help, because it has to be done >> before-line-breaking. >> >> wanted-value = 20 >> >> { >> c'1( \break >> \override NoteColumn.before-line-breaking = >> #(lambda (nc) >> ;; TODOs >> ;; add fall-backs if certain grobs are not present, i.e >> ;; (DotColumn, Arpeggio, AccidentalPlacement) >> (let* ((dot-col (ly:note-column-dot-column nc)) >>(acc-placement (ly:note-column-accidentals nc)) >>(common-ref >> (ly:grob-common-refpoint nc acc-placement X)) >>(x-length-of-accs >> (interval-length >>(ly:relative-group-extent >> (map last (ly:grob-object acc-placement 'accidental-grobs)) >> common-ref >> X >> >>(for-each >> (lambda (el) >>(ly:grob-translate-axis! >> el >> (+ x-length-of-accs wanted-value) >> X)) >> (filter >>(lambda (g) (ly:grob? g)) >>(list >> acc-placement >> dot-col >> nc) >> >> >> 2)\arpeggio ^"foo" >> } >> >> Cheers, >> Harm > Probably: > > { > c'1( \break > \override NoteColumn.after-line-breaking = > #(lambda (nc) > (ly:grob-translate-axis! (ly:grob-parent nc X) 5 X) > ;; uncomment for viewing > ;(ly:grob-set-property! > ; (ly:grob-parent nc X) > ; 'stencil > ; ly:paper-column::print) >) > > > 2)\arpeggio ^"foo" > } > > Not tested beyond the above example, though. > > Cheers, > Harm -- u...@openlilylib.org https://openlilylib.org http://lilypondblog.org ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
checking grob type
I order to check arguments for its type I've written this shorthand function: #(define (grob-type? grob name) (eq? name (assq-ref (ly:grob-property grob 'meta) 'name))) which of course does what it's supposed to. But I wonder if there's a more straightforward way, e.g. a built-in function doing the same? Best Urs -- u...@openlilylib.org https://openlilylib.org http://lilypondblog.org ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: checking grob type
On 03/17/2017 07:37 AM, Urs Liska wrote: I order to check arguments for its type I've written this shorthand function: #(define (grob-type? grob name) (eq? name (assq-ref (ly:grob-property grob 'meta) 'name))) which of course does what it's supposed to. But I wonder if there's a more straightforward way, e.g. a built-in function doing the same? (ly:grob-name some-grob) Also: (grob::has-interface some-grob some-interface) See: http://lilypond.1069038.n5.nabble.com/Make-Grob-name-accessible-to-Scheme-issue-203090043-by-david-nalesnik-gmail-com-td171933.html (Would be better if we had better docs for scheme functions...) -Paul ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: checking grob type
Hi Paul, Am 17.03.2017 um 13:12 schrieb Paul: > On 03/17/2017 07:37 AM, Urs Liska wrote: > >> I order to check arguments for its type I've written this shorthand >> function: >> >> #(define (grob-type? grob name) >> (eq? name (assq-ref (ly:grob-property grob 'meta) 'name))) >> >> which of course does what it's supposed to. But I wonder if there's a >> more straightforward way, e.g. a built-in function doing the same? > > (ly:grob-name some-grob) Thanks, this was exactly the thing I was sure is available :-) > > Also: > > (grob::has-interface some-grob some-interface) > > See: > http://lilypond.1069038.n5.nabble.com/Make-Grob-name-accessible-to-Scheme-issue-203090043-by-david-nalesnik-gmail-com-td171933.html > > > (Would be better if we had better docs for scheme functions...) Hm ... Best Urs > > -Paul > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user -- u...@openlilylib.org https://openlilylib.org http://lilypondblog.org ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
How to get ties between voices
Dear All, maybe you can help solving this problem. I've attached a code with two examples. Example 1 is the desired output, except for the missing ties in the right hand of the last quarter. Example 2 is an alternative. Now the ties are correct, but the beams between right and left hand are splitted. The notation of the 32nd in Example 1 is the preferred notation by the composer. Is there a solution to get the missing ties? Thanks for any comment. Regards, Gerard \version "2.18.2" \paper {} \layout {} testStaff = << \new PianoStaff \with { \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 10) (padding . 5)) } { << \time 3/4 \context Staff = "upper" { % Right hand \clef "treble" \key c \major \relative e'' << { e2^"Example 1" a,4} \\ {e'32 c a e \change Staff="lower" \stemUp {c a e c} \change Staff = "upper" \stemDown {a'' c a e} \change Staff = "lower" \stemUp {c a e c} \change Staff = "upper" \stemDown \set tieWaitForNote = ##t {a'' e ~ c ~ a ~} \change Staff = "lower" \stemUp \set tieWaitForNote = ##t {g ~ e ~ c~ }} \\ { s4 s4 s8 \stemDown } >> \relative e'' << { e2^"Example 2" a,4} \\ {e'32 c a e \change Staff="lower" \stemUp {c a e c} \change Staff = "upper" \stemDown {a'' c a e} \change Staff = "lower" \stemUp {c a e c} \change Staff = "upper" \stemDown \set tieWaitForNote = ##t {a'' e ~ c ~ a ~ 8} } \\ {\change Staff = "lower" \stemUp \set tieWaitForNote = ##t {s4 s4 s8 g,32 ~ e ~ c~ }} >> } \context Staff = "lower" { % Left hand \clef "bass" \key c \major s2. s2. } >> } >> \book{ \score { << \testStaff >>} }___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: checking grob type
Hi, On Fri, Mar 17, 2017 at 7:18 AM, Urs Liska wrote: > Hi Paul, > > > Am 17.03.2017 um 13:12 schrieb Paul: >> On 03/17/2017 07:37 AM, Urs Liska wrote: >> >>> I order to check arguments for its type I've written this shorthand >>> function: >>> >>> #(define (grob-type? grob name) >>> (eq? name (assq-ref (ly:grob-property grob 'meta) 'name))) >>> >>> which of course does what it's supposed to. But I wonder if there's a >>> more straightforward way, e.g. a built-in function doing the same? >> >> (ly:grob-name some-grob) > > Thanks, this was exactly the thing I was sure is available :-) > >> >> Also: >> >> (grob::has-interface some-grob some-interface) >> >> See: >> http://lilypond.1069038.n5.nabble.com/Make-Grob-name-accessible-to-Scheme-issue-203090043-by-david-nalesnik-gmail-com-td171933.html >> >> >> (Would be better if we had better docs for scheme functions...) > > Hm ... > > Best > Urs > You can get more info about public functions with the attached file. I was planning on getting documentation into the manuals somehow, but I got hung up with getting the parameters of curried functions. Also, of course, publicizing a number of these probably won't do anybody a bit of good. In lieu of actual documentation, I could add a Scheme function? HTH, David \version "2.19.17" #(define (get-binding-list iface) (ly:module->alist (resolve-module iface))) #(define (symbol-closure-list iface) (let* ((bindings (get-binding-list iface)) (closures (filter (lambda (b) (procedure? (cdr b))) ;; closure? bindings)) (closures (sort closures (lambda (x y) (symbolstring (car elt)) "markup")) lst)) #(define (symbol-closure-doc-list iface omit-markups?) (let* ((closures (symbol-closure-list iface)) (closures (if omit-markups? (omit-markup-functions closures) closures))) (map (lambda (c) (list (car c) (cdr c) (or (procedure-documentation (cdr c)) "DOCME"))) closures))) % UNCOMMENT THE FOLLOWING TO SEND TO A FILE: %#(set-current-output-port (open-output-file "closures.txt")) %% boolean determines whether markup commands (which are documented %% in their Lily syntax) are included. #(format #t "~:{~a~%~a~%~3t~s~%__~%~%~}" (symbol-closure-doc-list '(lily) #t)) %#(format #t "~:{~a~%~a~%~3t~s~%__~%~%~}" (symbol-closure-doc-list '(srfi srfi-1) #f))___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: checking grob type
On Fri, Mar 17, 2017 at 8:38 AM, David Nalesnik wrote: > Hi, > > On Fri, Mar 17, 2017 at 7:18 AM, Urs Liska wrote: >> Hi Paul, >> >> >> Am 17.03.2017 um 13:12 schrieb Paul: >>> On 03/17/2017 07:37 AM, Urs Liska wrote: >>> I order to check arguments for its type I've written this shorthand function: #(define (grob-type? grob name) (eq? name (assq-ref (ly:grob-property grob 'meta) 'name))) which of course does what it's supposed to. But I wonder if there's a more straightforward way, e.g. a built-in function doing the same? >>> >>> (ly:grob-name some-grob) >> >> Thanks, this was exactly the thing I was sure is available :-) >> >>> >>> Also: >>> >>> (grob::has-interface some-grob some-interface) >>> >>> See: >>> http://lilypond.1069038.n5.nabble.com/Make-Grob-name-accessible-to-Scheme-issue-203090043-by-david-nalesnik-gmail-com-td171933.html >>> >>> >>> (Would be better if we had better docs for scheme functions...) >> >> Hm ... >> >> Best >> Urs >> > > You can get more info about public functions with the attached file. > I was planning on getting documentation into the manuals somehow, but > I got hung up with getting the parameters of curried functions. > > Also, of course, publicizing a number of these probably won't do > anybody a bit of good. It also reveals some omissions... grob::has-interface # "DOCME" -DN ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to get ties between voices
- Original Message - From: "Gerard" To: Sent: Friday, March 17, 2017 12:51 PM Subject: How to get ties between voices Dear All, maybe you can help solving this problem. I've attached a code with two examples. Example 1 is the desired output, except for the missing ties in the right hand of the last quarter. Example 2 is an alternative. Now the ties are correct, but the beams between right and left hand are splitted. The notation of the 32nd in Example 1 is the preferred notation by the composer. Is there a solution to get the missing ties? Thanks for any comment. Regards, Gerard A bit of a hack, but how about making your third voice as follows: { s4 s4 \override Tie.minimum-length = #3 \set tieWaitForNote = ##t \hideNotes a'32 [ e ~ c ~ a ~ ] \unHideNotes \stemDown 8 } -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: checking grob type
cc'ing lilypond-devel to move discussion there. On 03/17/2017 09:38 AM, David Nalesnik wrote: You can get more info about public functions with the attached file. I was planning on getting documentation into the manuals somehow, but I got hung up with getting the parameters of curried functions. Hi David, Thanks for your work on this. Is there an easy way to just omit any curried functions in a first-pass at this? (I wonder what percentage are curried?) Also, of course, publicizing a number of these probably won't do anybody a bit of good. Maybe we could just have a list of functions to document publicly (or to not document)? In lieu of actual documentation, I could add a Scheme function? Seems like actual docs would be better in the long run, but I guess it depends on how much they would take to implement. Thanks again, -Paul ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: checking grob type
On Fri, Mar 17, 2017 at 9:50 AM, Paul wrote: > cc'ing lilypond-devel to move discussion there. > > On 03/17/2017 09:38 AM, David Nalesnik wrote: > >> You can get more info about public functions with the attached file. >> I was planning on getting documentation into the manuals somehow, but >> I got hung up with getting the parameters of curried functions. > > > Hi David, Thanks for your work on this. Is there an easy way to just omit > any curried functions in a first-pass at this? (I wonder what percentage > are curried?) I never found it. The problem is that a parameter isn't shown: #(define ((curried arg) grob) '()) #(display curried) ==> # > >> Also, of course, publicizing a number of these probably won't do >> anybody a bit of good. > > > Maybe we could just have a list of functions to document publicly (or to not > document)? I suppose a metric could be usage in the code base, but I'd hate to get into a function-by-function discussion for the rest! > >> In lieu of actual documentation, I could add a Scheme function? > > > Seems like actual docs would be better in the long run, but I guess it > depends on how much they would take to implement. > Yes, real documentation would certainly be best. Shouldn't have implied "instead of": I meant in the meantime (and later, in addition) it would be nice to have a convenience function to return everything available. And it would need to be in C++ so it wouldn't need to be invoked to reveal itself :) David. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: (Git users) Please test a Fresocbaldi Feature
Il giorno ven 17 mar 2017 alle 9:06, Urs Liska ha scritto: Hi all, there's a pull request for Frescobaldi, submitted by a new contributor (https://github.com/wbsoft/frescobaldi/pull/905), and I have a problem with it: The contributor states it works for him, I can't see anything wrong in the code, but it doesn't work for me. So I'd be happy if others could give it a try to see if we've missed something in the code or if it's an issue with my set-up. Steps to do so: Be sure that you run Frescobaldi from its Git repository Add https://github.com/prabhanshuguptagit/frescobaldi.git as a remote Pull from that remote checkout the midiinput_addshortcut branch from that remote (Re-)Start Frescobaldi Open the MIDI Input tool Try Ctrl+Shift+3 This should toggle the "Accidentals" radio button between sharps and flats and so improve the handling when using MIDI input. Hi Urs It works for me: it toggles between sharps and flats. I'll add a comment on the pull request. My computer is running: Frescobaldi: 3.0.0 Python: 3.5.3 python-ly: 0.9.4 Qt: 5.7.1 PyQt: 5.7 sip: 4.18.1 poppler: 0.45.0 python-poppler-qt: 0.24.2 OS: Linux-4.9.13-201.fc25.x86_64-x86_64-with-fedora-25-Twenty_Five Let me add that you can test a github PR without adding the remote. In this case I did: git fetch origin pull/905/head:midiinput_addshortcut git checkout midiinput_addshortcut ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: checking grob type
David Nalesnik writes: > On Fri, Mar 17, 2017 at 9:50 AM, Paul wrote: >> cc'ing lilypond-devel to move discussion there. >> >> On 03/17/2017 09:38 AM, David Nalesnik wrote: >> >>> You can get more info about public functions with the attached file. >>> I was planning on getting documentation into the manuals somehow, but >>> I got hung up with getting the parameters of curried functions. >> >> >> Hi David, Thanks for your work on this. Is there an easy way to just omit >> any curried functions in a first-pass at this? (I wonder what percentage >> are curried?) > > I never found it. > > The problem is that a parameter isn't shown: > > #(define ((curried arg) grob) '()) > #(display curried) > > ==> # What problem? `arg' _is_ the only parameter of the function `curried'. The function `curried', when called, returns a function taking a single parameter `grob'. But that's a detail of the description. Remember that the above currying is just short for (define (curried arg) (lambda (grob) '())) which is short for (define curried (lambda (arg) (lambda (grob) '( -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Partial
I've been experimenting with \partial, the command for scoring anacrusis, and discovered some apparently undocumented features. First of all, although I did not see it in the documentation, the form \partial DUR*NUM, such as \partial 8*5, seems to work, where NUM is an integer multiplying DUR. This seems to be sufficient to accommodate any arbitrary anacrusis, (except possibly partial tuplets, but I'm not sure such rhythms occur in practice). Also, durations specified with dots also work, e.g \partial 4.. Should these options be added to the documentation? (Or perhaps it's already there but I missed it.) Joe Austin ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
inconsistent bar number placement
Dear all, I’m having trouble understanding why the barnumber in measures 5, 6, 9 and 10 in the following example are placed so differently as the other bar numbers. What causes this behaviour? Any help would be greatly appreciated. all best, jc \version "2.18.2" \layout { \context {\type "Engraver_group" \consists "Time_signature_engraver" \consists "Axis_group_engraver" \name "TimeSig" \alias "Staff" \override TimeSignature.style = #'numbered \override TimeSignature.font-size = #6 \override TimeSignature.break-align-symbol = ##f \override TimeSignature.X-offset = #ly:self-alignment-interface::x-aligned-on-self \override TimeSignature.self-alignment-X = #CENTER \override TimeSignature.after-line-breaking = #shift-right-at-line-begin } \context {\Score \accepts TimeSig tupletFullLength = ##t } \context {\StaffGroup \accepts TimeSig } \context {\Staff \remove "Time_signature_engraver" tupletFullLength = ##t } } music = \relative c'' { \tupletUp \repeat unfold 5 { \time 4/4 \tuplet 3/2 { c2 c c }\pageBreak \time 3/4 \tuplet 4/3 { c,,4 c c c } \break } } \score { \new StaffGroup << \new TimeSig \new Staff \music \new Staff \music >> } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Partial
Joseph Austin writes: > I've been experimenting with \partial, the command for scoring > anacrusis, and discovered some apparently undocumented features. > > First of all, although I did not see it in the documentation, > the form \partial DUR*NUM, such as \partial 8*5, seems to work, where > NUM is an integer multiplying DUR. Multipliers are an optional part of _all_ durations, so DUR*NUM would be redundant. > This seems to be sufficient to accommodate any arbitrary anacrusis, > (except possibly partial tuplets, but I'm not sure such rhythms occur > in practice). Multipliers can be fractions. \partial 4*3/7 will also work. > Also, durations specified with dots also work, e.g \partial 4.. > > Should these options be added to the documentation? > (Or perhaps it's already there but I missed it.) All those can be part of _any_ duration. Nothing specific to \partial . -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Partial
u...@openlilylib.org writes: > Am 2017-03-17 21:48, schrieb David Kastrup: >> Joseph Austin writes: >> >>> I've been experimenting with \partial, the command for scoring >>> anacrusis, and discovered some apparently undocumented features. >>> >>> First of all, although I did not see it in the documentation, >>> the form \partial DUR*NUM, such as \partial 8*5, seems to work, where >>> NUM is an integer multiplying DUR. >> >> Multipliers are an optional part of _all_ durations, so DUR*NUM >> would be >> redundant. >> >>> This seems to be sufficient to accommodate any arbitrary anacrusis, >>> (except possibly partial tuplets, but I'm not sure such rhythms occur >>> in practice). >> >> Multipliers can be fractions. \partial 4*3/7 will also work. > > Not at LilyPond ATM, but I'm sure \partial 12*2 will also work, > amounting to 2 eight note triplets. Too bad, because 12 is not an unscaled duration. You need to write \partial 8*2/3 here (for example). -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
can we pass in header variables as CLI parameters?
Hi, sorry if this has been asked before... Is it possible to pass in header variables in via the CLI? For example, I would like to pass the copyright date in via a parameter, instead of it being saved in the .LY file. This can be done in LaTeX, so I hope there is a way to do something similar in lilypond. Cheers Ian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Partial
David Kastrup writes: > u...@openlilylib.org writes: > >> Am 2017-03-17 21:48, schrieb David Kastrup: >>> Joseph Austin writes: >>> I've been experimenting with \partial, the command for scoring anacrusis, and discovered some apparently undocumented features. First of all, although I did not see it in the documentation, the form \partial DUR*NUM, such as \partial 8*5, seems to work, where NUM is an integer multiplying DUR. >>> >>> Multipliers are an optional part of _all_ durations, so DUR*NUM >>> would be >>> redundant. >>> This seems to be sufficient to accommodate any arbitrary anacrusis, (except possibly partial tuplets, but I'm not sure such rhythms occur in practice). >>> >>> Multipliers can be fractions. \partial 4*3/7 will also work. >> >> Not at LilyPond ATM, but I'm sure \partial 12*2 will also work, >> amounting to 2 eight note triplets. > > Too bad, because 12 is not an unscaled duration. You need to write > \partial 8*2/3 here (for example). Uh, this should be \partial 8*2/3*2 (8*2/3 being _one_ eighth note triplet). -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: inconsistent bar number placement
Am 17.03.2017 um 21:47 schrieb Juan Cristóbal Cerrillo: > the barnumber in measures 5, 6, 9 and 10 in the following example are placed > so differently as the other bar numbers. Cannot reproduce any inconsistencies. Are you sure you’re using LilyPond 2.18.2? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Partial
Am 17.03.2017 um 21:08 schrieb Joseph Austin: > First of all, although I did not see it in the documentation, > the form \partial DUR*NUM, such as \partial 8*5, seems to work, where NUM is > an integer multiplying DUR. > This seems to be sufficient to accommodate any arbitrary anacrusis, > (except possibly partial tuplets, but I'm not sure such rhythms occur in > practice). Section 1.2.3 of the notation reference says that \partial takes a duration as an argument. Section 1.2.1 describes what a duration can look like (so I don’t think \partial’s capabilities are undocumented): Not only powers of 2 but also \breve, \longa, \maxima, dotted durations and scaled durations. You can scale a duration not only by integer factors but also by fractions and even multiple factors are allowed. So “upbeat/anacrusis of three notes of a dotted-sixteenth quintuplet” can be written as \partial 16.*4/5*3 > Also, durations specified with dots also work, e.g \partial 4.. There is an example at section 1.2.3 which uses “\partial 4.” ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: inconsistent bar number placement
Hello Malte, Yes, my version is 2.18.2 This is what the top of page 3 looks like with ragged-right and ragged-bottom ##t Are you not seeing the same? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: inconsistent bar number placement
Am 17.03.2017 um 22:54 schrieb Juan Cristóbal Cerrillo: > Yes, my version is 2.18.2 > This is what the top of page 3 looks like with ragged-right and > ragged-bottom ##t The code you posted doesn’t contain these settings. > Are you not seeing the same? No, even if I add \paper { ragged-right = ##t ragged-bottom = ##t } to your code there’s no problem. You should provide code that actually produces the output you describe, else it’ll be difficult to help ;) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: inconsistent bar number placement
On Fri, Mar 17, 2017 at 5:59 PM, Malte Meyn wrote: > > > Am 17.03.2017 um 22:54 schrieb Juan Cristóbal Cerrillo: >> Yes, my version is 2.18.2 >> This is what the top of page 3 looks like with ragged-right and >> ragged-bottom ##t > > The code you posted doesn’t contain these settings. > >> Are you not seeing the same? > > No, even if I add > > \paper { > ragged-right = ##t > ragged-bottom = ##t > } > > to your code there’s no problem. You should provide code that actually > produces the output you describe, else it’ll be difficult to help ;) I *do* get the output they describe. It looks like it is caused by: \override TimeSignature.after-line-breaking = #shift-right-at-line-begin > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user -- Jeffery Shivers jefferyshivers.com soundcloud.com/jefferyshivers ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: inconsistent bar number placement
Thank you Jeffery. If I change the TimeSignature.break-align-symbol override to #’staff-bar and get rid of the after-line-breaking override, bar number placement is consistent, but is too high. Is there a way of specifying that the bar number should be placed just above the StaffGroup bracket other that doing a score override for BarNumber.Y-offset ? Many thanks for your insight! jc \version "2.18.2" \paper { ragged-bottom = ##t ragged-right = ##t } \layout { \context {\type "Engraver_group" \consists "Time_signature_engraver" \consists "Axis_group_engraver" \name "TimeSig" \alias "Staff" \override TimeSignature.style = #'numbered \override TimeSignature.font-size = #6 \override TimeSignature.break-align-symbol = #'staff-bar \override TimeSignature.X-offset = #ly:self-alignment-interface::x-aligned-on-self \override TimeSignature.self-alignment-X = #CENTER } \context {\Score \accepts TimeSig tupletFullLength = ##t } \context {\StaffGroup \accepts TimeSig } \context {\Staff \remove "Time_signature_engraver" tupletFullLength = ##t } } music = \relative c'' { \tupletUp \repeat unfold 5 { \time 4/4 c2 c \pageBreak \time 3/4 c4 c c \break } } \score { \new StaffGroup << \new TimeSig \new Staff \music \new Staff \music >> } How could I get rid of the staff space under the time signatures > On Mar 17, 2017, at 4:32 PM, Jeffery Shivers wrote: > > On Fri, Mar 17, 2017 at 5:59 PM, Malte Meyn wrote: >> >> >> Am 17.03.2017 um 22:54 schrieb Juan Cristóbal Cerrillo: >>> Yes, my version is 2.18.2 >>> This is what the top of page 3 looks like with ragged-right and >>> ragged-bottom ##t >> >> The code you posted doesn’t contain these settings. >> >>> Are you not seeing the same? >> >> No, even if I add >> >> \paper { >> ragged-right = ##t >> ragged-bottom = ##t >> } >> >> to your code there’s no problem. You should provide code that actually >> produces the output you describe, else it’ll be difficult to help ;) > > I *do* get the output they describe. > > It looks like it is caused by: > > \override TimeSignature.after-line-breaking = #shift-right-at-line-begin > >> >> ___ >> lilypond-user mailing list >> lilypond-user@gnu.org >> https://lists.gnu.org/mailman/listinfo/lilypond-user > > > > -- > > Jeffery Shivers > jefferyshivers.com > soundcloud.com/jefferyshivers ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: inconsistent bar number placement
Hi Juan, > If I change the TimeSignature.break-align-symbol override to #’staff-bar and > get rid of the after-line-breaking override, bar number placement is > consistent, but is too high. > Is there a way of specifying that the bar number should be placed just above > the StaffGroup bracket other that doing a score override for > BarNumber.Y-offset ? This has been a long-time frustration for me as well. I’ve usually just moved the BarNumber engraver to the uppermost Staff context… but that only works if your score isn’t frenched. If you find a complete solution, I’ll be interested to see it. Thanks, Kieren. Kieren MacMillan, composer ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: inconsistent bar number placement
On Fri, Mar 17, 2017 at 7:16 PM, Juan Cristóbal Cerrillo wrote: > Thank you Jeffery. > > If I change the TimeSignature.break-align-symbol override to #’staff-bar and > get rid of the after-line-breaking override, bar number placement is > consistent, but is too high. > > Is there a way of specifying that the bar number should be placed just above > the StaffGroup bracket other that doing a score override for > BarNumber.Y-offset ? > If I understand, does making the following two changes do what you want? 1) remove bar numbers from the score: \context {\Score \accepts TimeSig tupletFullLength = ##t \remove "Bar_number_engraver" } 2) include the bar number engraver only with the staff you want: \score { \new StaffGroup << \new TimeSig \new Staff \with { \consists "Bar_number_engraver" } \music \new Staff \music >> } Best, Jeffery > Many thanks for your insight! > > jc > > > > > \version "2.18.2" > > \paper { > ragged-bottom = ##t > ragged-right = ##t > } > > \layout { > \context {\type "Engraver_group" > \consists "Time_signature_engraver" > \consists "Axis_group_engraver" > \name "TimeSig" > \alias "Staff" > \override TimeSignature.style = #'numbered > \override TimeSignature.font-size = #6 > \override TimeSignature.break-align-symbol = #'staff-bar > \override TimeSignature.X-offset = > #ly:self-alignment-interface::x-aligned-on-self > \override TimeSignature.self-alignment-X = #CENTER > } > \context {\Score > \accepts TimeSig > tupletFullLength = ##t > } > \context {\StaffGroup > \accepts TimeSig > } > \context {\Staff > \remove "Time_signature_engraver" > tupletFullLength = ##t > } > } > > music = \relative c'' > { > \tupletUp > \repeat unfold 5 { > \time 4/4 > c2 c > \pageBreak > \time 3/4 > c4 c c > \break > } > } > > \score { > \new StaffGroup > << > \new TimeSig > \new Staff \music > \new Staff \music > >> > } > > > > How could I get rid of the staff space under the time signatures > >> On Mar 17, 2017, at 4:32 PM, Jeffery Shivers >> wrote: >> >> On Fri, Mar 17, 2017 at 5:59 PM, Malte Meyn wrote: >>> >>> >>> Am 17.03.2017 um 22:54 schrieb Juan Cristóbal Cerrillo: Yes, my version is 2.18.2 This is what the top of page 3 looks like with ragged-right and ragged-bottom ##t >>> >>> The code you posted doesn’t contain these settings. >>> Are you not seeing the same? >>> >>> No, even if I add >>> >>> \paper { >>> ragged-right = ##t >>> ragged-bottom = ##t >>> } >>> >>> to your code there’s no problem. You should provide code that actually >>> produces the output you describe, else it’ll be difficult to help ;) >> >> I *do* get the output they describe. >> >> It looks like it is caused by: >> >> \override TimeSignature.after-line-breaking = #shift-right-at-line-begin >> >>> >>> ___ >>> lilypond-user mailing list >>> lilypond-user@gnu.org >>> https://lists.gnu.org/mailman/listinfo/lilypond-user >> >> >> >> -- >> >> Jeffery Shivers >> jefferyshivers.com >> soundcloud.com/jefferyshivers > -- Jeffery Shivers jefferyshivers.com soundcloud.com/jefferyshivers ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: inconsistent bar number placement
Yes, exactly. Many thanks Jeffery. all best, jc > On Mar 17, 2017, at 5:49 PM, Jeffery Shivers wrote: > > If I understand, does making the following two changes do what you want? > > 1) remove bar numbers from the score: > \context {\Score >\accepts TimeSig >tupletFullLength = ##t >\remove "Bar_number_engraver" > } > > 2) include the bar number engraver only with the staff you want: > \score { > \new StaffGroup > << >\new TimeSig >\new Staff \with { > \consists "Bar_number_engraver" >} >\music >\new Staff \music >>> > } > > Best, > Jeffery ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: can we pass in header variables as CLI parameters?
On Fri 17 Mar 2017 at 21:10:29 (+), Ian Ring wrote: > Hi, sorry if this has been asked before... > > Is it possible to pass in header variables in via the CLI? > > For example, I would like to pass the copyright date in via a parameter, > instead of it being saved in the .LY file. > > This can be done in LaTeX, so I hope there is a way to do something similar > in lilypond. I'm not sure why that should be. Anyway, if you put some LP code into a nonce file and then use: lilypond -dinclude-settings=nonce-filename LP-source-filename the nonce file will be interpreted first. So I assume any \header code will be interpreted at top-level. AFAICT the nonce file should either be in the working directory or in an --include directory. If you specify it as a full pathname, that pathname is checked for existence, but the directories appear to be stripped off by LP. (That might be the normal behaviour for \include files.) Cheers, David. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: inconsistent bar number placement
On Fri 17 Mar 2017 at 15:54:24 (-0600), Juan Cristóbal Cerrillo wrote: > Hello Malte, > > Yes, my version is 2.18.2 > This is what the top of page 3 looks like with ragged-right and ragged-bottom > ##t > > Are you not seeing the same? Nope. How come your crochets are at the same pitch as the minims? The first crochet is c,,4 in the source. So we can't actually be compiling the same code. Thank you, though, for the suggested \paper parameters. That gave me something to use for testing my "include-settings" answer to Ian Ring's query. Cheers, David. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user