(print): remove adjust-if-on-staffline.
+2004-03-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/custos.cc (print): remove neutral position.
+ (print): remove adjust-if-on-staffline.
+
2004-03-11 Jan Nieuwenhuizen <janneke@gnu.org>
* lily/paper-book.cc: Do header and footer.
2004-03-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * mf/feta-schrift.mf: reduce portato thickness.
+
+ * lily/context-scheme.cc (LY_DEFINE): remove ly:context-properties
+
+ * lily/grob-pq-engraver.cc (start_translation_timestep): remove
+ programming_error ().
+
* lily/piano-pedal-engraver.cc (finalize): attach unfinished
bracket to last command column.
\version "2.1.29"
-\header { texidoc = "There are both long and short intstrument names.
+\header {
+
+ texidoc = "There are both long and short intstrument names.
Engraving instrument names should not be confused by the
-multimeasure rests. " }
+multimeasure rests. "
+
+ }
% (there was an interesting bug in 1.3.98)
\score{
\context Staff <<
#include "event.hh"
#include "pitch.hh"
+
+/*
+ UGH UGH UGH .
+
+ rewrite this complely. --hwn
+ */
+
/*
* This class implements an engraver for ambitus grobs.
*
private:
void create_ambitus ();
Item *ambitus_;
- int/*bool*/ is_typeset;
+ bool is_typeset;
Pitch pitch_min, pitch_max;
};
if (ambitus_ && !is_typeset)
{
/*
- * Evaluate centralCPosition not until now, since otherwise we
+ * Evaluate middleCPosition not until now, since otherwise we
* may then oversee a clef that is defined in a staff context if
- * we are in a voice context; centralCPosition would then be
+ * we are in a voice context; middleCPosition would then be
* assumed to be 0.
*/
- SCM c0 = get_property ("centralCPosition");
+ SCM c0 = get_property ("middleCPosition");
ambitus_->set_property ("c0-position", c0);
/*
ambitus_->set_property ("accidentals", key_signature);
typeset_grob (ambitus_);
- is_typeset = 1;
+ is_typeset = true;
}
}
Ambitus_engraver::create_ambitus ()
{
ambitus_ = make_item ("Ambitus");
- is_typeset = 0; // UGH.
+ is_typeset = false;
announce_grob (ambitus_, SCM_EOL);
}
if (ambitus_)
{
if (Pitch::compare (pitch_min, pitch_max) <= 0)
- {
- ambitus_->set_property ("pitch-min",
- pitch_min.smobbed_copy ());
- ambitus_->set_property ("pitch-max",
- pitch_max.smobbed_copy ());
- }
+ {
+ ambitus_->set_property ("pitch-min",
+ pitch_min.smobbed_copy ());
+ ambitus_->set_property ("pitch-max",
+ pitch_max.smobbed_copy ());
+ }
else // have not seen any pitch, so forget about the ambitus
{
/*
/* descr */ "Generate beams based on measure characteristics and observed "
"Stems. Uses beatLength, measureLength and measurePosition to decide "
"when to start and stop a beam. Overriding beaming is done through "
-"@ref{Stem_engraver} properties stemLeftBeamCount and "
-"stemRightBeamCount. "
+"@ref{Stem_engraver} properties @code{stemLeftBeamCount} and "
+"@code{stemRightBeamCount}. "
,
/* creats*/ "Beam",
/* accepts */ "beam-forbid-event",
/* creats*/ "Clef OctavateEight",
/* accepts */ "",
/* acks */ "bar-line-interface",
-/* reads */ "clefPosition clefGlyph centralCPosition clefOctavation explicitClefVisibility",
+/* reads */ "clefPosition clefGlyph middleCPosition clefOctavation explicitClefVisibility",
/* write */ "");
{
if (cluster_notes_.size ())
{
- SCM c0scm = get_property ("centralCPosition");
+ SCM c0scm = get_property ("middleCPosition");
int c0 = gh_number_p (c0scm) ? gh_scm2int (c0scm) : 0;
int pmax = INT_MIN;
Pitch *pit =unsmob_pitch (req->get_property ("pitch"));
int pos = pit->steps ();
- SCM c0 = get_property ("centralCPosition");
+ SCM c0 = get_property ("middleCPosition");
if (gh_number_p (c0))
pos += gh_scm2int (c0);
/* creats*/ "NoteHead Dots Tie",
/* accepts */ "busy-playing-event note-event",
/* acks */ "",
-/* reads */ "centralCPosition measurePosition measureLength",
+/* reads */ "middleCPosition measurePosition measureLength",
/* write */ "");
}
LY_DEFINE (ly_context_property, "ly:context-property",
- 2, 0, 0, (SCM context, SCM name),
- "Return the value of @var{name} from context @var{context}")
+ 2, 0, 0, (SCM c, SCM name),
+ "Return the value of @var{name} from context @var{c}")
{
- Context *t = unsmob_context (context);
+ Context *t = unsmob_context (c);
Context * tr= (t);
- SCM_ASSERT_TYPE (tr, context, SCM_ARG1, __FUNCTION__, "Translator group");
+ SCM_ASSERT_TYPE (tr, c, SCM_ARG1, __FUNCTION__, "Translator group");
SCM_ASSERT_TYPE (gh_symbol_p (name), name, SCM_ARG2, __FUNCTION__, "symbol");
return tr->internal_get_property (name);
LY_DEFINE (ly_context_set_property, "ly:context-set-property!",
3, 0, 0, (SCM context, SCM name, SCM val),
- "set value of property @var{name} in context @var{context} "
+ "Set value of property @var{name} in context @var{context} "
"to @var{val}.")
{
Context *tr = unsmob_context (context);
return SCM_EOL;
}
-LY_DEFINE (ly_unset_context_property, "ly:unset-context-property", 2, 0, 0,
+LY_DEFINE (ly_unset_context_property, "ly:context-unset-property", 2, 0, 0,
(SCM context, SCM name),
"Unset value of property @var{name} in context @var{context}.")
{
LY_DEFINE (ly_context_parent, "ly:context-parent",
1, 0, 0, (SCM context),
- "Return the parent of @var{context}, #f if none.")
+ "Return the parent of @var{context}, @code{#f} if none.")
{
Context *tr = unsmob_context (context);
SCM_ASSERT_TYPE (tr, context, SCM_ARG1, __FUNCTION__, "Context");
}
/* FIXME: todo: should support translator IDs, and creation? */
-LY_DEFINE (ly_translator_find, "ly:translator-find",
+LY_DEFINE (ly_context_find, "ly:context-find",
2, 0, 0, (SCM context, SCM name),
"Find a parent of @var{context} that has name or alias @var{name}. "
"Return @code{#f} if not found.")
return SCM_BOOL_F;
}
+#if 0
+/*
+ What is this used for? Should remove? --hwn
+ */
LY_DEFINE (ly_context_properties, "ly:context-properties",
1, 0, 0, (SCM context),
"Return all properties of @var{context} in an alist.")
SCM_ASSERT_TYPE (tr, context, SCM_ARG1, __FUNCTION__, "Context");
return tr->properties_as_alist ();
}
+#endif
Item *c = create_custos ();
int p = pitches_[i].steps ();
- SCM c0 = get_property ("centralCPosition");
+ SCM c0 = get_property ("middleCPosition");
if (gh_number_p (c0))
p += gh_scm2int (c0);
* staffline or not, or shall we use individual font characters
* for both cases?
*/
- bool adjust
- = to_boolean (me->get_property ("adjust-if-on-staffline"));
-
- int neutral_pos;
- SCM ntr_pos = me->get_property ("neutral-position");
- if (gh_number_p (ntr_pos))
- neutral_pos = gh_scm2int (ntr_pos);
- else
- neutral_pos = 0;
+ bool adjust = true;
+ int neutral_pos = 0;
Direction neutral_direction =
to_dir (me->get_property ("neutral-direction"));
ADD_INTERFACE (Custos, "custos-interface",
"A custos object.",
- "style adjust-if-on-staffline neutral-direction neutral-position");
+ "style neutral-direction");
}
ADD_MUSIC (Event);
+
LY_DEFINE (ly_music_duration_length, "ly:music-duration-length", 1, 0,0,
(SCM mus),
"Extract the duration field from @var{mus}, and return the length.")
LY_DEFINE (ly_music_duration_compress, "ly:music-duration-compress", 2, 0,0,
- (SCM mus, SCM factor),
- "Extract the duration field from @var{mus}, and compress it.")
+ (SCM mus, SCM fact),
+ "Compress @var{mus} by factor @var{fact}, which is a @code{Moment}.")
{
Music* m = unsmob_music (mus);
- Moment * f = unsmob_moment (factor);
+ Moment * f = unsmob_moment (fact);
SCM_ASSERT_TYPE (m, mus, SCM_ARG1, __FUNCTION__, "Music");
- SCM_ASSERT_TYPE (f, factor, SCM_ARG2, __FUNCTION__, "Moment");
+ SCM_ASSERT_TYPE (f, fact, SCM_ARG2, __FUNCTION__, "Moment");
Duration *d = unsmob_duration (m->get_property ("duration"));
if (d)
TODO: this should use ly:pitch.
*/
LY_DEFINE (ly_transpose_key_alist, "ly:transpose-key-alist",
- 2, 0,0, (SCM l, SCM pitch),
- "Make a new key alist of @var{l} transposed by pitch @var{pitch}")
+ 2, 0, 0, (SCM l, SCM pit),
+ "Make a new key alist of @var{l} transposed by pitch @var{pit}")
{
SCM newlist = SCM_EOL;
- Pitch *p = unsmob_pitch (pitch);
+ Pitch *p = unsmob_pitch (pit);
for (SCM s = l; gh_pair_p (s); s = ly_cdr (s))
{
LY_DEFINE (ly_find_glyph_by_name, "ly:find-glyph-by-name", 2 , 0, 0,
(SCM font, SCM name),
- "This function retrieves a Stencil for the glyph named @var{name} in "
-"@var{font}. The font must be available as an AFM file. If the glyph "
-"is not found, #f is returned. ")
+ "This function retrieves a Stencil for the glyph named @var{name} "
+ "in "
+ "@var{font}. "
+ "The font must be available as an AFM file. If the glyph "
+ "is not found, @code{#f} is returned. ")
{
Font_metric *fm = unsmob_metrics (font);
SCM_ASSERT_TYPE (fm, font, SCM_ARG1, __FUNCTION__, "font-metric");
LY_DEFINE (ly_paper_get_font, "ly:paper-get-font", 2, 0, 0,
(SCM paper, SCM chain),
- "Return a font metric satisfying the font-qualifiers in the alist chain @var{chain}.\n"
-"\n"
-"The font object represents the metric information of a font. Every font\n"
-"that is loaded into LilyPond can be accessed via Scheme. \n"
-"\n"
-"LilyPond only needs to know the dimension of glyph to be able to process\n"
-"them. This information is stored in font metric files. LilyPond can read\n"
-"two types of font-metrics: @TeX{} Font Metric files (TFM files) and\n"
-"Adobe Font Metric files (AFM files). LilyPond will always try to load\n"
-"AFM files first since they are more versatile.\n"
-"\n"
-"An alist chain is a list of alists, containing grob properties.\n")
+
+ "Return a font metric satisfying the font-qualifiers "
+ "in the alist chain @var{chain}.\n"
+ "(An alist chain is a list of alists, containing grob properties).\n")
{
Paper_def *pap = unsmob_paper (paper);
SCM_ASSERT_TYPE (pap, paper, SCM_ARG1, __FUNCTION__, "paper definition");
LY_DEFINE (ly_grob_pq_less_p, "ly:grob-pq-less?",
2, 0 ,0, (SCM a, SCM b),
- "Compare 2 Grob PQ entries. Internal")
+ "Compare 2 grob priority queue entries. Internal")
{
if (Moment::compare (*unsmob_moment (gh_car (a)),
*unsmob_moment (gh_car (b))) < 0)
while (gh_pair_p (busy) && *unsmob_moment (gh_caar (busy)) < now)
{
/*
- Todo: do something sensible. The grob-pq-engraver is not water
- tight, and stuff like tupletSpannerDuration confuses it.
+ The grob-pq-engraver is not water tight, and stuff like
+ tupletSpannerDuration confuses it.
*/
- programming_error (_f ("Skipped something?\nGrob %s ended before "
- "I expected it to end.",
- unsmob_grob (gh_cdar (busy))->name ().to_str0()));
-
busy = gh_cdr (busy);
}
if (start_busy != busy)
daddy_context_->set_property ("busyGrobs", busy);
-
}
2, 0, 0, (SCM grob, SCM sym),
"Return the value of a value in grob @var{g} of property @var{sym}. "
"It will return @code{' ()} (end-of-list) "
- "if @var{g} does nott have @var{sym} set."
+ "if @var{sym} is undefined in @var{g}."
"\n\n"
- "Grob properties are stored as GUILE association lists, "
- "with symbols as keys. "
- "All lookup functions identify undefined properties "
- "with end-of-list (i.e. @code{' ()} in Scheme "
- "or @code{SCM_EOL} in C.")
+ )
{
Grob *sc = unsmob_grob (grob);
SCM_ASSERT_TYPE (sc, grob, SCM_ARG1, __FUNCTION__, "grob");
/* TODO: make difference between scaled and unscalead variable in
calling (i.e different funcs.) */
LY_DEFINE (ly_grob_paper,"ly:grob-paper", 1, 0, 0,
- (SCM grob),
- "Get \\paper definition from a grob.")
+ (SCM g),
+ "Get @code{\\paper} definition from grob @var{g}.")
{
- Grob * sc = unsmob_grob (grob);
- SCM_ASSERT_TYPE (sc, grob, SCM_ARG1, __FUNCTION__, "grob");
+ Grob * sc = unsmob_grob (g);
+ SCM_ASSERT_TYPE (sc, g, SCM_ARG1, __FUNCTION__, "grob");
return sc->get_paper ()->self_scm ();
}
}
LY_DEFINE (ly_get_system, "ly:grob-system",
- 1, 0, 0, (SCM grob),
- "Return the System Grob of @var{grob}.")
+ 1, 0, 0, (SCM g),
+ "Return the System Grob of @var{g}.")
{
- Grob *me = unsmob_grob (grob);
- SCM_ASSERT_TYPE (me, grob, SCM_ARG1, __FUNCTION__, "grob");
+ Grob *me = unsmob_grob (g);
+ SCM_ASSERT_TYPE (me, g, SCM_ARG1, __FUNCTION__, "grob");
if (System *g = me->get_system ())
return g->self_scm ();
LY_DEFINE (ly_item_p, "ly:item?",
1, 0, 0, (SCM g),
- "Is @var{g} a item object?")
+ "Is @var{g} an @code{Item} object?")
{
Grob *me = unsmob_grob (g);
bool b = dynamic_cast<Item*> (me);
LY_DEFINE (ly_item_break_dir, "ly:item-break-dir",
1, 0, 0, (SCM it),
- "The break status dir of @var{it}.")
+ "The break status dir of item @var{it}. @code{-1} is end of "
+ "line, @code{0} unbroken, and @code{1} begin of line.")
{
- Item *me = dynamic_cast<Item*> ( unsmob_grob (it));
+ Item *me = dynamic_cast<Item*> (unsmob_grob (it));
SCM_ASSERT_TYPE (me, it, SCM_ARG1, __FUNCTION__, "Item");
return gh_int2scm (me->break_status_dir ());
}
void init_type_ ## CL ()\
{\
SCM subr = scm_c_define_gsubr (FUNCNAME, 1, 0, 0, (Scheme_function_unknown) CL::smob_p);\
- ly_add_function_documentation (subr, FUNCNAME, "(SCM x)", "Check if @var{x} is a @code{" #CL "} object");\
+ ly_add_function_documentation (subr, FUNCNAME, "(SCM x)", "Is @var{x} a @code{" #CL "} object?");\
scm_c_export (FUNCNAME, NULL);\
}\
ADD_SCM_INIT_FUNC (init_type_ ## CL, init_type_ ## CL)
item_ = make_item ("KeySignature");
item_->set_property ("c0-position",
- get_property ("centralCPosition"));
+ get_property ("middleCPosition"));
// todo: put this in basic props.
item_->set_property ("old-accidentals", get_property ("lastKeySignature"));
LY_DEFINE (ly_gulp_file, "ly:gulp-file", 1,0, 0,
(SCM name),
- "Read the file named @var{name}, and return its contents in a string. The "
-" file is looked up using the lilypond search path.")
+ "Read the file @var{name}, and return its contents in a string. The "
+" file is looked up using the search path.")
{
return scm_makfrom0str (gulp_file_to_string (ly_scm2string (name)).to_str0 ());
}
}
LY_DEFINE (ly_dir_p, "ly:dir?", 1,0, 0, (SCM s),
- "type predicate. A direction is a -1, 0 or 1, where -1 represents "
- "left or down and 1 represents right or up. ")
+ "type predicate. A direction is @code{-1}, @code{0} or "
+ "@code{1}, where @code{-1} represents "
+ "left or down and @code{1} represents right or up.")
{
if (gh_number_p (s))
{
3, 0, 0,
(SCM xext, SCM yext, SCM blot),
"Make a @code{Stencil} "
- " that prints a filled-box of dimensions @var{xext}, "
+ "that prints a black box of dimensions @var{xext}, "
"@var{yext} and roundness @var{blot}."
)
{
TODO: add optional factor argument.
*/
LY_DEFINE (make_moment,"ly:make-moment", 2,0,0, (SCM n, SCM d),
- "create the rational number with main timing @var{n}/@var{d}. \n"
+ "Create the rational number with main timing @var{n}/@var{d}. \n"
"\n"
"\n"
"Moment is a point in musical time. It is consists of a pair of\n"
LY_DEFINE (ly_paper_lookup, "ly:paper-lookup",
2, 0,0, (SCM pap, SCM sym),
"Lookup @var{sym} in @var{pap}. "
- "Return the value or ' () if undefined.")
+ "Return the value or @code{'()} if undefined.")
{
Music_output_def *op = unsmob_music_output_def (pap);
SCM_ASSERT_TYPE (op, pap, SCM_ARG1, __FUNCTION__, "Paper");
LY_DEFINE (ly_output_def_scope, "ly:output-def-scope",
1, 0,0, (SCM def),
- "Get the scope inside @var{def}.")
+ "Get the variable scope inside @var{def}.")
{
Music_output_def *op = unsmob_music_output_def (def);
SCM_ASSERT_TYPE (op, def, SCM_ARG1, __FUNCTION__, "Output definition");
LY_DEFINE (ly_music_length, "ly:music-length",
1, 0, 0, (SCM mus),
- "Get the length (in musical time) of music expression @var{mus}.")
+ "Get the length of music expression @var{mus}, and return as a @code{Moment} object.")
{
Music *sc = unsmob_music (mus);
SCM_ASSERT_TYPE (sc, mus, SCM_ARG1, __FUNCTION__, "music");
}
/* todo: property args */
-LY_DEFINE (ly_get_mutable_properties, "ly:get-mutable-properties",
+LY_DEFINE (ly_mutable_music_properties, "ly:mutable-music-properties",
1, 0, 0, (SCM mus),
"Return an alist containing the mutable properties of @var{mus}.\n"
- "The immutable properties are not available; "
- "they should be initialized by the @code{make-music} function.\n")
+ "The immutable properties are not available, since "
+ "they are constant and initialized by the "
+ "@code{make-music} function.\n")
{
Music *m = unsmob_music (mus);
SCM_ASSERT_TYPE (m, mus, SCM_ARG1, __FUNCTION__, "music");
Pitch *pit =unsmob_pitch (req->get_property ("pitch"));
int pos = pit ? pit->steps () : 0;
- SCM c0 = get_property ("centralCPosition");
+ SCM c0 = get_property ("middleCPosition");
if (gh_number_p (c0))
pos += gh_scm2int (c0);
/* creats*/ "NoteHead Dots",
/* accepts */ "note-event busy-playing-event",
/* acks */ "",
-/* reads */ "centralCPosition",
+/* reads */ "middleCPosition",
/* write */ "");
span_->set_property ("text", ott);
announce_grob (span_, SCM_EOL);
- SCM c0 (get_property ("centralCPosition"));
+ SCM c0 (get_property ("middleCPosition"));
SCM oc0 (get_property ("originalCentralCPosition"));
if (scm_less_p (oc0, c0) == SCM_BOOL_T)
span_->set_property ("direction", gh_int2scm (DOWN));
LY_DEFINE (ly_pitch_transpose, "ly:pitch-transpose",
2, 0, 0, (SCM p, SCM delta),
"Transpose @var{p} by the amount @var{delta}, "
- "where @var{delta} is the pitch that middle C is transposed to.")
+ "where @var{delta} is relative to middle C.")
{
Pitch* t = unsmob_pitch (p);
Pitch *d = unsmob_pitch (delta);
LY_DEFINE (pitch_octave, "ly:pitch-octave",
1, 0, 0, (SCM pp),
- "extract the octave from pitch @var{p}.")
+ "Extract the octave from pitch @var{p}.")
{
Pitch *p = unsmob_pitch (pp);
SCM_ASSERT_TYPE (p, pp, SCM_ARG1, __FUNCTION__, "Pitch");
LY_DEFINE (pitch_alteration, "ly:pitch-alteration",
1, 0, 0, (SCM pp),
- "extract the alteration from pitch @var{p}.")
+ "Extract the alteration from pitch @var{p}.")
{
Pitch *p = unsmob_pitch (pp);
SCM_ASSERT_TYPE (p, pp, SCM_ARG1, __FUNCTION__, "Pitch");
LY_DEFINE (pitch_notename, "ly:pitch-notename",
1, 0, 0, (SCM pp),
- "extract the note name from pitch @var{pp}.")
+ "Extract the note name from pitch @var{pp}.")
{
Pitch *p = unsmob_pitch (pp);
SCM_ASSERT_TYPE (p, pp, SCM_ARG1, __FUNCTION__, "Pitch");
LY_DEFINE (ly_pitch_quartertones, "ly:pitch-quartertones",
1, 0, 0, (SCM pp),
- "calculate the number of semitones of @var{p} from middle C.")
+ "Calculate the number of quarter tones of @var{p} from middle C.")
{
Pitch *p = unsmob_pitch (pp);
SCM_ASSERT_TYPE (p, pp, SCM_ARG1, __FUNCTION__, "Pitch");
LY_DEFINE (pitch_less, "ly:pitch<?",
2, 0, 0, (SCM p1, SCM p2),
- "Is @var{p1} lower than @var{p2}? "
- "This uses lexicographic ordening.")
+ "Is @var{p1} lexicographically smaller than @var{p2}?")
{
Pitch *a = unsmob_pitch (p1);
Pitch *b = unsmob_pitch (p2);
if (p)
{
int pos= p->steps ();
- SCM c0 = get_property ("centralCPosition");
+ SCM c0 = get_property ("middleCPosition");
if (gh_number_p (c0))
pos += gh_scm2int (c0);
/* creats*/ "Rest Dots",
/* accepts */ "rest-event",
/* acks */ "",
-/* reads */ "centralCPosition",
+/* reads */ "middleCPosition",
/* write */ "");
"If protection is switched on, errors in inline scheme are caught in the parser. \n"
"If off, GUILE will halt on errors, and give a stack trace. Default is protected evaluation. \n"
"@item old-relative\n"
-"Relative for simultaneous functions similar to chord syntax\n"
+"Relative for simultaneous music functions similar to chord syntax\n"
"@item new-relative\n"
-"Relative for simultaneous functions similar to sequential music\n"
+"Relative for simultaneous music functions similar to sequential music\n"
"@end table\n"
"\n"
"This function is useful to call from the command line: @code{lilypond -e\n"
LY_DEFINE (ly_grob_staff_position, "ly:grob-staff-position",
1, 0,0, (SCM sg),
- "Return the Y-position of this grob relative to the staff.")
+ "Return the Y-position of @var{sg} relative to the staff.")
{
Grob *g = unsmob_grob (sg);
if (stem_)
{
+ /*
+ toDO: junk these properties.
+ */
SCM prop = get_property ("stemLeftBeamCount");
if (gh_number_p (prop))
{
#include "stencil.hh"
+/*
+ UMGH. junkme!
+
+ */
LY_DEFINE (ly_stencil_set_extent_x,"ly:stencil-set-extent!",
3, 0, 0, (SCM stil, SCM axis, SCM np),
"Set the extent of @var{stil} "
}
LY_DEFINE (ly_stencil_get_extent,
- "ly:stencil-get-extent", 2 , 0, 0, (SCM stil, SCM axis),
+ "ly:stencil-extent", 2 , 0, 0, (SCM stil, SCM axis),
"Return a pair of numbers signifying the extent of @var{stil} in "
"@var{axis} direction (0 or 1 for x and y axis respectively).")
{
/* creats*/ "TabNoteHead Dots",
/* accepts */ "note-event string-number-event busy-playing-event",
/* acks */ "",
-/* reads */ "centralCPosition stringTunings minimumFret tablatureFormat highStringOne stringOneTopmost",
+/* reads */ "middleCPosition stringTunings minimumFret tablatureFormat highStringOne stringOneTopmost",
/* write */ "");
Scheme_hash_table *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 a list of all translator objects that may be instantiated. "
+ )
{
SCM l = global_translator_dict ? global_translator_dict->to_alist () : SCM_EOL;
def draw_portato =
save thick, radius;
thick# = 1.4 linethickness#;
- radius# = 1.7 linethickness#;
+ radius# = 1.2 linethickness# + 0.04 staff_space#;
define_whole_pixels(thick,radius);
set_char_box(.6 staff_space#, .6 staff_space#, thick#/2,.5 staff_space#+ radius#);
("petrucci_f" . ("clefs-petrucci_f" 2 0))
("petrucci_g" . ("clefs-petrucci_g" -2 0))))
-;; "an alist mapping GLYPHNAME to the position of the central C for
+;; "an alist mapping GLYPHNAME to the position of the middle C for
;; that symbol"
(define c0-pitch-alist
'(("clefs-G" . -4)
(lambda (x)
(apply translator-property-description x))
`(
- (aDueText ,string? "text for begin of a due")
+ (aDueText ,string? "Text to print at a unisono passage.")
(alignBassFigureAccidentals ,boolean?
"If true, then the accidentals are aligned in bass figure context.")
- (allowBeamBreak ,boolean? "If true allow line breaks during beams.")
+ (allowBeamBreak ,boolean? "If true allow line breaks for beams over barlines.")
(associatedVoice ,string? "Name of the
-Voice that has the melody for this Lyrics.")
+@code{Voice} that has the melody for this @code{Lyrics} line.")
(autoBeamSettings ,list? "Specifies
when automatically generated beams should begin and end.
-See the notation manual for more information. ")
+See @usermanref{Setting automatic beam behavior} for more information.
+")
(autoAccidentals ,list? "List of
different ways to typeset an accidental.
lasts forever.
@end table
")
- (autoBeaming ,boolean? "If set to true
-then beams are generated automatically.")
+ (autoBeaming ,boolean? "If set to true then beams are generated
+automatically.")
(autoCautionaries ,list? "List similar to
-autoAccidentals, but it controls cautionary accidentals rather than
+@code{autoAccidentals}, but it controls cautionary accidentals rather than
normal ones. Both lists are tried, and the one giving the most accidentals
wins. In case of draw, a normal accidental is typeset.
")
(barAlways ,boolean? "If set to true a bar line is drawn after each
note.")
- (barCheckSynchronize ,boolean? "If true then reset measurePosition
+ (barCheckSynchronize ,boolean? "If true then reset @code{measurePosition}
when finding a barcheck.")
(barNumberVisibility ,procedure? "Procedure that takes an int and
returns whether the corresponding bar number should be printed")
- (bassFigureFormatFunction ,procedure? "DOCME")
+ (bassFigureFormatFunction ,procedure? "Procedure that produces a markup text. It takes a list of @code{BassFigureEvent}s, and a context.")
(beatLength ,ly:moment? "The length of one beat in this time signature.")
(beatGrouping ,list?
- "List of beatgroups. Eg. in 5/8 time #(list 2 3).")
+ "List of beatgroups. Eg. in 5/8 time @code{'(2 3)}.")
(breakAlignOrder ,list? "Defines the order in which
@end example
")
- (centralCPosition ,number? "Place of the central C, measured in half
-staffspaces. Usually determined by looking at clefPosition and
-clefGlyph.")
+ (middleCPosition ,number? "Place of the middle C, measured in half
+staffspaces. Usually determined by looking at @code{clefPosition} and
+@code{clefGlyph}.")
(chordNameFunction ,procedure?
"The function that converts lists of pitches to chord names.")
(chordRootNamer ,procedure?
"Function that converts from a pitch object to a text markup. Used for chords.")
(chordNameExceptions ,list?
- "Alist of chord exceptions. Contains (CHORD . MARKUP) entries.")
+ "Alist of chord exceptions.
+Contains (@var{chord} . @var{markup}) entries.")
(chordNameExceptionsFull ,list?
- "Alist of chord exceptions. Contains (CHORD . (MARKUP)) entries.")
- (chordNameExceptionsPartial ,list?
- "Alist of partial chord exceptions. Contains (CHORD . (PREFIX-MARKUP SUFFIX-MARKUP)) entries.")
+ "Alist of chord exceptions.
+Contains (@var{chord} . @var{markup}) entries.")
+ (chordNameExceptionsPartial
+ ,list?
+ "Alist of partial chord exceptions. Contains (@var{chord} . (@var{prefix-markup} @var{suffix-markup})) entries.")
+
(chordNameSeparator ,markup?
- "The markup object used to separate parts of a chord name.")
-
+ "The markup object used to separate
+ parts of a chord name.")
(chordChanges ,boolean? "Only show changes in chords scheme?")
- (clefGlyph ,string? "Name of the symbol within the music font")
+ (clefGlyph ,string? "Name of the symbol within the music font.")
(clefOctavation ,integer? "Add
this much extra octavation. Values of 7 and -7 are common.")
- (clefPosition ,number? "Where should the center of the clef symbol go?
-The unit of this distance is the half staff space, and 0 represents the vertical center.")
+ (clefPosition ,number? "Where should the center of the clef
+symbol go, measured in half staff spaces from the center of the staff.")
- (connectArpeggios ,boolean? " If set, connect all arpeggios that are
-found. In this way, you can make arpeggios that cross staves. ")
+ (connectArpeggios ,boolean? " If set, connect arpeggios across
+piano staff.")
(createKeyOnClefChange ,boolean? "Print a key signature whenever the clef is changed.")
(crescendoText ,markup? "Text to print at start of non-hairpin crecscendo, ie: @samp{cresc.}")
(crescendoSpanner ,symbol? "Type of spanner to be used for crescendi.
instruments (symbols) to pitches.")
(drumStyleTable ,hash-table? "A hash table containing mapping
-drums to layout settings. Predefined values: @code{drums-style},
-@code{timbales-style}, @code{congas-style}, @code{bongos-style} and
-@code{percussion-style}.
+drums to layout settings. Predefined values: @samp{drums-style},
+@samp{timbales-style}, @samp{congas-style}, @samp{bongos-style} and
+@samp{percussion-style}.
The layout style is a hash table, containing the drum-pitches (eg. the
-symbol @code{hihat}) as key, and a list (@var{notehead-style}
+symbol @samp{hihat}) as key, and a list (@var{notehead-style}
@var{script} @var{vertical-position}) as values.
")
(currentBarNumber ,integer? "Contains the current barnumber. This property is incremented at
every barline.
")
(defaultBarType ,string? "Sets the default type of bar line.
-Available bar types: [FIXME];
+See @code{whichBar} for information on available bar types.
-This variable is typically read by Timing_engraver at Score level, so
-overriding Staff.defaultBarType will have no effect.
+This variable is read by @internalsref{Timing_engraver} at
+@internalsref{Score} level.
")
- (decrescendoSpanner ,symbol? "Type of spanner to be used for
-decrescendi. One of: @samp{hairpin}, @samp{line}, @samp{dashed-line},
-@samp{dotted-line}. If unset, hairpin type is used.")
+ (decrescendoSpanner ,symbol? "See @code{crescendoSpanner}.")
- (explicitClefVisibility ,procedure? "break-visibility function for clef changes.")
+ (explicitClefVisibility ,procedure? "@samp{break-visibility} function for clef changes.")
- (explicitKeySignatureVisibility ,procedure? "break-visibility
-function for explicit Key changes; \\override of #'break-visibility
-will set the visibility for normal (ie. at the start of the line) key
-signatures.")
+ (explicitKeySignatureVisibility ,procedure?
+"@samp{break-visibility} function for explicit key
+changes. @samp{\\override} of @samp{#'break-visibility} will set the
+visibility for normal (i.e. at the start of the line) key signatures.")
(extraNatural ,boolean? "Whether to typeset an
extra natural sign before accidentals changing from a non-natural to
another non-natural.")
(extraVerticalExtent ,number-pair?
- "extra vertical extent, same format as MinimumVerticalExtent")
+ "extra vertical extent, same format as @var{minimumVerticalExtent}")
(followVoice ,boolean? "if set, note heads are tracked across staff
switches by a thin line")
(fontSize ,number?
- "The relative size of all grobs in a context. This is
-done using the @code{Font_size_engraver}.")
+ "The relative size of all grobs in a context. ")
(fingeringOrientations ,list?
- "List of symbols, containing left, right, up and/or down. This list
+ "List of symbols, containing
+@samp{left}, @samp{right}, @samp{up} and/or @samp{down}. This list
determines where fingerings are put relative to the chord being
fingered.")
- (forceClef ,boolean? "Show clef symbol, even if it hasn't
+ (forceClef ,boolean? "Show clef symbol, even if it has not
changed. Only active for the first clef after the property is set, not
for the full staff.")
highest pitch on the instrument. This used by the automatic string
selector for tab notation.")
- (ignoreMelismata ,boolean? "Ignore melismata for this @internalsref{Lyrics}.")
- (instr ,markup? "see @code{instrument}")
+ (ignoreMelismata ,boolean? "Ignore melismata for this @internalsref{Lyrics} line.")
+ (instr ,markup? "See @code{instrument}")
(instrument ,markup? "The name to print left of a staff. The
@code{instrument} property labels the staff in the first system, and
the @code{instr} property labels following lines.")
- (instrumentEqualizer ,procedure? "[DOCUMENT-ME]")
+ (instrumentEqualizer ,procedure? "
+Function taking a string (instrument name), and returning a (@var{min} . @var{max}) pair of numbers for the loudness range of the instrument.
+")
(instrumentTransposition ,ly:pitch? "Define the transposition of the instrument. This is used to transpose the MIDI output, and @code{\\quote}s.")
- (instrumentSupport ,list? "list of grobs to attach instrument name
-to.")
- (keyAccidentalOrder ,list? "
-Alist that defines in what order alterations should be printed.
-The format is (NAME . ALTER), where NAME is from 0 .. 6 and ALTER from -1, 1.
+ (keyAccidentalOrder ,list? " Alist that defines in what order
+alterations should be printed. The format is (@var{name}
+. @var{alter}), where @var{name} is from 0 .. 6 and @var{alter} from -1, 1.
")
(keySignature ,list? "The current key signature. This is an alist
-containing (NAME . ALTER) or ((OCTAVE . NAME) . ALTER).
- where NAME is from 0.. 6 and
-ALTER from -4 (double flat) to 4 (double sharp).
+containing (@var{name} . @var{alter}) or ((@var{octave} . @var{name}) . @var{alter}).
+ where @var{name} is from 0.. 6 and
+@var{alter} from -4 (double flat) to 4 (double sharp).
")
(majorSevenSymbol ,markup? "How should
-the major7 be formatted in a chord name?")
+the major 7th be formatted in a chord name?")
(markFormatter ,procedure? "Procedure
taking as arguments context and rehearsal mark. It should return the
formatted mark as a markup object.")
(measureLength ,ly:moment? "Length of one
-measure in the current time signature last?")
+measure in the current time signature.")
(measurePosition ,ly:moment? "How much of the current measure
have we had. This can be set manually to create incomplete
(metronomeMarkFormatter ,procedure? "How to produce a metronome
markup. Called with 2 arguments, event and context.")
(midiInstrument ,string? "Name of the MIDI instrument to use ")
- (midiMinimumVolume ,number? "[DOCUMENT-ME]")
- (midiMaximumVolume ,number? "[DOCUMENT-ME]")
+ (midiMinimumVolume ,number? "Sets the minimum loudness for MIDI. Ranges from 0 to 1.")
+ (midiMaximumVolume ,number? "Analogous to @code{midiMinimumVolume}.")
(minimumFret ,number? "The tablature auto string-selecting mechanism
-selects the highest string with a fret not less than minimumFret")
+selects the highest string with a fret at least @var{minimumFret}")
(minimumVerticalExtent ,number-pair? "minimum vertical extent, same
-format as VerticalExtent")
- (recordEventSequence ,procedure? "Upon termination of this context,
-this function is called with current context and a list of music
-objects. The list of contains entries with start times, music objects
-and whether they're processed in this context.")
- (ottavation ,string? "If set, the text for an 8va spanner. Changing
-this implies a new text spanner. ")
+format as @var{verticalExtent}")
+ (recordEventSequence ,procedure? "When
+@internalsref{Recording_group_engraver} is in this context, then upon
+termination of the context, this function is called with current
+context and a list of music objects. The list of contains entries
+with start times, music objects and whether they are processed in this
+context.")
+ (ottavation ,string? "If set, the text for an ottava spanner. Changing
+this creates a new text spanner. ")
(pedalSustainStrings ,list? "List of string to print for
-sustain-pedal. Format is (UP UPDOWN DOWN), where each of the three is
-the string to print when this is done with the pedal.")
- (pedalUnaCordaStrings ,list? "see pedalSustainStrings.")
- (pedalSostenutoStrings ,list? "see pedalSustainStrings.")
+sustain-pedal. Format is (@var{up} @var{updown} @var{down}), where
+each of the three is the string to print when this is done with the
+pedal.")
+ (pedalUnaCordaStrings ,list? "See @code{pedalSustainStrings}.")
+ (pedalSostenutoStrings ,list? "See @code{pedalSustainStrings}.")
(pedalSustainStyle ,symbol? "A symbol that indicates how to print
-sustain pedals: text, bracket or mixed (both).")
- (pedalUnaCordaStyle ,symbol? "see pedalSustainStyle.")
- (pedalSostenutoStyle ,symbol? "see pedalSustainStyle.")
+sustain pedals: @code{text}, @code{bracket} or @code{mixed} (both).")
+ (pedalUnaCordaStyle ,symbol? "see @code{pedalSustainStyle}.")
+ (pedalSostenutoStyle ,symbol? "see @code{pedalSustainStyle}.")
(printOctaveNames ,boolean? "Print octave marks for the NoteNames context.")
(rehearsalMark ,integer? "The last rehearsal mark printed.")
- (repeatCommands ,list? "This property is read to find any command of the form (volta . X), where X is a string or #f")
+ (repeatCommands ,list? "This property is read to find any command of the form @{code(volta . @var{x})}, where @var{x} is a string or @code{#f}")
(restNumberThreshold ,number?
"If a multimeasure rest takes less
@end example
")
(skipTypesetting ,boolean?
- "When true, all no typesetting is done at this
-moment, causing the interpretation phase to go a lot faster. This can
-help with debugging large scores.")
+ "When true, all no typesetting is done, speeding
+up the interpretation phase. This speeds up debugging large scores.")
(soloADue ,boolean? "set Solo/A due texts in the part combiner?")
(soloIIText ,string? "text for begin of solo for voice ``two'' when part-combining.")
(soloText ,string? "text for begin of solo when part-combining.")
- (sparseTies ,boolean? "only create one tie per chord.")
(squashedPosition ,integer? " Vertical position of
-squashing for Pitch_squash_engraver.")
+squashing for @internalsref{Pitch_squash_engraver}.")
(stringOneTopmost ,boolean? "Whether the 1st string is printed on the
top line of the tablature.")
(stemLeftBeamCount ,integer? " Specify the number of beams to draw on
the left side of the next note. Overrides automatic beaming. The
-value is only used once, and then it is erased. [JUNKME.]")
+value is only used once, and then it is erased.")
- (stemRightBeamCount ,integer? "idem, for the right side. [JUNKME]")
+ (stemRightBeamCount ,integer? "See @code{stemLeftBeamCount}.")
- (stringTunings ,list? "The tablature strings tuning. Must be a list of
-the different semitons pitch of each string (starting by the lower
+ (stringTunings ,list? "The tablature strings tuning. It is a list
+of the pitch (in semitones) of each string (starting with the lower
one).")
(subdivideBeams ,boolean? "If set, multiple beams will be subdivided
-at beat positions - by only drawing one beam over the beat.")
+at beat positions by only drawing one beam over the beat.")
(systemStartDelimiter ,symbol? "Which grob to make for the start of
the system/staff? Set to @code{SystemStartBrace},
returns the text as a string.")
(timeSignatureFraction ,number-pair?
- "pair of numbers, signifying the time signature. For example #'(4 . 4)
-is a 4/4 time signature.")
+ "pair of numbers, signifying the time
+signature. For example @code{#'(4 . 4)} is a 4/4 time signature.")
(timing ,boolean? " Keep administration of measure length, position, bar number, etc?
Switch off for cadenzas.")
(tonic ,ly:pitch?
"The tonic of the current scale")
- (tremoloFlags ,integer? "Number of tremolo flags to add if none is specified.")
+ (tremoloFlags ,integer? "Number of tremolo flags to add if no
+number is specified.")
(tupletNumberFormatFunction
,procedure?
@@end lilypond
@end example
.")
- (verticalAlignmentChildCallback ,procedure? "what callback to add to children of a vertical alignment.
-It determines what alignment procedure is used on the alignment
-itself. .")
- (verticalExtent ,number-pair? "hard coded vertical extent. The format
+ (verticalAlignmentChildCallback ,procedure? "What callback to add
+to children of a vertical alignment. It determines what
+procedure is used on the alignment itself.")
+ (verticalExtent ,number-pair? "Hard coded vertical extent. The format
is a pair of dimensions, for example, this sets the sizes of a staff
to 10 (5+5) staffspaces high.
@example
-property Staff.verticalExtent = #'(-5.0 . 5.0)
+\set Staff.verticalExtent = #'(-5.0 . 5.0)
@end example
(vocNam ,markup? "Name of a vocal line, short version.")
(voltaOnThisStaff ,boolean?
- "Normally, volta brackets are put only on the topmost staff. Setting
-this variable to true, will force a bracket to be on this staff as
-well.")
+ "Normally, volta brackets are put only on the
+topmost staff. Setting this variable will create a bracket on
+this staff as well.")
(voltaSpannerDuration ,ly:moment? "This specifies the maximum duration
to use for the brackets printed for @code{\\alternative}. This can be
Example:
@example
-\\property Staff.whichBar = \"|:\"
+\\set Staff.whichBar = \"|:\"
@end example
This will create a start-repeat bar in this staff only.
`((slurMelismaBusy ,boolean? "Signal if a slur is present.")
(originalCentralCPosition
,integer?
- "Used for temporary overriding central C in octavation brackets. ")
+ "Used for temporary overriding middle C in octavation brackets. ")
(melismaBusy ,boolean? "Signifies
whether a melisma is active. This can be used to signal melismas on
top of those automatically detected. ")
")
(quotes ,hash-table? "Hash table, mapping names to music-event vectors.")
(stavesFound ,grob-list? "list of all staff-symbols found.")
+ (instrumentSupport ,ly:grob-list? "list of grobs to attach instrument name
+to.")
(tieMelismaBusy ,boolean? "Signal whether a tie is present.")
)
))
(accidentals ,list? "List of alteration numbers.")
- (align-dir ,ly:dir? "Which side to ,align? -1: left side, 0: around center of width, 1: right side.")
- (arch-angle ,number? "turning angle of the hook of a system brace" )
- (arch-height ,ly:dimension? "height of the hook of a system brace.")
- (arch-thick ,number? "thickness of the hook of system brace.")
- (arch-width ,ly:dimension? "width of the hook of a system brace.")
+ (align-dir ,ly:dir? "Which side to align? @code{-1}: left side,
+@code{0}: around center of width, @code{1}: right side.")
+ (arch-angle ,number? "Turning angle of the hook of a system brace" )
+ (arch-height ,ly:dimension? "Height of the hook of a system brace.")
+ (arch-thick ,number? "Thickness of the hook of system brace.")
+ (arch-width ,ly:dimension? "Width of the hook of a system brace.")
(arpeggio-direction ,ly:dir? "If set, put an
arrow on the arpeggio squiggly line.")
- (attachment ,pair? "cons of symbols
+ (attachment ,pair? "Pair of symbols
indicating how a slur should be attached at the ends. The format is
-'(LEFT-TYPE . RIGHT-TYPE), where both TYPEs are symbols. The values of
-these symbols may be alongside-stem, stem, head or loose-end.")
+'(@var{left-type} . @var{right-type}), where both @var{type}s are
+symbols. The values of these symbols may be @code{alongside-stem},
+@code{stem}, @code{head} or @code{loose-end}.")
(attachment-offset ,pair? "cons of offsets,
'(@var{left-offset} . @var{right-offset}). This offset is added to
the attachments to prevent ugly slurs. [fixme: we need more
documentation here].")
- ;; ancient notation
-
- ;;;;;;; TODO:
- ;; there are too many properties for ancient notation
- ;; probably neume-types (a list of symbols) would also work.
-
- (auctum ,boolean? "is this neume augmented?")
- (ascendens ,boolean? "is this neume of an ascending?")
- (add-cauda ,boolean? "does this flexa require an additional cauda on the left side?")
- (add-join ,boolean? "is this ligature head joined with the next one by a vertical line?")
- (cavum ,boolean? "is this neume outlined?")
- (descendens ,boolean? "is this neume of a descendent type?")
- (deminutum ,boolean? "is this neume deminished?")
- (flexa-height ,ly:dimension? "height of a flexa shape in a ligature grob in staff_space.")
- (flexa-width ,ly:dimension? "width of a flexa shape in a ligature grob in staff_space.")
- (join-heads ,boolean? "Whether to join the noteheads of an ambitus grob with a vertical line.")
- (linea ,boolean? "attach vertical lines to this neume?")
-
-
- (add-stem ,boolean? "is this ligature head a virga and therefore needs an additional stem on the right side?")
- (adjust-if-on-staffline ,boolean? "If this grob is on a staff line, adjust its appearance, so that it better fits into the staff. E.g., if set true on stem grobs, flares of mensural flags will always be aligned with the staff lines, regardless if the associated note head is printed on a staff line or inbetween.")
- (join-left ,boolean? "is this ligature head joined with the previous one by a vertical line?")
- (context-info ,integer? "")
- (inclinatum ,boolean? "is this neume an inclinatum?")
- (note-head-style ,string? "name of the font character to be used as note heads in the ambitus grob.")
- (oriscus ,boolean? "is this neume an oriscus?")
- (quilisma ,boolean? "is this neume a quilisma?")
- (pes-or-flexa ,boolean? "shall this neume be joined with the previous head?")
- ;; DOCME
- (prefix-set ,number? "")
- (stropha ,boolean? "is this neume a stropha?")
- (virga ,boolean? "is this neume a virga?")
- (x-offset ,ly:dimension? "extra horizontal offset for ligature heads.")
-
- ;; end ancient notation
-
(auto-knee-gap ,ly:dimension? "If a gap is found between noteheads
where a horizontal beam fits that is larger than this number, make a kneed beam.")
break-direction and returns the glyph at a line break.")
(breakable ,boolean? "Can this object appear at a line break,
like clefs and barlines?")
- (c0-position ,integer? "integer indicating the position of central C.")
+ (c0-position ,integer? "An integer indicating the position of
+middle C.")
(cautionary-style ,symbol? "How to print cautionary
-accidentals. Choices are @code{smaller} (one size smaller) or
+accidentals. Choices are @code{smaller} or
@code{parentheses}.")
- (cautionary ,boolean? "is this a cautionary accidentals.?")
+ (cautionary ,boolean? "Is this a cautionary accidental?")
(concaveness-gap ,ly:dimension? "A beam is printed horizontally
-if its gap is larger than this value.
-
-The gap is the distance of an inner notehead to the line between two
-outer noteheads is bigger than this gap. ")
+if its concaveness-gap is larger than this value. The concaveness-gap
+is the distance of an inner notehead to the line between two outer
+noteheads. ")
(concaveness-threshold ,number? "A beam is printed horizontally
if its concaveness is bigger than this threshold.
much edges of brackets should slant outward. Value 0.0 means straight
edges")
- (edge-text ,pair? "a cons that specifies the texts to be set at the edges '(@var{left-text} . @var{right-text}).")
+ (edge-text ,pair? "A pair specifying the texts to be set at the
+edges '(@var{left-text} . @var{right-text}).")
(expand-limit ,integer? "maximum number of measures expanded in church rests.")
;; remove me?
(extra-X-extent ,number-pair? "A grob is enlarged in X dimension
by this much.")
- (extra-Y-extent ,number-pair? "see @code{extra-Y-extent}.")
+ (extra-Y-extent ,number-pair? "See @code{extra-Y-extent}.")
(X-extent ,number-pair? "Hard coded extent in X direction. ")
- (Y-extent ,number-pair? "Hard coded extent in Y direction. ")
+ (Y-extent ,number-pair? "See @code{X-extent}.")
(extra-offset ,number-pair? "A pair representing an offset. This
offset is added just before outputting the symbol, so the typesetting
(font-family ,symbol? "The font family is the broadest category for selecting a font. Options include: @code{music}, @code{roman}, etc... ")
(font-name ,string? "Specifies a file name (without extension) of
the font to load. This setting override selection using
-@code{font-family},@code{font-series} and @code{font-shape}.")
+@code{font-family}, @code{font-series} and @code{font-shape}.")
(font-magnification ,number? "Magnification of the font, when it
is selected with @code{font-name}.")
(grace-space-factor ,number? "Space grace notes at this fraction
of the @code{spacing-increment}.")
- (grow-direction ,ly:dir? "crescendo or decrescendo?")
- (hair-thickness ,number? "thickness of the thin line in a barline.")
- (height ,ly:dimension? "height of an object in staffspace.")
+ (grow-direction ,ly:dir? "Crescendo or decrescendo?")
+ (hair-thickness ,number? "Thickness of the thin line in a barline.")
+ (height ,ly:dimension? "Height of an object in staffspace.")
(height-limit ,ly:dimension? "Maximum slur height: the longer the
slur, the closer it is to this height.")
(horizontal-shift ,integer? "An integer that identifies ranking
of note-column for horizontal shifting. This is used by
@internalsref{note-collision-interface}.")
- (kern ,ly:dimension? "amount of extra white space to add. For
+ (kern ,ly:dimension? "Amount of extra white space to add. For
barline, this is the amount of space after a thick line.")
(knee ,boolean? "Is this beam kneed?")
(knee-spacing-correction ,number? "Factor for the optical
-correction amount for knees. Set between 0 for no correction and 1 for
-full correction.")
+correction amount for kneed beams. Set between 0 for no correction and
+1 for full correction.")
(layer ,number? "The output layer [0..2]: layers define the order
of printing objects. Objects in lower layers are overprinted by
objects in higher layers.")
sum of 2 numbers. The first is the factor for linethickness, and the
second for staff space. Both contributions are added.")
(left-position ,number? "Vertical position of left part of spanner.")
- (left-padding ,ly:dimension? "The amount space that is put left
-to a group of accidentals.")
+ (left-padding ,ly:dimension? "The amount of space that is put
+left to a group of accidentals.")
(length ,ly:dimension? "User override for the stem length of
unbeamed stems.")
(lengths ,list? "Default stem lengths. The list gives a length
(measure-length ,ly:moment? "Length of a
measure. Used in some spacing situations.")
- (measure-count ,integer? "number of measures for a multimeasure rest.")
+ (measure-count ,integer? "The number of measures for a
+multimeasure rest.")
(merge-differently-headed ,boolean? "Merge
noteheads in collisions, even if they have different note heads. The
smaller of the two heads will be rendered invisible. This used
(merge-differently-dotted ,boolean? "Merge noteheads in
collisions, even if they have a different number of dots. This normal
-notation for some types of polyphonic music. The value of this setting
-is used by @internalsref{note-collision-interface} .")
+notation for some types of polyphonic music. ")
(minimum-distance ,ly:dimension? "Minimum distance between rest
and notes or beam.")
should move (after padding).")
(print-function ,procedure? "Function taking grob as argument,
returning a @code{Stencil} object.")
- (new-accidentals ,list? "list of @code{(@var{pitch}
+ (new-accidentals ,list? "List of @code{(@var{pitch}
. @var{accidental})} pairs.")
(no-spacing-rods ,boolean? "Items with this property do not cause
spacing constraints.")
(no-stem-extend ,boolean? "If set, notes with ledger lines do not
get stems extending to the middle staff line.")
- (old-accidentals ,list? "list of @code{(@var{pitch} . @var{accidental})
+ (old-accidentals ,list? "List of @code{(@var{pitch} . @var{accidental})
pairs.}")
(enclose-bounds ,number?
text-spanner on both sides, for example a pedal bracket")
(common-shortest-duration ,ly:moment?
"The most common shortest note length.
-This is used in spacing. Making this larger will make the score tighter.")
+This is used in spacing. Enlarging this will set the score tighter.")
(shortest-duration-space ,ly:dimension? "Start with this much
space for the shortest duration. This is explessed in
@code{spacing-increment} as unit. See also
note that starts here.")
(side-relative-direction ,ly:dir?
"Multiply direction of
-@code{direction-source} to get the direction of this object.")
+@code{direction-source} with this to get the direction of this
+object.")
(slope ,number? "The slope of this object.")
(slope-limit ,number? "Set slope to zero if slope is running away
steeper than this.")
@code{before-line-breaking-callback}.")
(stacking-dir ,ly:dir? "Stack objects in which direction?")
(staff-space ,ly:dimension? "Amount of space between staff lines,
-expressed global staffspace.")
+expressed in global staffspace.")
(staff-position ,number? "Vertical position, measured in half
staff spaces, counted from the middle line.")
(staffline-clearance ,ly:dimension? "How far away ties keep from
;;[TODO: doco]
(stem-spacing-correction ,number? "Optical correction amount for
stems that are placed in tight configurations. For opposite
-directions, this amount is the amount of correction when two normal
-sized stems overlap completely.")
+directions, this amount is the correction for two normal sized stems
+that overlap completely.")
(style ,symbol? "This setting determines in what style a grob is
typeset. Valid choices depend on the @code{print-function} that is
reading this property.")
(use-breve-rest ,boolean? "Use breve rests for measures longer
than a whole rest.")
+
+
+
+ ;; ancient notation
+
+ ;;;;;;; TODO:
+ ;; there are too many properties for ancient notation
+ ;; probably neume-types (a list of symbols) would also work.
+
+ (auctum ,boolean? "is this neume augmented?")
+ (ascendens ,boolean? "is this neume of an ascending?")
+ (add-cauda ,boolean? "does this flexa require an additional cauda on the left side?")
+ (add-join ,boolean? "is this ligature head joined with the next one by a vertical line?")
+ (cavum ,boolean? "is this neume outlined?")
+ (descendens ,boolean? "is this neume of a descendent type?")
+ (deminutum ,boolean? "is this neume deminished?")
+ (flexa-height ,ly:dimension? "height of a flexa shape in a ligature grob in staff_space.")
+ (flexa-width ,ly:dimension? "width of a flexa shape in a ligature grob in staff_space.")
+ (join-heads ,boolean? "Whether to join the noteheads of an ambitus grob with a vertical line.")
+ (linea ,boolean? "attach vertical lines to this neume?")
+
+
+ (add-stem ,boolean? "is this ligature head a virga and therefore needs an additional stem on the right side?")
+ (join-left ,boolean? "is this ligature head joined with the previous one by a vertical line?")
+ (context-info ,integer? "DOCME")
+ (inclinatum ,boolean? "is this neume an inclinatum?")
+ (note-head-style ,string? "name of the font character to be used as note heads in the ambitus grob.")
+ (oriscus ,boolean? "is this neume an oriscus?")
+ (quilisma ,boolean? "is this neume a quilisma?")
+ (pes-or-flexa ,boolean? "shall this neume be joined with the previous head?")
+ ;; DOCME
+ (prefix-set ,number? "")
+ (stropha ,boolean? "Is this neume a stropha?")
+ (virga ,boolean? "Is this neume a virga?")
+ (x-offset ,ly:dimension? "Extra horizontal offset for ligature heads.")
+
+ ;; end ancient notation
+
+
)))
(define-public all-backend-properties
(print-function . ,Custos::print)
(break-visibility . ,end-of-line-visible)
(style . vaticana)
- (neutral-position . 0)
(neutral-direction . -1)
- (adjust-if-on-staffline . #t)
(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
(space-alist . (
(first-note . (minimum-fixed-space . 0.0))
def conv (str):
str = re.sub (r'\\threeq(flat|sharp)', r'\\sesqui\1', str)
+ str = re.sub (r'ly:stencil-get-extent',
+ 'ly:stencil-extent', str)
+ str = re.sub (r'ly:translator-find',
+ 'ly:context-find', str)
+ str = re.sub ('ly:context-unset-property',
+ 'ly:unset-context-property', str)
+
+ str = re.sub (r'ly:get-mutable-properties',
+ 'ly:mutable-music-properties',str)
+ str = re.sub (r'centralCPosition',
+ 'middleCPosition',str)
return str
conversions.append (((2,1,30), conv,
- '\\threeq{flat,sharp} -> \\sesqui{flat,sharp}'))
+ '''\\threeq{flat,sharp} -> \\sesqui{flat,sharp}
+ly:get-mutable-properties -> ly:mutable-music-properties
+centralCPosition -> middleCPosition
+ly:unset-context-property -> ly:unset-context-property
+ly:translator-find -> ly:context-find
+ly:get-stencil-extent -> ly:stencil-extent
+'''))
################################
# END OF CONVERSIONS