lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Workaround for (not-allowed) numbers in variable names?


From: Silvain Dupertuis
Subject: Re: Workaround for (not-allowed) numbers in variable names?
Date: Sat, 6 Mar 2021 15:21:41 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0

I still checked this use of variable with numbers.
Wonderful to see that it works.

One important note, though:
If you use a numbered variable, you cannot use the same variable without an additional number.

This should be added somewhere in the documentation!

Here is a snippet.

\version "2.20.0"

\paper { indent = 0 }

global = {
  \key g \major
}

% --- Definition of variables ---
gamme.1 = \relative c'' { r4^\markup { "major" } g4 a b c d e fis g1 }
gamme.2 = \relative c'' { r2^\markup { "minor" } g a bes c d ees fis g1 }

\markup "Numbered variables : gamme.1 and gamme.2"
\markup "Trying to define a variable named \"gamme\" will throw an error"
\score {
  {
    \global \gamme.1 \gamme.2
  }
}

====================================================

Wow! This is something I’ve been looking for for a long time. Is this documented somewhere?


Best regards,

Jun
https://imslp.org/wiki/User:Jun_T

2021/03/06 18:09、Richard Shann <richard@rshann.plus.com>のメール:

On Fri, 2021-03-05 at 10:15 -0800, Mogens Lemvig Hansen wrote:
I believe it was David K who made this magic work:
 
\version "2.20.0"
 
mus.1 = { c d e }
 
\score {
  \new Staff { \mus.1 }
}
 

This can be extended to cover the case where a variable has two numbers
associated with it:

8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><
\version "2.20.0"
 
Movement.1.Staff.1 = { c d e }
Movement.1.Staff.2 = { c' d' e' }
Movement.2.Staff.1 = { f g a } 
Movement.2.Staff.2 = { f' g' a' } 
\score {
  <<
    \new Staff { \Movement.1.Staff.1 }
    \new Staff { \Movement.1.Staff.2 }
  >>

}
\score {
  <<
  \new Staff { \Movement.2.Staff.1 }
    \new Staff { \Movement.2.Staff.2 }
  >>

}

8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><

(cautionary note: I haven't examined the code or docs on this, but it
seems a dot before and after will do the trick mid-word and a single
dot at end of word)

A decade or so ago I resorted to converting all the numbers to Roman
numerals using a C routine that's knocking around on the interweb...
time I upgraded that.

Richard Shann



Regards,
Mogens
 
From: Silvain Dupertuis
Sent: March 5, 2021 10:12
To: lilypond-user@gnu.org
Subject: Re: Workaround for (not-allowed) numbers in variable names?
 
I also wondered why numbers are not allowed in variables.
As for me, I used things like A, B, C instead... but it is less
practical.
 
My guess is that it may be linked to the way numbers are used in
notes and chords to indicate duration, otherwise it would be real
nice to be able to use digits in variable names...!
 
Le 05.03.21 à 17:37, stefano franchi a écrit :
Here is a question for anyone who may have been using lilypond for
projects involving text and many, many, short and similar musical
snippets.
 
I am putting together a book that will contain many (very brief) 
exercises, grouped thematically. I had thought a convenient and
flexible way to organize the material and keep future maintenance
under control would be to create top level variables names for the
main musical categories and sub-categories and then assign each score
snippet to progressively numbered variable. So I would have, CategA-1
= {"code for one exercise"} , CategB-2 = "code for another
exercise"}, and so on. Clean structure, easy to maintain and
rearrange, etc.
 
Then I discovered that lilypond does not allow numbers in variable
names.... :-(
 
I'd be willing to bet my use case is not particularly weird---there
must have been other people encountering the same problem.
 
How have you guys managed it?
 
Cheers,
 
S.
 

--
__________________________________________________
Stefano Franchi

stefano.franchi@gmail.com
https://www.researchgate.net/profile/Stefano_Franchi
 
-- 
Silvain Dupertuis
Route de Lausanne 335
1293 Bellevue (Switzerland)
tél. +41-(0)22-774.20.67
portable +41-(0)79-604.87.52
web: silvain-dupertuis.org
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]