]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/multi-measure-rest-engraver.cc: use internalBarNumber
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 3 Oct 2006 15:18:07 +0000 (15:18 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 3 Oct 2006 15:18:07 +0000 (15:18 +0000)
* lily/timing-translator.cc: list properties.
(start_translation_timestep): update internalBarNumber too.

* scm/define-context-properties.scm
(all-user-translation-properties): add internalBarNumber.

ChangeLog
lily/accidental-engraver.cc
lily/multi-measure-rest-engraver.cc
lily/timing-translator.cc
scm/define-context-properties.scm

index 120caf6c80304a9815084b383c59f816ce617899..4ee358d5da6a2625fce6c5d39f0dda677b46d7ba 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 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.
index e08d3b377186e4daaf4ede19403d89710070ddb9..3bd03fb69719c684e598189a7a8675bf47a51f6c 100644 (file)
@@ -289,7 +289,7 @@ number_accidentals (bool *different,
 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);
@@ -603,6 +603,7 @@ ADD_TRANSLATOR (Accidental_engraver,
 
                "autoAccidentals "
                "autoCautionaries "
+               "internalBarNumber "
                "extraNatural "
                "harmonicAccidentals "
                "localKeySignature",
index 20199593994f1ba0c0386daf56cce529c6af20aa..cee2e3d891b7d27bad30ee007e10f7d9f4cf3e50 100644 (file)
@@ -137,7 +137,7 @@ Multi_measure_rest_engraver::process_music ()
        }
 
       start_measure_
-       = scm_to_int (get_property ("currentBarNumber"));
+       = scm_to_int (get_property ("internalBarNumber"));
     }
 
   bar_seen_ = bar_seen_ || scm_is_string (get_property ("whichBar"));
@@ -204,7 +204,7 @@ Multi_measure_rest_engraver::start_translation_timestep ()
       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_;
 
       /*
@@ -251,13 +251,13 @@ Multi_measure_rest_engraver::finalize ()
 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 "
index a5cf4adb3f6441d6efe2f9572a330595359de2d4..d7929181716a635177523b7c657afd935dd33d05 100644 (file)
@@ -40,6 +40,7 @@ Timing_translator::initialize ()
 {
   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)));
@@ -102,10 +103,8 @@ Timing_translator::start_translation_timestep ()
 
   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);
@@ -114,10 +113,12 @@ Timing_translator::start_translation_timestep ()
   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 ());
 }
 
@@ -132,4 +133,14 @@ ADD_TRANSLATOR (Timing_translator,
                "@code{Staff}. "
                "\n\nThis engraver adds the alias @code{Timing} to its containing context.",
 
-               "", "", "", "");
+               "", "",
+
+               "internalBarNumber "
+               "currentBarNumber "
+               "measureLength "
+               "measurePosition ",
+
+               "internalBarNumber "
+               "currentBarNumber "
+               "measurePosition "
+               );
index 7aa2fce12371aec320751081ab4d64fc97b60c7e..e55c2fb8c0958420101d12db9c43278c67a83f0c 100644 (file)
@@ -187,9 +187,7 @@ The layout style is a hash table, containing the drum-pitches (e.g. the
 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.
 
@@ -270,6 +268,8 @@ Function taking a string (instrument name), and returning a (@var{min} . @var{ma
 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