some other mechanisms
> like drumPitchNames.
In general, things are not purely functional but the categories and
interpretation change around more by ad-hoc conditions than a cohesive
macro mechanism.
--
David Kastrup
t given me a clue for what to do next, nor has a
> web search turned up something I understand.
>
> Thank you in advance. I really enjoy LilyPond and the community connected
> therewith.
See <https://gitlab.com/lilypond/lilypond/-/issues/6474>
I have no idea what the progress or suggested short-term remedy for this
would be.
--
David Kastrup
to markup as well? Or should I simply look for some
> tie-like unicode character?
>
> \version "2.24.0"
> \relative c' {
> c d e f
> }
> \addlyrics {
> he~yo he -- yo hey
> }
> \markup {
> "he~yo"
> }
Try
\markup \concat {
h \undertie "e y" o
}
--
David Kastrup
Valentin Petzel writes:
> Hi Karim,
>
> 2) does not work as #'(ly:make-moment 16/25) is a symbol rather than
It isn't a symbol but a list consisting of the elements ly:make-moment
(a symbol) and the rational number 16/25 .
--
David Kastrup
it's a comparatively painful
mental effort I tend not to end up vigourously embracing.
Sorry for that.
--
David Kastrup
ey are _not_ copied
before use. If they are part of some structure that might still get
used, you may need to use ‘ly:music-deep-copy’ explicitly.
There are also ‘list splicing’ operators ‘$@’ and ‘#@’ that insert
all elements of a list in the surrounding context.
--
David Kastrup
#})
LilyPond syntax expressions, like in #{ ... #}, attach origin
information automatically. If you want things to happen automatically,
Scheme is not the way to go...
--
David Kastrup
ng the element
'origin (*location*)
in the make-music function arguments. A music function automatically
tacks them onto the top music expression but not on everything below.
Without origin information, point-and-click has no way to know where to
go. I am not sure what magic you imagine to be doing that job for
you...
--
David Kastrup
ceTwo implied. If you write
<< \new Voice \with \voiceOne { a'4 } \\
\new Voice \with \voiceTwo { a' } >>
the results are the same (and \\ which indicates the counted voice
separation becomes redundant).
Whether explicit or implied, the \voiceOne / \voiceTwo is what causes
stem directions to differ and noteheads to be available for merging
instead of collision resolution.
--
David Kastrup
> score-layout without affecting other parts of TextScripts.
>> Alas the setting fontSize takes no effect.
>>
>> How to?
>>
>> Cheers,
>> Harm
>
> Actually it works, if the \layout is placed toplevel.
> A bug?
Try <https://gitlab.com/lilypond/lilypond/-/merge_requests/1810>
--
David Kastrup
David Kastrup writes:
> Jean Abou Samra writes:
>
>> Apparently, top-level markups are interpreted with \paper, although
>> grob-interpret-markup interprets with a real \layout?
>>
>>
>> \version "2.24.0"
>>
>> #(define-markup-comm
arkup layout props (symbol->string
> (ly:output-def-lookup layout 'output-def-kind
>
> \markup \whats-layout
>
> {
> c'^\markup \whats-layout
> }
>
>
>
> Le 08/01/2023 à 17:06, David Kastrup a écrit :
>> Frankly, I don't get the "layout" parameter in ma
David Kastrup writes:
> Thomas Morley writes:
>
>> Am So., 8. Jan. 2023 um 10:21 Uhr schrieb Thomas Morley
>> :
>>>
>>> Hi,
>>>
>>> consider below
>>>
>>> \version "2.24.0"
>>>
>>
> score-layout without affecting other parts of TextScripts.
>> Alas the setting fontSize takes no effect.
>>
>> How to?
>>
>> Cheers,
>> Harm
>
> Actually it works, if the \layout is placed toplevel.
> A bug?
A likely consequence of
commit 00e
Jean Abou Samra writes:
> Le 07/01/2023 à 17:58, David Kastrup a écrit :
>>> In that case, the NoteHead one has no effect, because \once applies to
>>> the next time step only, and the next time step is for a grace note
>>> another voice.
>> The recovery actio
se kinds of discussions always go better when people don’t make
> assumptions.)
Then I will wait until I see your actual implementation instead of
reading any meaning into your words.
--
David Kastrup
obnoxious
angle of the general \override problem) that Jean pointed out to be
problematic in the context of extending the fixup mechanism to parallel
music.
Neither is really an expression of any principle but rather a suggestion
of how to apply additional bandaids to particular points for reducing
the amount of user-surprising artifacts.
"user-surprising artifact" unfortunately is not the same as "illogical".
--
David Kastrup
still isn’t evidence that disproves my theory of how
> things could/should work.
A "theory" has hard rules. You haven't come up with any set of rules
that would not either _mandate_ the behavior that constitutes issue 34
or would result in worse artifacts.
Computer problems cannot be solved with linguistics, only with logic.
--
David Kastrup
ed hard things.
Uh, that's sort of a populist approach to the problem. It works for
convincing human users but does not map well into code intended for
computers.
--
David Kastrup
.color and Staff.NoteHead.color would lead to different timings
of the result.
> So what do you do for an arbitrary \once \override? Especially if
> there is a Scheme engraver that might decide to create this grob at
> any time?
\once \override is not a grob.
--
David Kastrup
x, but not terribly so. Some of the restructuring by Dan
might provide a better template to work with than previously.
--
David Kastrup
Jeff Olson writes:
> On 1/5/2023 6:26 AM, David Kastrup wrote:
>> I wonder whether something like this might help motivate work on lagging
>> translations?
>
> Hmm, lags over what kind of time scale?
>
> I've only been comparing major releases, 2.24.0 vs 2.22.2.
&g
the
> new and improved sections?
I wonder whether something like this might help motivate work on lagging
translations?
--
David Kastrup
; at least, the string numbers are set
> above the note, rather than to the right.
It does work but only for the New_fingering_engraver that exclusively
deals with in-chord articulations. So it will have an effect on
but not on
c\1
--
David Kastrup
ou can
copy from a browser with Unicode tables or from this mail
message...
In contrast to LilyPond's \flat, this will be a text font flat, usually
fitting better with the text font. If the text font has it, of course.
--
David Kastrup
") even when it makes no sense.
Now I fear that I am a bad influence on LilyPond.
--
David Kastrup
Jean Abou Samra writes:
> Le 30/12/2022 à 13:51, David Kastrup a écrit :
>>> However, it doesn't work right now for local variables,
>>> like function parameters, in #{ ... #}.
>> I think you may underestimate the cost of magic involved with making #/$
>> in
ocal Scheme scoping. If you want Scheme semantics, $
offers those along with Scheme syntax.
--
David Kastrup
ra { \slurUp ...
even though the event happens at the same point of musical time is not
yet set up, and instead a fallback mechanism that cannot make that
distinction takes over.
--
David Kastrup
David Kastrup writes:
> Jean Abou Samra writes:
>
>> Le 17/12/2022 à 18:53, Paul Scott a écrit :
>>> A typical indication of rhythmic equivalence is to mark dotted
>>> quarter = quarter or it's many variations.
>>>
>>> The following is a simple m
tation/music
Frankly, I'd expect this use case to be frequent enough that there is no
point in documenting rather than fixing it. Using a
`duration-or-music?` predicate along with a line of the kind
(if (ly:duration? music)
(set! music (make-music 'NoteEvent 'duration music)))
at the start of the markup command definition should do the trick.
--
David Kastrup
typeset output.
Your question was about MIDI...
--
David Kastrup
gt;\f
\volta 2 <>\p
could possibly work.
--
David Kastrup
Paul Scott writes:
> Good to know. Many many versions ago we could just nest square
> brackets.
Not to my knowledge. We had some handwaving discussions at some point
of time, but there were solid reasons against such an idea.
--
David Kastrup
melody" \relative {
\time 3/4
\set melismaBusyProperties = #'()
c'4 d ( e )
g8 [ f ] ~ 4 ~ f
}
\new Lyrics \lyricsto "melody" {
Ky -- ri -- _ e __ _ _ _
}
>>
[image src="lilypond/23/lily-0ea207fa.png" alt="[image of music]"]
--
David Kastrup
Arno Waschk writes:
> Thanks for your answers!
>
> I tried both MetronomeMark and the direct tweak. In the result there was
> no visible shift at all.
> What is the correct override to try here?
An example would help.
--
David Kastrup
ven bother with the name?
{
\tweak extra-offset #'(0 . 8) \tempo \markup \column { 1 2 }
c'1
}
It would be MetronomeMark, but for a one-shot thing like extra-offset,
it seems more suitable to use a tweak rather than an override.
--
David Kastrup
Jacques Menu writes:
>> Le 23 nov. 2022 à 13:29, David Kastrup a écrit:
>>
>> Jacques Menu writes:
>>
>>> Hello folks,
>>>
>>> The simple example in the doc works fine, but what if the score
>>> contains parallel music? An extra
ok {
> \score {
> {
> <<
> a1
> b1
> >>
>
> \label #'DenierePage %%% HERE
> }
> }
> }
>
One Staff for a1, one Staff for b1, and one Staff for \label #'DenierePage
You'll see the same when writing
\score {
{
<< a1 b >>
c
}
}
--
David Kastrup
ait an unspecified amount of time, and those
can only be written in C++ right now.
There actually is some ancient local branch in my repository with a
sketch of an idea, but it likely doesn't work at all for anything.
But maybe it gives someone an idea...
>From 4f86263cb78f33ad56706f0f9b6668622c
should be completely doable even in Scheme now.
>>> (I started writing some code yesterday in response to Abraham that
>>> does essentially that, maybe I'll have it finished today).
>> Aah, nice!
>
> No so fast, wait until it actually works before calling
> it nice, otherwise if it doesn't work I'll feel bad :-)
Even nicer!
--
David Kastrup
/ctan/macros/latex/required/tools/longtable.pdf).
> The footnote on the first page says
>
> The new algorithm for aligning ‘chunks’ of a table used in
> version 4 of this package was devised coded and documented
> by David Kastrup.
>
> LOL.
>
> Obviously, David
focused his
efforts on endeavors not related to software, at least for now.
--
David Kastrup
Jean Abou Samra writes:
> Le 11/11/2022 à 14:28, David Kastrup a écrit :
>>>\override NoteName #'stencil = #ChimeNoteNames
>> This is the problematic line, and the error message should have
>> indicated as much. This should be NoteName.stencil but you really
>&g
d be NoteName.stencil but you really
really really should figure out how to run convert-ly in the correct
manner on your files, or you'll be back asking for help on the list for
every single incompatible syntax change in future.
--
David Kastrup
? Defines the `+` operator
> as additive scaling, the same as `*` is multiplicative scaling, and
> allows negative numbers.
Thanks, I already was in a state of panic.
I think we should avoid piling on arbitrary stuff without clear need for
expressing music into the LilyPond grammar. There may be a point in
making it easier to do that kind of stuff in Scheme, like with
overloading operators for moment arithmetic.
--
David Kastrup
ng project of mine. This might
> creating well-behaved music functions a little easier.
(ly:music-property #{ q #} 'duration)
--
David Kastrup
Lukas-Fabian Moser writes:
> Hi,
>
> Am 06.11.22 um 20:49 schrieb David Kastrup:
>> Lukas-Fabian Moser writes:
>>
>>> a) We see a timestep at the end of events even in _other_ contexts
>>> than the one the engraver lives in.
>>> b) We see a ti
n 2 1) (ly:make-duration 4 1))
>
> ... except that yields a type error because I’m creating durations not
> moments.
Maybe something like
\after #(make-duration-of-length (ly:music-length #{ 2. 4. #}))
Arguably it would make sense for \after to just accept example music as
the delay specification.
--
David Kastrup
ity and, e.g., force a
> timestep to be created at each 1/4 moment? (Apart from the obvious
> possibilty of adding a Voice consisting of \repeat unfold ... { s4 }.)
You can add some context with its own Time_performer and a different
measure length.
--
David Kastrup
David Kastrup writes:
> Jean Abou Samra writes:
>
>> Le 04/11/2022 à 12:09, Jean Abou Samra a écrit :
>>> Also, you will have surprises with \relative because
>>> the note appears twice, with its octave marks. You
>>> can use make-relative to fix that.
&
e.
Scheme function doc strings were not printed in the manuals back then
but that is not much of a defense. Maybe I need to try again. Or
someone else, assuming that anybody understands what this is supposed to
do.
--
David Kastrup
ot obvious to
> Joe User...
It makes more sense if
a) a tweak on an to-be-expanded chord (no non-post-event chord elements)
is applied to the ChordEvent expression itself after all.
b) when expanding a RepeatChord, tweaks get copied over to the created
elements.
That adds complexity to the implementation, but users usually could care
less about the implementation.
--
David Kastrup
git grep '\\begin\['
unfortunately shows that this isn't consistently done yet. The problem
with the old form is that it is not the optional LaTeX option syntax and
could not possibly be implemented in a LaTeX-internal verbatim-like
environment.
--
David Kastrup
rver with a whopping 16MB of RAM and a SCSI hard disk with over
100MB of capacity.
I think we used Interactive UNIX and Coherent UNIX before converging on
Linux when it became useable (which was a surprisingly short time after
it became available first, something like 1 or 2 years).
--
David Kastrup
pgrade in lock-step.
Removing old hardware support is not mandatory.
Admittedly that does not really hold when migrating to a completely
different CPU architecture, and Apple affords that move roughly every
one or two decades (Motorola 68K to PowerPC to x86 to M1 if I remember
correctly with regard to macOS),
--
David Kastrup
be surprised if a 64bit Linux would be supported by a VM on a
32bit OS.
--
David Kastrup
on/proportional-notation>
--
David Kastrup
463: (inner-texts (cdr (list-head texts
> (1- (length texts))
>
> Anything there helpful for the purposes of diagnosis?
No idea. Most can be ruled out, and for the other two one would have to
look at more context.
It's really a clumsy way to debug. Let's hope that better error
pinpointing starts working soonish.
--
David Kastrup
ome edition-engraver
code when taking into account your usual toolbox.
--
David Kastrup
ter for a receptive
frame of mind.
--
David Kastrup
for the purpose
of the engraver (not that it actually uses a priority queue).
The engraver should probably be named after its purpose rather than
after an obscure abbreviation of a data structure it should be using.
Something like Grob_lifetime_tracking_engraver or similar.
--
David Kastrup
ably make some sense to try deriving it from Staff .
>
> Yes, that's what I sometimes thought as well. I can't try this at the
> moment, but ... another item on the "to do/to try" list.
--
David Kastrup
1 ~ 2 4
}
\addlyrics { hey __ you }
If you take a look at the definition of RhythmicStaff in
engraver-init.ly in comparison to the definition of Staff (they are
separate and independent), you'll find that RhythmicStaff is missing a
lot of material that actually would be needed for proper operation.
Sigh.
nd of an exercise in futility considering it had been invented in a
frame of tonalities very much foregoing black keys.
--
David Kastrup
by
Guido from Arizona?
--
David Kastrup
David Kastrup writes:
> Jean Abou Samra writes:
>
>> Thus I wrote to the general GNU list server admins and proposed
>> to step up for being an admin on these lists, just like I am
>> already an admin on lilypond-user-fr (the French-speaking equivalent
>> of lil
.
That's the impression I also get from current LilyPond list moderators
(thanks David!): you don't really get the impression that there is
anybody doing anything except that the amount of visible spam is
essentially zero and that doesn't happen by itself.
--
David Kastrup
fully.
In your example, you used braces to combine your music arguments into a
single expression, and as a single expression, it would only serve for
one of your music arguments.
--
David Kastrup
pcs are given.
Check out make-semitone->pitch .
--
David Kastrup
r, one should check how conservative the rule is before
adding it again: we don't want accidents to happen to working code.
--
David Kastrup
ent c)))
here. #(display ...) is called when it is encountered. \applyContext,
in contrast, creates a music expression that is called when the music is
interpreted, "iterated".
>
> }
>
> }
>
> }
--
David Kastrup
ontrol on a fingerboard as cramped as
that of a violin.
--
David Kastrup
да выдает ошибки:
Uh, Pavel, Dmitri? Not many will be able to chime in if you talk
Russian(?) on an English-language list. Can you try keeping the
conversation in English or alternatively move it off-list?
Thanks
--
David Kastrup
Лысов Дмитрий writes:
> These are not notes, these are text strings (lyrics).
How is LilyPond supposed to know this without a leading \lyricsmode ?
--
David Kastrup
ction is called
> so \makeScore "Удра" {e4 c d f e d c d e d e1} {a b c d} {e f g hh}
> The function definition is:
> makeScore =
> #(define-scheme-function (mark notes lyricup lyricdown) (markup? ly:music?
> ly:music? ly:music?)
> Where is the error?
What is hh supposed to be?
--
David Kastrup
I distinctly remember putting explicit
quartercircle approximations into the curved rectangles PostScript code.
I did not find anything like that in the repository master though; it
must have been an ephemeral part of the work for better rasterized PDF
stems I did quite some time ago.
--
David Kastrup
r PostScript-based fonts.
PostScript uses second-order Béziers, so it makes little sense to cite
the mathematics of Metafont here.
--
David Kastrup
Kenneth Wolcott writes:
> HI David;
>
> Thank you!
>
> Now what happens when I have multiple repeats with this situation?
>
> Ken
>
> On Wed, Aug 10, 2022 at 7:51 PM David Kastrup wrote:
>>
>> Kenneth Wolcott writes:
>>
>> > HI;
>&g
Kenneth Wolcott writes:
> HI;
>
> first repeat at low dynamic; next repeat at higher dynamic; how to do
> this for midi output?
<< \volta 1 \p
\volta 2 \f
>>
in the \midi section should likely work.
--
David Kastrup
Kieren MacMillan writes:
> Hi Jean,
>
> As someone who has used an HP-15C as my only calculator since 1982, I
> want a POSTFIX version of Scheme, not an INFIX version! LOL
I actually prefer Lisp dialects to FORTH. A bit of lambda calculus
makes for a more structured view.
--
David Kastrup
g some chimera. The computer can no longer
easily process it, so there is little point in making something only
somewhat closer to human-readable.
--
David Kastrup
notes) is of course a different problem.
c/g could be entered as alternatively: basically anything with :
in it would continue stacking at a pitch not lower than the previous
one.
I _think_ that syntax should be workable. No warranties, though.
--
David Kastrup
with the samples
Lukas discussed.
--
David Kastrup
n 2.18.2, c1:5
> generated a c major chord; now it only generates a power chord fifth. My guess
> would be that Valentin V.'s chord name cleanup in 78225bc1b386e12dc was the
> point when this changed.
convert-ly exists.
Sounds more like issue 4614 to me.
--
David Kastrup
or the overture, as I
> had promised the player. So I went into the theatre office, borrowed
> their computer, logged on to lilybin, and generated a piccolo part
> which I handed to the player just a few minutes before the downbeat.
Hooray for sightreaders.
--
David Kastrup
a \vspace in an (implicit) \line does
not do a whole lot. It's essentially a "strut" but it does not affect
the skyline, just dimensions.
--
David Kastrup
side voice rather
> than the whole chord, so I was trying to make that more clear.
> thanks--jim
The solution to that, of course, is to just refrain from merging the
note heads.
--
David Kastrup
d}\\{ g,8._\tweak extra-offset #'(0.5 . 3) ->
dis16 a2}>>|
}
but frankly, it quite evades me why you would consider this desirable
over the default output.
--
David Kastrup
e without the immediately following item, just like
"immediately following" is not complete without "item" in this sentence.
If you write
\markup { text \with-color #red }
you'll get an error, not because of "ordering" but because \with-color
#red is an incomplete construct.
--
David Kastrup
han the 3rd movement of BWV1041 has in its 9/8. Partly
it may be the syllabic rendition, partly the simple melodic structure.
--
David Kastrup
rong. I'm just interested understanding some of
> the new conventions.
--
David Kastrup
Hans Åberg writes:
>> On 28 Jul 2022, at 22:43, Jean Abou Samra wrote:
>>
>> Also here:
>>
>> https://myrealbook.vintherine.org/mesures-composees.html
>
> One also write I think:
> \time #'(4 4 3) 11/8
Slightly more human-readable:
\time 4,4,3 11/8
--
David Kastrup
ted in any manner, so giving the user interface to them another
hoop does not seem to give any return to the user.
--
David Kastrup
Paul Hodges writes:
> From: David Kastrup
> There is also \startTrillSpan/\stopTrillSpan, \startGroup/\stopGroup,
> \startGraceSlur/\stopGraceSlur, \startTextSpan/\stopTextSpan,
> \startMeasureCount/\stopMeasureCount,
> \startMeasureSpanner/\stopMeasureSpanner .
>
>
Simon Albrecht writes:
> On 28/07/2022 16:25, David Kastrup wrote:
>> There is also \startTrillSpan/\stopTrillSpan, \startGroup/\stopGroup,
>> \startGraceSlur/\stopGraceSlur, \startTextSpan/\stopTextSpan,
>> \startMeasureCount/\stopMeasureCount,
>> \startMeasure
Carl Sorensen writes:
> On Thu, Jul 28, 2022 at 7:30 AM David Kastrup wrote:
>
>>
>> The current naming is a drag.
>>
>> "\repeatTie" and "\laissezvibrer" are a stupid combination of terms for
>> the two different half ties you need to de
he respective bar line.
Possibly \startSlur and \stopSlur in
order to get sensible/matching curvature.
--
David Kastrup
lready had a discussion about how to make the default
\notemode a unified note/chord mode, long long ago. Tremolo input
notation is what is the main detraction here.
--
David Kastrup
Jean Abou Samra writes:
> Le 25 juil. 2022 à 14:51, David Kastrup a écrit :
>>
>> syntax-rules/syntax-case introduce a completely new and arbitrary syntax
>> intended to be human-readable. That's sort of a counterthesis to the
>> LISP philosophy of repres
201 - 300 of 7439 matches
Mail list logo