#include "engraver.hh"
#include "item.hh"
#include "smobs.hh"
+#include "protected-scm.hh"
class Syllable_group;
{
protected:
virtual void acknowledge_grob (Grob_info);
- virtual void create_grobs ();
+ virtual void process_acknowledged_grobs ();
virtual void stop_translation_timestep ();
virtual void finalize ();
private:
private:
/** association list of Syllable_group smobs
+
+ fixme: should use property.
+
*/
Protected_scm voice_alist_;
- Grob * any_notehead_l_;
+ Grob * any_notehead_;
};
class Syllable_group
{
bool first_in_phrase_b_;
- Grob * notehead_l_;
- Link_array<Grob> lyric_list_;
- Grob * longest_lyric_l_;
- Grob * shortest_lyric_l_;
- int alignment_i_;
+ Grob * notehead_;
+ Link_array<Grob> lyrics_;
+ Grob * longest_lyric_;
+ Grob * shortest_lyric_;
+ int alignment_;
bool melisma_b_;
- Real group_translation_f_;
+ Real group_translation_;
public:
static SCM make_entry ();
void set_first_in_phrase (bool f);
void add_extender (Grob * extender);
void set_melisma () { melisma_b_ = true; }
bool get_melisma () { return melisma_b_; }
- int lyric_count () { return lyric_list_.size (); }
+ int lyric_count () { return lyrics_.size (); }
void clear ();
bool is_empty ();
- bool set_lyric_align (const char *punc, Grob *default_notehead_l);
+ bool set_lyric_align (const char *punc, Grob *default_notehead);
void adjust_melisma_align ();
int appropriate_alignment (const char *punc);
Real amount_to_translate ();
DECLARE_SIMPLE_SMOBS (Syllable_group,);
} ;
-Syllable_group * unsmob_voice_entry (SCM);
+DECLARE_UNSMOB(Syllable_group,voice_entry);
#endif // LYRIC_PHRASING_ENGRAVER_HH