]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.71
authorfred <fred>
Tue, 26 Mar 2002 23:24:29 +0000 (23:24 +0000)
committerfred <fred>
Tue, 26 Mar 2002 23:24:29 +0000 (23:24 +0000)
82 files changed:
config.hh.in
configure.in
flower/axis.cc
flower/binary-source-file.cc
flower/direction.cc
flower/include/axes.hh
flower/include/file-storage.hh
flower/include/flower-proto.hh
flower/include/input.hh
flower/include/proto.hh
flower/include/rational.hh
flower/include/source-file.hh
flower/include/source.hh
flower/input.cc
flower/mapped-file-storage.cc
flower/source-file.cc
flower/source.cc
input/scarlatti-paper.ly [new file with mode: 0644]
input/scarlatti-properties.ly [new file with mode: 0644]
lily/beam.cc
lily/engraver-group-engraver.cc
lily/extender-engraver.cc
lily/font-metric.cc
lily/hyphen-engraver.cc
lily/identifier.cc
lily/include/all-font-metrics.hh
lily/include/audio-column.hh
lily/include/audio-staff.hh
lily/include/beam.hh
lily/include/dimensions.hh
lily/include/identifier.hh
lily/include/includable-lexer.hh
lily/include/item.hh
lily/include/keyword.hh
lily/include/lily-guile.hh
lily/include/lily-proto.hh
lily/include/lookup.hh
lily/include/midi-def.hh
lily/include/midi-item.hh
lily/include/midi-walker.hh
lily/include/music-list.hh
lily/include/music-output-def.hh
lily/include/my-lily-lexer.hh
lily/include/paper-def.hh
lily/include/score.hh
lily/include/tfm.hh
lily/include/translator-group.hh
lily/include/translator.hh
lily/midi-def.cc
lily/midi-item.cc
lily/multi-measure-rest-engraver.cc
lily/music-list.cc
lily/music-output-def.cc
lily/music-sequence.cc
lily/music.cc
lily/my-lily-parser.cc
lily/paper-def.cc
lily/parser.yy
lily/repeated-music.cc
lily/script.cc
lily/slur-engraver.cc
lily/slur.cc
lily/spacing-engraver.cc
lily/spacing-spanner.cc
lily/sustain-pedal.cc
lily/system-start-delimiter.cc
lily/template5.cc
lily/tie-engraver.cc
lily/tie.cc
lily/translator-ctors.cc
lily/translator-group.cc
lily/warn.cc
lilypond-mode.el
midi2ly/duration.cc
midi2ly/include/midi-parser.hh
midi2ly/include/midi-score-parser.hh
midi2ly/include/midi-track-parser.hh
midi2ly/include/midi2ly-global.hh
midi2ly/include/mudela-column.hh
midi2ly/include/mudela-score.hh
midi2ly/include/mudela-staff.hh
midi2ly/version.cc

index 833c0eec00263f59c307176068da3c0a3ad76042..4272e0b1c77777e25db4b17affe3ff17c5b9263f 100644 (file)
@@ -31,5 +31,5 @@
 #define DIRSEP '@DIRSEP@'
 #define PATHSEP '@PATHSEP@'
 
-/* define GUILE-ification */
-#undef HAVE_LIBGUILE 
+/* define if no assert */
+#define HAVE_ASSERT_H 1
index 9d2b9cc58b759d9f7d3ae67ad95299302dc7e57f..07ca6f4bc4b99dd162c31088975ceb07956f83f8 100644 (file)
@@ -14,6 +14,7 @@ AC_CONFIG_SUBDIRS(stepmake)
 # Uncomment the configuration options your package needs.
 AC_STEPMAKE_COMPILE
 # AC_HAVE_HEADERS(limits.h malloc.h string.h unistd.h values.h)
+AC_HAVE_HEADERS(assert.h)
 
 printing_b=no
 AC_ARG_ENABLE(printing,
@@ -61,3 +62,4 @@ AC_PATH_PROG(PERL, perl, error)
 
 AC_STEPMAKE_END
 
+# ugh, hack.
index ed55fddc4983ec83c4ae50d10fb929049ec41064..8814f7723ef0843bc92709d0638f4678f00c2917 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <assert.h>
 #include "axes.hh"
+#include "string.hh"
 
 String
 axis_name_str (Axis a)
index eb6cbbb0ba8408707d927d652e9ecbde136c52ae..a551244489b1483b7016762f07512e9c8787927e 100644 (file)
@@ -10,7 +10,7 @@
 #include <limits.h>            // INT_MAX
 #include <assert.h>
 
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "string.hh"
 #include "source-file.hh"
 #include "binary-source-file.hh"
index aeddc311a27d733bcbf7321fcd4dce837018d932..f28077dc85ebbe92509508336957ca07a5c253c9 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include "direction.hh"
+#include "string.hh"
 
 String
 direction_str (Direction d, Axis a)
index a1f290f8a9143ded2a2093a129bd0fc2c0212b8a..c863fdda1f10448f6d676b5bf67da8c35d6ddf30 100644 (file)
@@ -17,7 +17,7 @@ enum Axis {
 };
 
 
-#include "string.hh"           // ugh
+class String;
 
 String axis_name_str (Axis);
 
index 7fbcccad58b5e4a532642ff524c34e25c743763d..5af256f710f64152722626a827780c9e6cc5a937 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef FILE_STORAGE_HH
 #define FILE_STORAGE_HH
 
-#include "proto.hh"
+#include "flower-proto.hh"
 
 
 /**
index a900c33dc9eebcf4fb048632c1cc9620ca2d6519..cad9bff1f2cf1672bb55dbb56e84f310013f387b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
-  fproto.hh -- typenames in flowerlib
+  fflower-proto.hh -- typenames in flowerlib
 
   (c) 1996 Han-Wen Nienhuys
 */
@@ -52,6 +52,16 @@ typedef long long I64;
 
 typedef unsigned char Byte;
 
+struct Duration;
+struct Duration_iterator;
+struct Source_file;
+struct Binary_source_file;
+struct Sources;
+struct File_storage;
+struct Mapped_file_storage;
+struct Simple_file_storage;
+
+
 
 #endif // FPROTO_HH
 
index 1c9e61ccbfb5f840b55d6bf139c766cff6a94f59..44f2bb90dadc038405894dac4b5f7d970eee6781 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef INPUT_HH
 #define INPUT_HH
 
-#include "proto.hh"
+#include "flower-proto.hh"
 
 /**
   Base class for anything that records its poisition in the parse file.
index 7ddc87443427cc56a250b85a8e04ebdf6a218c17..65296f81060baccd891380179b283fc7515acef0 100644 (file)
@@ -1,22 +1,2 @@
 
-/*
-  proto.hh -- part of LilyPond
-
-  (c) 1996,97 Han-Wen Nienhuys
-*/
-
-#ifndef PROTO_HH
-#define PROTO_HH
-
-#include "flower-proto.hh"
-#include "real.hh"
-struct Duration;
-struct Duration_iterator;
-struct Source_file;
-struct Binary_source_file;
-struct Sources;
-struct File_storage;
-struct Mapped_file_storage;
-struct Simple_file_storage;
-
-#endif // PROTO_HH
+#error
index 1058d784c4da0b001d8ad2a9414064ecd0a1ee97..69a9ab1bd20b429bfe6e2f38739b096c8218409d 100644 (file)
@@ -14,7 +14,7 @@
 #include "compare.hh"
 #include "arithmetic-operator.hh"
 #include "flower-proto.hh"
-#include "string.hh"
+class String;
 
 /**
    Rational numbers.  Included is support for + and - infinity.
index 560ab09ed94f236b29ab9c4944ad4a9c74288951..26c0b021f4c954c32c18f876846f541e72c8eb73 100644 (file)
@@ -6,7 +6,7 @@
 #ifndef SOURCE_FILE_HH
 #define SOURCE_FILE_HH
 
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "string.hh"
 #include "interval.hh"
 
index 711f453c052e916bd9ce861027250d8c9a769d8e..20ebdb02f38abb290f03ffb44fa2badf4510a61c 100644 (file)
@@ -6,7 +6,7 @@
 #ifndef SOURCE_HH
 #define SOURCE_HH
 #include "cons.hh"
-#include "proto.hh"
+#include "flower-proto.hh"
 
 /**
    a set of sourcefiles.
index a33552ec8aac2d8fb83b6958105b16c895506a8a..7483606ba073c8579a060625d7cfe20f2eab79b3 100644 (file)
@@ -6,7 +6,7 @@
  (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 #include <iostream.h>
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "input.hh"
 #include "string.hh"
 #include "source.hh"
index 2c5ad327082a43000ebd5a05aa48cc6f3454e554..ebc81fca305eac877273a6ec62752b919812b543 100644 (file)
@@ -30,7 +30,7 @@
 #endif
 
 #include "string.hh"
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "warn.hh"
 #include "file-storage.hh"
 
index c5e5b1dd347c2596b84f7efc3529ebc4c3a5cd01..65e4674b463325f5b306550f6c2b3b922260152a 100644 (file)
@@ -12,7 +12,7 @@
 #include <strstream.h>
 
 #include "string.hh"
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "warn.hh"
 #include "source-file.hh"
 #include "simple-file-storage.hh"
index f3b58745479f59d25f9f4a1f301fc30a7467da0a..8623548e2597af1df188fc76c0311ac673236ebd 100644 (file)
@@ -11,7 +11,7 @@
 #include "killing-cons.tcc"
 #include "binary-source-file.hh"
 #include "string.hh"
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "source-file.hh"
 #include "source.hh"
 #include "file-path.hh"
diff --git a/input/scarlatti-paper.ly b/input/scarlatti-paper.ly
new file mode 100644 (file)
index 0000000..8ed8e1e
--- /dev/null
@@ -0,0 +1,25 @@
+\paper{
+       %my standard paper block
+       0=\font "feta19"
+       -1=\font "feta16"
+       arithmetic_multiplier=7.\pt;
+       indent=0.;
+       linewidth=188.\mm;
+       forced_stem_shorten0=0.;
+       forced_stem_shorten1=0.;
+       forced_stem_shorten2=0.;
+       forced_stem_shorten3=0.;
+       \translator{
+               \PianoStaffContext
+               maxVerticalAlign=42.\pt;
+               minVerticalAlign=42.\pt;
+       }
+       \translator{\StaffContext
+       timeSignatureStyle="C";}
+       \translator{\VoiceContext
+               noStemExtend = ##t
+               tupletVisibility = ##f
+       }
+}
+
+
diff --git a/input/scarlatti-properties.ly b/input/scarlatti-properties.ly
new file mode 100644 (file)
index 0000000..3a86fac
--- /dev/null
@@ -0,0 +1,15 @@
+
+
+rh=\property Thread.noteHeadStyle=##f 
+lh=\property Thread.noteHeadStyle = #'diamond
+n=\property Thread.fontSize=#0  
+sm=\property Thread.fontSize=#-1 
+su=\property Voice.verticalDirection=#1  
+sd=\property Voice.verticalDirection=#-1
+zs=\property Voice.forceHorizontalShift=#0.0
+ls=\property Voice.forceHorizontalShift=#-0.6
+sls=\property Voice.forceHorizontalShift=#-0.22
+rs=\property Voice.forceHorizontalShift=#0.6
+srs=\property Voice.forceHorizontalShift=#0.22
+ab=\property Voice.noAutoBeaming=##f
+xb=\property Voice.noAutoBeaming=##t
index 9e59ec64851ef735e95d7ba00e2b0ae7ad2eab20..32bffce8dc2e23212589b1b9129043d6816f8b0d 100644 (file)
@@ -10,6 +10,7 @@
 
 /*
   [TODO]
+  * shorter! (now +- 1000 lines)
     * less hairy code
     * move paper vars to scm
 
index a3e71087cdf75aeb20ea0820fc25b286db9d48f9..db7a7d79dd2b5f1557ff7c79d4da4a7d638e237c 100644 (file)
@@ -6,7 +6,7 @@
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "engraver-group-engraver.hh"
 #include "engraver.hh"
 #include "debug.hh"
index 4be468180ce1e85cc2086cb63c19bdb9c813a057..21a246d71319fe1d1f79aed87457dd997861b643 100644 (file)
@@ -6,7 +6,7 @@
   
 */
 
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "musical-request.hh"
 #include "lyric-extender.hh"
 #include "paper-column.hh"
index 220eb2a469425cead0d7882e25b861e228ce13a3..4443aa6399cc3dbbf7477606fc57e87785d8f630 100644 (file)
@@ -13,6 +13,7 @@
 
 #include "ly-smobs.icc"
 #include "font-metric.hh"
+#include "string.hh"
 
 Box
 Font_metric::text_dimension (String text) const
index cb276bcf4e6096ab25ad6a7d34fc20177ef2926a..9625b16f02f83ab931a19a4ad1f7747bc60fd0f1 100644 (file)
@@ -4,7 +4,7 @@
   (c) 1999 Glen Prideaux <glenprideaux@iname.com>
 */
 
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "musical-request.hh"
 #include "hyphen-spanner.hh"
 #include "paper-column.hh"
index c35350b07d7a664572a80029956d505d6fa8efec..c82598ed5eb8748394ae202d67917eddeb278703 100644 (file)
@@ -6,6 +6,7 @@
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
+
 /*
   JUNKTHIS!
  */
@@ -19,6 +20,7 @@
 #include "translator-group.hh"
 #include "ly-smobs.icc"
 
+
 IMPLEMENT_UNSMOB(Identifier, identifier);
 IMPLEMENT_SMOBS(Identifier);
 
index 02d59dae09b4277755d205c8c7bc1dc70d7cdb4b..b01ad19119138d8a13dfe2f50809a6acc12af93a 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef ALL_FONTS_HH
 #define ALL_FONTS_HH
 
-#include "dictionary.hh"
+
 #include "file-path.hh"
 #include "lily-proto.hh"
 #include "font-metric.hh"
index 5b6f8d4d8a63740ddb276c74e155cb2b39da38dd..fb7e150d67399a49210b2167981980f3adc5b318 100644 (file)
@@ -7,7 +7,7 @@
 #ifndef AUDIO_COLUMN_HH
 #define AUDIO_COLUMN_HH
 
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "lily-proto.hh"
 #include "moment.hh"
 #include "parray.hh"
index 89d701b81f526b950357991d86274eca60dcb656..0413ad050842107a3f6cb41783f66926e849abb4 100644 (file)
@@ -7,7 +7,6 @@
 #ifndef AUDIO_STAFF_HH
 #define AUDIO_STAFF_HH
 
-#include "proto.hh"
 #include "parray.hh"
 #include "lily-proto.hh"
 #include "audio-element.hh"
index b83254e1c5346fe64056f73d812cfd91eddb9c61..5a434fd9ed41eb40306aa9cfab30214203b27cdc 100644 (file)
@@ -36,7 +36,6 @@ public:
   static Real rest_collision_callback (Score_element *,Axis);
   Beam (SCM);
   static void add_stem (Score_element*,Score_element*);
-  static void set_grouping (Score_element*,Rhythmic_grouping def, Rhythmic_grouping current);
   static void set_beaming (Score_element*,Beaming_info_list *);
   static void set_stemlens (Score_element*);
   static int get_multiplicity (Score_element*me);
index 896af5dc428858724eefb4089ed1f4e48130b875..8fe9487fcdcd3bbb2ac88e798551d67e32ad0bd8 100644 (file)
@@ -2,7 +2,7 @@
 #define DIMENSIONS_HH
 
 #include "real.hh"
-#include "string.hh"
+class String;
 
 const Real INCH_TO_PT=72.270;
 const Real CM_TO_PT=INCH_TO_PT/2.54;
index adceafb6c9fa7b9367a98fb8c9a5884490073791..cb9b8b6fdf1151a6037660bfde791ded4ab7acc5 100644 (file)
@@ -77,7 +77,6 @@ struct Class ## _identifier : Identifier {\
 
 DECLARE_ID_CLASS(Translator_group);
 DECLARE_ID_CLASS(Duration);
-DECLARE_ID_CLASS(General_script_def);
 DECLARE_ID_CLASS(Music);
 DECLARE_ID_CLASS(Score);
 DECLARE_ID_CLASS(Request);
index 6b54d9a5738068c4043b6a162bd32a39bbadbd93..1be193910a1bb52e5a65323342a65703ea296c15 100644 (file)
@@ -14,8 +14,7 @@
 
 #include "string.hh"
 #include "parray.hh"
-#include "flower-proto.hh"
-#include "proto.hh"
+#include "lily-proto.hh"
 
 // GIGA urg!
 typedef struct yy_buffer_state *YY_BUFFER_STATE;
index 16f298f7f2361983d612975fcd699d3e6dfff2d2..3a84af0defbb943c485354605c6e0b64e7cd3eb2 100644 (file)
@@ -10,7 +10,6 @@
 
 
 #include "box.hh"
-#include "string.hh"
 #include "score-element.hh"
 #include "drul-array.hh"
 #include "protected-scm.hh"
index 2db22765e0a197ea4016fe4813f8f62a1b747df6..6edecf9c52ebecb8618da67d37ad7b983086cdad 100644 (file)
@@ -14,6 +14,9 @@ struct Keyword_ent
   int     tokcode;
 };
 
+/*
+  junkme, use  hash table.
+ */
 struct Keyword_table
 {
   Keyword_ent *table;
index 89ff1a2c29bae08730f84f16bc2337b726e24209..3dc1f64f16c06f53d1ca5cf268b76066488075a5 100644 (file)
@@ -9,11 +9,10 @@
 #ifndef LILY_GUILE_HH
 #define LILY_GUILE_HH
 
-#include  "string.hh"
-
 #include <guile/gh.h>
 #include <libguile.h>
 #include "direction.hh"
+#include "flower-proto.hh"
 
 #ifndef SCM_PACK
 #define SCM_PACK(x) ((SCM) x)
index e2c3393a5b3a32703ee5adadbac960311a4dff4c..b63843e6d16dd874916dc323b4e2b7820cfbf607 100644 (file)
 /*
 lily-proto.hh -- declare class names.
+ lily-proto.hh -- declare class names.
 
 source file of the GNU LilyPond music typesetter
+ source file of the GNU LilyPond music typesetter
 
 (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
(c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #ifndef LILY_PROTO_HH
 #define LILY_PROTO_HH
-#include "proto.hh"
+#include "flower-proto.hh"
 
 
 
-struct Absolute_dynamic_req;
-struct Adobe_font_char_metric;
-struct Adobe_font_metric;
-struct Align_element;
-struct All_font_metrics;
-struct Articulation_req;
-struct Audio_column;
-struct Audio_dynamic;
-struct Audio_element;
-struct Audio_element_info;
-struct Audio_instrument;
-struct Audio_item;
-struct Audio_key;
-struct Audio_note;
-struct Audio_note_off;
-struct Audio_staff;
-struct Audio_tempo;
-struct Audio_text;
-struct Audio_tie;
-struct Audio_time_signature;
-struct Auto_beam_engraver;
-struct Axis_align_item;
-struct Bar;
-struct Bar_column;
-struct Bar_column_engraver;
-struct Bar_engraver;
-struct Bar_req;
-struct Barcheck_req;
-struct Bass_req;
-struct Beam;
-struct Beam_engraver;
-struct Beaming_info;
-struct Beaming_info_list;
-struct Bezier;
-struct Bezier_bow;
-struct Blank_req;
-struct Bow;
-struct Box;
-struct Bracket_req;
-struct Break_align_item;
-struct Break_req;
-struct CHyphen_req;
-struct Cadenza_req;
-struct Change_iterator;
-struct Change_translator;
-struct Chord;
-struct Chord_name;
-struct Chord_name_engraver;
-struct Chord_tremolo_engraver;
-struct Clef_change_req;
-struct Clef_engraver;
-struct Clef_item;
-struct Clef_performer;
-struct Collision;
-struct Collision_engraver;
-struct Column_info;
-struct Column_spring;
-struct Column_x_positions;
-struct Command_req;
-struct Command_script_req;
-struct Command_tie_engraver;
-struct Crescendo ;
-struct Dimension_cache;
-struct Dynamic_performer;
-struct Spanner;
-struct Dot_column;
-struct Dots;
-struct Durational_req;
-struct Dynamic;
-struct Dynamic_req;
-struct Element_group;
-struct Element_group_item;
-struct Engraver;
-struct Engraver_group_engraver;
-struct Extender;
-struct Extender_req;
-struct Folded_repeat_iterator;
-struct Font_metric;
-struct General_script_def;
-struct Global_translator;
-struct Grace_align_item;
-struct Hara_kiri_group_spanner;
-struct Hara_kiri_line_group_engraver;
-struct Head_column;
-struct Idealspacing;
-struct Identifier;
-struct Input_file;
-struct Inversion_req;
-struct Item;
-struct Key;
-struct Key_change_req;
-struct Key_engraver;
-struct Key_item;
-struct Key_performer;
-struct Keyword;
-struct Keyword_table;
-struct Left_edge_item;
-struct Lily_stream;
-struct Line_group_engraver;
-struct Line_of_score;
-struct Line_of_staff;
-struct Linestaff;
-struct Local_key;
-struct Local_key_engraver;
-struct Local_key_item;
-struct Lookup;
-struct Lyric_item;
-struct Lyric_req;
-struct Mark_req;
-struct Measure_grouping_req;
-struct Melodic_req;
-struct Midi_def;
-struct Midi_duration;
-struct Midi_dynamic;
-struct Midi_header;
-struct Midi_item;
-struct Midi_key;
-struct Midi_note;
-struct Midi_note_event;
-struct Midi_note_off;
-struct Midi_output;
-struct Midi_score;
-struct Midi_stream;
-struct Midi_tempo;
-struct Midi_time_signature;
-struct Midi_track;
-struct Midi_walker;
-struct Mixed_qp;
-struct Molecule;
-struct Multi_measure_rest;
-struct Multi_measure_rest_engraver;
-struct Multi_measure_rest_req;
-struct Music;
-struct Music_iterator;
-struct Music_list;
-struct Music_list_iterator;
-struct Music_output;
-struct Music_output_def;
-struct Music_sequence;
-struct Music_wrapper;
-struct Music_wrapper_iterator;
-struct Musical_pitch;
-struct Musical_req;
-struct Musical_script_req;
-struct Musical_span_req;
-struct My_lily_lexer;
-struct My_lily_parser;
-struct Note_column;
-struct Note_column_engraver;
-struct Note_head;
-struct Note_head_engraver;
-struct Note_performer;
-struct Note_req;
-struct Notename_table;
-struct Offset;
-struct Paper_column;
-struct Polynomial;
-struct Paper_def;
-struct Paper_outputter;
-struct Paper_score;
-struct Paper_stream;
-struct Partial_measure_req;
-struct Performance;
-struct Performer;
-struct Performer;
-struct Performer_group_performer;
-struct Piano_brace;
-struct Property_iterator;
-struct Rational;
-struct Re_rhythmed_music;
-struct Relative_octave_music;
-struct Repeat_engraver;
-struct Repeated_music;
-struct Repeated_music;
-struct Repeated_music_iterator;
-struct Request;
-struct Request_chord;
-struct Request_column;
-struct Rest;
-struct Rest_collision;
-struct Rest_collision_engraver;
-struct Rest_req;
-struct Rhythmic_grouping;
-struct Rhythmic_grouping_req;
-struct Rhythmic_head;
-struct Rhythmic_req;
-struct Scope;
-struct Score;
-struct Score_column;
-struct Score_element;
-struct Score_element_info;
-struct Score_performer;
-struct Script;
-struct Script_req;
-struct Separating_group_spanner;
-struct Sequential_music;
-struct Simple_music;
-struct Simple_spacer;
-struct Simultaneous_music;
-struct Single_malt_grouping_item;
-struct Skip_req;
-struct Slur;
-struct Slur_bezier_bow;
-struct Slur_engraver;
-struct Spacing_spanner;
-struct Span_bar;
-struct Span_req;
-struct Span_score_bar;
-struct Spanner;
-struct Spring;
-struct Spring_spacer;
-struct Staff_bracket;
-struct Staff_performer;
-struct Staff_side;
-struct Staff_side_item;
-struct Staff_symbol;
-struct Stem;
-struct Stem_beam_engraver;
-struct Stem_req;
-struct Stem_tremolo;
-struct String;
-struct Super_element;
-struct Symtable;
-struct Symtables;
-struct Tempo_req;
-struct Tex_font_char_metric;
-struct Tex_font_metric;
-struct Tex_font_metric_reader;
-struct Text_def;
-struct Text_engraver;
-struct Text_gob;
-struct Item ;
-struct Text_req;
-struct Text_spanner;
-struct Tie;
-struct Tie_engraver;
-struct Tie_req;
-struct Time_description;
-struct Time_scaled_music;
-struct Time_scaled_music_iterator;
-struct Time_signature;
-struct Time_signature_change_req;
-struct Time_signature_engraver;
-struct Time_signature_performer;
-struct Timing_engraver;
-struct Timing_req;
-struct Timing_translator;
-struct Tonic_req;
-struct Translation_property;
-struct Translator;
-struct Translator_group;
-struct Tremolo_req;
-struct Tuplet_spanner;
-struct Unfolded_repeat_iterator;
-struct Vertical_brace;
-struct Volta_spanner;
-struct Moment;
 
-
-#endif // LILY_PROTO_HH
+class Adobe_font_metric;
+class All_font_metrics;
+class Articulation_req;
+class Audio_column;
+class Audio_dynamic;
+class Audio_element;
+class Audio_instrument;
+class Audio_item;
+class Audio_key;
+class Audio_note;
+class Audio_piano_pedal;
+class Audio_staff;
+class Audio_tempo;
+class Audio_text;
+class Audio_tie;
+class Audio_time_signature;
+class Auto_change_iterator;
+class Auto_change_music;
+class Axis_group_engraver;
+class Bar_engraver;
+class Bar_req;
+class Bar_req_collect_engraver;
+class Barcheck_req;
+class Base_span_bar_engraver;
+class Bass_req;
+class Beaming_info_list;
+class Bezier;
+class Bezier_bow;
+class Break_algorithm;
+class Break_req;
+class Breathing_sign_req;
+class Busy_playing_req;
+class Change_iterator;
+class Change_translator;
+class Chord_tremolo_iterator;
+class Clef_change_req;
+class Column_x_positions;
+class Context_specced_music;
+class Engraver;
+class Engraver;
+class Engraver_group_engraver;
+class Extender_req;
+class Folded_repeat_iterator;
+class Font_metric;
+class Font_size_engraver;
+class Global_translator;
+class Gourlay_breaking;
+class Grace_engraver_group;
+class Grace_iterator;
+class Grace_music;
+class Grace_performer_group;
+class Hara_kiri_engraver;
+class Hara_kiri_line_group_engraver;
+class Hyphen_req;
+class Identifier;
+class Includable_lexer;
+class Input;
+class Inversion_req;
+class Item;
+class Key_change_req;
+class Key_performer;
+class Keyword_ent;
+class Keyword_table;
+class Line_group_engraver_group;
+class Line_of_score;
+class Local_key_item;
+class Lookup;
+class Lyric_combine_music;
+class Lyric_combine_music_iterator;
+class Lyric_engraver;
+class Lyric_performer;
+class Lyric_req;
+class Mark_req;
+class Melisma_playing_req;
+class Melisma_req;
+class Melodic_req;
+class Midi_chunk;
+class Midi_def;
+class Midi_duration;
+class Midi_dynamic;
+class Midi_header;
+class Midi_instrument;
+class Midi_item;
+class Midi_key;
+class Midi_note;
+class Midi_note_event;
+class Midi_note_off;
+class Midi_piano_pedal;
+class Midi_stream;
+class Midi_tempo;
+class Midi_text;
+class Midi_time_signature;
+class Midi_track;
+class Molecule;
+class Moment;
+class Music;
+class Music_iterator;
+class Music_list;
+class Music_output;
+class Music_output_def;
+class Music_sequence;
+class Music_wrapper;
+class Music_wrapper_iterator;
+class Musical_pitch;
+class Musical_req;
+class My_lily_lexer;
+class Note_performer;
+class Note_req;
+class Output_property;
+class Paper_column;
+class Paper_def;
+class Paper_outputter;
+class Paper_score;
+class Paper_stream;
+class Performance;
+class Performer;
+class Performer_group_performer;
+class Piano_bar_engraver;
+class Pitch_interrogate_req;
+class Pitch_squash_engraver;
+class Property_iterator;
+class Rational;
+class Relative_octave_music;
+class Repeated_music;
+class Request;
+class Request_chord;
+class Request_chord_iterator;
+class Rest_req;
+class Rhythmic_req;
+class Scaled_font_metric;
+class Scheme_hash_table;
+class Scope;
+class Score;
+class Score_element;
+class Score_engraver;
+class Score_performer;
+class Script_req;
+class Sequential_music;
+class Sequential_music_iterator;
+class Simple_music_iterator;
+class Simple_spacer;
+class Simultaneous_music;
+class Simultaneous_music_iterator;
+class Skip_req;
+class Slur_bezier_bow;
+class Span_req;
+class Span_score_bar_engraver;
+class Spanner;
+class Staff_group_bar_engraver;
+class Staff_performer;
+class Swallow_engraver;
+class Swallow_performer;
+class Tempo_performer;
+class Tempo_req;
+class Tex_font_metric;
+class Text_script_req;
+class Tie;
+class Tie_performer;
+class Tie_req;
+class Time_scaled_music;
+class Time_scaled_music_iterator;
+class Time_signature_change_req;
+class Time_signature_performer;
+class Timing_engraver;
+class Timing_req;
+class Timing_translator;
+class Tonic_req;
+class Translation_property;
+class Translator;
+class Translator_change;
+class Translator_group;
+class Transposed_music;
+class Tremolo_req;
+class Type_swallow_translator;
+class Unfolded_repeat_iterator;
+class yyFlexLexer;
+#endif // LILY_PROTO_HH;
index 4563501eccf5c8b99b1f266cc2955464f8c090ba..d0f5e33f2c54a4b36933afa8bbf30df0e30810c9 100644 (file)
@@ -10,7 +10,9 @@
 #ifndef LOOKUP_HH
 #define LOOKUP_HH
 
+#include "smobs.hh"
 #include "lily-guile.hh"
+#include "string.hh"
 #include "molecule.hh"
 #include "flower-proto.hh"
 #include "direction.hh"
  */
 class Lookup
 {
-public:
-  String font_name_;
-  Adobe_font_metric * afm_l_;
 
 
   Lookup ();
   Lookup (Lookup const&);
 
+  friend class Brutus;         // kai su, teknon. (make GCC shut up.)
+  
+public:
+  DECLARE_SMOBS;
+  static SCM make_lookup ();
+  String font_name_;
+  Adobe_font_metric * afm_l_;
+
   Molecule afm_find (String, bool warn=true) const;
   Molecule accordion (SCM arg, Real interline_f) const;
 
@@ -41,5 +48,5 @@ public:
   static Molecule filledbox (Box b) ;  
   static Molecule text (String style, String text, Paper_def*) ;
 };
-
+Lookup* unsmob_lookup (SCM);
 #endif // LOOKUP_HH
index 6d65f6baeae0c8a5765f5221990c4a576badadf6..adf7a3e792bc88b1c557a7c227bbb0c6e3a20dd5 100644 (file)
@@ -25,15 +25,10 @@ class Midi_def : public Music_output_def {
 public:
   VIRTUAL_COPY_CONS(Music_output_def);
 
-  /// duration of whole note measured in seconds.
-  Moment whole_in_seconds_mom_;
-
   Midi_def();
   ~Midi_def();
 
-  Real length_mom_to_seconds_f (Moment);
   int get_tempo_i (Moment moment);
-  void print() const;
   void set_tempo (Moment moment, int count_per_minute_i);
   virtual int get_next_default_count () const;
   static void reset_default_count();
index 2dac25e853e644727c6ed67b4c79b5118b0cf69a..2fc7721c21e6f0ca256db62199ae438f86e7cdc5 100644 (file)
@@ -10,7 +10,6 @@
 #include "cons.hh"
 #include "string.hh"
 #include "lily-proto.hh"
-#include "proto.hh"
 #include "moment.hh"
 #include "audio-item.hh"
 
index 522660ee452bd97e7bfdf32801f2f10dbee59021..9b4c88ca90106b809f26e79e1b993a9f679672bb 100644 (file)
@@ -8,7 +8,6 @@
 #ifndef MIDI_WALKER_HH
 #define MIDI_WALKER_HH
 
-#include "proto.hh"
 #include "pqueue.hh"
 #include "lily-proto.hh"
 #include "moment.hh"
index 98b2ce82edb23d905e56ba1cf4d89360a7a3844e..386cf49fae7130de6239087cbc43d558b04082d7 100644 (file)
@@ -37,6 +37,7 @@ public:
   Music_sequence (Music_list *l_p);
   
   VIRTUAL_COPY_CONS(Music);
+
   Musical_pitch do_relative_octave (Musical_pitch p, bool b);
   virtual void transpose (Musical_pitch );
   virtual void compress (Moment);
index 4b4c0f3d1cabcc417afd0c6b7365469a6bbf86e5..eb20e22d11f25b5cffcfdf9d4ba1a0507227e7c6 100644 (file)
@@ -13,8 +13,6 @@
 #include "string.hh"
 #include "lily-proto.hh"
 #include "virtual-methods.hh"
-#include "dictionary.hh"
-#include "scm-hash.hh"
 
 /**
   Definition of how to output mudela. 
@@ -24,15 +22,12 @@ class Music_output_def
   Scope *translator_p_dict_p_;
 public:
   Scope *scope_p_;
-  
-  Array<String> filename_str_arr_;
-  
+
+  VIRTUAL_COPY_CONS(Music_output_def);
   Music_output_def (Music_output_def const&);
   Music_output_def ();
   virtual ~Music_output_def ();
-
-  VIRTUAL_COPY_CONS(Music_output_def);
-  
+  virtual int get_next_default_count () const;
   virtual void print () const;
 
   Global_translator *get_global_translator_p ();
@@ -40,7 +35,6 @@ public:
   String get_default_output () const;
   void assign_translator (Translator_group*);
   Translator * find_translator_l (String) const;
-  virtual int get_next_default_count () const;
 };
 
 #endif // Music_output_DEF_HH
index b3113bf94b47cfcfe2b36fa6f8176cfac2a476b9..f731d0d545703e98d761c56573774dcdbe444b43 100644 (file)
@@ -51,8 +51,6 @@ public:
   Input here_input () const;
 
   void start_main_input ();
-  void set_chordmodifier_table (Notename_table*tab_p);
-  void set_notename_table (Notename_table*tab_p);
 
   SCM lookup_identifier (String s);
   void push_note_state();
index a91f53787962d5c4616590fe234d12b81118bff0..8d4c326c756bcfae6c27da2112737c28fafdbded 100644 (file)
@@ -19,6 +19,7 @@
 #include "array.hh"
 #include "interval.hh"
 #include "music-output-def.hh"
+#include "protected-scm.hh"
 
 /** 
 
 */
 class Paper_def : public Music_output_def 
 {
-  map<int, Lookup *> *lookup_p_tab_p_;
-  static int default_count_i_;
-
+  Protected_scm lookup_alist_;
 protected:
   VIRTUAL_COPY_CONS(Music_output_def);
 
 public:    
   virtual ~Paper_def ();
-
+  static int default_count_i_;
   /*
     JUNKME
    */
   Real get_realvar (SCM symbol) const;
   Real get_var (String id) const;
-
   SCM get_scmvar (String id)const; 
   void reinit ();
   Paper_def ();
   void set_lookup (int, Lookup*);
-
   Paper_def (Paper_def const&);
 
   /** The distance between beams of multiplicity_i
       JUNKME
   */
   Real interbeam_f (int multiplicity_i) const;
-
   Interval line_dimensions_int (int) const;
-
   void print () const;
-
   Lookup const * lookup_l (int sz) const;      // TODO naming
-
-
   virtual int get_next_default_count () const;
   static void reset_default_count();
-
   void output_settings (Paper_outputter*) const;
-
   Paper_stream* paper_stream_p () const;
   String base_output_str () const;
 
index a496159b10b7359d52af3dc8cf82efe6c7c6dd78..7be4e5c20b3a38ea3926cc3a5bb512eaa7479989 100644 (file)
@@ -10,9 +10,6 @@
 #ifndef SCORE_HH
 #define SCORE_HH
 
-#include "array.hh"
-#include "lily-proto.hh"
-#include "string.hh"
 #include "input.hh"
 #include "lily-proto.hh"
 #include "parray.hh"
index bf482a6780e898fee72fe91fd32098a9c88ad1fe..0481ad1b7e345de560414c93d49b9829ab40437e 100644 (file)
 
  */
 
+/*
+  TODO: aren't there standard libs?  Ideally it is better to just link
+  to a C-library.  */
+
 #ifndef TFM_HH
 #define TFM_HH
 
index 47c2ef1135300cfee351aa2fd16971eae30e99ba..8ceac15def10e694993daea1f0a0fe637b1d95a1 100644 (file)
 #include "translator.hh"
 #include "cons.hh"
 #include "parray.hh"
-#include "scm-hash.hh"
 
 
 // egcs
 typedef void (Translator::*Method_pointer)(void);
 typedef void (Translator::*Const_method_pointer)(void) const; 
-
+class Scheme_hash_table;
 /** Make some kind of Elements from Requests. Elements are made by
   hierarchically grouped Translators
   */
@@ -30,7 +29,7 @@ class Translator_group : public virtual Translator {
   Array<String> consists_str_arr_;
   Array<String> accepts_str_arr_;
   Array<String> consists_end_str_arr_;
-  Scheme_hash_table properties_dict_;
+  Scheme_hash_table *properties_dict_;
 
   int iterator_count_;
   friend class Interpretation_context_handle;
index 6352c005dcd15f0f2f31ad9ede46bdf2ac27148c..a40fd07275e2ea4534e57c4fa9c313a157fb4a32 100644 (file)
 #ifndef TRANSLATOR_HH
 #define TRANSLATOR_HH
 
-#include <typeinfo>
 #include "global-ctor.hh"
 #include "string.hh"
 #include "lily-proto.hh"
 #include "virtual-methods.hh"
 #include "lily-guile.hh"
-#include "dictionary.hh"
 #include "parray.hh"
 #include "input.hh"
 
index 1915e8207153f3506f9bd7340e0f538c2153a630..1013399eac1b91fa8c35f01bd8e3bbd339bdffb2 100644 (file)
@@ -9,10 +9,9 @@
 #include <math.h>
 #include "misc.hh"
 #include "midi-def.hh"
-#include "translator.hh"
 #include "performance.hh"
-#include "score-performer.hh"
 #include "debug.hh"
+#include "scope.hh"
 
 Midi_def::Midi_def()
 {
@@ -24,20 +23,13 @@ Midi_def::~Midi_def()
 {
 }
 
-Real
-Midi_def::length_mom_to_seconds_f (Moment mom)
-{
-  if (!mom)
-    return 0;
-  
-  return Moment (whole_in_seconds_mom_) * mom;
-}
 
 
 int
 Midi_def::get_tempo_i (Moment one_beat_mom)
 {
-  Moment wholes_per_min = Moment(60) /Moment(whole_in_seconds_mom_);
+  Moment w = *unsmob_moment (scope_p_->scm_elem ("whole-in-seconds"));
+  Moment wholes_per_min = Moment(60) /w;
   int beats_per_min = wholes_per_min / one_beat_mom;
   return int (beats_per_min);
 }
@@ -46,20 +38,12 @@ void
 Midi_def::set_tempo (Moment one_beat_mom, int beats_per_minute_i)
 {
   Moment beats_per_second = Moment (beats_per_minute_i) / Moment (60);
-  whole_in_seconds_mom_ = Moment(1)/Moment(beats_per_second * one_beat_mom);
-}
 
-void
-Midi_def::print() const
-{
-#ifndef NPRINT
-  DEBUG_OUT << "MIDI {\n";
-  Music_output_def::print ();
-  DEBUG_OUT << "4/min: " << Moment (60) / (whole_in_seconds_mom_ * Moment (4));
-  DEBUG_OUT << "}\n";  
-#endif
+  Moment *m = new Moment (Moment(1)/Moment(beats_per_second * one_beat_mom));
+  scope_p_->set ("whole-in-seconds", smobify (m));
 }
 
+
 int Midi_def::default_count_i_=0;
 
 int
index e91572455daa8ba2a1b0754917ca97d4765a455f..9806910b55a382b1058f82847f92e47099260c8a 100644 (file)
@@ -6,7 +6,6 @@
   (c)  1997--2000 Jan Nieuwenhuizen <janneke@gnu.org>
  */
 
-#include "proto.hh"
 #include "debug.hh"
 #include "misc.hh"
 #include "string.hh"
index 6a5d06ed7d975d7cc47188bf62f9b07f7ac5b7c2..214ea14fc2405eba94251d32e7ecf4bb95f10750 100644 (file)
@@ -5,7 +5,6 @@
        Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-#include "proto.hh"
 #include "musical-request.hh"
 #include "multi-measure-rest.hh"
 #include "paper-column.hh"
index abe444cf6f42f330a23668ffbdccc823fed85250..5824cc7ada243450c1e00f4372f003ac4827b840 100644 (file)
@@ -53,11 +53,6 @@ Simultaneous_music::to_relative_octave (Musical_pitch p)
 }
 
 
-Musical_pitch
-Music_sequence::do_relative_octave (Musical_pitch p, bool b)
-{
-  return music_p_list_p_->do_relative_octave (p, b);  
-}
 
 
 Musical_pitch 
index 6b4ee8b519d5aa37b3e8ccbc87f25cbefe33437f..07895d86e2eec35dd5f6fd85c589c5581682d19d 100644 (file)
@@ -6,6 +6,7 @@
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
+#include "dictionary.hh"
 #include "scope.hh"
 #include "debug.hh"
 #include "music-output-def.hh"
@@ -100,3 +101,4 @@ Music_output_def::get_default_output () const
   return gh_string_p (s) ? ly_scm2string (s) : String ("");
 }
 
+
index 2b77780d39579534307e46b81290ff9ab0d741d0..9d5801d2f2299cc04fc51d13734e139202521331 100644 (file)
@@ -78,3 +78,9 @@ Music_sequence::length_i () const
 {
   return cons_list_size_i (music_p_list_p_->head_);
 }
+
+Musical_pitch
+Music_sequence::do_relative_octave (Musical_pitch p, bool b)
+{
+  return music_p_list_p_->do_relative_octave (p, b);  
+}
index 7b6cf607329ecbb3e19cde1901761949d314afcf..4b1f84245887a9e0febd029b14f7c9cc113872de 100644 (file)
@@ -6,8 +6,6 @@
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
- #include <typeinfo>
-
 #include "music.hh"
 #include "music-list.hh"
 #include "debug.hh"
index 286c938429f2e6b81fff36cda7ae667bf45d48f2..dbdbeabd1824026315dc3ddaae0a07a91bb851f5 100644 (file)
@@ -41,7 +41,7 @@ My_lily_parser::~My_lily_parser()
 }
 
 void
-My_lily_parser::set_version_check (bool ig)
+My_lily_parser::set_version_check (bool )
 {
 }
 
index bae8a1b395b9491922ca4f7bdc825696baf25484..9eec211a700da15a12e230bed3975add054b282e 100644 (file)
 
 Paper_def::Paper_def ()
 {
-  lookup_p_tab_p_ = new map<int, Lookup*>;
+  lookup_alist_ = SCM_EOL;
 }
 
 
 Paper_def::~Paper_def ()
 {
-  for (map<int,Lookup*>::const_iterator ai = lookup_p_tab_p_->begin();
-       ai != lookup_p_tab_p_->end (); ai++)
-    {
-      delete (*ai).second;
-    }
-  
-  delete lookup_p_tab_p_;
 }
 
-Paper_def::Paper_def (Paper_def const&s)
-  : Music_output_def (s)
+Paper_def::Paper_def (Paper_def const&src)
+  : Music_output_def (src)
 {
-  lookup_p_tab_p_ = new map<int, Lookup*>;
-  
-  for (map<int,Lookup*>::const_iterator ai = s.lookup_p_tab_p_->begin();
-       ai != s.lookup_p_tab_p_->end (); ai++)
+  SCM n  = SCM_EOL;
+  for (SCM s = src.lookup_alist_; gh_pair_p(s); s = gh_cdr (s))
     {
-      Lookup * l = new Lookup (* (*ai).second);
-      set_lookup ((*ai).first, l);      
+      n = scm_acons (gh_caar(s), gh_cdar (s), n);
     }
+
+  lookup_alist_  = n;
 }
 
 
@@ -97,12 +89,7 @@ Paper_def::line_dimensions_int (int n) const
 void
 Paper_def::set_lookup (int i, Lookup*l)
 {
-  map<int,Lookup*> :: const_iterator it (lookup_p_tab_p_->find (i));
-  if (it != lookup_p_tab_p_->end ())
-    {
-      delete (*it).second;
-    }
-  (*lookup_p_tab_p_)[i] = l;
+  lookup_alist_ = scm_assq_set_x(lookup_alist_, gh_int2scm (i), l->self_scm_);
 }
 
 
@@ -124,25 +111,18 @@ Paper_def::print () const
 {
 #ifndef NPRINT
   Music_output_def::print ();
-  DEBUG_OUT << "Paper {";
-  for (map<int,Lookup*>::const_iterator ai = lookup_p_tab_p_->begin();
-       ai != lookup_p_tab_p_->end (); ai++)
-    {
-      DEBUG_OUT << "Lookup: " << (*ai).first
-               << " = " << (*ai).second->font_name_ << '\n';
-    }
-  DEBUG_OUT << "}\n";
+  if (flower_dstream)
+    gh_display (lookup_alist_);
 #endif
 }
 
 Lookup const *
 Paper_def::lookup_l (int i) const
 {
-  return (*lookup_p_tab_p_)[i];
+  SCM l = scm_assq (gh_int2scm(i), lookup_alist_);
+  return l == SCM_BOOL_F ? 0 :  unsmob_lookup (gh_cdr (l));
 }
 
-
-
 int Paper_def::default_count_i_ = 0;
 
 int
@@ -167,7 +147,6 @@ Paper_def::paper_stream_p () const
     outname += String (".") + output_global_ch;
   progress_indication (_f ("paper output to %s...",
                           outname == "-" ? String ("<stdout>") : outname));
-                      
 
   target_str_global_array.push (outname);
   return new Paper_stream (outname);
index fb8a04b9146c70bbb9b4314d034218a25a626c3a..d2449736ed9dda7e71d5f13a09d2f8632cc8b2f9 100644 (file)
@@ -422,12 +422,12 @@ translator_spec_body:
                $$ = tg;
        }
        | translator_spec_body STRING '=' embedded_scm                  {
-               Translator_group* tg = dynamic_cast<Translator_group*> ($$);
+               Translator_group* tg = $$;
                tg->set_property (ly_scm2string ($2), $4);
        }
        | translator_spec_body STRING '=' identifier_init semicolon     { 
                SCM v = gh_int2scm (0);
-               if (gh_string_p ($4) || gh_number_p ($4))
+               if (gh_string_p ($4) || gh_number_p ($4) || gh_boolean_p ($4))
                        v = $4;
                else 
                        THIS->parser_error (_("Wrong type for property value"));
@@ -551,7 +551,7 @@ music_output_def_body:
                delete $2;
        }
        | music_output_def_body bare_int '=' FONT STRING                { // ugh, what a syntax
-               Lookup * l = new Lookup;
+               Lookup * l =unsmob_lookup (Lookup::make_lookup());
                l->font_name_ = ly_scm2string ($5);
                dynamic_cast<Paper_def*> ($$)->set_lookup ($2, l);
        }
index acdccf98f102c3b3b4488b39f787ec5474034a81..82d1c9fe9c63e6294374d9fb1d2f49b258db773c 100644 (file)
@@ -61,9 +61,14 @@ Repeated_music::to_relative_octave (Musical_pitch p)
   if (repeat_body_p_)
     p = repeat_body_p_->to_relative_octave (p);
 
+  Musical_pitch last = p ; 
   if (alternatives_p_)
-    p = alternatives_p_->do_relative_octave (p, false);
-  return p;
+    for (Cons<Music> *i = alternatives_p_->music_p_list_p_->head_; i ; i = i->next_)
+      {
+       last = i->car_->to_relative_octave (p);
+      }
+
+  return last;
 }
 
 
index c4b3e004dee3489bf0da50f3b7a37320598e612e..9cc53480a590a0b09c057661e3b741cfaa6849d6 100644 (file)
@@ -65,11 +65,11 @@ Script::brew_molecule (SCM smob)
 bool
 Script::has_interface (Score_element*me)
 {
-  return me->has_interface ("script-interface");
+  return me->has_interface (ly_symbol2scm ("script-interface"));
 }
 
 void
 Script::set_interface (Score_element*me)
 {
-  return me->set_interface ("script-interface");
+  return me->set_interface (ly_symbol2scm ("script-interface"));
 }
index 8cd767edcd94f619e5e3a0e00148aff526a4c0c3..893c0c4beddf41c7cb15b5460ca62e4d4d8343bc 100644 (file)
@@ -4,7 +4,6 @@
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-#include "proto.hh"
 #include "musical-request.hh"
 #include "slur-engraver.hh"
 #include "slur.hh"
index 9b751ab6e87f75268f45b611d30e9ce2ad31cd23..f93069848dd170cace81f414eddb091a8ef8c305 100644 (file)
@@ -478,7 +478,7 @@ Slur::get_curve (Score_element*me)
 bool
 Slur::has_interface (Score_element*me)
 {
-  return me->has_interface ("slur-interface");
+  return me->has_interface (ly_symbol2scm ("slur-interface"));
 }
 
 
index df45ee44f690b44807b76ba8b492016a6d3b91b8..4dc344b8c070b51dde5898d856319720d8bb0c58 100644 (file)
@@ -9,7 +9,7 @@
 
 #include "musical-request.hh"
 #include "paper-column.hh"
-#include "spacing-engraver.hh"
+
 #include "spacing-spanner.hh"
 #include "engraver.hh"
 #include "pqueue.hh"
index 9ba71190341dc939b9675c05bdfcd3d6e339f49d..234be7314e3ee134638822055e4a8163992503bd 100644 (file)
@@ -288,7 +288,7 @@ Spacing_spanner::stem_dir_correction (Score_element*me, Score_element*l, Score_e
   if (d1 == d2)
     return 0.0;
 
-  bool err = false;
+
   Real correction = 0.0;
   Real ssc = me->paper_l ()->get_var("stemSpacingCorrection");
 
index eb13be365b4c574a4a37ad3753762700e7cc6674..f3efc6e76bd50ddc782b082bae2f3605b99e22bb 100644 (file)
@@ -9,6 +9,7 @@
 #include "score-element.hh"
 #include "molecule.hh"
 #include "lookup.hh"
+#include "string.hh"
 
 // update comment --hwn 
 /*
index 23bf7e7facd6a6c17ad572e9c8d5e1f646336930..41b0dc32383e13749264329a8b5b2d5c29acd90c 100644 (file)
@@ -14,7 +14,7 @@
 #include "molecule.hh"
 #include "lookup.hh"
 #include "all-font-metrics.hh"
-#include "spanner.hh"
+#include "score-element.hh"
 
 Molecule
 System_start_delimiter::staff_bracket (Score_element*me,Real height)  
index a61b8b8721ad64ee77c1a58e950268920aec6793..8a4e1c8b40f65cc72139ab944fff375bcbe0d4a9 100644 (file)
@@ -7,7 +7,6 @@
 */
 
 #include <limits.h>
-#include "proto.hh"
 #include "string.hh"
 #include "moment.hh"
 #include "real.hh"
index 09c4d47c6015084fa9eba1be843d9a7c043e24c1..d3ac6c48cd07732652b81cb598497b90dad97d8b 100644 (file)
@@ -1,5 +1,5 @@
 /*   
-  ctie-engraver.cc --  implement Tie_engraver
+  tie-engraver.cc --  implement Tie_engraver
   
   source file of the GNU LilyPond music typesetter
   
@@ -44,6 +44,9 @@ inline int compare (CHead_melodic_tuple const &a, CHead_melodic_tuple const &b)
 class Tie_engraver : public Engraver
 {
   PQueue<CHead_melodic_tuple> past_notes_pq_;
+  Moment end_mom_;
+  Moment next_end_mom_;
+
   Tie_req *req_l_;
   Array<CHead_melodic_tuple> now_heads_;
   Array<CHead_melodic_tuple> stopped_heads_;
@@ -80,6 +83,9 @@ Tie_engraver::do_try_music (Music *m)
 {
   if (Tie_req * c = dynamic_cast<Tie_req*> (m))
     {
+      /*      if (end_mom_ > now_mom ())
+       return false;
+      */
       req_l_ = c;
       SCM m = get_property ("automaticMelismata");
       bool am = gh_boolean_p (m) &&gh_scm2bool (m);
@@ -116,8 +122,6 @@ Tie_engraver::do_process_music ()
   if (req_l_)
     {
       Moment now = now_mom ();
-      Link_array<Note_head> nharr;
-      
       stopped_heads_.clear ();
       while (past_notes_pq_.size ()
             && past_notes_pq_.front ().end_ == now)
index 13acee6ea7957b41a617583393b1a6b675f19576..85332353a825616c3dbf739ab5268f3b2b0bfcc5 100644 (file)
@@ -223,9 +223,15 @@ Tie::get_curve () const
   b.set_default_bezier (h_inf, r_0);
   Bezier c = b.get_bezier ();
 
-  /* should do me for slurs as well. */
+  /*
+    Avoid colliding of the horizontal part with stafflines.
+    
+    should do me for slurs as well.
+
+   */
   Array<Real> horizontal (c.solve_derivative (Offset (1,0)));
 
+  
   if (horizontal.size ())
     {
       /*
index 53dee7207dc6a3ab9fbe6acadd68a9db840abc2e..ca1e6d516f2c0fd17176c6a33af99c173f4b02a6 100644 (file)
@@ -6,7 +6,6 @@
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-#include "proto.hh"
 #include "translator.hh"
 #include "dictionary.hh"
 #include "debug.hh"
index 4a7f6046e7d2c21d1319b17f57991b658b14dee2..4e1bf9212aa84a7ce37b9ff7ecdb1059d268e138 100644 (file)
@@ -11,7 +11,7 @@
 #include "translator.hh"
 #include "debug.hh"
 #include "moment.hh"
-
+#include "scm-hash.hh"
 #include "killing-cons.tcc"
 
 Translator_group::Translator_group (Translator_group const&s)
@@ -21,19 +21,21 @@ Translator_group::Translator_group (Translator_group const&s)
   consists_end_str_arr_ = s.consists_end_str_arr_;
   accepts_str_arr_ = s.accepts_str_arr_;
   iterator_count_ =0;
-  properties_dict_ = s.properties_dict_;
+  properties_dict_ = new Scheme_hash_table (*s.properties_dict_);
 }
 
 Translator_group::~Translator_group ()
 {
   assert (removable_b());
   trans_p_list_.junk ();
+  delete properties_dict_;
 }
 
 
 Translator_group::Translator_group()
 {
   iterator_count_  = 0;
+  properties_dict_ = new Scheme_hash_table ;
 }
 
 void
@@ -356,7 +358,7 @@ Translator_group::do_print() const
   if (!flower_dstream)
     return ;
 
-  gh_display (properties_dict_.self_scm_);
+  gh_display (properties_dict_->self_scm_);
   if (status == ORPHAN)
     {
       DEBUG_OUT << "consists of: ";
@@ -432,7 +434,7 @@ Translator_group::do_add_processing ()
 Translator_group*
 Translator_group::where_defined (SCM sym) const
 {
-  if (properties_dict_.elem_b (sym))
+  if (properties_dict_->elem_b (sym))
     {
       return (Translator_group*)this;
     }
@@ -443,9 +445,9 @@ Translator_group::where_defined (SCM sym) const
 SCM
 Translator_group::get_property (SCM sym) const
 {
-  if (properties_dict_.elem_b (sym))
+  if (properties_dict_->elem_b (sym))
     {
-      return properties_dict_.get (sym);
+      return properties_dict_->get (sym);
     }
 
   if (daddy_trans_l_)
@@ -458,6 +460,6 @@ Translator_group::get_property (SCM sym) const
 void
 Translator_group::set_property (String id, SCM val)
 {
-  properties_dict_.set (ly_symbol2scm (id.ch_C()), val);
+  properties_dict_->set (ly_symbol2scm (id.ch_C()), val);
 }
 
index 5513d2524f623c54e7cf266c37392dbe5b44d3cd..b371ddabe8351e72caf07c8d96417a865d7c77b0 100644 (file)
@@ -6,7 +6,6 @@
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-#include "proto.hh"
 #include "debug.hh"
 #include "my-lily-lexer.hh"
 #include "moment.hh"
index 8a4c7ccf6fa0c5419c6403b68fd8e3e67ff073ad..b035151c548979ee6cbd0a5f5e335ae2d16db7aa 100644 (file)
@@ -38,7 +38,7 @@
 
 (defconst lily-font-lock-keywords
   (let* ((keywords '("spanrequest" "simultaneous" "sequential" "accepts"
-                    "alternative" "bar" "breathe"
+                    "autochange" "alternative" "bar" "breathe"
                     "cadenza" "chordmodifiers" "chords" "clef" "cm" "consists"
                     "consistsend" "context"
                     "duration" "font" "grace" "header" "in" "lyrics"
index 0ef7270d06df9494a1dbf5158af00d0b10dea4dd..2780baec6d480e98da7077091e0def7b7042a4a9 100644 (file)
@@ -12,7 +12,7 @@
 
 #include <assert.h>
 
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "string.hh"
 #include "source-file.hh"
 #include "source.hh"
index 25fb357f64b42d00b5ff9ff233387f291479ca94..d4b498dc0f50b1a3e8d456122369de9a88372782 100644 (file)
@@ -35,7 +35,7 @@
 
 #endif
 
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "rational.hh"
 #include "midi2ly-proto.hh"
 
index fca4fdf006cb45e02d1fea39532f95880316b344..de2e1db51ea20f387b11a978fb8a4830554000f4 100644 (file)
@@ -11,7 +11,7 @@
 #define MIDI_SCORE_PARSER_HH
 
 #include "midi-parser.hh"
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "midi2ly-proto.hh"
 #include "parray.hh"
 
index 4dd95fe82da7ac0c2fe9e370156196f255cfeebc..21d6988a3bcc0abfa49bb7cc7b3838c3fc68dfa0 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef MIDI_TRACK_PARSER_HH
 #define MIDI_TRACK_PARSER_HH
 
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "cons.hh"
 #include "rational.hh"
 #include "midi2ly-proto.hh"
index 38bf84720a23ee30030730b50783943052efbdd9..ab870e9571001367b89d93d26d080aa4b331907e 100644 (file)
@@ -1,5 +1,5 @@
 //
-// midi2ly-global.hh -- declare global (sic) stuff for midi2ly
+// midi2ly-global.hh -- declare global stuff for midi2ly
 //
 // copyright 1997 Jan Nieuwenhuizen <janneke@gnu.org>
 
@@ -9,7 +9,7 @@
 #include <iostream.h>
 
 #include "string.hh"
-#include "proto.hh"
+#include "flower-proto.hh"
 
 #define monitor_p_g &cout
 enum Verbose { QUIET_ver, BRIEF_ver, NORMAL_ver, VERBOSE_ver, DEBUG_ver };
index 6c348afbc4ebbd320f242f682a3245414ce4ecd7..ca682b29e4dda6c22b077658b53fb6a2a70fe4fe 100644 (file)
@@ -6,7 +6,7 @@
 #ifndef MUDELA_COLUMN_HH
 #define MUDELA_COLUMN_HH
 
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "midi2ly-proto.hh"
 #include "rational.hh"
 #include "cons.hh"
 class Mudela_column 
 {
 public:
-    Mudela_column (Mudela_score* mudela_score_l, Rational mom);
+  Mudela_column (Mudela_score* mudela_score_l, Rational mom);
 
-    void add_item (Mudela_item* mudela_item_l);
-    Rational at_mom ();
+  void add_item (Mudela_item* mudela_item_l);
+  Rational at_mom ();
 
-    Cons_list<Mudela_item> mudela_item_l_list_;
-    Rational at_mom_;
-    Mudela_score* mudela_score_l_;
+  Cons_list<Mudela_item> mudela_item_l_list_;
+  Rational at_mom_;
+  Mudela_score* mudela_score_l_;
 };
 
 #endif // MUDELA_COLUMN_HH
index 2a8006a5cd9634477a4480e1a487c4203bf8b487..27162e493863ffeb39d2fc7a527032a074d3058b 100644 (file)
@@ -7,7 +7,7 @@
 #define MUDELA_SCORE_HH
 
 #include "midi2ly-proto.hh"
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "cons.hh"
 #include "parray.hh"
 
index 6f51077d571b1615c55cc6260284daedebc2b25c..38be04823c6d94b51fc8cb16bc6ae62156027bb0 100644 (file)
@@ -7,7 +7,7 @@
 #define MUDELA_STAFF_HH
 
 #include "midi2ly-proto.hh"
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "cons.hh"
 #include "string.hh"
 
index 360b0f886a45543dee2ebf9c92ad516106c3cdc1..e1159f289f0f3abf72cf7d5e080fac56bbfef838 100644 (file)
@@ -1,4 +1,4 @@
-#include "proto.hh"
+#include "flower-proto.hh"
 #include "string.hh"
 
 const char * midi2ly_version_sz();