rests = \notes {
r r r r r r r r r r r r r r r r
}
+different =< \context Voice = one {
+ \stemup
+ \notes \relative c'' {
+ r8 a e4 a e
+ }
+ }
+ \context Voice = two {
+ \stemdown
+ \notes \relative c'' {
+ r1
+ }} >
scales = \context Staff \notes <
\context Voice=i { \stemup r1 r2 r2 \scale c''1 c'2 a'2 \rests }
[c8 r8 c8 c8]
[c''8 r8 c''8 c''8]
[c'8 r8 r8 c'''8]
-
+ \different
}
}
p->set_elt_property ("rest-collision", me->self_scm ());
}
+
+/*
+ Combination of dot-count and duration-log.
+ */
static SCM
head_characteristic (Score_element * col)
{
// meisjes met meisjes
if (!notes.size())
{
-
- /*
- FIXME: col2rhythmic_head and rhythmic_head2mom sucks bigtime.
-
- */
SCM characteristic = head_characteristic (rests[0]);
int i = 1;
for (; i < rests.size (); i++)
display_count = rests.size ();
/*
- UGH. Should get dims from table. Should have minimum dist.
+ Ugh. Should have minimum dist.
+
+ Ugh. What do we do if we have three different rests?
+
*/
- int dy = display_count > 2 ? 6 : 4;
+ int dy = display_count > 2 ? 6 : 4; // FIXME Should get dims from table.
if (display_count > 1)
{
- Note_column::translate_rests (rests[0],dy);
- Note_column::translate_rests (rests[1], -dy);
+ Direction d0 = Note_column::dir (rests[0]);
+ Direction d1 = Note_column::dir (rests[1]);
+
+ if (!d0 && !d1)
+ {
+ d0= UP;
+ d1 = DOWN;
+ }
+ else if (!d0)
+ d0 = - d1;
+ else if (!d1)
+ d1 = -d0;
+
+ Note_column::translate_rests (rests[0],d0 *dy);
+ Note_column::translate_rests (rests[1], d1 *dy);
}
}
// meisjes met jongetjes