Re: wordwrap on argument of markup function
> (define-markup-command (freely layout props width-param text) (number? > markup?) ^^^ Make that `markup-list?`. Otherwise, your command is accepting only a single markup. In your example, \line inside the command is working perfectly (though not actually needed), but \freely gets applied multiple times. HTH Jean signature.asc Description: This is a digitally signed message part
wordwrap on argument of markup function
Hello kind community folk, how do I make \wordwrap act correctly on the argument to this markup function? And why does \line not make \box act on the markup as a whole, as it is said to do? Best, Simon \version "2.25.14" #(define-markup-command (freely layout props width-param text) (number? markup?) "Format text for one bar of 'width-param' quarter notes’ length" (interpret-markup layout props #{\markup\box \line { \override #'(line-width . 10) \wordwrap { #text }} #})) \markup\freely #1 { test test test test test test } document.pdf Description: Adobe PDF document
Re: Alternating styles of TimeSignatures
Hi Federico, > However, it seems that both solutions run along similar lines: redefining > contexts. In your solution you split the topmost layout objects from the > staff context in two different contexts and create another -the bottom one-. > In my solution, I redefine the staff context to address separately the one > located at the top, the one(s) in the middle, and the bottom one. Yes, but in my solution: 1. You can simply switch any staff position without having to change its type. 2. You can include any type of context (e.g., RhythmicStaff, DrumStaff, etc.) without having to create associated Top*Staff and Bottom*Staff contexts. > It is clear also that to achieve a simpler solution Lilypond would need the > ability (perhaps it already has the feature; I don't know) to identify if a > particular staff is at the top, the bottom or "in the middle" of a particular > group context (Staff group in this case, but also Score, Piano staff, > ChoirStaff, whatever) and be able to modify it's properties in an individual > way. Yes, that would certainly help! Cheers, Kieren. __ 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: Alternating styles of TimeSignatures
Hi Kieren, Thanks for your answer and time. It looks really nice! However, it seems that both solutions run along similar lines: redefining contexts. In your solution you split the topmost layout objects from the staff context in two different contexts and create another -the bottom one-. In my solution, I redefine the staff context to address separately the one located at the top, the one(s) in the middle, and the bottom one. It is clear also that to achieve a simpler solution Lilypond would need the ability (perhaps it already has the feature; I don't know) to identify if a particular staff is at the top, the bottom or "in the middle" of a particular group context (Staff group in this case, but also Score, Piano staff, ChoirStaff, whatever) and be able to modify it's properties in an individual way. All the best! F. El sáb, 1 jun. 2024 08:33, Kieren MacMillan escribió: > Hi Federico, > > I’ve adjusted my snippet a little, and I think it might handle all your > spacing issues…? Let me know! > > Best, > Kieren. > > %%% SNIPPET BEGINS > \version "2.25.15" > > \paper { > system-system-spacing.padding = 4 > } > > \layout { > \context { > \type "Engraver_group" > \name TS > keepAliveInterfaces = #'( time-signature-interface ) > \consists "Time_signature_engraver" > \override TimeSignature.font-size = #-1 > \override TimeSignature.extra-offset = #'(-1.75 . 1.25) > \consists "Axis_group_engraver" > \override VerticalAxisGroup.staff-affinity = #UP > \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = > #'((basic-distance . 3) (minimum-distance . 2) (padding . 1)) > } > \context { > \type "Engraver_group" > \name ScoreMarks > keepAliveInterfaces = #'( metronome-mark-interface > time-signature-interface ) > rehearsalMarkFormatter = #format-mark-box-alphabet > \consists "Axis_group_engraver" > \override VerticalAxisGroup.staff-affinity = #DOWN > \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = > #'((basic-distance . 3) (minimum-distance . 2) (padding . 1)) > \consists "Metronome_mark_engraver" > \override MetronomeMark.Y-offset = #0 > \override MetronomeMark.X-offset = #2 > \override MetronomeMark.outside-staff-priority = #50 > \override MetronomeMark.break-align-symbols = > #'(left-edge staff-bar clef time-signature key-signature) > \override MetronomeMark.non-break-align-symbols = > #'(paper-column-interface) > \override MetronomeMark.extra-spacing-width = #'(0.5 . 0.5) > \consists "Mark_engraver" > \override RehearsalMark.Y-offset = #0 > \override RehearsalMark.outside-staff-priority = #100 > \override RehearsalMark.break-align-symbols = > #'(left-edge staff-bar clef time-signature key-signature) > \override RehearsalMark.self-alignment-X = #CENTER > \override RehearsalMark.extra-spacing-width = #'(0.5 . 0.5) > \consists "Text_spanner_engraver" > \override TextSpanner.font-size = #2 > \consists "Time_signature_engraver" > \override TimeSignature.font-size = #-1 > \override TimeSignature.X-extent = #empty-interval > \override TimeSignature.X-offset = #-1.75 > \override TimeSignature.extra-offset = #'(0 . 1.5) > } > \context { > \Score > \remove "Bar_number_engraver" > \remove "Metronome_mark_engraver" > \remove "Mark_engraver" > \accepts ScoreMarks > \accepts TS > } > } > > tsIn = { > \undo \omit Staff.TimeSignature > \omit ScoreMarks.TimeSignature > \omit TS.TimeSignature > } > tsOut = { > \omit Staff.TimeSignature > \undo \omit ScoreMarks.TimeSignature > \undo \omit TS.TimeSignature > } > > global = { > \once \omit ScoreMarks.TimeSignature > \once \omit TS.TimeSignature > \time 4/4 s1 > \tsOut \tempo "Allegro" \time 3/4 s2. > \tsIn \time 6/8 \tempo "Adagio" s2. > \tsOut \time 2/4 \tempo "Allegretto" s2 > \tsIn \time 2/2 s1 > \tsOut \time 6/4 s1. > \tsIn \time 4/4 s1 > \time 3/4 s2. > } > > someNotes = \repeat unfold 58 { c'8 } > > \score { > << > \new ScoreMarks \global > \new StaffGroup << > \new Staff = "one" \new Voice { << \global \someNotes >> } > \new Staff = "two" \new Voice { << \global \someNotes >> } > \new Staff = "thr" \new Voice { << \global \someNotes >> } > >> > \new TS \global > >> > } > %%% SNIPPET ENDS > > __ > > 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: spontini-editor
I just added the feature on a new release. Please download: https://github.com/paopre/Spontini/releases/tag/1.24_alfa and read here: https://github.com/paopre/Spontini/blob/master/documentation/miscellaneous.md#additional-compile-optionsflags Please tell me if it's all OK! Hope this helps Cheers On Sat, Jun 1, 2024 at 11:29 AM Stefan Thomas wrote: > Yes, that's it. > > Paolo Prete schrieb am Sa., 1. Juni 2024, 10:53: > >> Hi Stefan, do you mean the following flag?: >> >> -I, --include=directory >> >> This Is not currently supported. But given that it's a trivial addition, >> I can add It to the editor, along with other options, right now. >> Please let me know >> >> >> Il sab 1 giu 2024, 10:23 Stefan Thomas ha >> scritto: >> >>> dear Paolo, >>> rhanks, that helped me a lot. There is one more thing: how çan I set the >>> default include path for lilypond? >>> >>> Paolo Prete schrieb am Fr., 31. Mai 2024, 21:18: >>> Check here (tell me if you have issues): https://github.com/paopre/Spontini/blob/master/documentation/miscellaneous.md#midi-input Hope it helps! >> >>
Re: fontconfig not using XDG directories
> I am running on Alpine Linux and I noticed that lilypond creates > ~/.fontconfig/ with cache files every time I run it. > > It seems like fontconfig is supposed to follow the XDG environment > variables > (https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/8c255fb), > which I have defined on my system. Other programs on my system that > depend on fontconfig all follow them and put cache files in > $HOME/.cache/fontconfig. > > Are there any configurations I can do to make lilypond respect the XDG > environment variables, or to create the cache files somewhere else? This was a bug, and has been fixed in version 2.25.5. https://gitlab.com/lilypond/lilypond/-/issues/6591 signature.asc Description: This is a digitally signed message part
fontconfig not using XDG directories
Hi! I am running on Alpine Linux and I noticed that lilypond creates ~/.fontconfig/ with cache files every time I run it. It seems like fontconfig is supposed to follow the XDG environment variables (https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/8c255fb), which I have defined on my system. Other programs on my system that depend on fontconfig all follow them and put cache files in $HOME/.cache/fontconfig. Are there any configurations I can do to make lilypond respect the XDG environment variables, or to create the cache files somewhere else? Regards, Coco signature.asc Description: PGP signature
Re: Alternating styles of TimeSignatures
Hi Federico, I’ve adjusted my snippet a little, and I think it might handle all your spacing issues…? Let me know! Best, Kieren. %%% SNIPPET BEGINS \version "2.25.15" \paper { system-system-spacing.padding = 4 } \layout { \context { \type "Engraver_group" \name TS keepAliveInterfaces = #'( time-signature-interface ) \consists "Time_signature_engraver" \override TimeSignature.font-size = #-1 \override TimeSignature.extra-offset = #'(-1.75 . 1.25) \consists "Axis_group_engraver" \override VerticalAxisGroup.staff-affinity = #UP \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'((basic-distance . 3) (minimum-distance . 2) (padding . 1)) } \context { \type "Engraver_group" \name ScoreMarks keepAliveInterfaces = #'( metronome-mark-interface time-signature-interface ) rehearsalMarkFormatter = #format-mark-box-alphabet \consists "Axis_group_engraver" \override VerticalAxisGroup.staff-affinity = #DOWN \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'((basic-distance . 3) (minimum-distance . 2) (padding . 1)) \consists "Metronome_mark_engraver" \override MetronomeMark.Y-offset = #0 \override MetronomeMark.X-offset = #2 \override MetronomeMark.outside-staff-priority = #50 \override MetronomeMark.break-align-symbols = #'(left-edge staff-bar clef time-signature key-signature) \override MetronomeMark.non-break-align-symbols = #'(paper-column-interface) \override MetronomeMark.extra-spacing-width = #'(0.5 . 0.5) \consists "Mark_engraver" \override RehearsalMark.Y-offset = #0 \override RehearsalMark.outside-staff-priority = #100 \override RehearsalMark.break-align-symbols = #'(left-edge staff-bar clef time-signature key-signature) \override RehearsalMark.self-alignment-X = #CENTER \override RehearsalMark.extra-spacing-width = #'(0.5 . 0.5) \consists "Text_spanner_engraver" \override TextSpanner.font-size = #2 \consists "Time_signature_engraver" \override TimeSignature.font-size = #-1 \override TimeSignature.X-extent = #empty-interval \override TimeSignature.X-offset = #-1.75 \override TimeSignature.extra-offset = #'(0 . 1.5) } \context { \Score \remove "Bar_number_engraver" \remove "Metronome_mark_engraver" \remove "Mark_engraver" \accepts ScoreMarks \accepts TS } } tsIn = { \undo \omit Staff.TimeSignature \omit ScoreMarks.TimeSignature \omit TS.TimeSignature } tsOut = { \omit Staff.TimeSignature \undo \omit ScoreMarks.TimeSignature \undo \omit TS.TimeSignature } global = { \once \omit ScoreMarks.TimeSignature \once \omit TS.TimeSignature \time 4/4 s1 \tsOut \tempo "Allegro" \time 3/4 s2. \tsIn \time 6/8 \tempo "Adagio" s2. \tsOut \time 2/4 \tempo "Allegretto" s2 \tsIn \time 2/2 s1 \tsOut \time 6/4 s1. \tsIn \time 4/4 s1 \time 3/4 s2. } someNotes = \repeat unfold 58 { c'8 } \score { << \new ScoreMarks \global \new StaffGroup << \new Staff = "one" \new Voice { << \global \someNotes >> } \new Staff = "two" \new Voice { << \global \someNotes >> } \new Staff = "thr" \new Voice { << \global \someNotes >> } >> \new TS \global >> } %%% SNIPPET ENDS __ 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: spontini-editor
Hi Stefan, do you mean the following flag?: -I, --include=directory This Is not currently supported. But given that it's a trivial addition, I can add It to the editor, along with other options, right now. Please let me know Il sab 1 giu 2024, 10:23 Stefan Thomas ha scritto: > dear Paolo, > rhanks, that helped me a lot. There is one more thing: how çan I set the > default include path for lilypond? > > Paolo Prete schrieb am Fr., 31. Mai 2024, 21:18: > >> Check here (tell me if you have issues): >> >> >> https://github.com/paopre/Spontini/blob/master/documentation/miscellaneous.md#midi-input >> >> Hope it helps! >> >>
Re: spontini-editor
dear Paolo, rhanks, that helped me a lot. There is one more thing: how çan I set the default include path for lilypond? Paolo Prete schrieb am Fr., 31. Mai 2024, 21:18: > Check here (tell me if you have issues): > > > https://github.com/paopre/Spontini/blob/master/documentation/miscellaneous.md#midi-input > > Hope it helps! > > > > On Fri, May 31, 2024 at 8:38 PM Stefan Thomas > wrote: > >> Dear Paolo, >> thank for Your help. I've installed chrome and I changed the workspace. I >> can also see, that webmidi works with this browser. >> But I don't know how I could activate midi input with Spontini. A hint >> would be great. >> Thanks, >> Stefan >> >> Am Fr., 31. Mai 2024 um 00:43 Uhr schrieb Paolo Prete < >> paolopr...@gmail.com>: >> >>> >>> >>> On Thu, May 30, 2024 at 7:14 PM Stefan Thomas < >>> kontrapunktste...@gmail.com> wrote: >>> Dear Paolo, I could install Spontini. When I open it in chromium browser I get the message "InvalidStateError: Platform dependent initialization failed." >>> >>> Hi Stefan, this is a Chromium bug (you don't have it in Chrome) on MIDI >>> input. See for example, https://versioduo.com/webmidi-test/ (but it >>> affects many other programs and websites) >>> you can avoid the annoying popup by removing line 129 in >>> lib/webgui/main.js: >>> >>> turnOnMidiInputAndListenOnChannel(-1) >>> >>> Just remove this line and reload the editor clearing the cache (hold >>> down the Ctrl key and click the Reload button) >>> But given that I don't think chromium people will fix it in the near >>> future, IF you need MIDI input (which is IMHO useful) I suggest you to >>> switch to Chrome >>> >>> >>> What does that mean? I can also open files, but Spontini doesn't find the root directory of my scores, which is ~/partituren/ >>> Just set the workspace to ~/partituren/ in the SpontiniServer window. >>> See: >>> https://github.com/paopre/Spontini/blob/master/documentation/spontini-server.md >>> >>> Hope this helps! >>> >>> >>> >>