1 /*
2   This file is part of LilyPond, the GNU music typesetter.
3 
4   Copyright (C) 1997--2021 Han-Wen Nienhuys <hanwen@xs4all.nl>
5 
6   LilyPond is free software: you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation, either version 3 of the License, or
9   (at your option) any later version.
10 
11   LilyPond is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15 
16   You should have received a copy of the GNU General Public License
17   along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef LILY_PROTO_HH
21 #define LILY_PROTO_HH
22 
23 #include "flower-proto.hh"
24 
25 class All_font_metrics;
26 class Audio_column;
27 class Audio_control_change;
28 class Audio_element;
29 class Audio_instrument;
30 class Audio_item;
31 class Audio_key;
32 class Audio_note;
33 class Audio_piano_pedal;
34 class Audio_staff;
35 class Audio_tempo;
36 class Audio_text;
37 class Audio_time_signature;
38 class Axis_group_engraver;
39 class Bar_engraver;
40 class Beaming_pattern;
41 class Beam_scoring_problem;
42 class Beam_configuration;
43 class Beam_quant_parameters;
44 class Bezier;
45 class Book;
46 class Box;
47 class Change_iterator;
48 class Column_x_positions;
49 class Context;
50 class Context_def;
51 class Context_mod;
52 class Context_specced_music;
53 class Dispatcher;
54 class Dot_column;
55 class Dot_configuration;
56 class Dot_formatting_problem;
57 class Engraver;
58 class Engraver_group;
59 class Event;
60 class Event_chord;
61 class Event_chord_iterator;
62 class Event_iterator;
63 class Font_metric;
64 class Font_size_engraver;
65 class Global_context;
66 class Grace_fixup;
67 class Grace_iterator;
68 class Grace_music;
69 class Grob;
70 class Grob_array;
71 class Grob_properties;
72 class Includable_lexer;
73 class Input;
74 class Item;
75 class Key_performer;
76 class Ligature_bracket_engraver;
77 class Lazy_skyline_pair;
78 class Ligature_engraver;
79 class Lily_lexer;
80 class Lily_parser;
81 class Listener;
82 class Lyric_combine_music;
83 class Lyric_combine_music_iterator;
84 class Lyric_engraver;
85 class Lyric_performer;
86 class Mensural_ligature_engraver;
87 class Midi_chunk;
88 class Midi_control_change;
89 class Midi_control_change_announcer;
90 class Midi_duration;
91 class Midi_event;
92 class Midi_header;
93 class Midi_instrument;
94 class Midi_item;
95 class Midi_key;
96 class Midi_note;
97 class Midi_note_event;
98 class Midi_note_off;
99 class Midi_piano_pedal;
100 class Midi_stream;
101 class Midi_tempo;
102 class Midi_text;
103 class Midi_time_signature;
104 class Midi_track;
105 class Modified_font_metric;
106 class Moment;
107 class Music;
108 class Music_iterator;
109 class Music_output;
110 class Music_sequence;
111 class Music_wrapper;
112 class Music_wrapper_iterator;
113 class Note_performer;
114 class Output_def;
115 class Open_type_font;
116 class Output_property;
117 class Page_breaking;
118 class Pango_font;
119 class Paper_book;
120 class Paper_column;
121 class Paper_outputter;
122 class Paper_score;
123 class Performance;
124 class Performer;
125 class Performer_group;
126 class Pitch;
127 class Pitch_squash_engraver;
128 class Prob;
129 class Property_iterator;
130 class Relative_octave_music;
131 class Rhythmic_music_iterator;
132 class Scale;
133 class Scheme_hash_table;
134 class Scheme_engraver;
135 class Scm_module;
136 class Scm_variable;
137 class Score;
138 class Score_engraver;
139 class Score_performer;
140 class Simple_music_iterator;
141 class Simple_spacer;
142 class Simultaneous_music;
143 class Simultaneous_music_iterator;
144 class Skyline;
145 class Skyline_pair;
146 class Slur_configuration;
147 class Slur_score_state;
148 class Source_file;
149 class Sources;
150 class Spacing_options;
151 class Spanner;
152 class Staff_performer;
153 class Stencil;
154 class Stream_event;
155 class System;
156 class Tempo_performer;
157 class Tie;
158 class Tie_details;
159 class Tie_configuration;
160 class Tie_formatting_problem;
161 class Tie_performer;
162 class Time_signature_performer;
163 class Timing_translator;
164 class Transform;
165 class Translator;
166 class Translator_creator;
167 class Translator_group;
168 
169 template <class> class Grob_info_t;
170 using Grob_info = Grob_info_t<Grob>;
171 
172 #endif /* LILY_PROTO_HH */
173