lilypond-user
[Top][All Lists]
Advanced

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

Re: Can't use edition engraver to place \time and \tempo


From: caagr98
Subject: Re: Can't use edition engraver to place \time and \tempo
Date: Mon, 10 Jul 2017 13:03:25 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

After some research, it seems edition engraver only _pretends_ to insert arbitrary objects - it actually only supports a select few types of objects. Not including \tempo and \time. \time can be worked around rather easily (see snippet below), but for \tempo, it seems I'd have to modify the source code. I guess I'll try to do that, and then maybe do a pull request if it works.

```
timeEdit =
#(define-music-function
   (beat-structure fraction) ((number-list? '()) fraction?)
   (make-sequential-music
     ((assoc-get 'elements-callback
        (assoc-get 'TimeSignatureMusic
           music-descriptions))
      (time beat-structure fraction))))
```

On 07/10/2017 12:49 AM, address@hidden wrote:
I'd expect the two scores created by this to be identical, but the second one only has the \key applied (other stuff such as \bar and <>^"" works too), not the \time or \tempo. What am I doing wrong?

Also, it seems only the fourth argument is used for selecting editions (with \editionID); what's the first argument for?

```
\version "2.19.63"
\include "edition-engraver/edition-engraver.ily"

\consistToContexts #edition-engraver Score.Staff.Voice
\addEdition time
\editionMod time 1 0/0 E.Staff \key g \major
\editionMod time 1 0/0 E.Score \time 4/4
\editionMod time 1 0/0 E.Score \tempo "Some text" 4=120
\editionMod time 2 0/0 E.Score \time 2/4
\editionMod time 3 0/0 E.Score \time 4/4

\book {
   \score { \new Staff <<
     { b'1 2 1 }
{ \key g \major \time 4/4 \tempo "Some text" 4=120 s1 \time 2/4 s2 \time 4/4 s1}
   >> }
   \score {
     \new Staff { b'1 2 1 }
     \layout {
       \context {
         \Score
         \editionID E
       }
     }
   }
}
```



reply via email to

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