chord name tweak doco.
* input/template/gregorian-transcription.ly: new file.
+2003-02-23 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * Documentation/user/refman.itely (Printing named chords): add
+ chord name tweak doco.
+
+ * input/template/gregorian-transcription.ly: new file.
+
2003-02-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
* input/test/*: lots of cleanups/comment-outs/removals in chord
[TODO: add description for banter other jazz.]
-[TODO: describe tweak options, chordNameFunction,chordNameExceptions,
-majorSevenSymbol, chordNameSeparator]
+The Ignatzek chord name formatting can be tuned in a number of ways
+through the following properties:
+@table @code
+@item chordNameExceptions
+This is a list that contains the chords that have special formatting.
+For example.
+@lilypond[verbatim,singleline]
+chExceptionMusic = \notes { <<c f g bes>>1-\markup { \super "7" "wahh" }}
+chExceptions = #(append
+ (sequential-music-to-chord-exceptions chExceptionMusic)
+ ignatzekExceptions)
+
+\score { \context ChordNames
+ \chords {
+ c:7sus4 c:dim7
+ \property ChordNames.chordNameExceptions = #chExceptions
+ c:7sus4 c:dim7 } }
+@end lilypond
+
+Putting the exceptions list encoded as
+@example
+ \notes @{ <<c f g bes>>1-\markup @{ \super "7" "wahh" @} @}
+@end example
+into the property takes a little manoeuvring. The following code
+transforms @code{chExceptionMusic} (which is a sequential music)
+into a list of exceptions.
+@example
+ (sequential-music-to-chord-exceptions chExceptionMusic)
+@end example
+Then,
+@example
+#(append
+ ... ignatzekExceptions)
+@end example
+adds the new exceptions to the default ones, which are defined in
+@file{ly/chord-modifier-init.ly}.
+
+@item majorSevenSymbol
+This property contains the markup object used for the 7th step, when
+it is major. Predefined options are @code{whiteTriangleMarkup},
+@code{blackTriangleMarkup}. The following uses another popular shorthand.
+@lilypond[fragment,verbatim]
+\context ChordNames \chords {
+ c:7
+ \property ChordNames.majorSevenSymbol = \markup { "j7" }
+ c:7 }
+@end lilypond
+@item chordNameSeparator
+Different parts of a chord name are normally separated by a
+slash. By setting @code{chordNameSeparator}, you can specify other
+separators, e.g.
+@lilypond[fragment,verbatim]
+\context ChordNames \chords {
+ c:7sus4
+ \property ChordNames.chordNameSeparator = \markup { "|" }
+ c:7sus4 }
+@end lilypond
+@end table
+
+
+
+
@node Writing parts
@section Writing parts
--- /dev/null
+\header {
+texidoc = "Modern transcriptions of gregrorian music.
+Gregorian music has no measure, no stems, only uses half and quarter notes,
+and two types of barlines, a short one indicating a rest, a second indicating a breath mark."
+}
+
+
+barOne = \notes { \once \property Staff.BarLine \override #'bar-size = #2
+ \bar "|" }
+barTwo = \notes { \once \property Staff.BarLine \override #'extra-offset = #'(0 . 2)
+
+ \once \property Staff.BarLine \override #'bar-size = #2
+ \bar "|" }
+\score {
+
+\notes \relative c' {
+ \property Score.timing = ##f
+ \property Staff.Stem \set #'transparent = ##t
+ f4 a2 \barTwo g4 a2 f2 \barOne g4( )f f(
+ \bar "empty"
+ \break
+ )g a2
+}
+
+}
Interval pos = ly_scm2interval (me->get_grob_property ("positions"));
Real staff_space = Staff_symbol_referencer::staff_space (me);
- bool french = to_boolean (me->get_grob_property ("french-beaming"));
-
-
bool gap = false;
Real thick =0.0;
if (gh_number_p (me->get_grob_property ("gap"))
ADD_INTERFACE (Separation_item,"separation-item-interface",
- "Item that computes widths to generate spacing rods.
-
-Calc dimensions for the Separating_group_spanner; this has to be
-an item to get dependencies correct. It can't be an grob_group
-since these usually are in a different X_group
-",
+ "Item that computes widths to generate spacing rods.\n"
+"\n"
+"Calc dimensions for the Separating_group_spanner; this has to be "
+"an item to get dependencies correct. It can't be an grob_group "
+"since these usually are in a different X_group ",
"X-extent conditional-elements elements");
ADD_INTERFACE (Tie,"tie-interface",
- "A tie connecting two noteheads.
-direction = Forced direction for all ties",
+ "A tie connecting two noteheads.\n"
+"direction = Forced direction for all ties",
"y-offset staffline-clearance control-points heads details thickness x-gap direction minimum-length");
}
ADD_INTERFACE (Time_signature, "time-signature-interface",
- "A time signature, in different styles.
- The following values for 'style are are recognized:
-
- @table @samp
- @item @code{C}
- 4/4 and 2/2 are typeset as C and struck C, respectively. All
- other time signatures are written with two digits.
-
- @item @code{neo_mensural}
- 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are
- typeset with neo-mensural style mensuration marks. All other time
- signatures are written with two digits.
-
- @item @code{mensural}
- 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are
- typeset with mensural style mensuration marks. All other time
- signatures are written with two digits.
-
- @item @code{1xxx}
- All time signatures are typeset with a single
- digit, e.g. 3/2 is written as 3. (Any symbol starting
- with the digit @code{1} will do.)
- @end table
-
-See also the test-file @file{input/test/time.ly}.
-",
+ "A time signature, in different styles.\n"
+" The following values for 'style are are recognized:\n"
+"\n"
+" @table @samp\n"
+" @item @code{C}\n"
+" 4/4 and 2/2 are typeset as C and struck C, respectively. All\n"
+" other time signatures are written with two digits.\n"
+"\n"
+" @item @code{neo_mensural}\n"
+" 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are\n"
+" typeset with neo-mensural style mensuration marks. All other time\n"
+" signatures are written with two digits.\n"
+"\n"
+" @item @code{mensural}\n"
+" 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are\n"
+" typeset with mensural style mensuration marks. All other time\n"
+" signatures are written with two digits.\n"
+"\n"
+" @item @code{1xxx}\n"
+" All time signatures are typeset with a single\n"
+" digit, e.g. 3/2 is written as 3. (Any symbol starting\n"
+" with the digit @code{1} will do.)\n"
+" @end table\n"
+"\n"
+"See also the test-file @file{input/test/time.ly}.\n",
"fraction style");
Dictionary<Translator*> *global_translator_dict=0;
LY_DEFINE(get_all_translators,"ly:get-all-translators", 0, 0, 0, (),
- "Return an list of a all translator objects that may be instantiated
-during a lilypond run.")
+ "Return an list of a all translator objects that may be instantiated "
+" during a lilypond run.")
{
SCM l = SCM_EOL;
for (std::map<String,Translator*>::const_iterator (ci (global_translator_dict->begin()));
<<c es ges bes>>-\markup { \super \combine "o" "/" }
<<c es ges beses>>-\markup { \super "o7" }
}
+
+ignatzekExceptions = #(sequential-music-to-chord-exceptions ignatzekExceptionMusic)
+
chordNameFunction = #ignatzek-chord-names
majorSevenSymbol = #whiteTriangleMarkup
chordNameSeparator = #(make-simple-markup "/")
- chordNameExceptions = #(sequential-music-to-chord-exceptions ignatzekExceptionMusic)
+ chordNameExceptions = #ignatzekExceptions
\grobdescriptions #all-grob-descriptions
}