Re: Why has `NonMusicalPaperColumn` a width?
> Why does the `NonMusicalPaperColumn` grob have a width of 0.5 units? Where it > is defined? Are you referring to the blue arrow from the second-to-last non-musical column to the last rest? That's not a width, it's the minimum distance to the last rest's musical column. Also, why would non-musical columns have no width in general? Since they're containers, is it not logical for them to have the same width as the set of grobs they contain? signature.asc Description: This is a digitally signed message part
Re: Why has `NonMusicalPaperColumn` a width?
> it's the minimum distance to the last Correction: the *ideal* distance signature.asc Description: This is a digitally signed message part
Re: Why has `NonMusicalPaperColumn` a width?
>> Why does the `NonMusicalPaperColumn` grob have a width of 0.5 >> units? Where it is defined? > > Are you referring to the blue arrow from the second-to-last > non-musical column to the last rest? That's not a width, it's the > [ideal] distance to the last rest's musical column. Yes, it was sloppily formulated, sorry. > Also, why would non-musical columns have no width in general? Since > they're containers, is it not logical for them to have the same > width as the set of grobs they contain? I fully agree. However, what I don't understand is why a zero-width non-musical paper column has a non-zero ideal spring distance. Additionally, this 0.5 value is hard-coded and undocumented, apparently present in the code since the very beginning. Werner
Re: Why has `NonMusicalPaperColumn` a width?
> I fully agree. However, what I don't understand is why a zero-width > non-musical paper column has a non-zero ideal spring distance. > Additionally, this 0.5 value is hard-coded and undocumented, > apparently present in the code since the very beginning. Well, it's not zero-width, since it contains the rehearsal mark. I do agree that the hardcoded 0.5 in `spacing-basic.cc` is suboptimal. signature.asc Description: This is a digitally signed message part
Re: Staff Centre Vertical Alignment on page?
Hi Stefano, It would really help if you provided a minimal working example (MWE), so those of us with an impulse to try to assist you don’t have to try to invent one ourselves… Thanks, Kieren. > On Dec 18, 2023, at 10:47 PM, Stefano Antonelli > wrote: > On Tue, 2023-12-12 at 16:10 -0800, Stefano Antonelli wrote: >> I'm producing muliple pngs with a single staff each. When I 'flip' >> through these pngs, the staff appears to move up and down on the >> page. >> I can set >> top-system-spacing.basic-distance = #7 > It turns out I need exactly __ My work day may look different than your work day. Please do not feel obligated to read or respond to this email outside of your normal working hours.
Re: Staff Centre Vertical Alignment on page?
On Tue, 2023-12-19 at 19:28 -0500, Kieren MacMillan wrote: > It would really help if you provided a minimal working example (MWE), > so those of us with an impulse to try to assist you don’t have to try > to invent one ourselves… Many apologies. I didn't think an MWE was required to address the question. See below and also attached. Run with: $ lilypond --png -dresolution=300 mwe.ly and 'flip' through the resulting pngs. There are two commented lines in the \paper block. One to annotate the spacing, the other to line up the middle staff line to the centre of the page. \header { tagline = ##f } music = { \relative c'' \repeat unfold 3 { c4 c c c \break } } \score { \new Staff \music \layout { } } #(set! paper-alist (cons '("vid-line" . (cons (* 90 mm) (* 26 mm))) paper-alist)) \paper { #(set-paper-size "vid-line") print-page-number = ##f indent = 0.0 short-indent = 0.0 %top-system-spacing.basic-distance = #6 top-margin = 0.0 bottom-margin = 0.0 %annotate-spacing = ##t } #(set! toplevel-music-functions (cons unfoldRepeats toplevel-music-functions)) \header { tagline = ##f } music = { \relative c'' \repeat volta 3 { c4 c c c \break } } \score { \new Staff \music \layout { } \midi { } } #(set! paper-alist (cons '("vid-line" . (cons (* 90 mm) (* 26 mm))) paper-alist)) \paper { #(set-paper-size "vid-line") print-page-number = ##f indent = 0.0 short-indent = 0.0 top-system-spacing.basic-distance = #6 top-margin = 0.0 bottom-margin = 0.0 annotate-spacing = ##t } % lilypond --png mwe.ly \version "2.20.0"
Encoding Bar, Line breaks into MIDI?
Hello list, I'd like to encode bar lines and line breaks into the midi output. There are some general purpose midi control change messages that could be abused for this purpose. These general purpose control change messages have id's of 80-84. I don't see a way to use them in the lilypond documentation though. There seem to be some predefined control change messages: midiBalance (number) midiChorusLevel (number) midiExpression (number) midiPanPosition (number) midiReverbLevel (number) And since this output is being generated specifically for ly2video I can look for any of those control change messages and interpret them as bar lines or line breaks. Is there any way to call those functions when bars or line breaks are encountered during the midi translation? Thanks, Stef
Re: Encoding Bar, Line breaks into MIDI?
Actually, this was a stupid question. Apologies for the noise. The bar line, the line break, and the starting note of the next bar all share the same moment. Which isn't helpful in terms of playing back a video of the score. What's necessary is to interpolate "when the bar is" in the playback based on the speed of the music and the distance (difference in x positions) between the last note, the bar line, and the next note. I need a different approach. On Tue, 2023-12-19 at 21:14 -0800, Stefano Antonelli wrote: > Hello list, > > I'd like to encode bar lines and line breaks into the midi output. > > There are some general purpose midi control change messages that > could > be abused for this purpose. These general purpose control change > messages have id's of 80-84. I don't see a way to use them in the > lilypond documentation though. > > There seem to be some predefined control change messages: > > midiBalance (number) > midiChorusLevel (number) > midiExpression (number) > midiPanPosition (number) > midiReverbLevel (number) > > And since this output is being generated specifically for ly2video I > can look for any of those control change messages and interpret them > as > bar lines or line breaks. > > Is there any way to call those functions when bars or line breaks are > encountered during the midi translation? > > Thanks, > Stef > >