Mats> write \time C; to get the C and \time 4/4; to get the numbers.
   Mats> Also, in some occasions you only want e.g. a single 4 to denote
   Mats> 4/4 or even a C2 to denote 3/2 which means that the symbol name
   Mats> itself doesn't uniquely decide the time signature. Yet another
   Mats> syntax problem to solve.

   I agree.

   The work I've done so far distinguishes 4/4 from C, but it doesn't go
   far enough.

   I think that we're going to have to divorce the time from the time
   signature.

   So
           \time 4/4;
   will say 4 crotchets to a bar, and in the absence of  a \timesig
   directive will generate the two stacked fours symbol.

           \timesig "C";

   generates a broken circle; and in the absence of a
   \time directive indicates 4 crotchets to the bar.

         \time 12/8; \timesig "C"; 

   would be appropriate for setting the Moonlight Sonata right hand part
   (all triplets, not marked as such).

It would also be nice if you don't have to `pack' the inforation in
the parser,ie.

   +    | TIME_T unsigned {
   +            switch ($2)
   +            {
   +            case 2: // allabreve
   +            case 3: // Tempus Perfecta, prolationem imperfecta
   [..]
   +            else if (*$2 == "C2")
   +                    m->beats_i_ = 2;
   +            if (m->beats_i_ == 0){
   +                    THIS->parser_error (_f ("not a timesig: %s", (char *)$2));
   +                    delete m;

And then unpack it in the translator.


             int b_i= m_l->beats_i_;
             int o_i = m_l->one_beat_i_;
   +      if (o_i == 0)
   +              switch(b_i)
   +              {
   +              case 2: /* allabreve; 2/2; split time */
   +                      /* FALLTHROUGH */
   [..]
   +                      break;
   +              default: /* shouldn't ever happen but just in case */
   +                      o_i = 4;
   +              }
             if (! time_.allow_time_signature_change_b())


Perhaps we could maintain the present \time syntax, and
have a property, eg.

     \property Staff.timeSignatureStyle = "C"
     \property Staff.timeSignatureStyle = "C2"


etc. for determining what to print.   Then

     \property Staff.timeSignatureStyle = ""

would reset the style to stacked numbers.  That is consistent with the
idea that "C" and "C2" are just presentation issues, and \time 4/4 vs
\time 2/2 is a more "musical" idea.



-- 

Han-Wen Nienhuys, [EMAIL PROTECTED] ** GNU LilyPond - The Music Typesetter 
      http://www.cs.uu.nl/people/hanwen/lilypond/index.html 

Reply via email to