source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "part-combine-music.hh"
Translator_group * dest =
it->report_to_l ()->find_create_translator_l (to_type, to_id);
current->remove_translator_p (last);
- dest->add_group_translator (last);
+ dest->add_used_group_translator (last);
}
else
{
{
if (iter->ok ())
{
- for (SCM i = iter->get_music (m); gh_pair_p (i); i = gh_cdr (i))
+ for (SCM i = iter->get_music (m); gh_pair_p (i); i = ly_cdr (i))
{
- Music *m = unsmob_music (gh_car (i));
+ Music *m = unsmob_music (ly_car (i));
if (Melodic_req *r = dynamic_cast<Melodic_req *> (m))
*pitches = gh_cons (r->get_mus_property ("pitch"), *pitches);
if (Rhythmic_req *r = dynamic_cast<Rhythmic_req *> (m))
- *durations = gh_cons (r->get_mus_property ("duration"), *durations);
+ {
+ SCM d = r->get_mus_property ("duration");
+ if (d == SCM_EOL)
+ r->origin ()->warning ("Rhythmic_req has no duration\n");
+ else
+ // *durations = gh_cons (r->get_mus_property ("duration"), *durations);
+ *durations = gh_cons (d, *durations);
+ }
}
}
}
Translator_group *first_translator = first_iter_p_->report_to_l ()->find_create_translator_l (w, "one" + suffix_);
- SCM s = first_translator->get_property (ly_symbol2scm ("changeMoment"));
+ SCM s = first_translator->get_property ("changeMoment");
if (!gh_pair_p (s))
return state;
- Moment change_mom = *unsmob_moment (gh_car (s));
- Moment diff_mom = *unsmob_moment (gh_cdr (s));
+ Moment change_mom = *unsmob_moment (ly_car (s));
+ Moment diff_mom = *unsmob_moment (ly_cdr (s));
Moment now = pending_moment ();
if (first_pitches != SCM_EOL && second_pitches != SCM_EOL)
{
scm_sort_list_x (first_pitches,
- scm_primitive_eval (ly_str02scm ("Pitch::less_p")));
+ scm_primitive_eval (ly_symbol2scm ("Pitch::less_p")));
scm_sort_list_x (second_pitches,
- scm_primitive_eval (ly_str02scm ("Pitch::less_p")));
+ scm_primitive_eval (ly_symbol2scm ("Pitch::less_p")));
- interval = gh_int2scm (unsmob_pitch (gh_car (first_pitches))->steps ()
- - unsmob_pitch (gh_car (scm_last_pair (second_pitches)))->steps ());
+ interval = gh_int2scm (unsmob_pitch (ly_car (first_pitches))->steps ()
+ - unsmob_pitch (ly_car (scm_last_pair (second_pitches)))->steps ());
}
-
+
if (first_durations != SCM_EOL)
{
scm_sort_list_x (first_durations,
- scm_primitive_eval (ly_str02scm ("Duration::less_p")));
- first_mom += unsmob_duration (gh_car (first_durations))->length_mom ();
+ scm_primitive_eval (ly_symbol2scm ("Duration::less_p")));
+ first_mom += unsmob_duration (ly_car (first_durations))->length_mom ();
}
if (second_durations != SCM_EOL)
{
scm_sort_list_x (second_durations,
- scm_primitive_eval (ly_str02scm ("Duration::less_p")));
- second_mom += unsmob_duration (gh_car (second_durations))->length_mom ();
+ scm_primitive_eval (ly_symbol2scm ("Duration::less_p")));
+ second_mom += unsmob_duration (ly_car (second_durations))->length_mom ();
}
if (first_pitches != SCM_EOL && second_pitches == SCM_EOL
if (gh_number_p (interval))
{
- SCM s = first_translator->get_property (ly_symbol2scm ("splitInterval"));
+ SCM s = first_translator->get_property ("splitInterval");
int i = gh_scm2int (interval);
if (gh_pair_p (s)
- && gh_number_p (gh_car (s))
- && gh_number_p (gh_cdr (s))
- && i >= gh_scm2int (gh_car (s))
- && i <= gh_scm2int (gh_cdr (s)))
+ && gh_number_p (ly_car (s))
+ && gh_number_p (ly_cdr (s))
+ && i >= gh_scm2int (ly_car (s))
+ && i <= gh_scm2int (ly_cdr (s)))
{
if (! (state & ~ (SPLIT_INTERVAL | UNIRHYTHM | UNISON)))
state |= SPLIT_INTERVAL;