CVSROOT: /cvsroot/lilypond
Module name: lilypond
Branch:
Changes by: Han-Wen Nienhuys <[EMAIL PROTECTED]> 05/07/10 11:25:24
Modified files:
. : ChangeLog
lily : music-wrapper-iterator.cc music-wrapper.cc
music.cc paper-column.cc parser.yy
score-scheme.cc score.cc
unfolded-repeat-iterator.cc
lily/include : music-wrapper.hh score.hh
python : lilylib.py
scm : define-grobs.scm define-music-types.scm
lily-library.scm music-functions.scm
safe-lily.scm
scripts : lilypond-book.py mup2ly.py
Added files:
lily : volta-repeat-iterator.cc
Log message:
* scm/define-music-types.scm (music-descriptions): don't use
Music_wrapper type.
* lily/paper-column.cc (print): print moment too.
* scripts/mup2ly.py (cp_to_dir): remove 1.5.2 compat glue.
remove compatibility cruft.
* lily/parser.yy (score_body): \score can only begin with Music.
* lily/score-scheme.cc (LY_DEFINE): rename scorify to
make-score. Take music argument only. Move parser interaction to
Scheme.
* scm/lily-library.scm (scorify-music): new function.
* python/lilylib.py (datadir): remove 2.1 compat kludge.
(datadir): remove resource import.
(print_environment): remove get_bbox()
(cp_to_dir): remove pre 1.5.2 compat glue.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.3859&tr2=1.3860&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/volta-repeat-iterator.cc?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/music-wrapper-iterator.cc.diff?tr1=1.40&tr2=1.41&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/music-wrapper.cc.diff?tr1=1.40&tr2=1.41&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/music.cc.diff?tr1=1.134&tr2=1.135&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/paper-column.cc.diff?tr1=1.77&tr2=1.78&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/parser.yy.diff?tr1=1.475&tr2=1.476&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/score-scheme.cc.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/score.cc.diff?tr1=1.164&tr2=1.165&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/unfolded-repeat-iterator.cc.diff?tr1=1.54&tr2=1.55&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/music-wrapper.hh.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/score.hh.diff?tr1=1.54&tr2=1.55&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/python/lilylib.py.diff?tr1=1.66&tr2=1.67&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grobs.scm.diff?tr1=1.210&tr2=1.211&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-music-types.scm.diff?tr1=1.56&tr2=1.57&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/lily-library.scm.diff?tr1=1.38&tr2=1.39&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/music-functions.scm.diff?tr1=1.148&tr2=1.149&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/safe-lily.scm.diff?tr1=1.31&tr2=1.32&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scripts/lilypond-book.py.diff?tr1=1.266&tr2=1.267&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scripts/mup2ly.py.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.3859 lilypond/ChangeLog:1.3860
--- lilypond/ChangeLog:1.3859 Sat Jul 9 22:35:37 2005
+++ lilypond/ChangeLog Sun Jul 10 11:25:24 2005
@@ -1,3 +1,26 @@
+2005-07-10 Han-Wen Nienhuys <[EMAIL PROTECTED]>
+
+ * scm/define-music-types.scm (music-descriptions): don't use
+ Music_wrapper type.
+
+ * lily/paper-column.cc (print): print moment too.
+
+ * scripts/mup2ly.py (cp_to_dir): remove 1.5.2 compat glue.
+ remove compatibility cruft.
+
+ * lily/parser.yy (score_body): \score can only begin with Music.
+
+ * lily/score-scheme.cc (LY_DEFINE): rename scorify to
+ make-score. Take music argument only. Move parser interaction to
+ Scheme.
+
+ * scm/lily-library.scm (scorify-music): new function.
+
+ * python/lilylib.py (datadir): remove 2.1 compat kludge.
+ (datadir): remove resource import.
+ (print_environment): remove get_bbox()
+ (cp_to_dir): remove pre 1.5.2 compat glue.
+
2005-07-09 Han-Wen Nienhuys <[EMAIL PROTECTED]>
* lily/include/simple-spacer.hh (Module): idem.
Index: lilypond/lily/include/music-wrapper.hh
diff -u lilypond/lily/include/music-wrapper.hh:1.33
lilypond/lily/include/music-wrapper.hh:1.34
--- lilypond/lily/include/music-wrapper.hh:1.33 Thu Mar 10 14:36:12 2005
+++ lilypond/lily/include/music-wrapper.hh Sun Jul 10 11:25:24 2005
@@ -9,23 +9,13 @@
#ifndef MUSIC_WRAPPER_HH
#define MUSIC_WRAPPER_HH
-#include "music.hh"
-#include "pitch.hh"
+#include "lily-guile.hh"
-/** A Music that modifies an existing Music. This data structure
- corresponds to a production that takes a single Music argument,
-
- Music: STUFF Music
-*/
-class Music_wrapper : public Music
+struct Music_wrapper
{
public:
- Music_wrapper (SCM);
- VIRTUAL_COPY_CONSTRUCTOR (Music, Music_wrapper);
DECLARE_SCHEME_CALLBACK (length_callback, (SCM));
DECLARE_SCHEME_CALLBACK (start_callback, (SCM));
-
- Music *element () const;
};
#endif /* MUSIC_WRAPPER_HH */
Index: lilypond/lily/include/score.hh
diff -u lilypond/lily/include/score.hh:1.54 lilypond/lily/include/score.hh:1.55
--- lilypond/lily/include/score.hh:1.54 Mon Apr 18 00:36:45 2005
+++ lilypond/lily/include/score.hh Sun Jul 10 11:25:24 2005
@@ -34,14 +34,13 @@
Score (Score const &);
SCM get_music () const;
- void set_music (SCM music, SCM parser);
+ void set_music (SCM music);
SCM book_rendering (Output_def *, Output_def *, Object_key *);
};
DECLARE_UNSMOB (Score, score);
void default_rendering (SCM, SCM, SCM, SCM, SCM, SCM);
-SCM ly_music_scorify (SCM, SCM);
SCM ly_render_output (SCM, SCM);
SCM ly_run_translator (SCM, SCM, SCM);
Index: lilypond/lily/music-wrapper-iterator.cc
diff -u lilypond/lily/music-wrapper-iterator.cc:1.40
lilypond/lily/music-wrapper-iterator.cc:1.41
--- lilypond/lily/music-wrapper-iterator.cc:1.40 Tue Mar 29 14:15:39 2005
+++ lilypond/lily/music-wrapper-iterator.cc Sun Jul 10 11:25:24 2005
@@ -37,8 +37,9 @@
void
Music_wrapper_iterator::construct_children ()
{
- Music *m = dynamic_cast<Music_wrapper const *> (get_music ())->element ();
- child_iter_ = unsmob_iterator (get_iterator (m));
+ Music *my_music = get_music ();
+ Music *child = unsmob_music (my_music->get_property ("element"));
+ child_iter_ = unsmob_iterator (get_iterator (child));
}
bool
Index: lilypond/lily/music-wrapper.cc
diff -u lilypond/lily/music-wrapper.cc:1.40 lilypond/lily/music-wrapper.cc:1.41
--- lilypond/lily/music-wrapper.cc:1.40 Thu Mar 10 14:36:13 2005
+++ lilypond/lily/music-wrapper.cc Sun Jul 10 11:25:24 2005
@@ -8,14 +8,8 @@
#include "music-wrapper.hh"
-Music_wrapper::Music_wrapper (SCM x)
- : Music (x)
-{
- if (!ly_c_procedure_p (length_callback_))
- length_callback_ = length_callback_proc;
- if (!ly_c_procedure_p (start_callback_))
- start_callback_ = length_callback_proc;
-}
+#include "music.hh"
+
MAKE_SCHEME_CALLBACK (Music_wrapper, start_callback, 1);
SCM
@@ -34,12 +28,4 @@
Music *elt = unsmob_music (me->get_property ("element"));
return elt->get_length ().smobbed_copy ();
}
-
-Music *
-Music_wrapper::element () const
-{
- return unsmob_music (get_property ("element"));
-}
-
-ADD_MUSIC (Music_wrapper);
Index: lilypond/lily/music.cc
diff -u lilypond/lily/music.cc:1.134 lilypond/lily/music.cc:1.135
--- lilypond/lily/music.cc:1.134 Fri Jul 8 22:16:28 2005
+++ lilypond/lily/music.cc Sun Jul 10 11:25:24 2005
@@ -112,7 +112,7 @@
Moment
Music::start_mom () const
{
- SCM lst = get_property ("start-callback");
+ SCM lst = start_callback_;
if (ly_c_procedure_p (lst))
{
SCM res = scm_call_1 (lst, self_scm ());
Index: lilypond/lily/paper-column.cc
diff -u lilypond/lily/paper-column.cc:1.77 lilypond/lily/paper-column.cc:1.78
--- lilypond/lily/paper-column.cc:1.77 Tue Jun 7 15:13:06 2005
+++ lilypond/lily/paper-column.cc Sun Jul 10 11:25:24 2005
@@ -118,12 +118,20 @@
Grob *me = unsmob_grob (p);
String r = to_string (Paper_column::get_rank (me));
+
+ Moment *mom = unsmob_moment (me->get_property ("when"));
+ String when = mom ? mom->to_string () : "?/?";
+
SCM properties = Font_interface::text_font_alist_chain (me);
SCM scm_mol = Text_interface::interpret_markup (me->get_layout ()->self_scm
(),
properties,
scm_makfrom0str (r.to_str0
()));
+ SCM when_mol = Text_interface::interpret_markup (me->get_layout ()->self_scm
(),
+ properties,
+ scm_makfrom0str
(when.to_str0 ()));
Stencil t = *unsmob_stencil (scm_mol);
+ t.add_at_edge (Y_AXIS, DOWN, *unsmob_stencil (when_mol), 0.1, 0.1);
t.align_to (X_AXIS, CENTER);
t.align_to (Y_AXIS, DOWN);
Index: lilypond/lily/parser.yy
diff -u lilypond/lily/parser.yy:1.475 lilypond/lily/parser.yy:1.476
--- lilypond/lily/parser.yy:1.475 Thu Jun 9 18:05:31 2005
+++ lilypond/lily/parser.yy Sun Jul 10 11:25:24 2005
@@ -787,8 +787,15 @@
;
score_body:
- /**/ {
- $$ = new Score;
+ Music {
+ SCM m = $1->self_scm ();
+ scm_gc_unprotect_object (m);
+ SCM scorify = ly_lily_module_constant ("scorify-music");
+ SCM score = scm_call_2 (scorify, m, THIS->self_scm ());
+
+ // pass ownernship to C++ again.
+ scm_gc_protect_object (score);
+ $$ = unsmob_score (score);
$$->set_spot (@$);
}
| SCORE_IDENTIFIER {
@@ -797,11 +804,6 @@
}
| score_body object_id_setting {
$$->user_key_ = ly_scm2string ($2);
- }
- | score_body Music {
- SCM m = $2->self_scm ();
- scm_gc_unprotect_object (m);
- $$->set_music (m, THIS->self_scm ());
}
| score_body lilypond_header {
$$->header_ = $2;
Index: lilypond/lily/score-scheme.cc
diff -u lilypond/lily/score-scheme.cc:1.8 lilypond/lily/score-scheme.cc:1.9
--- lilypond/lily/score-scheme.cc:1.8 Mon Apr 18 13:27:48 2005
+++ lilypond/lily/score-scheme.cc Sun Jul 10 11:25:24 2005
@@ -11,16 +11,16 @@
#include "output-def.hh"
#include "global-context.hh"
-LY_DEFINE (ly_music_scorify, "ly:music-scorify",
- 2, 0, 0,
- (SCM music, SCM parser),
- "Return @var{music} with @var{texts} encapsulated in @var{score}.")
+LY_DEFINE (ly_make_score, "ly:make-score",
+ 1, 0, 0,
+ (SCM music),
+ "Return score with @var{music} encapsulated in @var{score}.")
{
Music *mus = unsmob_music (music);
SCM_ASSERT_TYPE (mus, music, SCM_ARG1, __FUNCTION__, "music");
Score *score = new Score;
- score->set_music (music, parser);
+ score->set_music (music);
SCM self = score->self_scm ();
scm_gc_unprotect_object (self);
Index: lilypond/lily/score.cc
diff -u lilypond/lily/score.cc:1.164 lilypond/lily/score.cc:1.165
--- lilypond/lily/score.cc:1.164 Tue May 31 18:50:04 2005
+++ lilypond/lily/score.cc Sun Jul 10 11:25:24 2005
@@ -205,13 +205,8 @@
}
void
-Score::set_music (SCM music, SCM parser)
+Score::set_music (SCM music)
{
- /* URG? */
- SCM check_funcs = ly_lily_module_constant ("toplevel-music-functions");
- for (; scm_is_pair (check_funcs); check_funcs = scm_cdr (check_funcs))
- music = scm_call_2 (scm_car (check_funcs), music, parser);
-
if (unsmob_music (music_))
{
unsmob_music (music)->origin ()->error (_ ("already have music in
score"));
Index: lilypond/lily/unfolded-repeat-iterator.cc
diff -u lilypond/lily/unfolded-repeat-iterator.cc:1.54
lilypond/lily/unfolded-repeat-iterator.cc:1.55
--- lilypond/lily/unfolded-repeat-iterator.cc:1.54 Thu Mar 10 14:36:12 2005
+++ lilypond/lily/unfolded-repeat-iterator.cc Sun Jul 10 11:25:24 2005
@@ -1,9 +1,8 @@
/*
- unfolded-repeat-iterator.cc -- implement Unfolded_repeat_iterator,
Volta_repeat_iterator
-
+ unfolded-repeat-iterator.cc -- implement Unfolded_repeat_iterator
+
source file of the GNU LilyPond music typesetter
-
(c) 2002--2005 Han-Wen Nienhuys <[EMAIL PROTECTED]>
*/
@@ -50,114 +49,4 @@
return l;
}
-class Volta_repeat_iterator : public Sequential_iterator
-{
-public:
- DECLARE_SCHEME_CALLBACK (constructor, ());
- Volta_repeat_iterator ();
-
- void add_repeat_command (SCM);
-protected:
- virtual SCM get_music_list () const;
- virtual void next_element (bool);
- virtual void construct_children ();
- virtual void process (Moment);
-
- bool first_time_;
- int alt_count_;
- int rep_count_;
- int done_count_;
-};
-
-Volta_repeat_iterator::Volta_repeat_iterator ()
-{
- done_count_ = alt_count_ = rep_count_ = 0;
- first_time_ = true;
-}
-
-SCM
-Volta_repeat_iterator::get_music_list ()const
-{
- return scm_cons (get_music ()->get_property ("element"),
- get_music ()->get_property ("elements"));
-}
-
-void
-Volta_repeat_iterator::construct_children ()
-{
- Sequential_iterator::construct_children ();
-
- SCM alts = get_music ()->get_property ("elements");
-
- alt_count_ = scm_ilength (alts);
- rep_count_ = scm_to_int (get_music ()->get_property ("repeat-count"));
- done_count_ = 0;
-}
-
-/*
- TODO: add source information for debugging
-*/
-void
-Volta_repeat_iterator::add_repeat_command (SCM what)
-{
- SCM reps = ly_symbol2scm ("repeatCommands");
- SCM current_reps = get_outlet ()->internal_get_property (reps);
-
- Context *where = get_outlet ()->where_defined (reps);
- if (where
- && current_reps == SCM_EOL || scm_is_pair (current_reps))
- {
- current_reps = scm_cons (what, current_reps);
- where->internal_set_property (reps, current_reps);
- }
-}
-
-void
-Volta_repeat_iterator::next_element (bool side_effect)
-{
- done_count_++;
-
- Sequential_iterator::next_element (side_effect);
-
- if (side_effect)
- {
- if (alt_count_)
- {
- String repstr = to_string (rep_count_ - alt_count_ + done_count_) +
".";
- if (done_count_ > 1)
- {
- add_repeat_command (scm_list_n (ly_symbol2scm ("volta"),
SCM_BOOL_F, SCM_UNDEFINED));
-
- if (done_count_ - 1 < alt_count_)
- add_repeat_command (ly_symbol2scm ("end-repeat"));
- }
-
- if (done_count_ == 1 && alt_count_ < rep_count_)
- {
- repstr = "1.--" + to_string (rep_count_ - alt_count_ +
done_count_) + ".";
- }
-
- if (done_count_ <= alt_count_)
- add_repeat_command (scm_list_n (ly_symbol2scm ("volta"),
- scm_makfrom0str (repstr.to_str0
()), SCM_UNDEFINED));
- }
- else
- {
- add_repeat_command (ly_symbol2scm ("end-repeat"));
- }
- }
-}
-
-void
-Volta_repeat_iterator::process (Moment m)
-{
- if (first_time_)
- {
- add_repeat_command (ly_symbol2scm ("start-repeat"));
- first_time_ = false;
- }
- Sequential_iterator::process (m);
-}
-
-IMPLEMENT_CTOR_CALLBACK (Volta_repeat_iterator);
IMPLEMENT_CTOR_CALLBACK (Unfolded_repeat_iterator);
Index: lilypond/python/lilylib.py
diff -u lilypond/python/lilylib.py:1.66 lilypond/python/lilylib.py:1.67
--- lilypond/python/lilylib.py:1.66 Wed Jun 29 22:01:45 2005
+++ lilypond/python/lilylib.py Sun Jul 10 11:25:24 2005
@@ -12,11 +12,14 @@
### subst:
\(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
import __main__
+import getopt
+import glob
+import os
+import re
import shutil
import string
import sys
import tempfile
-import glob
################################################################
# Users of python modules should include this snippet
@@ -30,9 +33,6 @@
# If set, LILYPONDPREFIX must take prevalence
# if datadir is not set, we're doing a build and LILYPONDPREFIX
-import getopt
-import os
-import sys
datadir = '@local_lilypond_datadir@'
if not os.path.isdir (datadir):
datadir = '@lilypond_datadir@'
@@ -45,59 +45,6 @@
-# Customize these
-
-# UGH. - why? Py2exe barfs
-if __name__ == '__main__':
- import lilylib as ly
- global _;_=ly._
- global re;re = ly.re
-
- # lilylib globals
- program_name = 'unset'
- pseudo_filter_p = 0
- original_dir = os.getcwd ()
- temp_dir = os.path.join (original_dir, '%s.dir' % program_name)
- keep_temp_dir_p = 0
- verbose_p = 0
-
- help_summary = _ ("lilylib module")
-
- option_definitions = [
- ('', 'h', 'help', _ ("print this help")),
- ]
-
- from lilylib import *
-################################################################
-
-# Handle bug in Python 1.6-2.1
-#
-# there are recursion limits for some patterns in Python 1.6 til 2.1.
-# fix this by importing pre instead. Fix by Mats.
-
-
-# Ugh. py2exe barfs on conditional imports
-if float (sys.version[0:3]) <= 2.1:
- try:
- import pre
- re = pre
- del pre
- except ImportError:
- import re
-else:
- import re
-
-# Attempt to fix problems with limited stack size set by Python!
-# Sets unlimited stack size. Note that the resource module only
-# is available on UNIX.
-
-
-# Ugh. py2exe barfs on conditional imports
-try:
- import resource
- resource.setrlimit (resource.RLIMIT_STACK, (-1, -1))
-except:
- pass
localedir = '@localedir@'
try:
@@ -157,7 +104,7 @@
return (short, long)
def option_help_str (o):
- '''Transform one option description (4-tuple ) into neatly formatted
string'''
+ '''Transform one option description (4-tuple) into neatly formatted
string'''
sh = ' '
if o[1]:
sh = '-%s' % o[1]
@@ -382,25 +329,6 @@
map (lambda x, d=dir: shutil.copy2 (x, os.path.join (d, x)), files)
-# Python < 1.5.2 compatibility
-#
-# On most platforms, this is equivalent to
-#`normpath(join(os.getcwd()), PATH)'. *Added in Python version 1.5.2*
-
-if os.path.__dict__.has_key ('abspath'):
- abspath = os.path.abspath
-else:
- def abspath (path):
- return os.path.normpath (os.path.join (os.getcwd (), path))
-
-if os.__dict__.has_key ('makedirs'):
- makedirs = os.makedirs
-else:
- def makedirs (dir, mode=0777):
- system ('mkdir -p %s' % dir)
-
-
-
def search_exe_path (name):
p = os.environ['PATH']
exe_paths = string.split (p, ':')
@@ -418,21 +346,6 @@
def print_environment ():
for (k,v) in os.environ.items ():
sys.stderr.write ("%s=\"%s\"\n" % (k, v))
-
-BOUNDING_BOX_RE = '^%%BoundingBox: (-?[0-9]+) (-?[0-9]+) (-?[0-9]+) (-?[0-9]+)'
-def get_bbox (filename):
- bbox = filename + '.bbox'
- ## -sOutputFile does not work with bbox?
- cmd = 'gs -sDEVICE=bbox -q -dNOPAUSE %s -c showpage -c quit 2>%s' % \
- (filename, bbox)
- system (cmd, progress_p = 1)
- box = open (bbox).read ()
- m = re.match (BOUNDING_BOX_RE, box)
- gr = []
- if m:
- gr = map (string.atoi, m.groups ())
-
- return gr
def make_ps_images (ps_name, resolution = 90, papersize = "a4",
Index: lilypond/scm/define-grobs.scm
diff -u lilypond/scm/define-grobs.scm:1.210 lilypond/scm/define-grobs.scm:1.211
--- lilypond/scm/define-grobs.scm:1.210 Fri Jul 8 22:16:28 2005
+++ lilypond/scm/define-grobs.scm Sun Jul 10 11:25:24 2005
@@ -836,7 +836,8 @@
(before-line-breaking-callback . ,Paper_column::before_line_breaking)
(X-extent-callback . ,Axis_group_interface::group_extent_callback)
-; (print-function . ,Paper_column::print) (font-name . "ecrm8")
(Y-extent-callback . #f)
+ ;; debugging
+;; (print-function . ,Paper_column::print) (font-size . -6)
(font-name . "sans") (Y-extent-callback . #f)
(meta . ((interfaces . (paper-column-interface axis-group-interface
spaceable-grob-interface item-interface ))))
))
@@ -859,8 +860,9 @@
(X-extent-callback . ,Axis_group_interface::group_extent_callback)
(before-line-breaking-callback . ,Paper_column::before_line_breaking)
(breakable . #t)
+
;; debugging stuff: print column number.
-; (print-function . ,Paper_column::print) (font-name . "ecrm8")
(Y-extent-callback . #f)
+;; (print-function . ,Paper_column::print) (font-size . -6) (font-name .
"sans") (Y-extent-callback . #f)
(meta . ((interfaces . (paper-column-interface axis-group-interface
spaceable-grob-interface item-interface ))))
Index: lilypond/scm/define-music-types.scm
diff -u lilypond/scm/define-music-types.scm:1.56
lilypond/scm/define-music-types.scm:1.57
--- lilypond/scm/define-music-types.scm:1.56 Wed May 25 01:16:45 2005
+++ lilypond/scm/define-music-types.scm Sun Jul 10 11:25:24 2005
@@ -70,9 +70,10 @@
(AutoChangeMusic
. (
(description . "Used for making voices that switch between piano
staves automatically.")
-
- (internal-class-name . "Music_wrapper")
+ (internal-class-name . "Music")
(iterator-ctor . ,Auto_change_iterator::constructor)
+ (start-callback . ,Music_wrapper::start_callback)
+ (length-callback . ,Music_wrapper::length_callback)
(types . (general-music music-wrapper-music auto-change-instruction))
))
(BarCheck
@@ -146,7 +147,9 @@
. (
(description . "Interpret the argument music within a specific
context.")
(iterator-ctor . ,Context_specced_music_iterator::constructor)
- (internal-class-name . "Music_wrapper")
+ (length-callback . ,Music_wrapper::length_callback)
+ (start-callback . ,Music_wrapper::start_callback)
+ (internal-class-name . "Music")
(types . (context-specification general-music music-wrapper-music))
))
@@ -210,7 +213,7 @@
(GraceMusic
. (
(description . "Interpret the argument as grace notes. ")
- (internal-class-name . "Music_wrapper")
+ (internal-class-name . "Music")
(start-callback . ,Grace_music::start_callback)
(length . ,(ly:make-moment 0 1))
(iterator-ctor . ,Grace_iterator::constructor)
@@ -437,7 +440,7 @@
(QuoteMusic
. (
(description . "Quote preprocessed snippets of music. ")
- (internal-class-name . "Music_wrapper")
+ (internal-class-name . "Music")
(iterator-ctor . ,Quote_iterator::constructor)
(types . (general-music))
))
@@ -578,7 +581,9 @@
Syntax @code{\\times @var{fraction} @var{music}}, e.g.
@code{\\times 2/3 @{ ... @}} for triplets.
")
- (internal-class-name . "Music_wrapper")
+ (internal-class-name . "Music")
+ (length-callback . ,Music_wrapper::length_callback)
+ (start-callback . ,Music_wrapper::start_callback)
(iterator-ctor . ,Time_scaled_music_iterator::constructor)
(types . (time-scaled-music music-wrapper-music general-music))
))
@@ -586,7 +591,10 @@
(TransposedMusic
. (
(description . "Music that has been transposed.")
- (internal-class-name . "Music_wrapper")
+ (internal-class-name . "Music")
+ (iterator-ctor . ,Music_wrapper_iterator::constructor)
+ (start-callback . ,Music_wrapper::start_callback)
+ (length-callback . ,Music_wrapper::length_callback)
(to-relative-callback . ,Relative_octave_music::no_relative_callback)
(types . (music-wrapper-music general-music transposed-music))
))
@@ -596,7 +604,9 @@
(description . "Music that can not be converted from relative to
absolute notation.
For example, transposed music.")
(to-relative-callback . ,Relative_octave_music::no_relative_callback)
- (internal-class-name . "Music_wrapper")
+ (iterator-ctor . ,Music_wrapper_iterator::constructor)
+ (length-callback . ,Music_wrapper::length_callback)
+ (internal-class-name . "Music")
(types . (music-wrapper-music general-music unrelativable-music))
))
@@ -604,7 +614,10 @@
. (
(description . "Music that was entered in relative octave notation.")
(to-relative-callback . ,Relative_octave_music::relative_callback)
- (internal-class-name . "Music_wrapper")
+ (iterator-ctor . ,Music_wrapper_iterator::constructor)
+ (length-callback . ,Music_wrapper::length_callback)
+ (start-callback . ,Music_wrapper::start_callback)
+ (internal-class-name . "Music")
(types . (music-wrapper-music general-music relative-octave-music))
))
(ScriptEvent
Index: lilypond/scm/lily-library.scm
diff -u lilypond/scm/lily-library.scm:1.38 lilypond/scm/lily-library.scm:1.39
--- lilypond/scm/lily-library.scm:1.38 Wed Jun 29 10:55:46 2005
+++ lilypond/scm/lily-library.scm Sun Jul 10 11:25:24 2005
@@ -64,9 +64,20 @@
(ly:parser-define
parser 'toplevel-scores
(cons score (ly:parser-lookup parser 'toplevel-scores))))
-
+
+
+(define-public (scorify-music music parser)
+
+ (for-each (lambda (func)
+ (set! music (func music parser)))
+ toplevel-music-functions)
+
+; (display-scheme-music music)
+ (ly:make-score music))
+
+
(define-public (collect-music-for-book parser music)
- (collect-scores-for-book parser (ly:music-scorify music parser)))
+ (collect-scores-for-book parser (scorify-music music parser)))
;;;;;;;;;;;;;;;;
Index: lilypond/scm/music-functions.scm
diff -u lilypond/scm/music-functions.scm:1.148
lilypond/scm/music-functions.scm:1.149
--- lilypond/scm/music-functions.scm:1.148 Thu Jun 9 15:44:49 2005
+++ lilypond/scm/music-functions.scm Sun Jul 10 11:25:24 2005
@@ -744,7 +744,7 @@
;; switch-on-debugging
(lambda (x parser) (music-map cue-substitute x))
-; (lambda (x parser) (music-map display-scheme-music x))
+
))
Index: lilypond/scm/safe-lily.scm
diff -u lilypond/scm/safe-lily.scm:1.31 lilypond/scm/safe-lily.scm:1.32
--- lilypond/scm/safe-lily.scm:1.31 Fri Jul 8 17:53:41 2005
+++ lilypond/scm/safe-lily.scm Sun Jul 10 11:25:24 2005
@@ -85,7 +85,7 @@
ly:music-mutable-properties
ly:music-name
ly:music-property
- ly:music-scorify
+ ly:make-score
ly:music-set-property!
ly:music-transpose
ly:music?
Index: lilypond/scripts/lilypond-book.py
diff -u lilypond/scripts/lilypond-book.py:1.266
lilypond/scripts/lilypond-book.py:1.267
--- lilypond/scripts/lilypond-book.py:1.266 Wed Jun 29 22:01:45 2005
+++ lilypond/scripts/lilypond-book.py Sun Jul 10 11:25:24 2005
@@ -106,7 +106,7 @@
_ ("show warranty and copyright")),
]
-include_path = [ly.abspath (os.getcwd ())]
+include_path = [os.path.abspath (os.getcwd ())]
lilypond_binary = os.path.join ('@bindir@', 'lilypond')
# Only use installed binary when we are installed too.
@@ -554,7 +554,7 @@
#(set! toplevel-score-handler ly:parser-print-score)
#(set! toplevel-music-handler (lambda (p m)
(ly:parser-print-score
- p (ly:music-scorify m p))))
+ p (scorify-music m p))))
#(ly:set-option (quote no-point-and-click))
@@ -1531,7 +1531,7 @@
sys.exit (0)
elif o == '--include' or o == '-I':
include_path.append (os.path.join (original_dir,
- ly.abspath (a)))
+ os.path.abspath (a)))
elif o == '--output' or o == '-o':
output_name = a
elif o == '--process' or o == '-P':
Index: lilypond/scripts/mup2ly.py
diff -u lilypond/scripts/mup2ly.py:1.29 lilypond/scripts/mup2ly.py:1.30
--- lilypond/scripts/mup2ly.py:1.29 Fri Feb 4 13:48:10 2005
+++ lilypond/scripts/mup2ly.py Sun Jul 10 11:25:24 2005
@@ -86,28 +86,6 @@
#
# source file of the GNU LilyPond music typesetter
-# Handle bug in Python 1.6-2.1
-#
-# there are recursion limits for some patterns in Python 1.6 til 2.1.
-# fix this by importing pre instead. Fix by Mats.
-
-# todo: should check Python version first.
-try:
- import pre
- re = pre
- del pre
-except ImportError:
- import re
-
-# Attempt to fix problems with limited stack size set by Python!
-# Sets unlimited stack size. Note that the resource module only
-# is available on UNIX.
-try:
- import resource
- resource.setrlimit (resource.RLIMIT_STACK, (-1, -1))
-except:
- pass
-
try:
import gettext
gettext.bindtextdomain ('lilypond', localedir)
@@ -287,23 +265,6 @@
# system ('cp *.%s %s' % (ext, outdir), 1)
files = filter (lambda x, p=pattern: re.match (p, x), os.listdir ('.'))
map (lambda x, d=dir: shutil.copy2 (x, os.path.join (d, x)), files)
-
-
-# Python < 1.5.2 compatibility
-#
-# On most platforms, this is equivalent to
-#`normpath(join(os.getcwd()), PATH)'. *Added in Python version 1.5.2*
-if os.path.__dict__.has_key ('abspath'):
- abspath = os.path.abspath
-else:
- def abspath (path):
- return os.path.normpath (os.path.join (os.getcwd (), path))
-
-if os.__dict__.has_key ('makedirs'):
- makedirs = os.makedirs
-else:
- def makedirs (dir, mode=0777):
- system ('mkdir -p %s' % dir)
def mkdir_p (dir, mode=0777):
_______________________________________________
Lilypond-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs