On Mon, Dec 28, 2020 at 5:10 PM Jean Abou Samra <j...@abou-samra.fr> wrote: Jean:
> Hello, > > [...] > > And they have it wrong. I believe it should read: … *step *is > a number from 0 to 6 and *alter *from -2 (flat) to 2 (sharp)? > (Not -2 (sharp) to 2 (flat).) > > > This sounds wrong indeed. FLAT is -1/2 and SHARP is 1/2. > Could you write the bug-lilypond list to report this bug? > See http://lilypond.org/contact.html Thanks. > It is done! > > > [...] > > I know that the alist cannot be read with assoc, at least in its simple > form. > > > Why not? > assoc would read the first key of a given value none of the others keys of the same value would be read in the chain. > > Any suggestions were the details of the keyAlterationOrder >> is explained? >> > > That's the best documentation we have. The next place to look is > in the source. > > > Yes. Please note that with roughly 250 different context properties, > 140 grob types, 400 grob properties, and more, these short descriptions > are really the best that can be done to document the internal > Unfortunately that does little for a dummy > > > >>>> It should read: "… *step *is >>>> >>>> a number from 0 to 6 and *alter *from -2 (flat) to 2 (sharp)" > > (Not -2 (sharp) to 2 (flat).) = #`( (6 . ,FLAT) (2 . ,FLAT) (5 . ,FLAT ) > (1 . ,FLAT) (4 . ,FLAT) (0 . ,FLAT) (3 . ,FLAT) (3 . ,SHARP) (0 . > ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP) > (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT) > (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT) (3 . > ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (1 . ,DOUBLE-SHARP) (5 > . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP) ) >>>> >>>> There are 4 sets with the same 7 keys 2 different orders of the keys. >>> There are several out there. Here is one with the same >>> accidental vertical not horizontal: >>> >> >> It doesn't matter whether it's rows or columns; the alist has no rows or >> columns; it's just sequential. An alteration that shows up earlier in the >> list is displayed before one that shows up later in the list. >> >> >>> keyAlterationOrder = #`( >>> % Flats: >>> (6 . -6/53) (6 . -12/53) (6 . -18/53) (6 . -24/53) (6 . >>> -36/53) (6 . -30/53) (6 . -42/53) (6 . -48/53) (6 . -54/53) (6 . >>> -60/53) (6 . -66/53) (6 . -72/53) >>> (2 . -6/53) (2 . -12/53) (2 . -18/53) (2 . -24/53) (2 . >>> -36/53) (2 . -30/53) (2 . -42/53) (2 . -48/53) (2 . -54/53) (2 . >>> -60/53) (2 . -66/53) (2 . -72/53) >>> (5 . -6/53) (5 . -12/53) (5 . -18/53) (5 . -24/53) (5 . >>> -36/53) (5 . -30/53) (5 . -42/53) (5 . -48/53) (5 . -54/53) (5 . >>> -60/53) (5 . -66/53) (5 . -72/53) >>> (1 . -6/53) (1 . -12/53) (1 . -18/53) (1 . -24/53) (1 . >>> -36/53) (1 . -30/53) (1 . -42/53) (1 . -48/53) (1 . -54/53) (1 . >>> -60/53) (1 . -66/53) (1 . -72/53) >>> (4 . -6/53) (4 . -12/53) (4 . -18/53) (4 . -24/53) (4 . >>> -36/53) (4 . -30/53) (4 . -42/53) (4 . -48/53) (4 . -54/53) (4 . >>> -60/53) (4 . -66/53) (4 . -72/53) >>> (0 . -6/53) (0 . -12/53) (0 . -18/53) (0 . -24/53) (0 . >>> -36/53) (0 . -30/53) (0 . -42/53) (0 . -48/53) (0 . -54/53) (0 . >>> -60/53) (0 . -66/53) (0 . -72/53) >>> (3 . -6/53) (3 . -12/53) (3 . -18/53) (3 . -24/53) (3 . >>> -36/53) (3 . -30/53) (3 . -42/53) (3 . -48/53) (3 . -54/53) (3 . >>> -60/53) (3 . -66/53) (3 . -72/53) >>> % Sharps: >>> (3 . 6/53) (3 . 12/53) (3 . 18/53) (3 . 24/53) (3 . 30/53) (3 >>> . 36/53) (3 . 42/53) (3 . 48/53) (3 . 54/53) (3 . 60/53) (3 . 66/53) >>> (3 . 72/53) >>> (0 . 6/53) (0 . 12/53) (0 . 18/53) (0 . 24/53) (0 . 30/53) (0 >>> . 36/53) (0 . 42/53) (0 . 48/53) (0 . 54/53) (0 . 60/53) (0 . 66/53) >>> (0 . 72/53) >>> (4 . 6/53) (4 . 12/53) (4 . 18/53) (4 . 24/53) (4 . 30/53) (4 >>> . 36/53) (4 . 42/53) (4 . 48/53) (4 . 54/53) (4 . 60/53) (4 . 66/53) >>> (4 . 72/53) >>> (1 . 6/53) (1 . 12/53) (1 . 18/53) (1 . 24/53) (1 . 30/53) (1 >>> . 36/53) (1 . 42/53) (1 . 48/53) (1 . 54/53) (1 . 60/53) (1 . 66/53) >>> (1 . 72/53) >>> (5 . 6/53) (5 . 12/53) (5 . 18/53) (5 . 24/53) (5 . 30/53) (5 >>> . 36/53) (5 . 42/53) (5 . 48/53) (5 . 54/53) (5 . 60/53) (5 . 66/53) >>> (5 . 72/53) >>> (2 . 6/53) (2 . 12/53) (2 . 18/53) (2 . 24/53) (2 . 30/53) (2 >>> . 36/53) (2 . 42/53) (2 . 48/53) (2 . 54/53) (2 . 60/53) (2 . 66/53) >>> (2 . 72/53) >>> (6 . 6/53) (6 . 12/53) (6 . 18/53) (6 . 24/53) (6 . 30/53) (6 >>> . 36/53) (6 . 42/53) (6 . 48/53) (6 . 54/53) (6 . 60/53) (6 . 66/53) >>> (6 . 72/53) >>> ) >>> So where is the order? 7 key each with 24 pairs. >>> >> No there are 168 (step . alteration) pairs. These are microtonal >> accidentals. For negative (flat) alterations, b comes first, then e, then >> a, then d, then g, then c, then f. A smaller flat comes before a larger >> flat. >> > > >> For positive (sharp) alterations, f comes first, followed by c g d a e >> b in order. smaller sharps come before larger sharps. >> > Ok that is a part of what I want to know. If I understand you, the > order of the pairs in the alist is not important the accidental will be > rendered in the c g d a e b order starting with the lowest value. > > > I think you misunderstood Carl. The order of the alist is the > critical piece of information. This property controls the order > in which alterations are printed in the key. For example: > I originally thought it did; but i can not see the logic by studying the two examples above > \new Staff { \key a \major cis } > \new Staff \with { > keyAlterationOrder = #`( > (4 . ,SHARP) > (0 . ,SHARP) > (3 . ,SHARP) > ) > } > { \key a \major cis } > > > Which explains the difference between the two the two examples above (in > the microtonal alist the accidentals of the same value are not adjacent. as > they are in the first example. > > This is a start, I need more information. For example can I use two > accidentals at the same time may or may not be on the same note. For > example starting with FM = f c g d^ a^ e^ bb; CM = f c g d a^ e^ b^; GM > = f#^ c g d a e^ b^; DM = f#^ c#^ g d a e^ b^; ...; BM = f# c# g#^ d#^ a > #^ e b; and Cm = f c g d abv ebv bbv; that could be a problem. There > would be more accidentals but not in the key signature. > > > I don't understand your problem, sorry. Could you > try to elaborate? An image of what you want to do > would be helpful. > It would take a lot to explain. So when i know more about the keyAlterationOrder i probably will be able to answer my question . One question though, Does the key signature affect the midi output? > > >>> It appears that the accidentals show up in the list in the relative >>>> order they will appear in a key signature. They are grouped by the kind of >>>> alteration (flats, sharps, double flats, double sharps). So for sharps, >>>> the first to appear in a key signature is f#, followed by c#, followed by >>>> g#, then d#, and so on. For flats, we start with bb, then eb, then ab, and >>>> so on. >>>> >>> I now the order of 5th and 4th as you explain here. >>> >>>> >>>> I don't know what other documentation you want. >>>> >>> Something that explains the way the alist is formed? . >>> >> >> The alist is formed the way all alists in Scheme are formed. >> >> Why is the example (especially with two different examples) not >> sufficient? What specific questions do you have about how the alist is >> formed? What are you trying to do? >> > Learn how it works to see if it can be used in a program I am working on, > see the above examples. > > > I think it would be worth it to explain what you want to > achieve with this program. This will make it easier to > help you. > The answer to my last question will tell me if i want to pursue using keyAlterationOrder. Thank you, ƒg > Best regards, > > Jean >