report back problems, 2.20.0 will not be one iota more stable than
2.19.84. There is no magic process by which untested software becomes
more stable, given enough time.
--
David Kastrup
My replies have a tendency to cause friction. To help mitigating
damage, feel free to forward problematic posts
2:51:48 2015 -0700
absolute pitch entry: accept an offset octave
--
David Kastrup
"
> Exited with return code 1.
>
>
>
> Hints?
Which Guile version was compiled into LilyPond? Maybe it's some locale issue?
--
David Kastrup
Freeman Gilmore writes:
> On Sat, Feb 15, 2020 at 11:08 AM David Kastrup wrote:
>
>> Freeman Gilmore writes:
>>
>> > Were can I find the procedure for ly:make-pitch ?
>>
>> Beneath
>>
>> lily/pitch-scheme.cc:LY_DEFINE (ly_m
Freeman Gilmore writes:
> Were can I find the procedure for ly:make-pitch ?
Beneath
lily/pitch-scheme.cc:LY_DEFINE (ly_make_pitch, "ly:make-pitch",
And the docs (for what they are worth) are likely more or less in the
Internals Reference.
--
David Kastrup
es written in treble clef sound an octave
lower than written? "Correct" guitar notes are written using \clef
"treble_8" though a lot of notes abound not bothering spelling out the
octavation.
But LilyPond does care about the actual pitch. Check the Midi and
compare with your ins
times I
> got an extra staff with just the timeSignature - I think the place
> where I have it should work. Are there any changes in the unstable
> version to this part, or is it simply a bug?
If you want a Staff, write \new Staff . It is as simple as that. Like
\new Staff \relative
ml files.
>
> I have lilypond version 2.18.2 and python version 3.8.1
LilyPond 2.18 uses Python 2. So will LilyPond 2.20 (to appear really
soon now). LilyPond 2.21 will be working with Python 3.
--
David Kastrup
My replies have a tendency to cause friction. To help mitigating
damage, feel
Joe McCool writes:
> OnTue, Feb 11, 2020 at 10:17 PM David Kastrup wrote:
>
>
>> You need to place the volta/repeat structure in every Staff/Voice to
>> have \unfoldRepeats do its work successfully.
>>
>
> Sigh!
>
> Yes David, I had only jus
at the music "iteration" stage but
changes the music expression directly. So its effect does not extend to
\harmonies .
You need to place the volta/repeat structure in every Staff/Voice to
have \unfoldRepeats do its work successfully.
--
David Kastrup
My replies have a tendency to cause friction. To help mitigating
damage, feel free to forward problematic posts to me adding a subject
like "timeout 1d" (for a suggested timeout of 1 day) or "offensive".
appears to work for
becoming president.
At any rate, it seems I apparently need to add some redundancy or I'll
never get anywhere without losing all company on the way.
--
David Kastrup
My replies have a tendency to cause friction. To help mitigating
damage, feel free to forward problematic posts to me adding a subject
like "timeout 1d" (for a suggested timeout of 1 day) or "offensive".
ow the Texinfo stuff enough to
> tell if there is a way. For the ly code of the visual index perhaps.
>
> Btw, I appreciate your friendly reaction very much.
At some point of time I have to reread the collected devastating
dissings of dreadlord David. This is not the first helpful project
t
ner. Of
course something fitting well into the Texinfo creation process would be
nice since we have a lot of output formats for our documentation.
--
David Kastrup
gt; \with {
> }
> <<
> >>
>
> My wrong, I confess…
The given example does not generate Midi. An example showing probably
the same kind of crash would be
\score {
\new Staff {}
\midi {}
}
Might be worth reporting to the bug list so that it gets
.png]
>
>
> I guess it can be done with a ClefModifier but I don't know how to use it.
You mean, without a ClefModifier.
\new Staff \with { \omit ClefModifier }
{
\clef "treble_8"
1
}
--
David Kastrup
L to the value of VALUEFORM).
All the VALUEFORMs are evalled before any symbols are bound.
[back]
So adding one layer of parens around variable and value (if there are to
be both) seems called for.
And that's what you get.
> Here is another example from the book, why double parenthesis ((assq
> 'col-
tating about grace time is what it does graphically
and in midi to an appoggiatura. Those are usually supposed to come
on-time, have at _least_ the nominal duration and steal time from the
_next_ rather than the previous note.
--
David Kastrup
My replies have a tendency to cause friction. To help mitigat
a synchronized way. I don't if that exists in practice, but it is one of
> the reasons for the current approach.
I don't think grace notes are usually synchronized optically. I may be wrong.
--
David Kastrup
e here, I'm used to be a paranoiac ...
>
>> \context Staff = "2" { #music }
>> }
>> #}
>> )
# is pass-through, $ creates a copy. Music that is used exactly once is
fine to pass through.
--
David Kastrup
My replies have a tendency to cause friction. To help mit
creation of a Voice context, but those
sequences trigger their own, separate Voices.
If we had \new Voice << ... >> your description would have been
correct. Actually, I'd have used something like
\new Voice = "main" { \voices 1,"main" << \upper \\ \music >> }
myself here (that keeps \music in the main voice) but that's not really
sufficient since you'd want to switch off NoteColumn.ignore-collision
also. So see my separate proposal.
--
David Kastrup
b'
You could try
\version "2.19.84"
upper = \relative {
\tiny
\stemUp
s4 b''
}
music = \relative {
\key e \minor
\time 2/4
b'8 16 c' 8 16 b'
}
\new Staff << \new Voice \with { \override NoteColumn.ignore-collision = ##t } \upper
\new Voice \music >>
--
David Kastrup
w if I’m just talking nonsense.
> If not, let me know how I can help make this "fix" a reality.
Well, the problem is that there is no "grace event" but a grace iterator.
Now this this characterization is not entirely true any more since
commit 99a85ca39f3a7a6f717ba06a48ef0b
Fixed in master already. Looks like I need to do one last scan of
recent cherry-pickable trivial material before releasing 2.20.
--
David Kastrup
Peter Toye writes:
>> Message: 3
>> Date: Thu, 06 Feb 2020 17:57:20 +0100
>> From: David Kastrup
>> To: Gianmaria Lari
>> Cc: Phil Holmes , LilyPond User Group
>>
>> Subject: Re: New release
>> Message-ID: <87mu9vejrj@fencepost.
staller is not generic to LilyPond but a
Windows-specific GUB component, that change would likely require some
knowledgable surgery. Alternatively I am not sure whether Frescobaldi
does not offer a means to download and install LilyPond versions.
--
David Kastrup
Paolo Prete writes:
> On Wed, Feb 5, 2020 at 11:07 PM David Kastrup wrote:
>
>> Paolo Prete writes:
>>
>>
>> >>
>> >> Possibly
>> >>
>> >> \once \override TupletBracket.Y-offset =
Paolo Prete writes:
> On Wed, Feb 5, 2020 at 10:32 PM David Kastrup wrote:
>
>> Paolo Prete writes:
>>
>> > Hello,
>> >
>> > as you can test with the following snippet, TupletBracket doesn't take
>> into
>> > account its direction w
(ly:grob-property grob 'direction)))
--
David Kastrup
o show only changes in chord names. The same holds for the FretBoards
type of context.
--
David Kastrup
Arle Lommel writes:
> Thanks much. I *hunted* all over for something like this, but clearly
> didn’t have the right search string as I thought this was a problem
> with the *first* measure in a piece.
Issue 34 in the bug tracker.
--
David Kastrup
nly debatable.
What you do is really correct, it's just not a complete match to how
LilyPond's commands implement On/Off property commands.
And I'd use just \markup \musicglyph "noteheads.s0harmonic" (omitting #
may require 2.19.84 though): the braces you use turn this into a
somewhat spurious \markup \line { \musicglyph ... } .
--
David Kastrup
Aaron Hill writes:
> 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
>>> s
.color = \etc
>
> { d'8 \stemColor #red e' f' \undo \stemColor ##f g' }
>
>
> Note the \undo command above is less ideal as one needs to provide a
> dummy argument to the function.
Why not \undo \stemColor #red here ? ##f makes no sense.
--
David Kastrup
verride { Voice.Stem.thickness = #3.0
> Voice.Stem.color = #(rgb-color 0.3 0.1 0.1)
> }
>
>
> to reduce redundant syntax, if one had to override many at once.
No. It's not like the savings in this case would be overwhelming.
--
David Kastrup
orizontal spacing and
> the many options available to influence that?
There is also the option to write
\layout {
\context {
\Voice
\remove Forbid_line_break_engraver
}
}
to allow line breaks anywhere.
--
David Kastrup
the final goal.
>
> Even at the risk being regarded as a nitpicker and also being aware we
> have similar codings (wrt to juggling grob-properties) in our docs,
> the code will return several programming errors if compiled with
> -dcheck-internal-types.
I have some incomplete work in branches that would significantly speed
up property accesses but would not support undeclared properties.
Not that we have a good interface for adding them yet...
> To cure, one could add:
> #(ly:add-interface
> 'flag-interface
> "A flag"
> '(beam-thickness))
--
David Kastrup
Aaron Hill writes:
> 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
&
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 woul
hey were
> created.
How would they then make it to the page? Suicided grobs have their
properties deleted prematurely, but those are not the rule.
> Mind you, I would love to be shown that I am incorrect.
This is Scheme anyway. In general, objects persist as long as you are
able to reference them.
--
David Kastrup
Jonas Hahnfeld writes:
> Am Samstag, den 25.01.2020, 10:37 +0100 schrieb David Kastrup:
>> Jonas Hahnfeld <
>> hah...@hahnjo.de
>> > writes:
>>
>> > Am Samstag, den 25.01.2020, 10:21 +0100 schrieb David Kastrup:
>> > > Jonas Hahn
Jonas Hahnfeld writes:
> Am Samstag, den 25.01.2020, 10:21 +0100 schrieb David Kastrup:
>> Jonas Hahnfeld <
>> hah...@hahnjo.de
>> > writes:
>>
>> > Am Freitag, den 24.01.2020, 16:45 -0500 schrieb Bric:
>> > > i am building lilypond-2.19.83
of guile from your
> system.
I have my version of Guile-1.8 installed in a place where Ubuntu will
most certainly not bother looking unless told otherwise
guile-config is supposed to be supplying the required options for
compiling and linking to make it look in the installation place relevant
when guile-config was being installed.
--
David Kastrup
e, see attached
> image. What can I do to avoid that?
>
>
> Werner
\relative c' {
\key d \major
d1
\key c \major
\grace s256
}
--
David Kastrup
Bric writes:
> On January 24, 2020 at 4:50 PM David Kastrup < d...@gnu.org> wrote:
>
> Bric < b...@flight.us> writes:
>
> i am building lilypond-2.19.83 on Ubuntu 18.04.2 LTS
>
> had to build guile-1.8.8, after which lilypond ./configure was happy, and
&
David Kastrup writes:
> Werner LEMBERG writes:
>
>>>> some publishers repeat accidentals not only if a tie gets broken
>>>> between staves but also if it crosses a bar line:
>>>>
>>>> |||
>>>>#o|
printed, but the note after
> it gets another accidental.
It works just as well as when breaking across a line.
{
cis'1~ \break | cis'2 cis'
}
also has three accidentals.
Yes, this is a bug (and has been assigned some issue a long time ago)
but this kind of ripple effect is very hard to avoid.
--
David Kastrup
ine:
>>
>> |||
>>#o| #o
>> \/
>>
>> Is there a property in LilyPond to automatically activate this?
>>
>>
>> Werner
>>
>
> Hi Werner,
>
> probably:
>
> {
> \override Accidental.after-line-breaking = #'()
> cis'1~ cis'
> }
That is chutzpah.
--
David Kastrup
>
> -pthread -L/usr/local/lib -lguile -lltdl -lgmp -lcrypt -lm -lltdl
>
> how can i make lilypond find the shared object?
I use
./configure GUILE=/usr/bin/guile
GUILE_CONFIG=/usr/local/tmp/guile-1.8/bin/guile-config
and that's basically all. GUILE can be a 2.x Guile version (it is used
for scripting), but GUILE_CONFIG needs to be the 1.8 build.
--
David Kastrup
and in those versions you can at least leave off the "parser location"
things.
> \cueDuring #"bassoon" #DOWN { \cueName "Bsn." R1 }
>
--
David Kastrup
people writing that section.
--
David Kastrup
source code has changed, ‘(map
random (cdr (iota 30)))’, if the first use of random numbers since Guile
started up, will always give:
(map random (cdr (iota 19)))
⇒
(0 1 1 2 2 2 1 2 6 7 10 0 5 3 12 5 5 12)
To seed the random state in a sensible way for non-security-critical
applications, do this during initialization of your program:
(set! *random-state* (random-state-from-platform))
--
David Kastrup
David Kastrup writes:
> Kieren MacMillan writes:
>
>> Hi David,
>>
>>> Uh, a markuplist typically _is_ a list of markups. Except when it isn't
>>> (like when it is the result of calling a markup list command). But when
>>> it isn't, you can only tu
t to do with things like hyphens at the end.
Probably attach them to the last element. And the duration would likely
be for all of the syllables? Or just the last? Not that it would be
important since one would usually just use this in \lyricsto stuff where
the syllable length gets overridden.
--
David Kastrup
ng-append, one can go
>> (lambda (d) (let ((s number->string d))
>> (if (positive? s) (string-append "+" s) s)))
>
> I assume you’re missing a set of parentheses? Shouldn’t it rather be
>
> (lambda (d) (let ((s (number->string d)))
>
> ?
Oops. Yes.
--
David Kastrup
rkup b \markup c }
>
> or strings
>
> \lyricmode { "a" "b" "c" }
>
> What function do I use?
Uh, a markuplist typically _is_ a list of markups. Except when it isn't
(like when it is the result of calling a markup list command). But when
it isn't, you can only turn it into a list of stencils.
--
David Kastrup
ired). If one wants to avoid an
unnecessary string-append, one can go
(lambda (d) (let ((s number->string d))
(if (positive? s) (string-append "+" s) s)))
but of course that is not exactly saving space.
--
David Kastrup
ad much of a wrestling match with markup and their
>> commands yet.
>
> Perhaps once I’m more comfortable with Scheme I can start to wrestle
> with them, and you can "tag in" when I’m pinned.
Let's see where we get when.
--
David Kastrup
same
as simple even though it helps, and I've not really had much of a
wrestling match with markup and their commands yet.
--
David Kastrup
Thomas Morley writes:
> Am Di., 21. Jan. 2020 um 23:13 Uhr schrieb David Kastrup :
>>
>> Thomas Morley writes:
>
>> > David, you remember my suggestion to generate that "General Code
>> > Reference" with an Index ... ?
>>
>> Yes, that m
Thomas Morley writes:
> Am Di., 21. Jan. 2020 um 23:13 Uhr schrieb David Kastrup :
>>
>> Thomas Morley writes:
>
>> > David, you remember my suggestion to generate that "General Code
>> > Reference" with an Index ... ?
>>
>> Yes, that m
hus would be tricky to
implement once markup commands get more intelligent predicate
interpretation, like music functions do now.
It's conceivable when { gets read to check whether the predicate would
accept '() (the simplest markup list) and only get into music mode when
it doesn't.
Markups are icky things.
--
David Kastrup
verge to a
reasonably smooth state.
Which does not mean that all of that is well-documented.
--
David Kastrup
Thomas Morley writes:
> Hi Kieren, hi David,
>
> Am Di., 21. Jan. 2020 um 22:45 Uhr schrieb David Kastrup :
>
>> And music-pitches is also convenient to know.
>
> David, you remember my suggestion to generate that "General Code
> Reference" with an I
\some-music \vspace #3 }
> …
>
> Am I missing something? I cut-and-paste your code [from email into
> Frescobaldi] several times…
The line below it is a 2.21.0 feature that cannot be used from a
LilyPond for which we have an installer.
I wasn't aware that the line above is problematic but I see how it
could. Maybe write #some-music instead.
--
David Kastrup
; it is seminal for me to tackle problems with the simplest means I can
>> manage.
>
> I live (and die?) by the belief that "Every elegant question has an
> elegant answer". =)
I guess in this case the answer is more blunt than elegant. It refuses
to acknowledge the refinement of the problem.
--
David Kastrup
A few annotations:
David Kastrup writes:
> Kieren MacMillan writes:
>
>> As the next step, I want to turn this into a function and display the
>> result in a markup. Result: I spend several hours searching
>> documentation, trying different functions, and getting one
itch-alteration p) 1)))
(music-pitches mus)))
#(display (map has-doubles
(list #{ c'4 d' e' fis' g' a' b' #}
#{ cisis'4 d' e' #})))
--
David Kastrup
ead-made tools I use.
At my advanced age, I tend to run into "eyes glaze over" territory
pretty fast, so it is seminal for me to tackle problems with the
simplest means I can manage.
--
David Kastrup
(as
it is being used) on request or by default. But running it as a server
is unproblematic.
But if you don't even include LilyPond but produce LilyPond output, no
license comes into play. I mean, unless your output contains
copyrightable code taken from somewhere else.
--
David Kastrup
Thomas Morley writes:
> Am Mi., 15. Jan. 2020 um 01:23 Uhr schrieb David Kastrup :
>
>> We need to put out the difference between # and $ even for beginners.
>> Basically # can only be used for stuff where you can figure out the
>> meaning in context without even looking
David Kastrup writes:
> Urs Liska writes:
>
>> And 5 more minutes, approaching Stuttgart station, we had an emergency break.
>> Explanation: someone put us on a wrong track :-O Means the driver gad
>> to wslk to the other end, set back the train and do the same in
Urs Liska writes:
> Am 20. Januar 2020 21:30:19 MEZ schrieb David Kastrup :
>>Thomas Morley writes:
>>
>>> Am Mo., 20. Jan. 2020 um 16:38 Uhr schrieb bkal...@gmail.com
>>> :
>>>>
>>>> Is there a way to input fingerings separate from
SR/Item?id=768
> be of some help?
>
> Cheers,
> Harm
>
> Back at home now.
> My trail broke at Plochingen, which is close to the middle of nowhere ...
s/trail/train/ ?
I got home on schedule eventless. Well, broken WLAN, but I had booked a
day of WAN at the first leg of the trip anyway.
--
David Kastrup
reliable and can be used in more circumstances.
As a handwavy rule, for simple stuff with lyrics, \addlyrics may be
fine. If you have more complicated settings, \lyricsto may be the safer
choice.
--
David Kastrup
Michael Käppler writes:
> Am 18.01.2020 um 09:36 schrieb David Kastrup:
>> Bric writes:
>>
>>> I was asking about the latter: the older versions of guile are not
>>> compiling.
>>>
>>> Has anyone run into this? and solved it?
>> T
t's workable. If that alone does not work, you may need to call
configure with --disable-error-on-warning to get it through.
--
David Kastrup
cial
release is.
--
David Kastrup
Aaron Hill writes:
> On 2020-01-14 5:18 pm, David Kastrup wrote:
>> No, it's that \notes is identical to $notes (apart from the syntax) in
>> that it creates a copy. So whenever you write \something and do
>> something with it, whatever you do with it will not affect
Aaron Hill writes:
> On 2020-01-14 2:39 pm, David Kastrup wrote:
>> Ok, let me try again.
>> # and $ differ in several respects. # inserts Scheme constructs in
>> places where LilyPond can decide how they fit into its syntax without
>> looking at their value first
Thomas Morley writes:
> Am Di., 14. Jan. 2020 um 23:39 Uhr schrieb David Kastrup :
>>
>> Thomas Morley writes:
>>
>> > Am Mo., 13. Jan. 2020 um 07:14 Uhr schrieb Daniel Rosen
>> > :
>> >>
>> >> > The hash mark # method of embedd
yntactic flexibility may lead to the expression getting evaluated
at an unexpectedly early point of time, namely when LilyPond needs to
know its type in order to decide that it does not actually combine with
the preceding expression.
--
So no talk about lexer and parser and lookahead and tokens.
--
David Kastrup
xpected ways" excuse more than
necessary. I don't have enough of an overview of the problem discussed
here to figure out whether this is the case here.
--
David Kastrup
fGroup or
so). I don't think you'd see it outside of definitions.
>> We probably should include it in LilyPond
>
> I think that’s a great idea.
Noted.
--
David Kastrup
. If there is a single sentence
summarising the behavior with a link to the extensive explanation in
most locations where one would expect to see it, that should help a lot.
Particularly when there already is a handwaving statement of the "it was
customary for syllables to match manually placed beams" kind.
--
David Kastrup
rics where slurs are
> discussed so that both options are evident to people like me, who dip
> in and out of Lilypond on a semi-regular basis but aren’t quite up on
> all the details.
As a handwaving guess, where
git grep autoBeamOff Documentation
spits out material outside of the translations. It's in both the
Learning and Notation manual in several places.
--
David Kastrup
here syllables are put into the music as well, so
changes made to autobeaming should be done identically in MIDI.
So if you want to have beaming be independent from lyric syllables, you
need to keep \autoBeamOn but override the default beaming with your own
beams.
--
David Kastrup
her
>> either did not work at all, or only worked for some of the areas
>> that needed the extended hairpin decrescendo. This function,
>> however, worked perfectly in all the places I used it.
>
> All the credit belongs to the brilliant and always-helpful Davi
Aaron Hill writes:
> On 2020-01-13 12:58 pm, David Kastrup wrote:
>> Uh, you are aware that you can easily configure your mailing list
>> options to _not_ include you in mail you are already receiving via
>> other
>> headers?
>> And lo and behold: no need to
Here is a handy link
to click for that:
<mailto:lilypond-user-requ...@gnu.org?subject=set%20duplicates%20off>
And lo and behold: no need to lecture anybody anymore.
--
David Kastrup
in some circumstances. If there are inconsistencies in the effects
of \offset that make no sense to users, then one probably needs to see
whether the positioning can be changed in a manner where meddling with
it delivers the expected results.
--
David Kastrup
be a useful addition to the Lilypond codebase.
What's wrong with \offset itself?
--
David Kastrup
. This one hasn't. I'll
readily admit that it is bad. It not being there, however, will likely
be worse at least for some readers.
> Of course, it may be that the manual isn't meant to be aimed at a
> complete novice like myself; but if it is, then it definitely needs an
> overhaul.
Sure, like most of what I write. But there are not many people around
for overhauling.
--
David Kastrup
with
alignBelowContext it can be positioned correctly beneath the (named)
lyrics context containing the first verse.
Examples showing this repositioning of temporary contexts can be
found elsewhere — see Nesting music expressions, Modifying single
staves and Techniques specific to lyrics.
And of course, in "Techniques specific to lyrics" we find
<http://lilypond.org/doc/v2.18/Documentation/notation/techniques-specific-to-lyrics#placing-lyrics-vertically>
which goes to some detail.
--
David Kastrup
note-collision: retain upper voice dot when merging dots
is responsible here? Though this particular patch seems only to add
some cosmetic decision here. At any rate, the dot merging code likely
does not cater for hideNotes.
--
David Kastrup
David Kastrup writes:
> Thomas Morley writes:
>
>> Am Mo., 6. Jan. 2020 um 00:53 Uhr schrieb Malte Meyn :
>>>
>>>
>>>
>>> Am 06.01.20 um 00:02 schrieb Craig Dabelstein:
>>> > Hi all,
>>> >
>>> > I've been using
A minimal for the problem:
>
> \markup
> \center-column {
>foo
>\translate #'(0 . 3)
>\with-dimensions #empty-interval #empty-interval
>bar
> }
>
> With 2.19.82 "bar" is printed, it completely disappears with 2.19.83
> No clue what happens and why.
> Probably a bug, to tired to do further research, thoug.
Bisecting.
--
David Kastrup
"Mark Stephen Mrotek" writes:
> David,
>
> I was not specific in my request. The original (Mozart K 310) has the middle
> voice to the right.
>
> Thank you for your attention.
Well, use \voices 1,4,2 instead of \voices 1,2,4 then.
--
David Kastrup
"Mark Stephen Mrotek" writes:
> David,
>
> Thank you for the suggestion.
> In each measure the first note of the middle voice is still colliding.
>
Hm. In the second measure I have a collision with a dot. But no
collision otherwise. Does it look differently with you?
--
David Kastrup
\relative c' {
\voices 1,2,4
<<{c'2~ c8. dis16 e8. c16 | b2~ b8. dis16 e8. b16 |
a2~ a8. b16 c8. a16}\\
{e2 fis | dis e | cis dis}\\
{
b'8. b16 a8. gis16 a2~ | a8. a16 g8. fis16 g2~ |
g8. g16 fis8. e16 fis2}>>
}
--
David Kastrup
. =)
>
>
> That is, even the ‘programming quotes’ in the code example by Kieren
> wouldn’t be necessary.
"“like this”" is one word, “like this” are two words. That's important
in lyrics mode and in some other respects like line-wrapping.
--
David Kastrup
901 - 1000 of 7439 matches
Mail list logo