CVSROOT: /cvsroot/lilypond
Module name: lilypond
Branch:
Changes by: Han-Wen Nienhuys <[EMAIL PROTECTED]> 05/07/13 18:22:35
Modified files:
. : ChangeLog
lily : accidental-engraver.cc auto-beam-engraver.cc
auto-change-iterator.cc bar-check-iterator.cc
beam-engraver.cc beam-performer.cc
chord-name-engraver.cc cluster-engraver.cc
coherent-ligature-engraver.cc
completion-note-heads-engraver.cc context.cc
custos-engraver.cc drum-note-engraver.cc
drum-note-performer.cc dynamic-performer.cc
event-chord-iterator.cc fingering-engraver.cc
forbid-break-engraver.cc global-context.cc
grace-music.cc gregorian-ligature-engraver.cc
grid-point-engraver.cc grob-pitch-tuple.cc
grob.cc key-engraver.cc key-performer.cc
lyric-combine-music-iterator.cc
lyric-combine-music.cc lyric-performer.cc
mensural-ligature-engraver.cc music-scheme.cc
music.cc new-lyric-combine-music-iterator.cc
note-head.cc note-heads-engraver.cc
note-performer.cc parser.yy
part-combine-iterator.cc
piano-pedal-performer.cc program-option.cc
quote-iterator.cc rest-engraver.cc
slur-performer.cc span-dynamic-performer.cc
stem-engraver.cc swallow-perf.cc
tab-note-heads-engraver.cc tempo-performer.cc
tie-performer.cc type-swallow-translator.cc
lily/include : engraver.hh event-chord-iterator.hh
ligature-engraver.hh main.hh minterval.hh
music.hh performer.hh program-option.hh
scm : define-music-properties.scm
define-music-types.scm lily.scm
output-socket.scm safe-lily.scm
Removed files:
lily : event.cc music-constructor.cc
lily/include : event.hh
Log message:
* lily/include/event.hh: remove file.
* lily/parser.yy (Lily_lexer): check EVENT_IDENTIFIER using 'event
in 'types property.
* lily/music.cc (duration_length_callback): new function.
* lily/event.cc: remove file.
* lily/music-constructor.cc: remove file.
* lily/music-scheme.cc (LY_DEFINE): rename to ly:make-music
* lily/context.cc (get_grob_key): nop if use_object_keys not set.
(get_context_key): idem.
* scm/lily.scm (lambda): new option object-keys (default to #f)
* ps/music-drawing-routines.ps: remove draw_beam.
* lily/lookup.cc (beam): use round_filled_polygon() for beam.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.3874&tr2=1.3875&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/accidental-engraver.cc.diff?tr1=1.100&tr2=1.101&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/auto-beam-engraver.cc.diff?tr1=1.145&tr2=1.146&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/auto-change-iterator.cc.diff?tr1=1.56&tr2=1.57&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/bar-check-iterator.cc.diff?tr1=1.24&tr2=1.25&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/beam-engraver.cc.diff?tr1=1.119&tr2=1.120&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/beam-performer.cc.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/chord-name-engraver.cc.diff?tr1=1.89&tr2=1.90&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/cluster-engraver.cc.diff?tr1=1.30&tr2=1.31&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/coherent-ligature-engraver.cc.diff?tr1=1.27&tr2=1.28&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/completion-note-heads-engraver.cc.diff?tr1=1.49&tr2=1.50&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/context.cc.diff?tr1=1.56&tr2=1.57&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/custos-engraver.cc.diff?tr1=1.42&tr2=1.43&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/drum-note-engraver.cc.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/drum-note-performer.cc.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/dynamic-performer.cc.diff?tr1=1.41&tr2=1.42&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/event-chord-iterator.cc.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/fingering-engraver.cc.diff?tr1=1.43&tr2=1.44&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/forbid-break-engraver.cc.diff?tr1=1.18&tr2=1.19&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/global-context.cc.diff?tr1=1.32&tr2=1.33&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/grace-music.cc.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/gregorian-ligature-engraver.cc.diff?tr1=1.27&tr2=1.28&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/grid-point-engraver.cc.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/grob-pitch-tuple.cc.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/grob.cc.diff?tr1=1.132&tr2=1.133&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/key-engraver.cc.diff?tr1=1.110&tr2=1.111&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/key-performer.cc.diff?tr1=1.63&tr2=1.64&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/lyric-combine-music-iterator.cc.diff?tr1=1.49&tr2=1.50&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/lyric-combine-music.cc.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/lyric-performer.cc.diff?tr1=1.44&tr2=1.45&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/mensural-ligature-engraver.cc.diff?tr1=1.43&tr2=1.44&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/music-scheme.cc.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/music.cc.diff?tr1=1.136&tr2=1.137&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/new-lyric-combine-music-iterator.cc.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/note-head.cc.diff?tr1=1.141&tr2=1.142&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/note-heads-engraver.cc.diff?tr1=1.101&tr2=1.102&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/note-performer.cc.diff?tr1=1.60&tr2=1.61&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/parser.yy.diff?tr1=1.477&tr2=1.478&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/part-combine-iterator.cc.diff?tr1=1.24&tr2=1.25&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/piano-pedal-performer.cc.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/program-option.cc.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/quote-iterator.cc.diff?tr1=1.38&tr2=1.39&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/rest-engraver.cc.diff?tr1=1.65&tr2=1.66&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/slur-performer.cc.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/span-dynamic-performer.cc.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/stem-engraver.cc.diff?tr1=1.104&tr2=1.105&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/swallow-perf.cc.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/tab-note-heads-engraver.cc.diff?tr1=1.44&tr2=1.45&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/tempo-performer.cc.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/tie-performer.cc.diff?tr1=1.51&tr2=1.52&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/type-swallow-translator.cc.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/engraver.hh.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/event-chord-iterator.hh.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/ligature-engraver.hh.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/main.hh.diff?tr1=1.82&tr2=1.83&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/minterval.hh.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/music.hh.diff?tr1=1.73&tr2=1.74&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/performer.hh.diff?tr1=1.36&tr2=1.37&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/program-option.hh.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-music-properties.scm.diff?tr1=1.39&tr2=1.40&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-music-types.scm.diff?tr1=1.57&tr2=1.58&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/lily.scm.diff?tr1=1.369&tr2=1.370&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/output-socket.scm.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/safe-lily.scm.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.3874 lilypond/ChangeLog:1.3875
--- lilypond/ChangeLog:1.3874 Wed Jul 13 14:40:01 2005
+++ lilypond/ChangeLog Wed Jul 13 18:22:34 2005
@@ -1,5 +1,25 @@
2005-07-13 Han-Wen Nienhuys <[EMAIL PROTECTED]>
+ * lily/include/event.hh: remove file.
+
+ * lily/include/music-constructor.hh: remove file.
+
+ * lily/parser.yy (Lily_lexer): check EVENT_IDENTIFIER using 'event
+ in 'types property.
+
+ * lily/music.cc (duration_length_callback): new function.
+
+ * lily/event.cc: remove file.
+
+ * lily/music-constructor.cc: remove file.
+
+ * lily/music-scheme.cc (LY_DEFINE): rename to ly:make-music
+
+ * lily/context.cc (get_grob_key): nop if use_object_keys not set.
+ (get_context_key): idem.
+
+ * scm/lily.scm (lambda): new option object-keys (default to #f)
+
* scm/output-svg.scm (utf-8-string): rename from utf8-string.
* scm/output-gnome.scm: remove beam routine.
Index: lilypond/lily/accidental-engraver.cc
diff -u lilypond/lily/accidental-engraver.cc:1.100
lilypond/lily/accidental-engraver.cc:1.101
--- lilypond/lily/accidental-engraver.cc:1.100 Mon Jul 11 11:51:42 2005
+++ lilypond/lily/accidental-engraver.cc Wed Jul 13 18:22:34 2005
@@ -16,6 +16,8 @@
#include "side-position-interface.hh"
#include "tie.hh"
#include "warn.hh"
+#include "music.hh"
+#include "pitch.hh"
class Accidental_entry
{
Index: lilypond/lily/auto-beam-engraver.cc
diff -u lilypond/lily/auto-beam-engraver.cc:1.145
lilypond/lily/auto-beam-engraver.cc:1.146
--- lilypond/lily/auto-beam-engraver.cc:1.145 Fri Jun 3 19:47:19 2005
+++ lilypond/lily/auto-beam-engraver.cc Wed Jul 13 18:22:34 2005
@@ -16,6 +16,8 @@
#include "item.hh"
#include "spanner.hh"
#include "context.hh"
+#include "duration.hh"
+
class Auto_beam_engraver : public Engraver
{
Index: lilypond/lily/auto-change-iterator.cc
diff -u lilypond/lily/auto-change-iterator.cc:1.56
lilypond/lily/auto-change-iterator.cc:1.57
--- lilypond/lily/auto-change-iterator.cc:1.56 Wed May 4 10:11:32 2005
+++ lilypond/lily/auto-change-iterator.cc Wed Jul 13 18:22:34 2005
@@ -7,7 +7,6 @@
*/
#include "context.hh"
-#include "event.hh"
#include "music-wrapper-iterator.hh"
#include "direction.hh"
Index: lilypond/lily/bar-check-iterator.cc
diff -u lilypond/lily/bar-check-iterator.cc:1.24
lilypond/lily/bar-check-iterator.cc:1.25
--- lilypond/lily/bar-check-iterator.cc:1.24 Mon Apr 4 23:36:48 2005
+++ lilypond/lily/bar-check-iterator.cc Wed Jul 13 18:22:34 2005
@@ -7,8 +7,9 @@
*/
#include "simple-music-iterator.hh"
-#include "event.hh"
+#include "music.hh"
#include "context.hh"
+#include "input.hh"
/*
Check bar checks. We do this outside the engravers so that you can
Index: lilypond/lily/beam-engraver.cc
diff -u lilypond/lily/beam-engraver.cc:1.119
lilypond/lily/beam-engraver.cc:1.120
--- lilypond/lily/beam-engraver.cc:1.119 Sun May 8 23:30:50 2005
+++ lilypond/lily/beam-engraver.cc Wed Jul 13 18:22:34 2005
@@ -17,6 +17,7 @@
#include "item.hh"
#include "spanner.hh"
#include "context.hh"
+#include "duration.hh"
class Beam_engraver : public Engraver
{
Index: lilypond/lily/beam-performer.cc
diff -u lilypond/lily/beam-performer.cc:1.16
lilypond/lily/beam-performer.cc:1.17
--- lilypond/lily/beam-performer.cc:1.16 Wed Mar 16 19:19:15 2005
+++ lilypond/lily/beam-performer.cc Wed Jul 13 18:22:34 2005
@@ -11,6 +11,7 @@
#include "audio-column.hh"
#include "global-context.hh"
#include "warn.hh"
+#include "music.hh"
class Beam_performer : public Performer
{
Index: lilypond/lily/chord-name-engraver.cc
diff -u lilypond/lily/chord-name-engraver.cc:1.89
lilypond/lily/chord-name-engraver.cc:1.90
--- lilypond/lily/chord-name-engraver.cc:1.89 Mon Jul 11 11:51:42 2005
+++ lilypond/lily/chord-name-engraver.cc Wed Jul 13 18:22:34 2005
@@ -16,6 +16,7 @@
#include "protected-scm.hh"
#include "context.hh"
#include "warn.hh"
+#include "pitch.hh"
class Chord_name_engraver : public Engraver
{
Index: lilypond/lily/cluster-engraver.cc
diff -u lilypond/lily/cluster-engraver.cc:1.30
lilypond/lily/cluster-engraver.cc:1.31
--- lilypond/lily/cluster-engraver.cc:1.30 Sun May 8 23:30:50 2005
+++ lilypond/lily/cluster-engraver.cc Wed Jul 13 18:22:34 2005
@@ -11,6 +11,7 @@
#include "note-head.hh"
#include "note-column.hh"
#include "group-interface.hh"
+#include "pitch.hh"
class Cluster_spanner_engraver : public Engraver
{
Index: lilypond/lily/coherent-ligature-engraver.cc
diff -u lilypond/lily/coherent-ligature-engraver.cc:1.27
lilypond/lily/coherent-ligature-engraver.cc:1.28
--- lilypond/lily/coherent-ligature-engraver.cc:1.27 Sat Jul 9 22:35:38 2005
+++ lilypond/lily/coherent-ligature-engraver.cc Wed Jul 13 18:22:34 2005
@@ -12,6 +12,7 @@
#include "staff-symbol-referencer.hh"
#include "spanner.hh"
#include "paper-column.hh"
+#include "pitch.hh"
/*
* This abstract class serves as common superclass for all ligature
Index: lilypond/lily/completion-note-heads-engraver.cc
diff -u lilypond/lily/completion-note-heads-engraver.cc:1.49
lilypond/lily/completion-note-heads-engraver.cc:1.50
--- lilypond/lily/completion-note-heads-engraver.cc:1.49 Sat Apr 30
23:43:03 2005
+++ lilypond/lily/completion-note-heads-engraver.cc Wed Jul 13 18:22:34 2005
@@ -8,7 +8,7 @@
#include "rhythmic-head.hh"
#include "output-def.hh"
-#include "event.hh"
+#include "music.hh"
#include "dots.hh"
#include "dot-column.hh"
#include "staff-symbol-referencer.hh"
@@ -18,6 +18,10 @@
#include "spanner.hh"
#include "tie.hh"
#include "global-context.hh"
+#include "duration.hh"
+#include "pitch.hh"
+
+
/*
TODO: make matching rest engraver.
Index: lilypond/lily/context.cc
diff -u lilypond/lily/context.cc:1.56 lilypond/lily/context.cc:1.57
--- lilypond/lily/context.cc:1.56 Sun May 8 23:17:49 2005
+++ lilypond/lily/context.cc Wed Jul 13 18:22:34 2005
@@ -8,6 +8,7 @@
#include "context.hh"
+#include "program-option.hh"
#include "context-def.hh"
#include "ly-smobs.icc"
#include "main.hh"
@@ -97,7 +98,9 @@
smobify_self ();
properties_scm_ = (new Scheme_hash_table)->self_scm ();
scm_gc_unprotect_object (properties_scm_);
- scm_gc_unprotect_object (key_->self_scm ());
+
+ if (key_)
+ scm_gc_unprotect_object (key_->self_scm ());
}
/* TODO: this shares code with find_create_context (). */
@@ -234,6 +237,9 @@
Object_key const *
Context::get_context_key (String type, String id)
{
+ if (!use_object_keys)
+ return 0;
+
String now_key = type + "@" + id;
int disambiguation_count = 0;
@@ -253,6 +259,9 @@
Object_key const *
Context::get_grob_key (String name)
{
+ if (!use_object_keys)
+ return 0;
+
int disambiguation_count = 0;
if (grob_counts_.find (name) != grob_counts_.end ())
{
@@ -494,7 +503,9 @@
Context::mark_smob (SCM sm)
{
Context *me = (Context *) SCM_CELL_WORD_1 (sm);
- scm_gc_mark (me->key_->self_scm ());
+ if (me->key_)
+ scm_gc_mark (me->key_->self_scm ());
+
scm_gc_mark (me->context_list_);
scm_gc_mark (me->aliases_);
scm_gc_mark (me->definition_);
Index: lilypond/lily/custos-engraver.cc
diff -u lilypond/lily/custos-engraver.cc:1.42
lilypond/lily/custos-engraver.cc:1.43
--- lilypond/lily/custos-engraver.cc:1.42 Sun May 8 23:30:50 2005
+++ lilypond/lily/custos-engraver.cc Wed Jul 13 18:22:34 2005
@@ -13,6 +13,8 @@
#include "note-head.hh"
#include "staff-symbol-referencer.hh"
#include "warn.hh"
+#include "pitch.hh"
+
/*
* This class implements an engraver for custos symbols.
Index: lilypond/lily/drum-note-engraver.cc
diff -u lilypond/lily/drum-note-engraver.cc:1.29
lilypond/lily/drum-note-engraver.cc:1.30
--- lilypond/lily/drum-note-engraver.cc:1.29 Sun May 8 23:30:50 2005
+++ lilypond/lily/drum-note-engraver.cc Wed Jul 13 18:22:34 2005
@@ -13,6 +13,7 @@
#include "script-interface.hh"
#include "stem.hh"
#include "note-column.hh"
+#include "duration.hh"
class Drum_notes_engraver : public Engraver
{
Index: lilypond/lily/drum-note-performer.cc
diff -u lilypond/lily/drum-note-performer.cc:1.17
lilypond/lily/drum-note-performer.cc:1.18
--- lilypond/lily/drum-note-performer.cc:1.17 Thu Mar 10 14:36:13 2005
+++ lilypond/lily/drum-note-performer.cc Wed Jul 13 18:22:34 2005
@@ -11,6 +11,8 @@
#include "audio-column.hh"
#include "global-context.hh"
#include "warn.hh"
+#include "pitch.hh"
+#include "music.hh"
class Drum_note_performer : public Performer
{
Index: lilypond/lily/dynamic-performer.cc
diff -u lilypond/lily/dynamic-performer.cc:1.41
lilypond/lily/dynamic-performer.cc:1.42
--- lilypond/lily/dynamic-performer.cc:1.41 Mon Jul 11 11:51:42 2005
+++ lilypond/lily/dynamic-performer.cc Wed Jul 13 18:22:34 2005
@@ -7,7 +7,9 @@
*/
#include "performer.hh"
+
#include "audio-item.hh"
+#include "music.hh"
/*
TODO:
Index: lilypond/lily/event-chord-iterator.cc
diff -u lilypond/lily/event-chord-iterator.cc:1.22
lilypond/lily/event-chord-iterator.cc:1.23
--- lilypond/lily/event-chord-iterator.cc:1.22 Thu May 26 00:09:54 2005
+++ lilypond/lily/event-chord-iterator.cc Wed Jul 13 18:22:34 2005
@@ -10,7 +10,10 @@
#include "context.hh"
#include "warn.hh"
-#include "event.hh"
+#include "music.hh"
+#include "input.hh"
+#include "pitch.hh"
+#include "duration.hh"
Event_chord_iterator::Event_chord_iterator ()
{
@@ -32,12 +35,6 @@
{
Simple_music_iterator::construct_children ();
get_bottom_context ();
-}
-
-Event_chord *
-Event_chord_iterator::get_elt () const
-{
- return (Event_chord *) get_music ();
}
void
Index: lilypond/lily/fingering-engraver.cc
diff -u lilypond/lily/fingering-engraver.cc:1.43
lilypond/lily/fingering-engraver.cc:1.44
--- lilypond/lily/fingering-engraver.cc:1.43 Sun May 8 23:30:50 2005
+++ lilypond/lily/fingering-engraver.cc Wed Jul 13 18:22:34 2005
@@ -11,6 +11,8 @@
#include "stem.hh"
#include "rhythmic-head.hh"
#include "self-alignment-interface.hh"
+#include "pitch.hh"
+
class Fingering_engraver : public Engraver
{
Index: lilypond/lily/forbid-break-engraver.cc
diff -u lilypond/lily/forbid-break-engraver.cc:1.18
lilypond/lily/forbid-break-engraver.cc:1.19
--- lilypond/lily/forbid-break-engraver.cc:1.18 Thu Mar 10 14:36:13 2005
+++ lilypond/lily/forbid-break-engraver.cc Wed Jul 13 18:22:34 2005
@@ -8,6 +8,10 @@
#include "rhythmic-head.hh"
#include "grob.hh"
#include "score-engraver.hh"
+#include "input.hh"
+#include "pitch.hh"
+#include "duration.hh"
+#include "moment.hh"
class Forbid_line_break_engraver : public Engraver
{
Index: lilypond/lily/global-context.cc
diff -u lilypond/lily/global-context.cc:1.32
lilypond/lily/global-context.cc:1.33
--- lilypond/lily/global-context.cc:1.32 Tue May 31 15:25:26 2005
+++ lilypond/lily/global-context.cc Wed Jul 13 18:22:34 2005
@@ -11,7 +11,7 @@
#include <cstdio>
#include "warn.hh"
-#include "event.hh"
+#include "music.hh"
#include "music-iterator.hh"
#include "score-context.hh"
#include "context-def.hh"
Index: lilypond/lily/grace-music.cc
diff -u lilypond/lily/grace-music.cc:1.29 lilypond/lily/grace-music.cc:1.30
--- lilypond/lily/grace-music.cc:1.29 Thu Mar 10 14:36:13 2005
+++ lilypond/lily/grace-music.cc Wed Jul 13 18:22:34 2005
@@ -8,6 +8,8 @@
#include "music.hh"
#include "music-wrapper.hh"
+#include "moment.hh"
+
class Grace_music
{
Index: lilypond/lily/gregorian-ligature-engraver.cc
diff -u lilypond/lily/gregorian-ligature-engraver.cc:1.27
lilypond/lily/gregorian-ligature-engraver.cc:1.28
--- lilypond/lily/gregorian-ligature-engraver.cc:1.27 Sun May 8 23:30:50 2005
+++ lilypond/lily/gregorian-ligature-engraver.cc Wed Jul 13 18:22:34 2005
@@ -13,6 +13,7 @@
#include "staff-symbol-referencer.hh"
#include "spanner.hh"
#include "paper-column.hh"
+#include "pitch.hh"
/*
* This abstract class is the common superclass for all ligature
Index: lilypond/lily/grid-point-engraver.cc
diff -u lilypond/lily/grid-point-engraver.cc:1.2
lilypond/lily/grid-point-engraver.cc:1.3
--- lilypond/lily/grid-point-engraver.cc:1.2 Sat Apr 30 23:43:03 2005
+++ lilypond/lily/grid-point-engraver.cc Wed Jul 13 18:22:34 2005
@@ -9,6 +9,7 @@
#include "engraver.hh"
#include "item.hh"
+#include "moment.hh"
class Grid_point_engraver : public Engraver
{
Index: lilypond/lily/grob-pitch-tuple.cc
diff -u lilypond/lily/grob-pitch-tuple.cc:1.17
lilypond/lily/grob-pitch-tuple.cc:1.18
--- lilypond/lily/grob-pitch-tuple.cc:1.17 Wed Mar 16 19:19:15 2005
+++ lilypond/lily/grob-pitch-tuple.cc Wed Jul 13 18:22:34 2005
@@ -8,7 +8,7 @@
#include "grob-pitch-tuple.hh"
-#include "event.hh"
+#include "music.hh"
int compare (Grob_pitch_tuple const &a, Grob_pitch_tuple const &b)
{
Index: lilypond/lily/grob.cc
diff -u lilypond/lily/grob.cc:1.132 lilypond/lily/grob.cc:1.133
--- lilypond/lily/grob.cc:1.132 Mon Jul 11 11:51:42 2005
+++ lilypond/lily/grob.cc Wed Jul 13 18:22:34 2005
@@ -63,7 +63,8 @@
/*
We always get a new key object for a new grob.
*/
- scm_gc_unprotect_object (key_->self_scm ());
+ if (key_)
+ scm_gc_unprotect_object (key_->self_scm ());
SCM meta = get_property ("meta");
if (scm_is_pair (meta))
{
@@ -123,7 +124,7 @@
Grob::Grob (Grob const &s, int copy_index)
: dim_cache_ (s.dim_cache_)
{
- key_ = new Copied_key (s.key_, copy_index);
+ key_ = (use_object_keys) ? new Copied_key (s.key_, copy_index) : 0;
original_ = (Grob *) & s;
self_scm_ = SCM_EOL;
@@ -645,7 +646,9 @@
{
Grob *s = (Grob *) SCM_CELL_WORD_1 (ses);
scm_gc_mark (s->immutable_property_alist_);
- scm_gc_mark (s->key_->self_scm ());
+
+ if (s->key_)
+ scm_gc_mark (s->key_->self_scm ());
for (int a = 0; a < 2; a++)
{
scm_gc_mark (s->dim_cache_[a].offset_callbacks_);
Index: lilypond/lily/include/engraver.hh
diff -u lilypond/lily/include/engraver.hh:1.52
lilypond/lily/include/engraver.hh:1.53
--- lilypond/lily/include/engraver.hh:1.52 Wed Mar 16 19:19:15 2005
+++ lilypond/lily/include/engraver.hh Wed Jul 13 18:22:34 2005
@@ -9,7 +9,7 @@
#ifndef ENGRAVER_HH
#define ENGRAVER_HH
-#include "event.hh"
+#include "music.hh"
#include "grob-info.hh"
#include "translator.hh"
Index: lilypond/lily/include/event-chord-iterator.hh
diff -u lilypond/lily/include/event-chord-iterator.hh:1.9
lilypond/lily/include/event-chord-iterator.hh:1.10
--- lilypond/lily/include/event-chord-iterator.hh:1.9 Thu May 26 00:09:54 2005
+++ lilypond/lily/include/event-chord-iterator.hh Wed Jul 13 18:22:34 2005
@@ -16,7 +16,6 @@
*/
class Event_chord_iterator : public Simple_music_iterator
{
- Event_chord *get_elt () const;
/**
Find a bottom notation context to deliver events to.
*/
Index: lilypond/lily/include/ligature-engraver.hh
diff -u lilypond/lily/include/ligature-engraver.hh:1.12
lilypond/lily/include/ligature-engraver.hh:1.13
--- lilypond/lily/include/ligature-engraver.hh:1.12 Thu Mar 10 14:36:12 2005
+++ lilypond/lily/include/ligature-engraver.hh Wed Jul 13 18:22:34 2005
@@ -9,6 +9,8 @@
#define LIGATURE_ENGRAVER_HH
#include "engraver.hh"
+#include "moment.hh"
+
/*
* FIXME: Spanner *create_ligature_spanner () and virtual void
Index: lilypond/lily/include/main.hh
diff -u lilypond/lily/include/main.hh:1.82 lilypond/lily/include/main.hh:1.83
--- lilypond/lily/include/main.hh:1.82 Fri Jul 1 11:22:42 2005
+++ lilypond/lily/include/main.hh Wed Jul 13 18:22:34 2005
@@ -35,6 +35,7 @@
extern bool is_TeX_format_global;
extern bool point_and_click_global;
extern String prefix_directory;
+extern bool use_object_keys;
/*
todo: collect in Output_option struct?
Index: lilypond/lily/include/minterval.hh
diff -u lilypond/lily/include/minterval.hh:1.12
lilypond/lily/include/minterval.hh:1.13
--- lilypond/lily/include/minterval.hh:1.12 Thu Mar 10 14:36:12 2005
+++ lilypond/lily/include/minterval.hh Wed Jul 13 18:22:34 2005
@@ -1,16 +1,18 @@
/*
- minterval.hh -- declare MInterval
+ -- declare MInterval
source file of the GNU LilyPond music typesetter
(c) 1997--2005 Han-Wen Nienhuys <[EMAIL PROTECTED]>
*/
-#ifndef MINTERVAL_HH
-#define MINTERVAL_HH
+#ifndef
+#define
#include "moment.hh"
typedef Interval_t<Moment> MInterval;
-#endif // MINTERVAL_HH
+#endif //
+
+#error
Index: lilypond/lily/include/music.hh
diff -u lilypond/lily/include/music.hh:1.73 lilypond/lily/include/music.hh:1.74
--- lilypond/lily/include/music.hh:1.73 Fri Jul 8 22:16:28 2005
+++ lilypond/lily/include/music.hh Wed Jul 13 18:22:34 2005
@@ -10,8 +10,9 @@
#define MUSIC_HH
#include "virtual-methods.hh"
-#include "minterval.hh"
-#include "music-constructor.hh"
+#include "smobs.hh"
+#include "moment.hh"
+#include "pitch.hh"
#define is_mus_type(x) internal_is_music_type (ly_symbol2scm (x))
@@ -44,8 +45,10 @@
/// Scale the music in time by #factor#.
void compress (Moment factor);
+ DECLARE_SCHEME_CALLBACK (duration_length_callback, (SCM));
protected:
DECLARE_SMOBS (Music,);
+
SCM immutable_property_alist_;
SCM mutable_property_alist_;
protected:
Index: lilypond/lily/include/performer.hh
diff -u lilypond/lily/include/performer.hh:1.36
lilypond/lily/include/performer.hh:1.37
--- lilypond/lily/include/performer.hh:1.36 Thu Mar 10 14:36:12 2005
+++ lilypond/lily/include/performer.hh Wed Jul 13 18:22:34 2005
@@ -9,7 +9,6 @@
#define PERFORMER_HH
#include "audio-element-info.hh"
-#include "event.hh"
#include "grob-info.hh"
#include "translator.hh"
Index: lilypond/lily/include/program-option.hh
diff -u lilypond/lily/include/program-option.hh:1.2
lilypond/lily/include/program-option.hh:1.3
--- lilypond/lily/include/program-option.hh:1.2 Fri Jun 10 09:30:43 2005
+++ lilypond/lily/include/program-option.hh Wed Jul 13 18:22:34 2005
@@ -16,7 +16,6 @@
extern bool lily_1_8_relative;
extern bool lily_1_8_compatibility_used;
-
SCM ly_get_option (SCM);
SCM ly_set_option (SCM, SCM);
Index: lilypond/lily/key-engraver.cc
diff -u lilypond/lily/key-engraver.cc:1.110 lilypond/lily/key-engraver.cc:1.111
--- lilypond/lily/key-engraver.cc:1.110 Mon Jul 11 11:51:42 2005
+++ lilypond/lily/key-engraver.cc Wed Jul 13 18:22:34 2005
@@ -13,6 +13,7 @@
#include "engraver.hh"
#include "protected-scm.hh"
#include "clef.hh"
+#include "pitch.hh"
/*
TODO: The representation of key sigs is all fucked.
Index: lilypond/lily/key-performer.cc
diff -u lilypond/lily/key-performer.cc:1.63 lilypond/lily/key-performer.cc:1.64
--- lilypond/lily/key-performer.cc:1.63 Tue Apr 5 09:27:44 2005
+++ lilypond/lily/key-performer.cc Wed Jul 13 18:22:34 2005
@@ -23,7 +23,7 @@
virtual void stop_translation_timestep ();
private:
- Event *key_ev_;
+ Music *key_ev_;
Audio_key *audio_;
};
@@ -88,17 +88,12 @@
bool
Key_performer::try_music (Music *ev)
{
- if (Event *kc = dynamic_cast<Event *> (ev))
+ if (!key_ev_)
{
- if (!key_ev_)
- {
- key_ev_ = kc;
- }
-
- return true;
+ key_ev_ = ev;
}
-
- return false;
+
+ return true;
}
ADD_TRANSLATOR (Key_performer,
Index: lilypond/lily/lyric-combine-music-iterator.cc
diff -u lilypond/lily/lyric-combine-music-iterator.cc:1.49
lilypond/lily/lyric-combine-music-iterator.cc:1.50
--- lilypond/lily/lyric-combine-music-iterator.cc:1.49 Tue Apr 12 22:49:28 2005
+++ lilypond/lily/lyric-combine-music-iterator.cc Wed Jul 13 18:22:34 2005
@@ -7,7 +7,7 @@
*/
#include "context.hh"
-#include "event.hh"
+#include "music.hh"
#include "note-head.hh"
#include "grob.hh"
#include "music-iterator.hh"
Index: lilypond/lily/lyric-combine-music.cc
diff -u lilypond/lily/lyric-combine-music.cc:1.37
lilypond/lily/lyric-combine-music.cc:1.38
--- lilypond/lily/lyric-combine-music.cc:1.37 Thu Mar 10 14:36:13 2005
+++ lilypond/lily/lyric-combine-music.cc Wed Jul 13 18:22:34 2005
@@ -8,6 +8,7 @@
#include "music.hh"
#include "pitch.hh"
+#include "moment.hh"
struct Lyric_combine_music
{
Index: lilypond/lily/lyric-performer.cc
diff -u lilypond/lily/lyric-performer.cc:1.44
lilypond/lily/lyric-performer.cc:1.45
--- lilypond/lily/lyric-performer.cc:1.44 Wed Mar 16 19:19:15 2005
+++ lilypond/lily/lyric-performer.cc Wed Jul 13 18:22:34 2005
@@ -8,6 +8,7 @@
#include "audio-item.hh"
#include "performer.hh"
+#include "music.hh"
class Lyric_performer : public Performer
{
Index: lilypond/lily/mensural-ligature-engraver.cc
diff -u lilypond/lily/mensural-ligature-engraver.cc:1.43
lilypond/lily/mensural-ligature-engraver.cc:1.44
--- lilypond/lily/mensural-ligature-engraver.cc:1.43 Sun May 8 23:30:50 2005
+++ lilypond/lily/mensural-ligature-engraver.cc Wed Jul 13 18:22:34 2005
@@ -9,7 +9,7 @@
#include "coherent-ligature-engraver.hh"
#include "mensural-ligature.hh"
-#include "event.hh"
+#include "music.hh"
#include "warn.hh"
#include "spanner.hh"
#include "paper-column.hh"
Index: lilypond/lily/music-scheme.cc
diff -u lilypond/lily/music-scheme.cc:1.8 lilypond/lily/music-scheme.cc:1.9
--- lilypond/lily/music-scheme.cc:1.8 Tue Apr 12 22:49:28 2005
+++ lilypond/lily/music-scheme.cc Wed Jul 13 18:22:34 2005
@@ -61,17 +61,17 @@
}
/* todo: property args */
-LY_DEFINE (ly_extended_make_music, "ly:make-bare-music",
- 2, 0, 0, (SCM type, SCM props),
- "Make a C++ music object of type @var{type}, initialize with\n"
+LY_DEFINE (ly_make_music, "ly:make-music",
+ 1, 0, 0, (SCM props),
+ "Make a C++ Music object, initialize with\n"
"@var{props}. \n\n"
""
"This function is for internal use, and is only called by "
"@code{make-music}, which is the preferred interface "
"for creating music objects. ")
{
- SCM_ASSERT_TYPE (scm_is_string (type), type, SCM_ARG1, __FUNCTION__,
"string");
- SCM s = make_music (ly_scm2string (type), props)->self_scm ();
+ Music *ms = new Music (props);
+ SCM s = ms->self_scm ();
scm_gc_unprotect_object (s);
return s;
}
Index: lilypond/lily/music.cc
diff -u lilypond/lily/music.cc:1.136 lilypond/lily/music.cc:1.137
--- lilypond/lily/music.cc:1.136 Mon Jul 11 11:51:42 2005
+++ lilypond/lily/music.cc Wed Jul 13 18:22:34 2005
@@ -53,6 +53,11 @@
smobify_self ();
length_callback_ = get_property ("length-callback");
+ if (!ly_is_procedure (length_callback_))
+ {
+ length_callback_ = duration_length_callback_proc;
+ }
+
start_callback_ = get_property ("start-callback");
}
@@ -76,7 +81,6 @@
{
}
-ADD_MUSIC (Music);
SCM
Music::get_property_alist (bool m) const
@@ -297,7 +301,6 @@
return ip ? ip : &dummy_input_global;
}
-
Music *
make_music_by_name (SCM sym)
{
@@ -307,4 +310,20 @@
/* UGH. */
scm_gc_protect_object (rv);
return unsmob_music (rv);
+}
+
+
+MAKE_SCHEME_CALLBACK (Music, duration_length_callback, 1);
+SCM
+Music::duration_length_callback (SCM m)
+{
+ Music *me = unsmob_music (m);
+ Duration *d = unsmob_duration (me->get_property ("duration"));
+
+ Moment mom;
+ if (d)
+ {
+ mom = d->get_length ();
+ }
+ return mom.smobbed_copy ();
}
Index: lilypond/lily/new-lyric-combine-music-iterator.cc
diff -u lilypond/lily/new-lyric-combine-music-iterator.cc:1.33
lilypond/lily/new-lyric-combine-music-iterator.cc:1.34
--- lilypond/lily/new-lyric-combine-music-iterator.cc:1.33 Thu Mar 10
14:36:13 2005
+++ lilypond/lily/new-lyric-combine-music-iterator.cc Wed Jul 13 18:22:34 2005
@@ -7,9 +7,10 @@
*/
#include "context.hh"
-#include "event.hh"
+#include "music.hh"
#include "grob.hh"
#include "music-iterator.hh"
+#include "input.hh"
class New_lyric_combine_music_iterator : public Music_iterator
{
Index: lilypond/lily/note-head.cc
diff -u lilypond/lily/note-head.cc:1.141 lilypond/lily/note-head.cc:1.142
--- lilypond/lily/note-head.cc:1.141 Mon Jul 11 11:51:42 2005
+++ lilypond/lily/note-head.cc Wed Jul 13 18:22:34 2005
@@ -20,7 +20,7 @@
#include "dots.hh"
#include "warn.hh"
#include "font-interface.hh"
-#include "event.hh"
+#include "music.hh"
#include "rhythmic-head.hh"
#include "staff-symbol-referencer.hh"
#include "lookup.hh"
Index: lilypond/lily/note-heads-engraver.cc
diff -u lilypond/lily/note-heads-engraver.cc:1.101
lilypond/lily/note-heads-engraver.cc:1.102
--- lilypond/lily/note-heads-engraver.cc:1.101 Thu Jun 9 10:26:19 2005
+++ lilypond/lily/note-heads-engraver.cc Wed Jul 13 18:22:34 2005
@@ -4,6 +4,8 @@
(c) 1997--2005 Han-Wen Nienhuys <[EMAIL PROTECTED]>
*/
+#include "engraver.hh"
+
#include <cctype>
#include "rhythmic-head.hh"
@@ -12,8 +14,8 @@
#include "dot-column.hh"
#include "staff-symbol-referencer.hh"
#include "item.hh"
-#include "engraver.hh"
#include "warn.hh"
+#include "duration.hh"
class Note_heads_engraver : public Engraver
{
Index: lilypond/lily/note-performer.cc
diff -u lilypond/lily/note-performer.cc:1.60
lilypond/lily/note-performer.cc:1.61
--- lilypond/lily/note-performer.cc:1.60 Thu Mar 10 14:36:13 2005
+++ lilypond/lily/note-performer.cc Wed Jul 13 18:22:34 2005
@@ -11,6 +11,7 @@
#include "audio-column.hh"
#include "global-context.hh"
#include "warn.hh"
+#include "music.hh"
/**
Convert evs to audio notes.
Index: lilypond/lily/parser.yy
diff -u lilypond/lily/parser.yy:1.477 lilypond/lily/parser.yy:1.478
--- lilypond/lily/parser.yy:1.477 Mon Jul 11 11:51:42 2005
+++ lilypond/lily/parser.yy Wed Jul 13 18:22:34 2005
@@ -28,7 +28,7 @@
#include "book.hh"
#include "context-def.hh"
#include "dimensions.hh"
-#include "event.hh"
+#include "music.hh"
#include "file-path.hh"
#include "input-smob.hh"
#include "input.hh"
@@ -45,6 +45,7 @@
#include "score.hh"
#include "text-interface.hh"
#include "warn.hh"
+#include "music.hh"
#define MY_MAKE_MUSIC(x) make_music_by_name (ly_symbol2scm (x))
@@ -2693,8 +2694,11 @@
*destination = mus->self_scm ();
unsmob_music (*destination)->
set_property ("origin", make_input (last_input_));
- return dynamic_cast<Event*> (mus)
- ? EVENT_IDENTIFIER : MUSIC_IDENTIFIER;
+
+ bool is_event = scm_memq (ly_symbol2scm ("event"),
mus->get_property ("types"))
+ != SCM_BOOL_F;
+
+ return is_event ? EVENT_IDENTIFIER : MUSIC_IDENTIFIER;
} else if (unsmob_duration (sid)) {
*destination = unsmob_duration (sid)->smobbed_copy ();
return DURATION_IDENTIFIER;
Index: lilypond/lily/part-combine-iterator.cc
diff -u lilypond/lily/part-combine-iterator.cc:1.24
lilypond/lily/part-combine-iterator.cc:1.25
--- lilypond/lily/part-combine-iterator.cc:1.24 Wed May 4 10:11:32 2005
+++ lilypond/lily/part-combine-iterator.cc Wed Jul 13 18:22:34 2005
@@ -7,7 +7,7 @@
*/
#include "context.hh"
-#include "event.hh"
+#include "music.hh"
#include "music-sequence.hh"
#include "lily-guile.hh"
#include "warn.hh"
Index: lilypond/lily/piano-pedal-performer.cc
diff -u lilypond/lily/piano-pedal-performer.cc:1.37
lilypond/lily/piano-pedal-performer.cc:1.38
--- lilypond/lily/piano-pedal-performer.cc:1.37 Mon Jul 11 11:51:42 2005
+++ lilypond/lily/piano-pedal-performer.cc Wed Jul 13 18:22:34 2005
@@ -8,6 +8,7 @@
#include "performer.hh"
#include "audio-item.hh"
+#include "music.hh"
/**
perform Piano pedals
Index: lilypond/lily/program-option.cc
diff -u lilypond/lily/program-option.cc:1.9 lilypond/lily/program-option.cc:1.10
--- lilypond/lily/program-option.cc:1.9 Thu Jun 16 11:13:02 2005
+++ lilypond/lily/program-option.cc Wed Jul 13 18:22:34 2005
@@ -20,6 +20,7 @@
/* Write midi as formatted ascii stream? */
bool do_midi_debugging_global;
+bool use_object_keys;
/*
Backwards compatibility.
@@ -64,6 +65,10 @@
/* Needs to be reset for each file that uses this option. */
lily_1_8_compatibility_used = to_boolean (val);
val = scm_from_bool (to_boolean (val));
+ }
+ else if (var == ly_symbol2scm ("object-keys"))
+ {
+ use_object_keys = scm_from_bool (to_boolean (val));
}
}
Index: lilypond/lily/quote-iterator.cc
diff -u lilypond/lily/quote-iterator.cc:1.38
lilypond/lily/quote-iterator.cc:1.39
--- lilypond/lily/quote-iterator.cc:1.38 Wed May 4 10:11:32 2005
+++ lilypond/lily/quote-iterator.cc Wed Jul 13 18:22:34 2005
@@ -7,11 +7,12 @@
*/
#include "context.hh"
-#include "event.hh"
+#include "music.hh"
#include "music-sequence.hh"
#include "lily-guile.hh"
#include "music-wrapper-iterator.hh"
#include "warn.hh"
+#include "input.hh"
class Quote_iterator : public Music_wrapper_iterator
{
Index: lilypond/lily/rest-engraver.cc
diff -u lilypond/lily/rest-engraver.cc:1.65 lilypond/lily/rest-engraver.cc:1.66
--- lilypond/lily/rest-engraver.cc:1.65 Wed Mar 16 19:19:15 2005
+++ lilypond/lily/rest-engraver.cc Wed Jul 13 18:22:34 2005
@@ -6,11 +6,15 @@
(c) 1997--2005 Han-Wen Nienhuys <[EMAIL PROTECTED]>
*/
+#include "engraver.hh"
+
+#include "duration.hh"
#include "item.hh"
#include "staff-symbol-referencer.hh"
#include "dots.hh"
#include "rhythmic-head.hh"
-#include "engraver.hh"
+#include "music.hh"
+
class Rest_engraver : public Engraver
{
Index: lilypond/lily/slur-performer.cc
diff -u lilypond/lily/slur-performer.cc:1.15
lilypond/lily/slur-performer.cc:1.16
--- lilypond/lily/slur-performer.cc:1.15 Wed Mar 16 19:19:15 2005
+++ lilypond/lily/slur-performer.cc Wed Jul 13 18:22:34 2005
@@ -11,6 +11,7 @@
#include "audio-column.hh"
#include "global-context.hh"
#include "warn.hh"
+#include "music.hh"
/*
this is C&P from beam_performer.
Index: lilypond/lily/span-dynamic-performer.cc
diff -u lilypond/lily/span-dynamic-performer.cc:1.35
lilypond/lily/span-dynamic-performer.cc:1.36
--- lilypond/lily/span-dynamic-performer.cc:1.35 Wed Apr 13 14:41:27 2005
+++ lilypond/lily/span-dynamic-performer.cc Wed Jul 13 18:22:34 2005
@@ -8,6 +8,7 @@
#include "performer.hh"
#include "audio-item.hh"
+#include "music.hh"
/*
TODO: fold this into 1 engraver: \< and \> should also stop when
Index: lilypond/lily/stem-engraver.cc
diff -u lilypond/lily/stem-engraver.cc:1.104
lilypond/lily/stem-engraver.cc:1.105
--- lilypond/lily/stem-engraver.cc:1.104 Fri Jul 8 22:16:28 2005
+++ lilypond/lily/stem-engraver.cc Wed Jul 13 18:22:34 2005
@@ -16,6 +16,7 @@
#include "staff-symbol-referencer.hh"
#include "stem-tremolo.hh"
#include "stem.hh"
+#include "duration.hh"
/**
Make stems upon receiving noteheads.
Index: lilypond/lily/swallow-perf.cc
diff -u lilypond/lily/swallow-perf.cc:1.21 lilypond/lily/swallow-perf.cc:1.22
--- lilypond/lily/swallow-perf.cc:1.21 Thu Mar 10 14:36:12 2005
+++ lilypond/lily/swallow-perf.cc Wed Jul 13 18:22:34 2005
@@ -7,6 +7,8 @@
*/
#include "performer.hh"
+#include "music.hh"
+
class Swallow_performer : public Performer
{
Index: lilypond/lily/tab-note-heads-engraver.cc
diff -u lilypond/lily/tab-note-heads-engraver.cc:1.44
lilypond/lily/tab-note-heads-engraver.cc:1.45
--- lilypond/lily/tab-note-heads-engraver.cc:1.44 Thu Mar 10 14:36:12 2005
+++ lilypond/lily/tab-note-heads-engraver.cc Wed Jul 13 18:22:34 2005
@@ -11,13 +11,15 @@
#include "rhythmic-head.hh"
#include "output-def.hh"
-#include "event.hh"
+#include "music.hh"
#include "dots.hh"
#include "dot-column.hh"
#include "staff-symbol-referencer.hh"
#include "item.hh"
#include "score-engraver.hh"
#include "warn.hh"
+#include "duration.hh"
+
/**
make (guitar-like) tablature note
Index: lilypond/lily/tempo-performer.cc
diff -u lilypond/lily/tempo-performer.cc:1.34
lilypond/lily/tempo-performer.cc:1.35
--- lilypond/lily/tempo-performer.cc:1.34 Wed Mar 16 19:19:15 2005
+++ lilypond/lily/tempo-performer.cc Wed Jul 13 18:22:34 2005
@@ -6,9 +6,12 @@
(c) 1997--2005 Jan Nieuwenhuizen <[EMAIL PROTECTED]>
*/
-#include "audio-item.hh"
#include "performer.hh"
+#include "audio-item.hh"
+#include "music.hh"
+#include "duration.hh"
+
class Tempo_performer : public Performer
{
public:
@@ -41,7 +44,6 @@
{
if (tempo_req_)
{
-
SCM met = tempo_req_->get_property ("metronome-count");
Duration *d = unsmob_duration (tempo_req_->get_property ("tempo-unit"));
Index: lilypond/lily/tie-performer.cc
diff -u lilypond/lily/tie-performer.cc:1.51 lilypond/lily/tie-performer.cc:1.52
--- lilypond/lily/tie-performer.cc:1.51 Mon Jul 11 11:51:42 2005
+++ lilypond/lily/tie-performer.cc Wed Jul 13 18:22:34 2005
@@ -6,10 +6,13 @@
(c) 1998--2005 Han-Wen Nienhuys <[EMAIL PROTECTED]>
*/
+#include "performer.hh"
+
+#include "music.hh"
#include "context.hh"
#include "audio-item.hh"
#include "pqueue.hh"
-#include "performer.hh"
+
class Tie_performer : public Performer
{
Index: lilypond/lily/type-swallow-translator.cc
diff -u lilypond/lily/type-swallow-translator.cc:1.19
lilypond/lily/type-swallow-translator.cc:1.20
--- lilypond/lily/type-swallow-translator.cc:1.19 Thu Mar 10 14:36:12 2005
+++ lilypond/lily/type-swallow-translator.cc Wed Jul 13 18:22:34 2005
@@ -7,7 +7,7 @@
*/
#include "translator.hh"
-#include "event.hh"
+#include "music.hh"
class Skip_event_swallow_translator : public virtual Translator
{
Index: lilypond/scm/define-music-properties.scm
diff -u lilypond/scm/define-music-properties.scm:1.39
lilypond/scm/define-music-properties.scm:1.40
--- lilypond/scm/define-music-properties.scm:1.39 Wed Jul 13 14:13:23 2005
+++ lilypond/scm/define-music-properties.scm Wed Jul 13 18:22:35 2005
@@ -56,7 +56,6 @@
(length ,ly:moment? "The duration of this music")
(length-callback ,procedure? "How to compute the duration of this music.
This property
can only be defined as initializer in @file{define-music-types.scm}.")
- (internal-class-name ,string? "C++ class to use for this Music object")
(name ,symbol? "Name of this music object")
(numerator ,integer? "numerator of a time signature")
(once ,boolean? "Apply this operation only during one time step?")
Index: lilypond/scm/define-music-types.scm
diff -u lilypond/scm/define-music-types.scm:1.57
lilypond/scm/define-music-types.scm:1.58
--- lilypond/scm/define-music-types.scm:1.57 Sun Jul 10 11:25:24 2005
+++ lilypond/scm/define-music-types.scm Wed Jul 13 18:22:35 2005
@@ -814,7 +814,7 @@
(let ((props (hashq-ref music-name-to-property-table name '())))
(if (not (pair? props))
(ly:error (_ "can't find music object: ~S") name))
- (let ((m (ly:make-bare-music (cdr (assoc 'internal-class-name props))
props)))
+ (let ((m (ly:make-music props)))
(define (set-props mus-props)
(if (and (not (null? mus-props))
(not (null? (cdr mus-props))))
Index: lilypond/scm/lily.scm
diff -u lilypond/scm/lily.scm:1.369 lilypond/scm/lily.scm:1.370
--- lilypond/scm/lily.scm:1.369 Fri Jul 8 22:16:28 2005
+++ lilypond/scm/lily.scm Wed Jul 13 18:22:35 2005
@@ -18,7 +18,8 @@
(old-relative #f
"relative for simultaneous music works
similar to chord syntax")
-
+ (object-keys #f
+ "experimental mechanism for remembering tweaks")
(resolution 101 "resolution for generating bitmaps")
(anti-alias-factor 1 "render at higher resolution and scale down
result\nto prevent jaggies in PNG")
(preview-include-book-title #t "include book-titles in preview
images.")
Index: lilypond/scm/output-socket.scm
diff -u lilypond/scm/output-socket.scm:1.5 lilypond/scm/output-socket.scm:1.6
--- lilypond/scm/output-socket.scm:1.5 Wed Jul 13 14:40:53 2005
+++ lilypond/scm/output-socket.scm Wed Jul 13 18:22:35 2005
@@ -95,14 +95,19 @@
)))
+(define (escape-string str)
+ (string-regexp-substitute
+ " " "\\040"
+ (string-regexp-substitute "\"" "\\\"" str)))
+
(define-public (utf-8-string
descr
string)
- (format "utf-8 \"~a\" \"~a\"" descr
+ (format "utf-8 \"~a\" \"~a\""
+ (escape-string descr)
;; don't want unescaped spaces.
- (string-regexp-substitute " " "\\040"
- (string-regexp-substitute "\"" "\\\""
string))
+ (escape-string string)
))
Index: lilypond/scm/safe-lily.scm
diff -u lilypond/scm/safe-lily.scm:1.33 lilypond/scm/safe-lily.scm:1.34
--- lilypond/scm/safe-lily.scm:1.33 Mon Jul 11 12:51:13 2005
+++ lilypond/scm/safe-lily.scm Wed Jul 13 18:22:35 2005
@@ -67,7 +67,7 @@
ly:item-break-dir
ly:item?
ly:iterator?
- ly:make-bare-music
+ ly:make-music
ly:make-duration
ly:make-moment
ly:make-music-function
_______________________________________________
Lilypond-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs