k LilyPond to reserve more
space before the note. No such \tweaking is needed for \fx to avoid
collision.
-- Aaron Hill
On 2020-09-07 4:38 pm, Aaron Hill wrote:
On 2020-09-07 1:20 pm, Aaron Hill wrote:
Given a cursory glance, it would seem doable. One would need to
copy/borrow the existing logic for \path and then add a suitable
"setdash" command to the PostScript output and an equivalent
"s
On 2020-09-07 1:20 pm, Aaron Hill wrote:
Given a cursory glance, it would seem doable. One would need to
copy/borrow the existing logic for \path and then add a suitable
"setdash" command to the PostScript output and an equivalent
"stroke-dasharray" attribute to the SVG out
ent
"stroke-dasharray" attribute to the SVG output. Looking at how
\draw-dashed-line works should provide a useful reference.
-- Aaron Hill
"add4" }
1-\markup { m \super { "add"
#(alteration->text-accidental-markup FLAT) "9" } }
1-\markup { m \super "add9" }
}
addExceptions =
#(append
(sequential-music-to-chord-exceptions addExceptionsMusic #t)
ignatzekExceptions)
music = \chordmode {
\set chordNameExceptions = #addExceptions
c:add2 d:add4 e:add9 f:add11+
c:madd2 d:madd4 e:madd9 f:madd9-
}
<< \new ChordNames \music \new Staff \music >>
-- Aaron Hill
note,is a fifth lower so there
is no collision, or shouldn't be.
Probably need to use \partcombineApart. Consider:
\version "2.20.0"
{
\time 3/4
\clef bass
\partcombine
{ r4 e2 }
{ \once \partcombineApart a,2. }
}
-- Aaron Hill
On 2020-09-04 11:47 am, Tom Swan wrote:
PS: Output of /usr/local/bin/lilypond is "No such file or directory"
What about "~/bin/lilypond --version"?
-- Aaron Hill
htOrnament \markup \vcenter \huge \bold zzz
{ f8 -\tweak padding #0.8 -\mx f'4. -\mx
f''16 -\mzzz f'''4.. -\mx }
-- Aaron Hill
(ly:translator-context engraver)
(car (filter translator-property? '(keyAlterations keySignature)))
'())
-- Aaron Hill
(cons 'listeners
(list
(cons 'key-change-event format-event
} { \key g \major g'2 b' | \key aes \major c''2 aes' }
-- Aaron Hill
#}))
\markup \centered-three-lines
\line { a b c }
\line { d e }
\line { f g h }
-- Aaron Hill
ple shows how \vcenter does not quite align the same as the
other option. But again, it might not matter in context so it is worth
trying as it is simpler.
-- Aaron Hill
t;
#:normal-text "l3"
))
Where l1 is on line 1, l2 is on line 2, and l3 is on line 3. Can
someone
help me ?
You should be able to use \column:
dals = \tweak DynamicText.self-alignment-X #CENTER
#(make-dynamic-script #{ \markup \normal-text \column { 11 12 13 } #})
-- Aaron Hill
On 2020-08-30 4:29 am, Aaron Hill wrote:
On 2020-08-30 2:12 am, Claire Meyer wrote:
Those dynamics are all custom dynamic marks that I constructed like :
mydyn = \tweak DynamicText.self-alignment-X #LEFT
#(make-dynamic-script
(markup
#:with-dimensions '(0 . 5) '(0 . 0) #:line
(#:normal-text
would give it the
information needed to properly crop.
-- Aaron Hill
On 2020-08-29 10:38 am, David Kastrup wrote:
Aaron Hill writes:
Is this pushing things too far?
Well, essentially a similar problem. How do you figure out the
difference between setting something to a context mod, and making a
smart alist modification?
I do not believe there are any
'1 | c' | c' | d'
}
%%%%
Is this pushing things too far?
-- Aaron Hill
On 2020-08-29 6:37 am, David Kastrup wrote:
Aaron Hill writes:
On 2020-08-29 5:23 am, David Kastrup wrote:
Wols Lists writes:
On 29/08/20 05:45, Werner LEMBERG wrote:
\once \override FretBoard.size = #'1.0
\once \override FretBoard.fret-diagram-details.barre-type =
#'straight
property, so it is not quite the same thing.
-- Aaron Hill
FretBoard.fret-diagram-details.finger-code = #'below-string
}
-- Aaron Hill
e
number-type = #'arabic
orientation = #'landscape
mute-string = #"M"
label-dir = #LEFT
dot-color = #'black
}
-- Aaron Hill
#})
{ b'4 \oo NoteHead.color #red g'4 a'2 }
-- Aaron Hill
}
>>
\layout {}
\midi {
\context {
\Staff
\consists "Dynamic_performer"
}
\context {
\Voice
\remove "Dynamic_performer"
}
}
}
Whether there are any side effects, I do not know.
-- Aaron Hill
\markup "Hidden"
{ \foo }
\assert #'(eq? 0 (length toplevel-scores))
\restoreHandlers
\markup "Visible"
{ \foo }
\assert #'(eq? 2 (length toplevel-scores))
-- Aaron Hill
of \fill-line within oddHeaderMarkup.
-- Aaron Hill
On 2020-08-11 1:57 am, Aaron Hill wrote:
On 2020-08-11 1:48 am, Aaron Hill wrote:
(last (car (take-right elts 1)))
And in my haste to reply, I overlooked simplifying the car/take-right
1 to being just a call to the SRFI-1 "last" procedure:
(last (last elts))
On 2020-08-11 1:48 am, Aaron Hill wrote:
(last (car (take-right elts 1)))
And in my haste to reply, I overlooked simplifying the car/take-right 1
to being just a call to the SRFI-1 "last" procedure:
(last (last elts))
Though, I probably should pick a be
-right elts 1)))
(text (ly:prob-property last 'text)))
(ly:prob-set-property! last 'text
#{ \markup \concat { $text $punct } #})
lyrics))
foo = \lyricmode { foo foo foo }
\new Voice \fixed c' { g8 fis g4 a4. b8 | c'1 }
\addlyrics { \addPunct \foo "," \addPunct \foo "!" }
-- Aaron Hill
r = #red
\parenthesize dis4
\parenthesize 2
<\parenthesize a, \parenthesize c ees>4
}
alto = \fixed c' {
\override ParenthesesItem.color = #blue
4
\parenthesize 2
\parenthesize c4
}
\new Staff \voices 1,2 << \soprano \\ \alto >>
-- Aaron Hill
color = #blue
4
\parenthesize 2
\parenthesize c4
}
\new Staff \voices 1,2 << \soprano \\ \alto >>
-- Aaron Hill
are-tie ~ b'1
}
%%%%
-- Aaron Hill
On 2020-08-06 6:54 pm, Brian Barker wrote:
At 15:59 06/08/2020 -0700, Aaron Hill wrote:
On 2020-08-06 3:34 pm, Werner LEMBERG wrote:
Look at this example
\relative c' {
\clef "alto" d'2 \tweak positions #'(8 . 4) ~
\clef "treble" d2
}
The `\tweak positions`
om a slur.
- The tie should be rendered as a \laissezVibrer and \repeatTie
combination.
-- Aaron Hill
\Foo.1234
There are some edge cases where the parser currently does not like the
".key" syntax, but a little escaping seems to do the trick as a
temporary workaround:
\markup \box \column { \FooMCCLLLIV ##{ \Foo.1234 #} }
Just something to consider.
-- Aaron Hill
o not need to add the
explicit \bar command:
\set Timing.measureLength = #(ly:make-moment (* 1/4 8/7))
-- Aaron Hill
the input. Alternately, you can use the --output command-line option to
be explicit about the target file or folder.
-- Aaron Hill
On 2020-07-28 10:15 am, David Kastrup wrote:
Aaron Hill writes:
Feels like a hack, but would this help?
\version "2.20.0"
loremIpsum = \markuplist {
\bold { Lorem ipsum } dolor sit amet,
\italic consectetur adipiscing elit.
}
\markup {
\override #'(line-width . 40)
loremIpsum }
}
-- Aaron Hill
On 2020-07-23 4:38 pm, Aaron Hill wrote:
On 2020-07-23 3:14 pm, Lukas-Fabian Moser wrote:
Hi,
consider:
\version "2.21.0"
\relative {
g'1~ \break
g^"normal tie"
}
\relative {
ges'1~ \break
ges^"low tie"
}
\relative {
gis'1~ \break
gis^"l
rcing the tie down an entire staff space.
But this results in a slightly larger gap, because there is slightly
less than a staff space difference between the flat and sharp's lower
extent.
-- Aaron Hill
\middle b g8[ f] g4_( \final c') \bar "|" }
\fixed c' { \cadenzaOn g4 f8[ d] e4 \middle e g4 a \final g \bar "|" }
This approach allows you to create a template of sorts for individual
notes. Above is an example usage to aid with pointing, supporting the
middle of a phrase and the final tone.
-- Aaron Hill
} g'
While not exactly your original syntax, this does permit a user to
shorthand "\with { symbol = foo }" as simply "foo" providing they do not
need to use the \with block.
-- Aaron Hill
e \override needs to occur before the syllable that precedes
the hyphen.
-- Aaron Hill
er using
\etc:
foo =
\tweak Accidental.stencil #ly:text-interface::print
\tweak Accidental.text
\markup \smuflglyph "accidentalHalfSharpArrowUp"
\etc
{ <\foo fis' \foo cis''>8 }
-- Aaron Hill
ot;
#(define-markup-command
(test layout props enclosure content)
(boolean? markup?)
(interpret-markup layout props
(primitive-eval
(list 'markup
(if enclosure #:box #:circle)
content
\markup {
\test ##t box
\test ##f circle
}
-- Aaron Hill
c1 | 1 | 1 | 1 |
\context ChordNames = "chrdsII"
{ \set chordChanges = ##f }
1 | 1 | 1 | 1 |
}
>>
}
-- Aaron Hill
Here is an alternate way to view the above:
\version "2.20.0"
{
\new Voice = outer { e'8 g' }
<<
\context Voice = outer { s2 }
\new Voice = inner { a'2 }
>>
\context Voice = outer { b'4 }
}
Hopefully it is more clear that the two Voices are siblings, not
parent-child.
-- Aaron Hill
{ c''4 }
alto = { a'4 }
tenor = { fis'4 }
bass = { d'4 }
satb = \voices 1,3,4,2 \etc
\satb << \soprano \\ \alto \\ \tenor \\ \bass >>
-- Aaron Hill
Sorry. I included the wrong version of the code, before I had
reduced/simplified some of the regular expressions. See changes below:
On 2020-06-27 10:04 pm, Aaron Hill wrote:
-
Broken into individual steps, as you have requested:
(use
b 3) cd -jk (* -DR 2) rtyu -HJK n31 (* n17 4) -n7 (* -n41 3))
NOTE: In both cases above, I stopped short of evaluating the expression,
as there would be a whole host of unbound variables. Assuming a valid
environment, the summation could be computed as easily as:
(primitive-eval (cons '+ expr))
-- Aaron Hill
I can tell.
-- Aaron Hill
-size -2.0
- $text #}
#{ \tweak font-shape #'italic
\tweak font-size -0.1
- $text #}))
{ c'4-. ^\expr "con grazia"
d'4-. _\expr "(she reads the letter)" }
Note in this version I am demonstrating using \paper to set the font
family, so that we can make use of font-shape.
-- Aaron Hill
On 2020-06-26 3:33 am, Aaron Hill wrote:
On 2020-06-26 3:05 am, Aberforth D - Instrumentals wrote:
Hello,
I have a problem obtaining the correct font for TextScripts. When I
type
the following command:
c4^\markup \italic "legato"
it shows up all right in Frescobaldi but the svg
confused with a style, so you need to add a comma
after the font family.
\version "2.20.0"
{ b'4 -\tweak font-name "Times New Roman," ^"Hello" }
2) When specifying an explicit font-name, things like \italic no longer
work. You must then manually specify the style after the font family.
\version "2.20.0"
{ b'4 -\tweak font-name "Times New Roman, Italic" ^"Hello" }
-- Aaron Hill
ch a custom unique
identifier to the contexts as they are seen, so it is possible to
discern which context is which even when they are not named.
-- Aaron Hill
po \markup{ Allegro \notetest #4 }
c'1
}
#4 is number?. The # signals an escape to Scheme syntax and the 4 is
just an integer.
4 by itself could be parsed as ly:duration?, although you are are within
\markup which might affect the parsing logic.
-- Aaron Hill
On 2020-06-17 5:53 am, David Kastrup wrote:
Aaron Hill writes:
On 2020-06-17 1:35 am, Peter Toye wrote:
Robin,
Thanks. Fair enough. I guessed and experimented and got the result
that I wanted. But I'm not quite sure how I managed it!
A problem I had with minimum-X-extent is that it's a pair
ser to "bounds" than
"size". While the docs are pretty clear about the value being a pair of
numbers, perhaps we should update the extent-related properties to use
"bounds" as opposed to "size".
-- Aaron Hill
; "-x3" "r" "x2" "-st" "-x2" "t")
Several assumptions are being made within the core regular expression
above; but what is important to note is that we are not doing any text
substitution of the original input. Rather, we are using a regular
expression to identify the valid "words" and extract the key parts of
those words. While you can certainly act upon the information right
away, I am showing a way to build a list of strings that should meet
your specification.
-- Aaron Hill
-st -x2 t -z +bx4 -x"
Let us say you want a list, not a string. Do you want items like "-a
-x3" to become separate elements? Then an additional usage of
string-split could work. Although then you would have a list of lists.
So in that case, you need to append the individual lists into one:
(apply append
(map
(lambda (str)
(string-split
(regexp-substitute/global #f
"(^-[^x]+)(x)" str
'pre 1 " -" 2 'post)
#\sp))
(string-split "-y -ax3 +rx2 -stx2 t -z +bx4 -x" #\sp)))
("-y" "-a" "-x3" "+rx2" "-st" "-x2" "t" "-z" "+bx4" "-x")
-- Aaron Hill
d 2/2
would look identical to the function. In fact, the function would
simply see the integer 1 as input for #4/4. If all that was needed was
to specify a duration, then it might not matter since four quarters is
the same as two halves. However then, David's suggestion of using
ly:duration? would make much more sense.
-- Aaron Hill
((lambda (s)
(if (string-prefix? "XX" s)
(string-find-replace s "gg" "YY")
s))
"XXssddffgghhjjkkll")
"XXssddffYYhhjjkkll"
Hopefully you can see that in this situation, regexp-substitute/global
becomes the more succinct way to express things:
(regexp-substitute/global #f
"(^XX.*)gg"
"XXssddffgghhjjkkll"
'pre 1 "YY" 'post)
"XXssddffYYhhjjkkll"
-- Aaron Hill
and the denominator as the cdr.
Alternately, you can use the rational? type predicate so the value is
numeric. However, you will then need to use Scheme syntax for the
input: #1/16 instead of 1/16.
-- Aaron Hill
ic unnamed capturing groups, although GNU ERE
does add support for backreferences: /.(.)(.)\2\1/ will match 'xyzzy'.
However, PCRE additionally handles non-capturing groups, named groups,
and many forms of lookarounds and conditionals.
-- Aaron Hill
quot; "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
" }
\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
-edition
[5]: https://racket-lang.org/
[6]: https://htdp.org/
-- Aaron Hill
obal
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
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
?
-- Aaron Hill
/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
have to consider the bounds and positions of multiple grobs.
-- Aaron Hill
d then
overlays the half-note head.
-- Aaron Hill
epeat 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
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
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
s 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
ns (quote proper) (quote
list
\items
#'(not a proper . list)
fatal error: failed files: "cheap-list.ly"
-- Aaron Hill
elements, cheap-list? can return success
much faster than list? would. However, cheap-list? does not assert the
value tested is, in fact, a proper list:
(list? '(1 . 2))
=> #f
(cheap-list? '(1 . 2))
=> #t
-- Aaron Hill
ap-list? 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
ng an R5RS primitive?
(define (positive? arg) (and (number? arg) (< 0 arg))
;;;;
-- Aaron Hill
quot;)
\fractionalMeter 2 2/3 4
\repeat unfold 3 { | b'4 4 \tuplet 3/2 { b'8 8 } }
}
-- 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
text 'Score))
(bar-number (ly:context-property score 'internalBarNumber)))
(ly:context-set-property! score 'internalBarNumber (1+ bar-number)))
-- Aaron Hill
5
((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
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
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
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
ils.
-- Aaron Hill
lody \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
that
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-
it can clean up and rebuild its
StaffSymbol collection rather than just append to the existing one.
-- Aaron Hill
<<
\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
is the most upper text not above the staff?
Make sure to name the Staff context:
Tenor = \new Staff = "tenor" \with { % . . .
-- Aaron Hill
increases the width of the accidental, would that push
the sharp too far to the left of a note?
-- 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
inger \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
(#: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
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
t;this is offset"
}
{
\override TextScript.after-line-breaking =
#(lambda (grob)
(ly:grob-translate-axis! grob 10 X))
c' ^"this is offset"
}
-- Aaron Hill
501 - 600 of 1232 matches
Mail list logo