Wow looks brilliant! I'm away from my computer at the moment but I'll test
later in the day and report, I think it's great! Thanks a lot Simon!
Luca
On 21 Nov 2015 10:36, "Simon Albrecht" <[email protected]> wrote:
> Hello Luca,
>
> with the help of the french blog post jmechmech linked in his reply, I
> cooked up the following from your code:
>
> %%%%%%%%%%%%
> \version "2.18.2"
>
> #(define (lower-extension pitch chbass)
> "Return lowered markup for pitch note name."
> #{
> \markup \raise #-1.9 \halign #0.2
> #(note-name->markup pitch chbass)
> #})
>
> chExceptionMusic = {
> <c e g bes>1-\markup { "7" }
> %<c e g b>1-\markup { "<7/" \raise #-2.5 "B" } % for illustration
> purposes only
> <c ees g>1-\markup { ">" }
> }
>
> chExceptions = #(append
> (sequential-music-to-chord-exceptions chExceptionMusic #t)
> ignatzekExceptions)
>
> \layout {
> \context {
> \ChordNames
> \override ChordName.font-name = #"New Real Book Chords"
> chordNameExceptions = \chExceptions
> slashChordSeparator = \markup {
> % the \hspace commands simulate kerning
> \hspace #-.7
> \fontsize #1 \lower #1.2 \rotate #-10 "/"
> \hspace #-.1
> }
> chordNoteNamer = #lower-extension
> }
> }
>
> \score {
> \new StaffGroup <<
> \chords {
> f2.:m c4:7/e c2:maj7
> }
> \new Staff { \key aes \major \time 3/4 c'4 aes'2 c'4 bes'2 }
> >>
> \layout { }
> }
> %%%%%%%%%%%%%%
>
> Does that do what you want? I couldn’t test it with the actual font, of
> course, only with LilyPond’s default Sans font. So you’ll likely have to
> adjust the numerical values in lines 6 and 27–29 to taste. See <
> http://lilypond.org/doc/v2.18/Documentation/notation/text-markup-commands>
> for documentation on the markup commands (you can also look them up in the
> index, section D of the Notation Reference).
> You can fitfully use the \layout {} block in a stylesheet (i.e., a
> separate .ily file to \include everywhere you want this kind of chord names
> display).
>
> HTH, Simon
>
> On 20.11.2015 22:04, Luca Fascione wrote:
>
>> Actually, sorry for not thinking about this before, but writing it in
>> LaTeX gave me an idea to illustrate what I'd like to achieve (roughly).
>>
>> %%%%%%%%%%%%%%%%%%%%%%%%%%
>> \version "2.18.2"
>> % test for setting slash chords with realbookchords font
>>
>> chExceptionMusic = {
>> <c e g bes>1-\markup { "7" }
>> <c e g b>1-\markup { "<7/" \raise #-2.5 "B" } % for illustration
>> purposes only
>> <c ees g>1-\markup { ">" }
>> }
>>
>> chExceptions = #( append
>> ( sequential-music-to-chord-exceptions chExceptionMusic #t)
>> ignatzekExceptions)
>>
>> \score {
>> \new StaffGroup <<
>> \chords {
>> \override Score.ChordName #'font-name = #"New Real Book Chords"
>> \set chordNameExceptions = #chExceptions
>> \set slashChordSeparator = "/"
>> f2.:m c4:7/e c2:maj7
>> }
>> \new Staff { \key aes \major \time 3/4 c'4 aes'2 c'4 bes'2 }
>> >>
>> \layout {}
>> }
>> %%%%%%%%%%%%%%%%%%%%%%%%%%
>>
>> You can see I have hardcoded the form of Cmaj7 to render as Cmaj7/B, but
>> the spacing feels like a step in the right direction (admittedly the
>> kerning could use work, but it feels like a reasonable compromise)
>>
>> I have attached the corresponding pdf I get, so you can see what I mean
>>
>> Thanks,
>> Luca
>>
>> On Sat, Nov 21, 2015 at 9:27 AM, Luca Fascione <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> Thanks Simon!
>> I'm also attaching the small GIF from the other website for reference,
>> and the result I presently get from 2.18.2.
>>
>> It seems this question has come up a long time ago but I couldn't
>> find a definitive resolution to it.
>>
>> As I was saying, I am happy to contribute time to the coding if it
>> helps, but I could certainly use a bit of guidance as to where to
>> start.
>>
>> Things are never this simple, but in LaTeX-speak it seems to me
>> all it's needed is to wrap the bass note in something more or less
>> like \raisebox{-1ex}{E} (and maybe mess a bit with the kerning of
>> the slash, hard to say without trying it out).
>>
>> I've tried to look in the source (for 2.18.2) and I found that in
>> chord-ignatzek-names.scm, around line 210, it calls a routine
>> names make-line-markup, which might be near where the modification
>> needs to happen. But I have no idea how to override the behaviour
>> of that piece of code from my source file.
>>
>> Thanks for your help
>> Luca
>>
>> On Fri, Nov 20, 2015 at 11:36 PM, Simon Albrecht
>> <[email protected] <mailto:[email protected]>> wrote:
>>
>> On 20.11.2015 10:56, Urs Liska wrote:
>>
>> Dear Luca,
>>
>> this is a question you should ask on the lilypond-user
>> mailing list.
>> I have forwarded it there but I strongly suggest you
>> subscribe at
>> https://lists.gnu.org/mailman/listinfo/lilypond-user to
>> automatically receive any replies.
>>
>> Best
>> Urs
>>
>> Am 20.11.2015 um 10:46 schrieb LilyPond blog contact form:
>>
>>
>> /From:/ Luca Fascione
>>
>> /Message:/
>>
>> Hello,
>> I've been using lilypond for a little while now and I
>> rather like it.
>>
>> I've been able to achieve most of what I want for my
>> engraving needs, but I think I need some help to set
>> up slash chords like in this example
>>
>> http://www.apianotuner.com/img/RealBookSample.gif
>>
>> I'm using the font "New Real Book Chords"
>> distributed here https://musescore.org/node/7785, and
>> I have setup exceptions to the Ignatzek rules to drive
>> the font correctly, but I can't find a way to tell
>> lilypond that the bass note should be set lowered
>> (like in the gif above).
>>
>> I have put a small repro case at the bottom of this
>> message
>>
>> Any help or indication you could spare would be
>> greatly appreciated (I am a fairly accomplished
>> software engineer and I'm not afraid of writing code
>> to achieve this, although I have to confess I am a C++
>> guy, not a Guile/Scheme guy).
>>
>> Thanks very much
>> Luca Fascione
>>
>> ------------------------
>> example.ly <http://example.ly>
>>
>>
>> Too bad the code got messed up. Here is a (hopefully) clean
>> version:
>> %%%%%%%%%%
>> \version "2.18.2"
>> % test for setting slash chords with realbookchords font
>>
>> chExceptionMusic = {
>> <c e g bes>1-\markup { "7" }
>> <c ees g>1-\markup { ">" }
>> }
>>
>> chExceptions = #(append
>> (sequential-music-to-chord-exceptions chExceptionMusic #t)
>> ignatzekExceptions)
>>
>> \score {
>> \new StaffGroup <<
>> \chords {
>> \override Score.ChordName.font-name = #"New Real Book
>> Chords"
>> \set chordNameExceptions = #chExceptions
>> \set slashChordSeparator = "/"
>> f2.:m c:7/e
>> }
>> \new Staff { \key aes \major \time 3/4 c'4 aes'2 c'4 bes'2 }
>> >>
>> \layout {}
>> }
>> %%%%%%%%%%%%%
>> and once attached, just in case.
>>
>> Yours, Simon
>>
>>
>>
>>
>
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user