\accepts "RhythmicStaff";
\accepts "GrandStaff";
\accepts "Lyrics";
+ \accepts "ChordNames";
}
\consists "Font_size_engraver";
\consists "Slur_engraver";
\consists "Ties_engraver";
-% \consists "Tuplet_engraver";
+ \consists "Tuplet_engraver";
\consists "Note_heads_engraver" ;
\consists "Skip_req_swallow_translator";
};
\accepts "RhythmicStaff";
\accepts "GrandStaff";
\accepts "Lyrics";
+ \accepts "ChordNames";
}
\translator{
\accepts "LyricVoice";
}
+\translator{
+ \type "Line_group_engraver_group";
+
+ \name ChordNameVoice ;
+ \consists "Separating_line_group_engraver";
+ \consists "Chord_name_engraver";
+}
+
+\translator {
+ \type "Line_group_engraver_group";
+ \name ChordNames;
+ \consists "Vertical_align_engraver";
+ \accepts "ChordNameVoice";
+}
+
ScoreContext = \translator {
\type Score_engraver;
\name Score;
\accepts "Staff";
\accepts "RhythmicStaff";
\accepts "Lyrics";
+ \accepts "ChordNames";
\accepts "GrandStaff";
\accepts "ChoirStaff";
};
\accepts "Staff";
\accepts "RhythmicStaff";
\accepts "Lyrics";
+ \accepts "ChordNames";
\accepts "GrandStaff";
};
--- /dev/null
+/*
+ chord-name-engraver.hh -- declare Chord_name_engraver
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998 Jan Nieuwenhuizen <janneke@gnu.org>
+*/
+
+#ifndef CHORD_NAME_ENGRAVER_HH
+#define CHORD_NAME_ENGRAVER_HH
+
+#include "engraver.hh"
+#include "array.hh"
+#include "musical-pitch.hh"
+
+#include "lily-proto.hh"
+
+class Chord_name_engraver : public Engraver
+{
+protected:
+ virtual void do_pre_move_processing ();
+ virtual void acknowledge_element (Score_element_info i);
+ virtual void do_process_requests ();
+ virtual bool do_try_music (Music* m);
+
+public:
+ Chord_name_engraver ();
+ VIRTUAL_COPY_CONS (Translator);
+
+private:
+ Array<Musical_pitch> pitch_arr_;
+ Link_array<Text_item> text_p_arr_;
+};
+
+#endif // CHORD_NAME_ENGRAVER_HH
struct Cadenza_req;
struct Change_iterator;
struct Change_translator;
-struct Simultaneous_music;
+struct Chord_name_engraver;
struct Clef_change_req;
struct Clef_item;
struct Clef_engraver;
struct Rhythmic_head;
struct Rhythmic_grouping_req;
struct Rhythmic_req;
-struct Single_malt_grouping_item;
struct Scope;
struct Separating_group_spanner;
struct Score;
struct Script_engraver;
struct Script_req;
struct Simple_music;
+struct Simultaneous_music;
+struct Single_malt_grouping_item;
struct Skip_req;
struct Slur;
struct Slur_engraver;
virtual void do_pre_move_processing();
virtual bool do_try_music (Music*);
virtual void do_process_requests();
- virtual void do_post_move_processing();
public:
Lyric_engraver();
}
}
-void
-Lyric_engraver::do_post_move_processing()
-{
-}
-
void
Lyric_engraver::do_pre_move_processing()
{
/**
- Get the measure wide constant for arithmetic.
+ Get the measure wide constant for arithmetic spacing.
@see
John S. Gourlay. ``Spacing a Line of Music,'' Technical Report
return (log_2 (d) + k)* get_var ("arithmetic_multiplier");
}
-Real
-Paper_def::geometric_spacing (Moment d) const
-{
- Real dur_f = (d) ?pow (get_var ("geometric"), log_2 (d)) : 0;
- return get_var ("basicspace") + get_var ("unitspace") * dur_f;
-}
-
void
Paper_def::set_lookup (int i, Lookup*l)
{