]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/lily-proto.hh
Add basic scheme programmable engravers.
[lilypond.git] / lily / include / lily-proto.hh
index 99c768d29387a97f9f459470f7851f94c9e4b3ef..19aef0a27aace4b9cfb57822c4220f296647146c 100644 (file)
@@ -1,13 +1,25 @@
 /*
-  lily-proto.hh -- declare class names.
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
+  Copyright (C) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
-  (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  LilyPond is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #ifndef LILY_PROTO_HH
 #define LILY_PROTO_HH
+
 #include "flower-proto.hh"
 
 class All_font_metrics;
@@ -29,7 +41,7 @@ class Auto_change_music;
 class Axis_group_engraver;
 class Bar_engraver;
 class Bar_req_collect_engraver;
-class Beaming_info_list;
+class Beaming_pattern;
 class Bezier;
 class Bezier_bow;
 class Book;
@@ -43,13 +55,17 @@ class Column_x_positions;
 class Context;
 class Context_def;
 class Context_specced_music;
+class Dispatcher;
+class Dot_column;
+class Dot_configuration;
+class Dot_formatting_problem;
 class Engraver;
 class Engraver;
 class Engraver_group;
 class Event;
 class Event_chord;
 class Event_chord_iterator;
-class Folded_repeat_iterator;
+class Event_iterator;
 class Font_metric;
 class Font_size_engraver;
 class Global_context;
@@ -76,6 +92,7 @@ class Lily_parser;
 class Lilypond_context_key;
 class Lilypond_grob_key;
 class Line_group_engraver_group;
+class Listener;
 class Lookup;
 class Lyric_combine_music;
 class Lyric_combine_music_iterator;
@@ -86,6 +103,7 @@ class Mensural_ligature_engraver;
 class Midi_chunk;
 class Midi_duration;
 class Midi_dynamic;
+class Midi_event;
 class Midi_header;
 class Midi_instrument;
 class Midi_item;
@@ -115,7 +133,7 @@ class Object_key_dumper;
 class Object_key_undumper;
 class Open_type_font;
 class Output_property;
-class Page;
+class Page_breaking;
 class Pango_font;
 class Paper_book;
 class Paper_column;
@@ -127,11 +145,14 @@ class Performer_group;
 class Piano_bar_engraver;
 class Pitch;
 class Pitch_squash_engraver;
+class Prob;
 class Property_iterator;
 class Rational;
 class Relative_octave_music;
 class Repeated_music;
+class Scale;
 class Scheme_hash_table;
+class Scheme_engraver;
 class Score;
 class Score_context;
 class Score_engraver;
@@ -143,19 +164,22 @@ class Simple_spacer;
 class Simple_spacer_wrapper;
 class Simultaneous_music;
 class Simultaneous_music_iterator;
+class Skyline;
 class Skyline_entry;
+class Skyline_pair;
 class Slur_configuration;
 class Slur_score_state;
+class Source_file;
+class Sources;
+class Spacing_options;
 class Span_score_bar_engraver;
 class Spanner;
 class Staff_group_bar_engraver;
 class Staff_performer;
 class Stencil;
-class Swallow_engraver;
-class Swallow_performer;
+class Stream_event;
 class System;
 class Tempo_performer;
-class Tex_font_metric;
 class Tie;
 class Tie_details;
 class Tie_configuration;
@@ -171,35 +195,9 @@ class Translator;
 class Translator_change;
 class Translator_group;
 class Transposed_music;
-class Type_swallow_translator;
 class yyFlexLexer;
 
 typedef void (*Engraver_void_function_engraver_grob_info) (Engraver *, Grob_info);
 typedef void (*Translator_void_method_ptr) (Translator *);
 
-
-/* FIXME: when Link_array is dropped, do grand s/r to vector<TYPE*>.  */
-
-#include "std-vector.hh"
-
-#define Link_array__char_ std::vector<char*>
-#define Link_array__Grob_ std::vector<Grob*>
-#define Link_array__Accidental_placement_entry_ std::vector<Accidental_placement_entry*>
-#define Link_array__Audio_item_ std::vector<Audio_item*>
-#define Link_array__Audio_note_ std::vector<Audio_note*>
-#define Link_array__Audio_piano_pedal_ std::vector<Audio_piano_pedal*>
-#define Link_array__Audio_staff_ std::vector<Audio_staff*>
-#define Link_array__Bracket_nesting_node_ std::vector<Bracket_nesting_node*>
-#define Link_array__Context_ std::vector<Context*>
-#define Link_array__Context_def_ std::vector<Context_def*>
-#define Link_array__Grob_ std::vector<Grob*>
-#define Link_array__Item_ std::vector<Item*>
-#define Link_array__Music_ std::vector<Music*>
-#define Link_array__Note_column_ std::vector<Note_column*>
-#define Link_array__Output_def_ std::vector<Output_def*>
-#define Link_array__Slur_configuration_ std::vector<Slur_configuration*>
-#define Link_array__Source_file_ std::vector<Source_file*>
-#define Link_array__Spanner_ std::vector<Spanner*>
-#define Link_array__Tie_configuration_ std::vector<Tie_configuration*>
-
 #endif /* LILY_PROTO_HH */