@section Chord names
@lilypondfile[printfilename]{chord-names.ly}
+
@lilypondfile[printfilename]{chord-changes.ly}
+@section Figured bass
+@lilypondfile[printfilename]{figured-bass.ly}
@section Grace notes
Grace note do weird things with timing. Fragile.
-
@lilypondfile[printfilename]{grace.ly}
@lilypondfile[printfilename]{grace-bar-line.ly}
@lilypondfile[printfilename]{grace-nest4.ly}
@lilypondfile[printfilename]{grace-nest5.ly}
+
@lilypondfile[printfilename]{grace-nest1.ly}
@lilypondfile[printfilename]{grace-start.ly}
@lilypondfile[printfilename]{beam-position.ly}
+
@lilypondfile[printfilename]{auto-beam-bar.ly}
+@lilypondfile[printfilename]{beam-over-barline.ly}
+
@lilypondfile[printfilename]{beam-rest.ly}
@lilypondfile[printfilename]{beam-length.ly}
@lilypondfile[printfilename]{triplets.ly}
+@lilypondfile[printfilename]{beaming-ternary-metrum.ly}
@section Slurs
{
#ifndef NDEBUG
if (internal_type_checking_global_b)
- assert (type_check_assignment (s, v, ly_symbol2scm ("backend-type?")));
+ assert (type_check_assignment (s, v, ly_symbol2scm ("music-type?")));
#endif
#include "string.hh"
#include "lily-guile.hh"
#include "scm-option.hh"
-
+#include "warn.hh"
/*
This interface to option setting is meant for setting options are
")<<endl;
cout << " help (any-symbol)"<<endl;
- cout << " internal-type-checks #t"<<endl;
+ cout << " internal-type-checking (boolean)"<<endl;
cout << " midi-debug (boolean)"<<endl;
cout << " testing-level (int)"<<endl;
{
testing_level_global = gh_scm2int (val);
}
- else if (var == ly_symbol2scm ("internal-type-checks"))
+ else if (var == ly_symbol2scm ("internal-type-checking"))
{
internal_type_checking_global_b = to_boolean (val);
}
*/
;
-
}
+ else
+ {
+ warning (_("Unknown internal option!"));
+ }
+
return SCM_UNSPECIFIED;
}
we can't kill the children, since we don't want to the
previous note to bump into the span arpeggio; so we make
it transparent. */
- arpeggios_[i]->set_grob_property ("molecule-callback", SCM_BOOL_T);
+ arpeggios_[i]->set_grob_property ("molecule-callback", SCM_EOL);
}
typeset_grob (span_arpeggio_);
if (gh_number_p (prop))
{
Stem::set_beaming (stem_p_,gh_scm2int (prop),LEFT);
- daddy_trans_l_->set_property ("stemLeftBeamCount", SCM_UNDEFINED);
+ daddy_trans_l_->unset_property (ly_symbol2scm ("stemLeftBeamCount"));
}
prop = get_property ("stemRightBeamCount");
if (gh_number_p (prop))
{
Stem::set_beaming (stem_p_,gh_scm2int (prop), RIGHT);
- daddy_trans_l_->set_property ("stemRightBeamCount", SCM_UNDEFINED);
+ daddy_trans_l_->unset_property (ly_symbol2scm ("stemRightBeamCount"));
}
continue;
// it->breakable || it->musical
+
+ /*
+ sloppy with typnig left/right-neighbors should take list, but paper-column found instead.
+ */
SCM ln = cols[i] ->get_grob_property ("left-neighbors");
if (!gh_pair_p (ln) && i )
{
- cols[i]->set_grob_property ("left-neighbors", cols[i-1]->self_scm());
+ cols[i]->set_grob_property ("left-neighbors", gh_cons (cols[i-1]->self_scm(), SCM_EOL));
}
SCM rn = cols[i] ->get_grob_property ("right-neighbors");
if (!gh_pair_p (rn) && i < cols.size () - 1)
{
- cols[i]->set_grob_property ("right-neighbors", cols[i + 1]->self_scm());
+ cols[i]->set_grob_property ("right-neighbors", gh_cons (cols[i + 1]->self_scm(), SCM_EOL));
}
}
}
{
#ifndef NDEBUG
if (internal_type_checking_global_b)
- assert (type_check_assignment (sym, val, ly_symbol2scm ("backend-type?")));
+ assert (type_check_assignment (sym, val, ly_symbol2scm ("translation-type?")));
#endif
properties_dict ()->set (sym, val);
(grob-property-description 'script-molecule pair? "index code for script.")
(grob-property-description 'accidentals-grob ly-grob? "accidentals for this note.")
+
+(grob-property-description 'causes list? "list of cause objects.")
+(grob-property-description 'tremolo-flags number? "")
+(grob-property-description 'chord-tremolo boolean? "if set, this beam is a tremolo. TODO: use interface for this!")