FOLLOW UP:
  
​
  
​I partially solved my own problem. I added the \columnClef statement to the 
layout block in "draw-staff-symbol.ily", on the line below \Staff. It works 
now, but another reasons I thought instrumentName would work better is that 
it's very hard to read the vowel clef when it's printed on top of the staff, 
instead of just before it. I can't seem to get the "officially a clef" version 
to shift to just left of the staff.
  
​
  
​Would going back to an instrument name based construction make this simpler 
and easier? How would I modify the code to do that?
  
  
On Dec 8 2020, at 1:53 pm, Michael Blankenship  <blanken...@gmail.com>  wrote:
  
>   
> Lukas and Leo,
>   
> ​
>   
> ​Thanks for the response! I tried to frame the original question as simply as 
> possible, so I left some things out that have now become relevant. One of the 
> reasons I was trying to use instrument names is that I actually want to use a 
> more extensive version of the "clef" before the first system, and a 
> simplified version for the rest of the systems. The clef is for a larger 
> project I'm working on to transcribe the sounds of lyrics as musical objects. 
> So the clef lists the vowels that each space of the staff represents. So, 
> they could be encoded as clefs, and one would just have to specify a 
> different clef for the first system, but if they're encoded as instrument 
> names, the software would automatically do the change in clef. I don't know 
> enough to know if one way is better than the other, but whichever way, I 
> still am having issues.
>   
> ​
>   
> I put the latest code Lukas sent out into the larger context of the lyric 
> notation library, and every time I tried adding:
>   
> ​                      \columnClef \markuplist { i ɪ ɛ æ ʌ ɑ ɝ ɔ oʊ ʊ u }
>   
> ​to the lyric-notation.ily file, it either produced an output that just 
> didn't have the clef, or it threw an error, usually an "unexpected" exception 
> like:
>   
> ​Parsing...
>   
> /Users/blankens10/Documents/GitHub/lyric-notation-master/lyric-notation.ily:73:36:
>  error: syntax error, unexpected SYMBOL
>   
>                      \columnClef \markuplist
>   
>                                                                      i ɪ ɛ æ 
> ʌ ɑ ɝ ɔ oʊ ʊ u
>   
> /Users/blankens10/Documents/GitHub/lyric-notation-master/lyric-notation.ily:73:36:
>  error: not a note name: i
>   
>                      \columnClef \markuplist
>   
>                                                                      i ɪ ɛ æ 
> ʌ ɑ ɝ ɔ oʊ ʊ u
>   
> ​etc.
>   
> ​
>   
> Here's the link for the lyric notation library 
> (https://gitlab.com/jeanas/lyric-notation), so maybe you can help me figure 
> out where to put the code so it works correctly?
>   
> ​I added all Lukas's code through the definition of columnClef to 
> "draw-staff-symbol.ily" and I figured the line
>   
> ​                  \columnClef \markuplist { i ɪ ɛ æ ʌ ɑ ɝ ɔ oʊ ʊ u }
>   
> ​should be added to "lyric-notation.ily" somewhere. But every place I tried 
> it, it didn't work. I wasn't sure if it should go inside the \with statement 
> under \new RhythmicStaff, or if it should go in a context block somewhere?
>   
> ​
>   
> ​Ugg, being a dumb newb is such an impotent feeling, one that I'm not used to 
> being on this side of.
>   
> ​Any additional help would be greatly appreciated.
>   
> ​
>   
> ​Cheers,
>   
> ​Michael
>   
> ​
>   
> ​
>   
> ​
>   
>   
> On Dec 8 2020, at 4:48 am, Lukas-Fabian Moser  <l...@gmx.de>  wrote:
>   
> >   
> >   
> > Hi Leo,
> >   
> >   
> > Am 07.12.20 um 23:36 schrieb Leo Correia de Verdier:
> >   
> > >  I’m not sure if this is an interesting suggestion, but if you want this 
> > > as the actual clef you could write
> >   
> > >  %%%%%%%%%%%%%%
> >   
> > >  \once \override Staff.Clef.stencil = #ly:text-interface::print
> >   
> > >        \once \override Staff.Clef.text = \markup {
> >   
> > >            \override #'(font-size . -6.5)
> >   
> > >            \unit-height-column { First second third fourth fifth sixth 
> > > seventh eighth ninth tenth eleventh } }
> >   
> > >        \once \override Staff.Clef.Y-offset = #5
> >   
> > >        \clef treble % or whatever
> >   
> > >  %%%%%%%%%%%%%%
> >   
> >   
> > That's an excellent suggestion - I remember when I read Michael's
> >   
> > question I thought: If we want "a sort of clef", we should use a \clef
> >   
> > for it. But of course that changes the layout (even though one might use
> >   
> > a whiteout property to hide the staff lines).
> >   
> >   
> > I moved your logic into a function (and replaced your explicit Y-offset
> >   
> > by 0 combined with Y-centering the markup):
> >   
> >   
> > \version "2.21.80"
> >   
> >   
> > #(define-markup-command (force-unit-height layout props arg) (markup?)
> >   
> >      (let* ((y-centered-arg (markup #:general-align 1 0 arg))
> >   
> >                    (stil (interpret-markup layout props y-centered-arg))
> >   
> >                    (x (ly:stencil-extent stil 0))
> >   
> >                    (y (cons -1/2 1/2)))
> >   
> >          (ly:stencil-outline stil (make-filled-box-stencil x y))))
> >   
> >   
> > #(define-markup-command (unit-height-column layout props args)
> >   
> > (markup-list?)
> >   
> >      (interpret-markup layout props #{
> >   
> >          \markup {
> >   
> >              \override #'(baseline-skip . 0)
> >   
> >              \center-column \force-unit-height #args
> >   
> >                                          } #} ))
> >   
> >   
> > columnClef =
> >   
> > #(define-music-function (contents) (markup-list?)
> >   
> >      #{
> >   
> >          \once \override Staff.Clef.stencil = #ly:text-interface::print
> >   
> >          \once \override Staff.Clef.Y-offset = 0
> >   
> >          \once \override Staff.Clef.text = \markup {
> >   
> >              \override #'(font-size . -6.5)
> >   
> >              \general-align #Y #CENTER
> >   
> >              \unit-height-column #contents
> >   
> >          }
> >   
> >      #})
> >   
> >   
> > \new Staff {
> >   
> >    \columnClef \markuplist { first second third fourth }
> >   
> >    a'4
> >   
> > }
> >   
> >   
> > Lukas
> >   
> >   
>   
     

Reply via email to