On 2020-01-25 8:23 am, Aaron Hill wrote:
On 2020-01-25 7:48 am, Kieren MacMillan wrote:
Also: I notice that rests and skips are ignored:
This is intuitive/understandable to me (given the functions we’re
using); and I’m glad they’re just ignored [rather than causing
errors]. But how can I turn
ionStaff
\with { rowrefs = #'(8 6 7 5 3 0 9) }
{ \test }
I have posted about custom context properties before, but let me know if
you need pointers.
-- Aaron Hill
IDI performers would be inappropriate for this context.
(But now I wonder what it would sound like to convert semitones into
tones.)
-- Aaron Hill
, as it is my understanding that
grobs do not persist the entire context within which they were created.
Mind you, I would love to be shown that I am incorrect.
-- Aaron Hill
On 2020-01-25 11:40 am, David Kastrup wrote:
Aaron Hill writes:
I am unaware of any simpler approach, as it is my understanding that
grobs do not persist the entire context within which they were
created.
How would they then make it to the page? Suicided grobs have their
properties deleted
On 2020-01-25 12:05 pm, David Kastrup wrote:
Aaron Hill writes:
On 2020-01-25 11:40 am, David Kastrup wrote:
Aaron Hill writes:
I am unaware of any simpler approach, as it is my understanding that
grobs do not persist the entire context within which they were
created.
How would they then
engravers are in the Voice, not the Staff by default. This
suggests we might need both a custom RowReducedStaff and RowReducedVoice
to reach the goal.
[1]: http://lsr.di.unimi.it/LSR/Item?id=280
-- Aaron Hill
when Bill Watterson (via Calvin) famously said,
"Verbing weirds language."
That said, I commend you for keeping up the good fight.
-- Aaron Hill
synthesizer itself or whatever patch is loaded.
-- Aaron Hill
re further debugging to determine why this is
occurring, as there is not enough actionable information.
-- Aaron Hill
f LilyPond likely would be able to compile
a large project without manual intervention. On Windows, this could
mean running the Linux-64 build of LilyPond either from the Windows
Subsystem for Linux (WSL), a Docker container, or a hosted virtual
machine running Linux.
-- Aaron Hill
aps you just need to configure this option
to get the damping behavior you need.
[1]: https://www.commandlinux.com/man-page/man5/timidity.cfg.5.html
-- Aaron Hill
]
=> \partial 8*7 g8[ 8 8] 8[ 8 8 8]
-- Aaron Hill
f a complex score to gauge its feasibility.
-- Aaron Hill
ve, should "list recursion" be talking
about nesting lists within lists and common strategies for this
structure (c.f. member vs member*) or is there something else to
discuss? Including a short one-liner description of what to expect
would be helpful.
-- Aaron Hill
;2 }
% . . .
Grouping related \overrides together in a well-named variable promotes
readability, reusability and maintainability. As an added bonus, \once
can be used with the variable without needing to apply it to every
\override.
-- Aaron Hill
d'8 e'4
\emphasizeStem 6 #blue f'2 }
The above demonstrates how the first argument could be made optional.
-- Aaron Hill
On 2020-02-02 2:26 am, David Kastrup wrote:
Aaron Hill writes:
Music functions certainly give you the most flexibility, although
there are simple cases where you can use 2.19's \etc keyword as a
shorthand to defining the function yourself:
\version "2.19"
stemCo
referencer::line_thickness, scaling it according to the
thickness property of the grob with unity as the fallback value.
-- Aaron Hill
to or have equivalents in Scheme;
so an interesting learning exercise would be to take one of the simpler
C++ engravers and reimplement it within Scheme.
-- Aaron Hill
nd to only generate MIDI output. To get both outputs,
include at least an empty \layout within the \score:
\version "2.18.2"
\score {
\new Staff \relative c' { c4 d e2 }
\layout {}
\midi { \tempo 4 = 90 }
}
-- Aaron Hill
never have to deal with
extra files.
Here is my command-line:
lilypond \
-dresolution=288 \
-dpixmap-format=pngalpha \
--png \
source.ly
-- Aaron Hill
On 2020-02-04 7:59 am, Anthony Rushforth wrote:
@Aaron : Because if I use your command line I get this png : a full
page
I want a cropped png, and I found the command line I use in the
documentation (
http://lilypond.org/doc/v2.19/Documentation/usage-big-page#lilypond-output-in-other-programs
and
bottom to get the effective height. This only works with glyphs that
are vertically symmetric in this regard. An 'A', for instance, usually
has a flat bottom but the point at the top often extends slightly beyond
its nominal height.
-- Aaron Hill
ption "Lorem ipsum"
\tocItem "Two"
\tocDescription "Dolor sit amet"
\markup \null
}
You can follow pattern this to add any number of other specialized items
with custom markup.
-- Aaron Hill
ersion "2.19.83"
foo = #(define-event-function (color) (color?)
#{ -\tweak color #color -\markup "foo" #})
{ b'4 ^\foo #red b'4 _\foo #blue }
-- Aaron Hill
ction (arg) (number-or-number-pair?)
(let ((width (if (pair? arg) (car arg) 0))
(height (if (pair? arg) (cdr arg) arg)))
#{ \markup #(format #f "width=~a, height=~a" width height) #}))
\foo 1
\foo #'(2 . 3)
-- Aaron Hill
On 2020-02-06 3:02 pm, Paolo Prete wrote:
On Thu, Feb 6, 2020 at 6:04 PM Aaron Hill
wrote:
On 2020-02-06 8:35 am, Paolo Prete wrote:
> I ask you if is it possible to remove the noisy default #OSSPW param
> as
> well, in the function call.
Also: I'm seeing that it compiles w
oddFooterMarkup [1].
[1]:
lilypond.org/doc/v2.19/Documentation/notation/custom-titles-headers-and-footers#custom-layout-for-headers-and-footers
-- Aaron Hill
On 2020-02-06 10:11 pm, Aaron Hill wrote:
On 2020-02-06 10:02 pm, Marco Bagolin wrote:
Hello all,
I don’t know how to personalize the page numbers of a score.
I would like to see at the left bottom of every score page the number
in
the following format:
n - Title of score
Example:
1 - My
Who owns this?
-- Aaron Hill
n using the original
dimensions and the larger ones, so an additional parameter would
probably be necessary.
-- Aaron Hill
width
Then you can set the thickness property of the Glissando grob.
-- Aaron Hill
)
\override Script.stencil =
#(make-stencil-boxer 0.2 '(1.4 1 0.6 0.2)
ly:script-interface::print)
\override NoteHead.stencil =
#(make-stencil-boxer 0.2 '(0.6 0.2) ly:note-head::print cyan #f)
c'4^"foo"->
\override TupletBracket.stencil =
#(make-stencil-boxer 0.4 0 ly:tuplet-bracket::print)
\tuplet 3/2 { b4 4 4 }
}
-- Aaron Hill
On 2020-02-11 8:05 am, Paolo Prete wrote:
thanks to the _great_ support of Aaron and Harm, I implemented this new
version of the outside-staff spacing method I proposed some days ago.
I am getting quite a few errors and warnings compiling the code pasted
in the email. I wonder if the email
/msg00723.html
-- Aaron Hill
ontext {
\FiguredBass
\override VerticalAxisGroup.nonstaff-staff-spacing.padding = #30
}
}
I believe it should be nonstaff-relatedstaff-spacing.
^^^
-- Aaron Hill
#t
\score {
{ b'4 }
\layout {}
#(if (and (defined? 'includeMIDI) includeMIDI)
#{ \midi { \tempo 4 = 150 } #} )
}
-- Aaron Hill
'8 a fis2.
}
The principle is to check whether the NoteHeads being connected by the
VoiceFollower have a shared Beam.
-- Aaron Hill
\new Voice = Counter { \voiceTwo \Counter.Voice }
>>
\new Lyrics
\with { \override LyricText.font-size = #-2 }
\lyricsto Counter { \Counter.Lyrics }
\new Lyrics \lyricsto Melody { \Melody.Lyrics }
-- Aaron Hill
Please remember to keep the mailing list on the thread. Private
communications can easily be lost. I am reattaching the image you
included for others' reference.
On 2020-02-24 1:18 pm, JxStarks . wrote:
Thanks, Aaron. That fixed the counter-melody problem, but I've lost
st
e desired value
for each segment.
{
\set Staff.pedalSustainStyle = #'mixed
\alterBroken Y-offset #'(0 -16) Staff.SustainPedalLineSpanner
c'2\sustainOn c'
c'1 \break
c'2 c'\sustainOff
c'1
}
-- Aaron Hill
ot;
b'4 4 4 4 4 4 \forceBar "|."
}
I have wrapped that up in a \forceBar command which acts like a \bar
that always starts a new measure.
This could have unintended side-effects, so additional testing would be
needed.
-- Aaron Hill
On 2020-03-08 3:18 am, Pablo Cordal wrote:
Thank you very much Aaron, but I get and error, I attach print, could
it be
because I have an older version?
Yes, I tend to assume folks are on the latest build, which is obviously
not always correct.
Try:
\version "2.18.2"
unc = #(define-scheme-function () () #{ \book { \scoreFunc } #})
\scoreFunc % works
%\bookFunc % does not
#(print-book-with-defaults #{ \bookFunc #})
betterBookFunc = #(define-void-function () ()
(print-book-with-defaults #{ \book { \scoreFunc } #}))
\betterBookFunc
-- Aaron Hill
nc } % fails - bad expression type
$#{ \bookFunc #} % works?!
-- Aaron Hill
(changed)" }
\markup { Lorem ipsum dolor sit amet }
In the above, the subtitle does not reflect the change to the title. In
general, you should prefer to use \fromproperty so that the order of
defining properties does not matter. However, if you can ensure
properties are set properly, there should be nothing wrong with using
\title directly.
-- Aaron Hill
On 2020-03-14 3:38 am, Mario Moles wrote:
Hi lilyponders
how to change the direction of \[ \]?
Is it possible?
You can \tweak the direction of a LigatureBracket:
\version "2.20.0"
\fixed c' {
| a4 \[ b8 d' c'2 \]
| \tweak direction #DOWN \[ g8 f g a b2 \]
}
-- Aaron Hill
s.left.text "rit." \startTextSpan
{ a'4\rit g'8 f' b'2\stopTextSpan }
-- Aaron Hill
system-system-spacing #'padding = #20
}
{ b'1 \break b'1 }
[1]: http://lilybin.com/99jt2g/1
-- Aaron Hill
On 2020-03-18 3:51 am, foxfanfare wrote:
Thank you Aaron for the explanation. I was trying the make-music
solution as
I was also trying to make a generic function, something like:
c4-\mySpan "molto rit." d e f g1\stopTextSpan
No worries. Does this help?
\versi
#})
(iota 8))
#})
I would like to modify it so that the generated output would be:
c4 d8 e
b'4 c8 d
a'4 b'8 c
(iota 8) produces (0 1 2 3 4 5 6 7).
(iota 8 0 -1) would produce (0 -1 -2 -3 -4 -5 -6 -7).
-- Aaron Hill
t_spanner_engraver
}
{
g'2 \tweak bound-details.left.text "g" _\startTextSpan
2
\tweak bound-details.left.text "b" \=2 \startTextSpan
\tweak bound-details.left.text "d" \=sym ^\startTextSpan
b'2 \=2 \stopTextSpan
2 \=sym \stopTextSpan \stopTextSpan
}
-- Aaron Hill
/2015-10/msg00545.html
Oh... well, I guess I just reinvented the wheel. :P
-- Aaron Hill
events, injecting a spacing-section-event
and adjusting some context properties as needed. The logic is very
simple, and there are no safety checks. Be warned this likely could
fail with more complicated music.
-- Aaron Hill
which to
tie? Do you have to create an invisible note, add a tie, and then
convert to LV? Or does Sibelius already allow you to have dangling
ties, and this feature is just shortening the visual extent?
-- Aaron Hill
t;
\context Staff = "1" <<
\relative g' {
{ c1 }
\repeat volta 2 {
\appoggiatura g32
g8 [ f8 e8 f8 ] r2
}
}
>>
\context Staff = "2" <<
\relative e' {
{ g1 }
\repeat volta 2 {
\grace s32 % <==
g1
}
}
>>
-- Aaron Hill
\partial 8 b'8 | b'4 8 8 8 8
\partial 8*4 | b'4.~ 8 \bar "||"
\time 4/4
\partial 4 b'4 | b'1
}
-- Aaron Hill
, so I had to
use lilybin.com. It does not show the program output unless there is an
error.
Ignore my post then.
-- Aaron Hill
... #music
is changing the value which affects both usage of #music. Using $music
in place of either (or both) #music should fix the issue.
Also, parser and location are no longer required to be specified as
arguments, so you can shorten up the function definition a bit.
-- Aaron Hill
On 2020-04-07 10:42 am, Robert Blackstone wrote:
PS.I don’t understand your question: "What's your DX?” I have no idea
what a DX is?
Probably "diagnosis" [1].
[1]: https://medical-dictionary.thefreedictionary.com/Dx
-- Aaron Hill
On 2020-04-07 10:49 am, Karlin High wrote:
On 4/7/2020 12:47 PM, Aaron Hill wrote:
On 2020-04-07 10:42 am, Robert Blackstone wrote:
PS.I don’t understand your question: "What's your DX?” I have no idea
what a DX is?
Probably "diagnosis" [1].
ed on a Windows installation but
now I exclusively use the Linux build of LilyPond running under the
Windows Subsystem for Linux (WSL).
-- Aaron Hill
On 2020-04-07 1:55 pm, Paolo Prete wrote:
Look at this example (again: messy code that could be improved, and I
gently ask Harm and/or Aaron to have a check if they can):
For starters, I would seek to eliminate the global variable, instead
preferring state to be tied to the context in some
grob 'X-offset 10))
c' ^"this is offset"
}
{
\override TextScript.after-line-breaking =
#(lambda (grob)
(ly:grob-translate-axis! grob 10 X))
c' ^"this is offset"
}
-- Aaron Hill
t all frets are equidistant. But it should be possible to introduce
a fret-distance-factor property to expand or contract fret spacing the
further along the diagram you go.
-- Aaron Hill
(#:draw-line (cons 0 size))
(#:arrow-head 1 -1 #f
arrow = -\markup \arrow \etc
\relative c' {
c1^\markup \arrow #2
c1^\arrow #2
}
-- Aaron Hill
' {
c1\finger \markup \subUp "1" "2"
c\subst "1" "2"
c\substII \markup \with-color #red "1" \markup \circle "2"
}
NOTE: In general, prefer markup? to string? for markup-related
arguments. You never know when you might want to provide more than just
simple text as demonstrated above.
-- Aaron Hill
On 2020-04-09 1:45 pm, Mark Stephen Mrotek wrote:
No question is stupid – only some responses!
See my post history for examples. :P
-- Aaron Hill
, since that increases the width of the accidental, would that push
the sharp too far to the left of a note?
-- Aaron Hill
is the most upper text not above the staff?
Make sure to name the Staff context:
Tenor = \new Staff = "tenor" \with { % . . .
-- Aaron Hill
icmode { f g }
<<
\new Staff \notes
\new Lyrics <<
\lyricsto upper \upper
\lyricsto lower \lower
>>
<<
\new Staff \notes
\context Lyrics = lyrics \lyricsto upper \upper
\context Lyrics = lyrics \lyricsto lower \lower
-- Aaron Hill
taff events so it can clean up and rebuild its
StaffSymbol collection rather than just append to the existing one.
-- Aaron Hill
logic is necessary? In any event, I omitted it from my Scheme engraver.
-- Aaron Hill\version "2.20.0"
System_start_delimiter_engraver_patched =
#(lambda (context)
(let ((nesting #f))
(define (nesting-node node-type)
(let ((node-grob #f)
(prior-
= melody \notes }
\new Lyrics \with {
\consists \betweenLyrics \insertBar "'"
} \lyricsto melody \words >>
<< \new Staff { \cadenzaOn \new Voice = melody \notes }
\new Lyrics \with {
\consists \betweenLyrics \doBoth \insertBar "" \incrementBarNumber
} \lyricsto melody \words >>
-- Aaron Hill
ting/
for details.
-- Aaron Hill
i.unimi.it/LSR/Search?q=make%5C-dynamic%5C-script
If you have not already, review the LilyPond NR [2] which discusses the
topic.
[2]:
http://lilypond.org/doc/v2.20/Documentation/notation/expressive-marks-attached-to-notes#new-dynamic-marks
-- Aaron Hill
Forwarding to the list for visibility...
Original Message
Subject: Re: Internet-style quoting (was: A request on behalf of Turkish
Music)
Date: 2020-04-14 4:28 pm
From: Carl Sorensen
To: Aaron Hill
Unfortunately, as is shown in the thread that Aaron refers to in his
trange time signature found: 3/6")
#{ { \time 3/4 b'4 4 4
r4 \time 5/4 b'2 2
\time 2,3,2 7/8 \repeat unfold 7 b'8
\compoundMeter #'((3 2 8) (1 2))
\repeat unfold 5 b'8 b'2
\time 3/6 R2 } #})
\new Staff \test
\new Staff \with {
\remove "Time_signature_engraver"
\consists \Time_signature_engraver_scm
} \test
-- Aaron Hill
. 0.5))
;; bass^15
((equal? (list glyph dir text) (list "clefs.F" UP "15"))
'(-1.5 . 0.5))
(else '(0 . 0)
\clef "treble^15" R1
\clef "treble_8" R1
\clef "bass^15" R1
\clef "bass_8" R1
}
-- Aaron Hill
text 'Score))
(bar-number (ly:context-property score 'internalBarNumber)))
(ly:context-set-property! score 'internalBarNumber (1+ bar-number)))
-- Aaron Hill
On 2020-04-23 11:53 am, Fr. Samuel Springuel wrote:
On 14 Apr, 2020, at 3:02 PM, Aaron Hill
wrote:
Here is my take that works from events not grobs, plus it allows
flexibility in what you want to do between words:
This look useful for me too, but I’m running into some difficulty when
trying
ure found")
\fractionalMeter 2 2/3 4
\repeat unfold 3 { | b'4 4 \tuplet 3/2 { b'8 8 } }
}
-- Aaron Hill
ng an R5RS primitive?
(define (positive? arg) (and (number? arg) (< 0 arg))
;;;;
-- Aaron Hill
? x)
(or (pair? x) (null? x)))
All lists will pass cheap-list?, but not all things that pass
cheap-list? are lists. Additional care must be taken within the
function body when using cheap-list? as a type predicate.
-- Aaron Hill
On 2020-05-07 4:52 pm, Freeman Gilmore wrote:
Aaron, thank you; but i do not have a clue. Were can I read about
this? Google is no help.
Seeing as cheap-list? in this context is a LilyPond invention, it is
unsurprising there is little information online. I use DuckDuckGo, but
a search
not) (cons (quote a) (cons (quote proper) (quote
list
\items
#'(not a proper . list)
fatal error: failed files: "cheap-list.ly"
-- Aaron Hill
of numbers of which can be matched by the number-list? type
predicate. But note that this list counts as a single argument, so we
need to specify the formals as (args), not args. If we omitted the
parentheses, then args would be bound to a list containing the list of
numbers.
-- Aaron Hill
On 2020-05-07 9:42 pm, Freeman Gilmore wrote:
On Thu, May 7, 2020 at 11:32 PM Aaron Hill
wrote:
\version "2.20.0"
sum =
#(define-void-function
(args)
(number-list?)
I know the the function uses a list for this because of the
undetermined number of args as the lambda pro
y Conway's
Game of Life screensaver I had on BeBits. While it was hardly anything
worth keeping around, I have to commend the Haiku team for having the
dedication to preserve what they could from the BeOS world. I might
just have to spin up a VM now.
-- Aaron Hill
d 3 { | \repeat unfold 4 { b'8( 8 8) } }
\bar "||"
\multipleTime 5 2/4
\repeat unfold 3 { | \repeat unfold 5 { b'4( 4) } }
\bar "||"
\multipleTime 3/2
\repeat unfold 3 { | b'2( 2 2) }
\bar "|."
}
-- Aaron Hill
kground and then
overlays the half-note head.
-- Aaron Hill
have to consider the bounds and positions of multiple grobs.
-- Aaron Hill
/guile-ref/Regexp-Functions.html#Regexp-Functions
(regexp-substitute/global #f
"(c|sh|w)ould of"
"I would of done that if I could of."
'pre 1 "ould have" 'post)
=> "I would have done that if I could have."
-- Aaron Hill
?
-- Aaron Hill
On 2020-05-27 1:02 am, Valentin Villenave wrote:
On 5/27/20, Aaron Hill wrote:
Apologies for hijacking the thread.
No apology needed.
The link you provided worked for me
without needing an account. What level of access are you talking
about?
Is it something a mere mortal like me (i.e
tute/global
What am i missing?
You will need to bring in the regular expression module:
\version "2.20.0"
#(use-modules (ice-9 regex))
\markup
#(regexp-substitute/global #f
"[ \t]+"
"this is the test"
'pre "-" 'post)
NOTE: I am using \markup above as a simple way to visualize the
resulting string.
-- Aaron Hill
econd-edition
[5]: https://racket-lang.org/
[6]: https://htdp.org/
-- Aaron Hill
.^"Lorem" b'4_"ipsum" }
\layout { #(layout-set-staff-size 13) }
}
\score {
\new Staff { \once \transformText \flipIt b'2.^"Lorem" b'4_"ipsum" }
\layout { #(layout-set-staff-size 21) }
}
-- Aaron Hill
"A ... E ..." "A ... B ...")
"\n" 'suffix)
'pre 1 "C" 'post))
A ... C ...
D ... B ...
A ... E ...
A ... C ...
The key here is to use a capturing group for the portion of the string
before "B" that you need to preserve in the substitution.
-- Aaron Hill
501 - 600 of 1690 matches
Mail list logo