FOLLOW UP #2:
  
​
  
​Added Lukas's code for instrument names to "draw-staff-symbols" and analogous 
statements to the layout block in that file. The columnClef code remains, but 
the layout statements are commented out. It's very close to being correct, but 
3 issues that come to mind:
  
​1) I'd prefer the columns were right-aligned instead of centered, but I tried 
several times and couldn't figure out how to make that change.
  
​2) I need to be able to shift the columns horizontally to
  
​3) how do I shift the bar numbers up above the staff so they don't collide 
with the vowel clef?
  
​
  
​Finally: Is there a way to set up the code so that it scales with the size of 
the staff spaces?
  
  
​Cheers,
  
​MB
  
On Dec 8 2020, at 2:06 pm, Michael Blankenship  <blanken...@gmail.com>  wrote:
  
>   
> 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