Hi Martin,

> For quite a long time now I'm relying heavily on openlilylib's auto-transpose 
> module. In my experience it does play nicely together with the 
> edition-engraver.

Oh, goodness… I think you may have shared this on the list before, but I didn’t 
quite understand how cool and powerful it was/is!

> One caveat is its abuse of the \transposition command, which might throw 
> things off if you need midi output. But I don't do midi, so I wouldn't know...

I outputted MIDI, and it clearly doesn’t work as expected.
That *may* be a problem for me at some point in the future, but isn’t right now.

> Attached is a silly little example I whacked together to make sure I wasn't 
> going to tell some nonsense.

I jacked it up a bit — threw a few preliminary “curve balls” at it (e.g., 
separated global data into a variable, added an “internal” key change with 
“injected” transpositions around it, etc.) — and it handled them like a pro:

%%%%  SNIPPET BEGINS
\version "2.25.10"
\language "english"

\include "oll-core/package.ily"

\loadModule oll-misc.pitch.auto-transpose
\loadPackage notation-fonts
\loadPackage edition-engraver

\addEdition test

\consistToContexts #edition-engraver Score.Staff.Voice

\editionMod test 4 0/4 trans.pose.Voice \transposition bf
\editionMod test 8 0/4 trans.pose.Voice \transposition a

\layout {
  \context {
    \Score
    \editionID ##f trans
  }
}

global = {
  \key d \major
  s1*5
  \key f \major
  s1*5
}

theNotes = {
  \repeat unfold 5 { d'1 }
  \repeat unfold 5 { f'1 }
}

\score {
  \new Staff
    \with { \editionID pose \autoTranspose }
    { << \global \theNotes >> \fine }
  \layout {}
  \midi {}
}
%%%%  SNIPPET ENDS

I’m 100% going to be using this in my framework — thank you so much!!!
Kieren.
______________________________________________

My work day may look different than your work day. Please do not feel obligated 
to read or respond to this email outside of your normal working hours.


Reply via email to