* lily/timing-translator.cc: list properties.
(start_translation_timestep): update internalBarNumber too.
* scm/define-context-properties.scm
(all-user-translation-properties): add internalBarNumber.
2006-10-03 Han-Wen Nienhuys <hanwen@lilypond.org>
+ * lily/multi-measure-rest-engraver.cc: use internalBarNumber
+
+ * lily/timing-translator.cc: list properties.
+ (start_translation_timestep): update internalBarNumber too.
+
+ * scm/define-context-properties.scm
+ (all-user-translation-properties): add internalBarNumber.
+
* input/regression/spacing-no-note.ly: new file.
* buildscripts/output-distance.py (link_file): verbosity for OSError.
int
Accidental_engraver::get_bar_number ()
{
- SCM barnum = get_property ("currentBarNumber");
+ SCM barnum = get_property ("internalBarNumber");
SCM smp = get_property ("measurePosition");
int bn = robust_scm2int (barnum, 0);
"autoAccidentals "
"autoCautionaries "
+ "internalBarNumber "
"extraNatural "
"harmonicAccidentals "
"localKeySignature",
}
start_measure_
- = scm_to_int (get_property ("currentBarNumber"));
+ = scm_to_int (get_property ("internalBarNumber"));
}
bar_seen_ = bar_seen_ || scm_is_string (get_property ("whichBar"));
last_rest_ = mmrest_;
last_numbers_ = numbers_;
- int cur = scm_to_int (get_property ("currentBarNumber"));
+ int cur = scm_to_int (get_property ("internalBarNumber"));
int num = cur - start_measure_;
/*
ADD_TRANSLATOR (Multi_measure_rest_engraver,
/* doc */
"Engraves multi-measure rests that are produced with @code{R}. Reads "
- "measurePosition and currentBarNumber to determine what number to print "
+ "measurePosition and internalBarNumber to determine what number to print "
"over the MultiMeasureRest. Reads measureLength to determine if it "
"should use a whole rest or a breve rest to represent 1 measure ",
/* create */ "MultiMeasureRest MultiMeasureRestNumber MultiMeasureRestText",
/* accept */ "multi-measure-rest-event multi-measure-text-event",
/* read */
- "currentBarNumber "
+ "internalBarNumber "
"restNumberThreshold "
"breakableSeparationItem "
"currentCommandColumn "
{
context ()->add_alias (ly_symbol2scm ("Timing"));
context ()->set_property ("currentBarNumber", scm_from_int (1));
+ context ()->set_property ("internalBarNumber", scm_from_int (1));
context ()->set_property ("timeSignatureFraction",
scm_cons (scm_from_int (4), scm_from_int (4)));
measposp += dt;
- SCM barn = get_property ("currentBarNumber");
- int b = 0;
- if (scm_is_number (barn))
- b = scm_to_int (barn);
+ int current_barnumber = robust_scm2int (get_property ("currentBarNumber"), 0);
+ int internal_barnumber = robust_scm2int (get_property ("internalBarNumber"), 0);
SCM cad = get_property ("timing");
bool c = to_boolean (cad);
while (c && measposp.main_part_ >= len)
{
measposp.main_part_ -= len;
- b++;
+ current_barnumber ++;
+ internal_barnumber ++;
}
- context ()->set_property ("currentBarNumber", scm_from_int (b));
+ context ()->set_property ("currentBarNumber", scm_from_int (current_barnumber));
+ context ()->set_property ("internalBarNumber", scm_from_int (internal_barnumber));
context ()->set_property ("measurePosition", measposp.smobbed_copy ());
}
"@code{Staff}. "
"\n\nThis engraver adds the alias @code{Timing} to its containing context.",
- "", "", "", "");
+ "", "",
+
+ "internalBarNumber "
+ "currentBarNumber "
+ "measureLength "
+ "measurePosition ",
+
+ "internalBarNumber "
+ "currentBarNumber "
+ "measurePosition "
+ );
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 bar line.
-")
+ (currentBarNumber ,integer? "Contains the current barnumber. This property is incremented at every bar line. ")
(defaultBarType ,string? "Sets the default type of bar line.
See @code{whichBar} for information on available bar types.
the instrument. Its value is the pitch that sounds like middle C. This
is used to transpose the MIDI output, and @code{\\quote}s.")
+ (internalBarNumber ,integer? "Contains the current barnumber. This property is used for internal timekeeping, among others by the @code{Accidental_engraver}.")
+
(keepAliveInterfaces ,list? "List of symbols, signifying grob interfaces that
are worth keeping an staff with @code{remove-empty} set around for.")
(keyAlterationOrder ,list? " Alist that defines in what order