Re: Raise the "Fine" and "D.C. Fine" above the repeat volta alternative brackets, how?
On Mon 19 Sep 2022 at 17:45:24 (-0700), Kenneth Wolcott wrote: > What is "\rightjust"? Is it a variable (macro) that you have > defined? I can't find that command in the NR. How does that differ > from right-align, which I tried and it didn't work for me. Oops, I'm sorry. I forgot that I'm relying on my main library for its definition: rightjust = { \override Score.RehearsalMark.self-alignment-X = #right \override Score.RehearsalMark.break-visibility = #begin-of-line-invisible } Of course, now I shall read Jean's contribution to see whether I'm up-to-date. My libraries can otherwise fall behind the latest ways of doing things. Cheers, David.
Re: Raise the "Fine" and "D.C. Fine" above the repeat volta alternative brackets, how?
HI Jean; Now it finally starts to make sense! Thanks, Ken On Mon, Sep 19, 2022 at 6:30 PM Jean Abou Samra wrote: > > Le 20/09/2022 à 02:45, Kenneth Wolcott a écrit : > > HI David; > > > >Thank you. > > > >What is "\rightjust"? Is it a variable (macro) that you have > > defined? I can't find that command in the NR. > > > > I suppose David defined it as something like > > rightjust = \tweak self-alignment-X #RIGHT \etc > > > The alignment of a mark is defined by self-alignment-X. #RIGHT > specifies to align on the right side. > > > > How does that differ > > from right-align, which I tried and it didn't work for me. > > > > Trying to use alignment markup commands like \left-align, \center-align, > \right-align, \general-align, \halign, etc. for aligning marks, text > scripts or other textual objects is a mistake I have seen quite a number > of people doing. I wonder if the manual should be explicitly warning against > it, but it's difficult to know in which section to put it, since it can > occur in many different contexts. > > The problem with `\mark \markup \right-align Fine` is that \right-align > acts on the text that \mark prints as a RehearsalMark grob, but the > RehearsalMark > grob also realigns itself. For simplicity, let's assume rehearsal marks are > always centered by default (it's more complex but this is illustrative). > When you write "Fine", this makes a markup, and when this markup is > interpreted, > it has a certain width, say, '(0 . 4), which means from point 0 horizontally > to point 4 (in a certain unit defined by LilyPond). To ensure the centering, > the RehearsalMark grob will move itself by 2 units on the left so that > this extent becomes '(-2 . 2). By using \right-align, you translate the > Fine text in the initial step so its extent is '(-4 . 0), but the centering > step still happens, and recenters at '(-2 . 2). > > Here is a little visualization. The red X indicates the X coordinate 0 > in the Fine markup. As you can see, \right-align does move the Fine text > relative to this X, but the X also gets moved relative to the bar line, > which cancels the effect. > > > { >c'1 >\mark \markup \combine > Fine % also try \right-align Fine > \with-outline \stencil #empty-stencil \fontsize #-5 \with-color > "red" × > } > > > So, instead of \right-align, you need to tweak self-alignment-X, which > modifies the realignment step to suit your desired alignment. I hope > that was clear. > >
Re: Raise the "Fine" and "D.C. Fine" above the repeat volta alternative brackets, how?
Le 20/09/2022 à 02:45, Kenneth Wolcott a écrit : HI David; Thank you. What is "\rightjust"? Is it a variable (macro) that you have defined? I can't find that command in the NR. I suppose David defined it as something like rightjust = \tweak self-alignment-X #RIGHT \etc The alignment of a mark is defined by self-alignment-X. #RIGHT specifies to align on the right side. How does that differ from right-align, which I tried and it didn't work for me. Trying to use alignment markup commands like \left-align, \center-align, \right-align, \general-align, \halign, etc. for aligning marks, text scripts or other textual objects is a mistake I have seen quite a number of people doing. I wonder if the manual should be explicitly warning against it, but it's difficult to know in which section to put it, since it can occur in many different contexts. The problem with `\mark \markup \right-align Fine` is that \right-align acts on the text that \mark prints as a RehearsalMark grob, but the RehearsalMark grob also realigns itself. For simplicity, let's assume rehearsal marks are always centered by default (it's more complex but this is illustrative). When you write "Fine", this makes a markup, and when this markup is interpreted, it has a certain width, say, '(0 . 4), which means from point 0 horizontally to point 4 (in a certain unit defined by LilyPond). To ensure the centering, the RehearsalMark grob will move itself by 2 units on the left so that this extent becomes '(-2 . 2). By using \right-align, you translate the Fine text in the initial step so its extent is '(-4 . 0), but the centering step still happens, and recenters at '(-2 . 2). Here is a little visualization. The red X indicates the X coordinate 0 in the Fine markup. As you can see, \right-align does move the Fine text relative to this X, but the X also gets moved relative to the bar line, which cancels the effect. { c'1 \mark \markup \combine Fine % also try \right-align Fine \with-outline \stencil #empty-stencil \fontsize #-5 \with-color "red" × } So, instead of \right-align, you need to tweak self-alignment-X, which modifies the realignment step to suit your desired alignment. I hope that was clear.
Re: Raise the "Fine" and "D.C. Fine" above the repeat volta alternative brackets, how?
HI David; Thank you. What is "\rightjust"? Is it a variable (macro) that you have defined? I can't find that command in the NR. How does that differ from right-align, which I tried and it didn't work for me. Thanks, Ken On Mon, Sep 19, 2022 at 5:23 PM David Wright wrote: > > On Mon 19 Sep 2022 at 16:28:35 (-0700), Kenneth Wolcott wrote: > > > I have implemented the "Fine" and "D.C. al Fine" as rehearsal mark > > markups. > > > > Now I have a problem where the "D.C. al Fine" consumes much more > > space than the bar containing the dotted-half note, it even falls off > > the right side of the page. > > > > How does one expand the bar enough to contain the markup instead of > > modifying the markup to fit the bar? > > Right justification is usual: > > global = { > \key c \major > \time 4/4 > s1 * 4 > \rightjust \mark \markup{ \smallCaps "Fine"} > \bar "|." > s1 * 10 > \bar "||" > s1 * 10 > \bar "||" > s1 * 9 > \bar "||" > \rightjust \mark \markup{ "D.C. al Fine"} > } > > Cheers, > David.
Re: Raise the "Fine" and "D.C. Fine" above the repeat volta alternative brackets, how?
On Mon 19 Sep 2022 at 16:28:35 (-0700), Kenneth Wolcott wrote: > I have implemented the "Fine" and "D.C. al Fine" as rehearsal mark markups. > > Now I have a problem where the "D.C. al Fine" consumes much more > space than the bar containing the dotted-half note, it even falls off > the right side of the page. > > How does one expand the bar enough to contain the markup instead of > modifying the markup to fit the bar? Right justification is usual: global = { \key c \major \time 4/4 s1 * 4 \rightjust \mark \markup{ \smallCaps "Fine"} \bar "|." s1 * 10 \bar "||" s1 * 10 \bar "||" s1 * 9 \bar "||" \rightjust \mark \markup{ "D.C. al Fine"} } Cheers, David.
Re: Raise the "Fine" and "D.C. Fine" above the repeat volta alternative brackets, how?
HI Valentin; Thank you for elaboration. I have implemented the "Fine" and "D.C. al Fine" as rehearsal mark markups. Now I have a problem where the "D.C. al Fine" consumes much more space than the bar containing the dotted-half note, it even falls off the right side of the page. How does one expand the bar enough to contain the markup instead of modifying the markup to fit the bar? Thanks, Ken On Mon, Sep 19, 2022 at 9:07 AM Valentin Petzel wrote: > > Hi Ken, > > Lilypond has so called engravers at various levels that handle placement of > stuff. If you do ^"some text" a so called TextScript event is created, which > is > handled by an engraver at Staff level. The voltas on the other hand are > created > by an engraver at Score level. Other events that are handled on score level > are marks, so prior to Lilypond 23.6 (? I think this is where the new repeat > segno stuff came) I’d use a RehearsalMark for these kinds of things (this also > allows us to align the text to the end of the measure instead of a note). > > The new repeat segno stuff does create Marks and Stuff on Score level. > > Cheers, > Valentin > > Am Sonntag, 18. September 2022, 21:59:04 CEST schrieb Kenneth Wolcott: > > Hi Valentin; > > > > Thank you. > > > > Regarding point #1, I don't understand what (how to) to change it so > > that it is Score level. Would I place the same command inside the > > \layout {} block inside the \score section? Do I invoke it in the > > same way? > > > > Regarding point #2, I'm still trying to understand the new repeat > > features, so I'm putting that off for now. > > > > Thanks, > > Ken > > > > On Sun, Sep 18, 2022 at 11:04 AM Valentin Petzel wrote: > > > Hi Ken, > > > > > > note that it would be reasonable to create these Marks on a Score level, > > > not on a Staff level. > > > > > > If you are using a sufficiently recent development version you can also > > > make use of the \repeat segno function, somewhat like this: > > > > > > \version "2.23.12" > > > > > > \layout { > > > > > > \context { > > > > > > \Score > > > \override JumpScript.direction = #UP > > > > > > } > > > > > > } > > > > > > \new PianoStaff << > > > > > > \new Staff s1*6 > > > \new Staff { > > > > > > \repeat segno 2 { > > > > > > \repeat volta 2 { > > > > > > c'4 d' e' f' > > > \alternative { > > > > > > { g'2 f' } { g'1 \fine } > > > > > > } > > > > > > } > > > \repeat volta 2 { > > > > > > c'4 d' e' f' > > > \alternative { > > > > > > { g'2 f' } { g'1 } > > > > > > } > > > > > > } > > > > > > } > > > > > > } > > > > > > (note how although the marks are defined in the lower Staff they are > > > displayed above the upper one, since they are created on a Score level). > > > > > > Cheers, > > > Valentin > > > > > > Am Sonntag, 18. September 2022, 19:00:23 CEST schrieb Kenneth Wolcott: > > > > Hi Knute; > > > > > > > > Thank you for reminding me to share :-) > > > > > > > > I did not find a precise search phrase that I should have used but > > > > > > > > "Controlling the vertical ordering of scripts" in the Notation > > > > Reference comes close; reading the entire section helped. > > > > > > > > What I saw there reminded me of what I had been shown before, so I > > > > > > > > looked in my previous engravings and I found what I needed. > > > > > > > > Here is my markup command that I had used previously but could not > > > > > > > > remember how to search for it: > > > > > > > > fine = -\tweak outside-staff-priority #605 ^\markup { \fontsize #3 > > > > "Fine" } > > > > > > > > So I was able to solve my problem, but I still don't have a precise > > > > > > > > search phrase that results in information that more closely matches > > > > that which I had been shown to me on this mailing list previously. > > > > > > > > > > > > Thanks, > > > > Ken > > > > > > > > On Sun, Sep 18, 2022 at 6:29 AM Knute Snortum > wrote: > > > > > On Sat, Sep 17, 2022 at 9:36 PM Kenneth Wolcott > > > > > > > > > > wrote: > > > > > > HI; > > > > > > > > > > > > I found what I was looking for; sorry to waste your time... > > > > > > > > > > Why not share what you found so others can learn from it? > > > > > > > > > > > > > > > -- > > > > > Knute Snortum >
Re: issues with installing Lilypond
Le 19/09/2022 à 19:55, Cluanie Fraser a écrit : Hi Tim, Thanks for responding. I’m really struggling as I’m quite out of depth with this tech stuff. This is what shows up when I download the Lilypond file from the website and double click to open it. The only bit of English in the file is at the top, where it says ‘this program cannot be run in DOS mode’ and I’m wondering if this is the reason why it isn’t working. I tried downloading Denemo and that kind of worked but doesn’t let me edit the music in the lilypond text file, I can only do it graphically which isn’t ideal. I appreciate any help; I feel like it shouldn’t be this difficult! No, it shouldn't be difficult, but LilyPond has nothing to do with it -- this looks like either your browser, your system or your antivirus is trying to prevent you from using the file. In the downloads list of your browser, maybe you have a button to accept the file as safe? Or maybe when right-clicking on it in the file explorer? If these don't work, I would recommend trying to download the file from another browser, like Firefox: https://firefox.com Best, Jean
Re: Extended bar checking?
Hi Jean, I just finished a small implementation for this, just to see that you already did a much better one yesterday! Anyway. You can still achieve something like that for << ... >> constructs. You can do something like this: \layout { \context { \Voice \accepts "Notes" } \context { \name "Notes" \type "Engraver_group" } } \layout { \context { \Notes \consists #Require_bar_check_engraver } } \new Voice << \new Notes { c'1 | d' | e' | } \new Notes { e'1 f' g' } >> This does require that each part that should be checked is put into a Notes context (one could write a music function to do that automatically for each { ... }). Also starting with some point in 2.21 things like this became harder to work with, because now overrides have the be specified on Voice level (this was not the case before!). Cheers, Valentin Am Sonntag, 18. September 2022, 21:33:42 CEST schrieb Jean Abou Samra: > Le 18/09/2022 à 20:32, Mats Bengtsson a écrit : > > Hi, > > > > I've been pondering about a missing feature in LilyPond, namely the > > possibility to get a warning printout if there isn't an explicit bar > > check ("|") in the input file at the end of each measure. This would > > catch many of the typos I personally do when entering music, where I > > happen to forget to change a duration, or enter the wrong duration, so > > that the current default duration happens to be, say, double the > > correct duration. > > > > Example: Let's say I want to type > > > > \relative c' { > > c4 d e2 | > > g1 | > > g4 f e d | > > c1 > > } > > but forget to add the duration "4" in the third measure:\relative c' { > > c4 d e2 | > > g1 | > > g f e d | > > c1 > > } > > Obviously, this will not give any bar check warning, but if there was > > a possibility to get a warning also for missing bar checks, I would > > immediately catch those mistakes. This feature should not be on by > > default, but for those of us who consequently add bar checks in the > > input files, it would be extremely helpful. > > > > In another email thread today, Valentine provided an implementation of > > a Bar_check_warning_egraver is somewhat along the same lines, but that > > unfortunatly fails to catch the typo in the above example since it > > only detects notes where the duration crosses a bar line. As far as I > > can see, the idea of Valentine's implementation cannot easily be > > extended to do what I'm after and it's not immediately obvious to me > > how hard it would be to implement it. Perhaps some of you clever > > LilyPond hackers on the list have an idea, otherwise I will send it as > > a feature request to the bug list. > > Yes, it can be done. > > > > \version "2.23.13" > > #(define-event-class 'event 'StreamEvent) % cough > > "|" = { | #(make-music 'Event 'is-bar-check #t) } > > #(define (Require_bar_check_engraver context) > (let ((heard #f) > (previous-rhythmic-ev #f) > (now-rhythmic-ev #f)) > (make-engraver >(listeners > ((event engraver event) > (when (ly:event-property event 'is-bar-check #f) >(set! heard #t))) > ((rhythmic-event engraver event) > (set! now-rhythmic-ev event))) >((stop-translation-timestep engraver) > (when (and (not heard) >(ly:context-property context 'measureStartNow #f)) > (if previous-rhythmic-ev > (ly:event-warning previous-rhythmic-ev "missing bar check > after this note/rest") > ;; maybe \skip , for which it is hard to get a location > (ly:warning "missing bar check at end of measure ~a" (1- > (ly:context-property context > 'currentBarNumber) > (set! heard #f) > (set! previous-rhythmic-ev now-rhythmic-ev) > (set! now-rhythmic-ev #f) > > \layout { >\context { > \Voice > \consists #Require_bar_check_engraver >} > } > > > \relative c' { >c4 d e2 | >g1 | >g f e d | % notes wrongly entered >s1 % missing bar check >\skip { > c1 % missing bar check > c1 >} | > } > > > > > However, be aware of the limitations. This only checks that > in each voice, there is a bar check at every measure end. > It does not check that every component of the music generating > this voice has this bar check. For example, this gets accepted > without warning: > > \new Voice << { c'1 | d' | e' | } { e'1 f' g' } >> > > > To my knowledge, it's not possible to also warn about this one without > some serious modifications in LilyPond's internals. > > Jean signature.asc Description: This is a digitally signed message part.
Re: Raise the "Fine" and "D.C. Fine" above the repeat volta alternative brackets, how?
Hi Ken, Lilypond has so called engravers at various levels that handle placement of stuff. If you do ^"some text" a so called TextScript event is created, which is handled by an engraver at Staff level. The voltas on the other hand are created by an engraver at Score level. Other events that are handled on score level are marks, so prior to Lilypond 23.6 (? I think this is where the new repeat segno stuff came) I’d use a RehearsalMark for these kinds of things (this also allows us to align the text to the end of the measure instead of a note). The new repeat segno stuff does create Marks and Stuff on Score level. Cheers, Valentin Am Sonntag, 18. September 2022, 21:59:04 CEST schrieb Kenneth Wolcott: > Hi Valentin; > > Thank you. > > Regarding point #1, I don't understand what (how to) to change it so > that it is Score level. Would I place the same command inside the > \layout {} block inside the \score section? Do I invoke it in the > same way? > > Regarding point #2, I'm still trying to understand the new repeat > features, so I'm putting that off for now. > > Thanks, > Ken > > On Sun, Sep 18, 2022 at 11:04 AM Valentin Petzel wrote: > > Hi Ken, > > > > note that it would be reasonable to create these Marks on a Score level, > > not on a Staff level. > > > > If you are using a sufficiently recent development version you can also > > make use of the \repeat segno function, somewhat like this: > > > > \version "2.23.12" > > > > \layout { > > > > \context { > > > > \Score > > \override JumpScript.direction = #UP > > > > } > > > > } > > > > \new PianoStaff << > > > > \new Staff s1*6 > > \new Staff { > > > > \repeat segno 2 { > > > > \repeat volta 2 { > > > > c'4 d' e' f' > > \alternative { > > > > { g'2 f' } { g'1 \fine } > > > > } > > > > } > > \repeat volta 2 { > > > > c'4 d' e' f' > > \alternative { > > > > { g'2 f' } { g'1 } > > > > } > > > > } > > > > } > > > > } > > > > (note how although the marks are defined in the lower Staff they are > > displayed above the upper one, since they are created on a Score level). > > > > Cheers, > > Valentin > > > > Am Sonntag, 18. September 2022, 19:00:23 CEST schrieb Kenneth Wolcott: > > > Hi Knute; > > > > > > Thank you for reminding me to share :-) > > > > > > I did not find a precise search phrase that I should have used but > > > > > > "Controlling the vertical ordering of scripts" in the Notation > > > Reference comes close; reading the entire section helped. > > > > > > What I saw there reminded me of what I had been shown before, so I > > > > > > looked in my previous engravings and I found what I needed. > > > > > > Here is my markup command that I had used previously but could not > > > > > > remember how to search for it: > > > > > > fine = -\tweak outside-staff-priority #605 ^\markup { \fontsize #3 > > > "Fine" } > > > > > > So I was able to solve my problem, but I still don't have a precise > > > > > > search phrase that results in information that more closely matches > > > that which I had been shown to me on this mailing list previously. > > > > > > > > > Thanks, > > > Ken > > > > > > On Sun, Sep 18, 2022 at 6:29 AM Knute Snortum wrote: > > > > On Sat, Sep 17, 2022 at 9:36 PM Kenneth Wolcott > > > > > > > > wrote: > > > > > HI; > > > > > > > > > > I found what I was looking for; sorry to waste your time... > > > > > > > > Why not share what you found so others can learn from it? > > > > > > > > > > > > -- > > > > Knute Snortum signature.asc Description: This is a digitally signed message part.
Re: Lilypond
On Sun, Sep 18, 2022 at 7:22 AM pagani laurent wrote: [...] > Unlike Latex editors (texstudio, or texshop e.g.), it does not have the list > of reserved words/commands in lateral menus to retrieve quickly something you > don’t remember. But I guess there are not so many things to remember at the > end though I find some combinations a bit tricky. You don't have something from the menu you can pull down, but better I think is the auto-complete. This is also context sensitive so you get choices that make sense for where you are in the source. You can activate it anywhere with -. -- Knute Snortum
Re: Extended bar checking?
On Mon, Sep 19, 2022 at 8:21 AM Michael Hendry wrote: > On 19 Sep 2022, at 15:11, Jean Abou Samra wrote: > > > > > > > > Le 19/09/2022 à 11:50, Michael Hendry a écrit : > >> On 18 Sep 2022, at 22:32, Jean Abou Samra wrote: > >> > >>> > >> > >> > >>> \relative c' { > >>> c4 d e2 | > >>> g1 | > >>> g f e d | % notes wrongly entered > >>> s1 % missing bar check > >>> R1*3 | > >>> } > >> A simple visual way to catch missing bar checks is to place them at the > beginning of the bar... > >> > >> \relative c’ { > >> | c4 d e2 > >> | g1 > >> | g f e d > >> s1 > >> | R1*3 > >> } > >> > >> …and if you align the bar checks vertically when entering more than one > bar per line it’s easier to work out where you are when editing. > > What an easy way to have the bar checks easy to see! Wish I'd thought of that! I'm going to use this in the future. Carl > >
Re: Extended bar checking?
On 19 Sep 2022, at 15:11, Jean Abou Samra wrote: > > > > Le 19/09/2022 à 11:50, Michael Hendry a écrit : >> On 18 Sep 2022, at 22:32, Jean Abou Samra wrote: >> >>> >> >> >>> \relative c' { >>> c4 d e2 | >>> g1 | >>> g f e d | % notes wrongly entered >>> s1 % missing bar check >>> R1*3 | >>> } >> A simple visual way to catch missing bar checks is to place them at the >> beginning of the bar... >> >> \relative c’ { >> | c4 d e2 >> | g1 >> | g f e d >> s1 >> | R1*3 >> } >> >> …and if you align the bar checks vertically when entering more than one bar >> per line it’s easier to work out where you are when editing. > > > Was the private reply intentional? No - and I should know better! Michael
Re: LilyPond 2.23.13
Hello Jean ! Error 1073741819 \version "2.23.13" $@(map (lambda (i) #{ \bookpart { \score { \repeat unfold 100 c'1 } } #}) (iota 300)) Block on Fitting music on 171 or 172 pages... \version "2.23.13" $@(map (lambda (i) #{ \score { \repeat unfold 100 c'1 } #}) (iota 300)) Le dimanche 18 septembre 2022 à 23:23:27 UTC+2, Jean Abou Samra a écrit : Le 18/09/2022 à 18:49, Jonas Hahnfeld via LilyPond user discussion a écrit : > We are happy to announce the release of LilyPond 2.23.13. This is > termed a development release, but these are usually reliable. However, > if you require stability, we recommend using version 2.22.2, the > current stable release. Please refer to the Installing section in the > Learning Manual for instructions how to set up the provided binaries: > https://lilypond.org/doc/v2.23/Documentation/learning/installing A little call for testing: There has been a bug for a while in the 2.23 series, happening only on Windows, which would result in sporadic crashes with return code -1073741819. See https://gitlab.com/lilypond/lilypond/-/issues/6361 if you are interested in further information. In this release, the frequency at which the bug occurs seems much reduced, although it can still be triggered under very specific circumstances with Scheme code if you really try hard. If you are on Windows, we encourage you to test this release on any scores you might have, especially larger scores. If you encounter any trouble, please get back to us on the bug-lilypond list (bug-lilyp...@gnu.org). If this bug still occurs under real-world conditions, we would like to know it. Thank you.