non-string articulation-type.
* lily/new-fingering-engraver.cc (add_script): don't crash on
0 scripts
(acknowledge_grob): warn about text script events.
+2003-09-25 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * lily/script-engraver.cc (make_script_from_event): don't crash on
+ non-string articulation-type.
+
+ * lily/new-fingering-engraver.cc (add_script): don't crash on
+ 0 scripts
+ (acknowledge_grob): warn about text script events.
+
2003-09-24 Heikki Junes <hjunes@cc.hut.fi>
* buildscript/lilypond.words: fix path for drums.scm.
{
add_fingering (inf.grob_ , m, note_ev);
}
+ else if (m->is_mus_type ("text-script-event"))
+ {
+ m->origin ()->warning ("Can not add text scripts to individual note heads");
+ }
else if (m->is_mus_type ("script-event"))
{
add_script (inf.grob_, m, note_ev);
}
extern Grob *make_script_from_event (SCM * descr, Translator_group*tg, Music * event,
- int index);
+ int index);
void
New_fingering_engraver::add_script (Grob * head,
Music * event,
{
Finger_tuple ft ;
- ft.script_ =make_script_from_event (&ft.description_, daddy_trans_, event, 0);
-
- articulations_.push (ft);
- announce_grob (ft.script_, event->self_scm ());
+ Grob * g= make_script_from_event (&ft.description_, daddy_trans_, event, 0);
+ if (g)
+ {
+ ft.script_ =g ;
+
+ articulations_.push (ft);
+ announce_grob (g, event->self_scm ());
- ft.script_->set_parent (head, X_AXIS);
-}
-
+ ft.script_->set_parent (head, X_AXIS);
+ }
+}
void
int index)
{
SCM alist = tg->get_property ("scriptDefinitions");
- SCM art = scm_assoc (event->get_mus_property ("articulation-type"), alist);
+ SCM art_type= event->get_mus_property ("articulation-type");
+ SCM art = scm_assoc (art_type, alist);
if (art == SCM_BOOL_F)
{
- String a = ly_scm2string (event->get_mus_property ("articulation-type"));
- event->origin ()->warning (_f ("Don't know how to interpret articulation `%s'", a.to_str0 ()));
+ event->origin ()->warning (_("Don't know how to interpret articulation:"));
+ event->origin ()->warning (_("Scheme encoding: "));
+ scm_write (art_type, scm_current_error_port ());
return 0 ;
}
when toying with mmrests, it is possible to have musical
column on the left and non-musical on the right, spanning
several measures.
+
+ In 2.0.1, this still fucks up in an interesting way:
+
+
+\score {
+{ \property Score.skipBars = ##t
+ \context Staff = clarinet
+ {
+ \notes {
+ \time 3/4 \mark "72"
+<< s1*0^"all" R4*3*11 >>
+ \mark "73"
+ R4*3*11 \mark "74"
+ d2 r4
+
+
+ }}}
+ \paper { raggedright = ##t }
+}
+
+
*/
Moment *dt = unsmob_moment (rc->get_grob_property ("measure-length"));