>
> ---------- Forwarded message ----------
> From: Thomas Morley <[email protected]>
> To: Randy Josleyn <[email protected]>
> Cc: lilypond-user <[email protected]>
> Bcc:
> Date: Mon, 7 Sep 2020 21:47:55 +0200
> Subject: Re: adding chordmode chord modifiers
> Am Mo., 7. Sept. 2020 um 18:32 Uhr schrieb Randy Josleyn
> <[email protected]>:
> >
> > Hi list,
> >
> > Using my extremely limited general programming knowledge, I found in the
> scheme file chord-entry.scm that the chord modifiers m, maj, sus, and so on
> are defined. Is it possible to add to this list? I want to write "add9"
> chords like `c:add9`, which would be equivalent to writing `<c e g d'>` or
> `c:3.5.9` in chordmode (plus the chord exceptions snippet in the NM to add
> the "add"). However, the latter methods are too verbose for me.
> >
> > My use case is for printing chord symbols above the staff in a lead
> sheet.
> >
> > I checked the snippets repository for "chord modifier", "chord*", and
> "add9",  but I didn't see anything relevant.
> >
> > Is there a way to create the "c:add9" syntax to get "Cadd9" to print as
> a chord symbol? Any help would be appreciated!
> >
> > Regards,
> >
> >
> > Randy
>
> Speaking only for me I'd be fine with:
>
> mus = \chordmode {
>   \set additionalPitchPrefix = "add"
>   c:3.5.9
> }
>
> <<
>   \new ChordNames \mus
>   \new Staff \mus
> >>
>
> But of course you can go for c:add9, see p.e. Aaron's reply.
>
> My own take is a little different.
> It's restricted to "add9", which will _remove_ a 7th pitch-step and no
> need for chord-exceptions
>
> %% c/p from chord-ignatzek-names.scm
> #(define (pitch-step p)
>   "Musicological notation for an interval.  Eg. C to D is 2."
>   (+ 1 (ly:pitch-steps p)))
>
> %% c/p from chord-ignatzek-names.scm
> #(define (remove-step x ps)
>   "Copy PS, but leave out the Xth step."
>   (if (null? ps)
>       '()
>       (let* ((t (remove-step x (cdr ps))))
>         (if (= (- x 1) (ly:pitch-steps (car ps)))
>             t
>             (cons (car ps) t)))))
>
> %% proc to _remove_ 7
> #(define (add9-modifier pitches)
>   (remove-step (pitch-step (ly:make-pitch 0 6 0)) pitches))
>
> %% let lily know about it
> chordmodifiers = #(cons (cons 'add  add9-modifier)
> default-chord-modifier-list)
>
> mus = \chordmode {
>   \set additionalPitchPrefix = "add"
>   c:3.5.9
>   c:add9
> }
>
> <<
>   \new ChordNames \mus
>   \new Staff \mus
> >>
>
> Cheers,
>   Harm
>

Thank you so much Harm and Aaron for your code and suggestions. I'll give
them a try and see how it goes. These code examples are informative to me —
I do appreciate them!

(By the way, I switched to a daily digest for lilypond-user emails and I'm
not sure about how replies work from them. I've made mistakes with how
replies to a list work before, so I apologize if I've done it again.)

Randy

Reply via email to