[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Defining new contexts
From: |
Thomas Morley |
Subject: |
Re: Defining new contexts |
Date: |
Mon, 23 Feb 2015 10:28:37 +0100 |
2015-02-23 9:56 GMT+01:00 Jim Long <address@hidden>:
> I'm experimenting with defining and using custom contexts.
>
> I have not succeeded in applying the example at:
>
> http://lilypond.org/doc/v2.18/Documentation/notation/defining-new-contexts
>
> to my tiny example below attempting the creation of a custom
> ChordNames context. The '\new XChords' line throws a warning:
>
> GNU LilyPond 2.18.2
> Processing `foo.ly'
> Parsing...
> Interpreting music...
> Preprocessing graphical objects...
> Interpreting music...
> warning: cannot find or create new `XChords'
> Preprocessing graphical objects...
> Finding the ideal number of pages...
> Fitting music on 1 page...
> Drawing systems...
> Layout output to `foo.ps'...
> Converting to `./foo.pdf'...
> Success: compilation successfully completed
>
>
> How can I modify the second score's source to have the scores
> engrave the same in the output file?
>
> Thank you!
>
> Jim
>
>
> \version "2.18.2"
>
> \score {
> \layout {
> \context {
> \ChordNames
> \override ChordName.font-size = #12
> } % context
> } % layout
> <<
> \new ChordNames \chordmode { c1 }
> \new Staff \chordmode { c1 }
> >>
> }
>
>
> \score {
> \layout {
> \context {
> \name XChords
> \alias ChordNames
> \override ChordName.font-size = #12
> \type "Engraver_group"
> } % context
> } % layout
> <<
> \new XChords \chordmode { c1 }
> \new Staff \chordmode { c1 }
> >>
> }
Try the following, comments inline:
\score {
<<
\new XChords \chordmode { c1 }
\new Staff \chordmode { c1 }
>>
\layout {
\context {
%% copies settings from ChordNames
%% No need to create a new context from scratch
\ChordNames
\name XChords
\alias ChordNames
\override ChordName.font-size = #12
}
%% let Score accept XChords, likely need to let it be accepted by other
%% context as well. I.e. do the same for Pianostaff, GrandStaff, ChoirStaff,
%% maybe more, have a look in engraver-init.ly to see which contexts
%% accept the default ChordNames
\context {
\Score
\accepts XChords
}
} % layout
}
HTH,
Harm