CVSROOT: /cvsroot/lilypond
Module name: lilypond
Branch:
Changes by: Han-Wen Nienhuys <[EMAIL PROTECTED]> 05/09/26 23:25:59
Modified files:
. : ChangeLog
Documentation/user: advanced-notation.itely invoking.itely
programming-interface.itely
lily : grob-scheme.cc lexer.ll paper-book.cc
paper-column-engraver.cc paper-column.cc
paper-system-scheme.cc paper-system.cc
parser.yy score-engraver.cc system.cc
lily/include : paper-system.hh
ly : engraver-init.ly music-functions-init.ly
python : convertrules.py
scm : define-grob-properties.scm safe-lily.scm
Log message:
* lily/paper-system.cc (read_left_bound): new function. Read
line-break-system-details from left bound to determine extents.
* Documentation/user/programming-interface.itely (Using LilyPond
syntax inside Scheme): change applyxxx -> applyXxx.
* ly/music-functions-init.ly: add outputProperty music function.
* lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
* lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
* python/convertrules.py (conv): rule
* ly/music-functions-init.ly: applyxxx -> applyXxx
* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
TabVoice to Voice.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.4134&tr2=1.4135&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/Documentation/user/advanced-notation.itely.diff?tr1=1.62&tr2=1.63&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/Documentation/user/invoking.itely.diff?tr1=1.45&tr2=1.46&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/Documentation/user/programming-interface.itely.diff?tr1=1.44&tr2=1.45&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/grob-scheme.cc.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/lexer.ll.diff?tr1=1.174&tr2=1.175&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/paper-book.cc.diff?tr1=1.115&tr2=1.116&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/paper-column-engraver.cc.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/paper-column.cc.diff?tr1=1.83&tr2=1.84&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/paper-system-scheme.cc.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/paper-system.cc.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/parser.yy.diff?tr1=1.489&tr2=1.490&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/score-engraver.cc.diff?tr1=1.154&tr2=1.155&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/system.cc.diff?tr1=1.119&tr2=1.120&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/paper-system.hh.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/engraver-init.ly.diff?tr1=1.249&tr2=1.250&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/music-functions-init.ly.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/python/convertrules.py.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grob-properties.scm.diff?tr1=1.121&tr2=1.122&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/safe-lily.scm.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.4134 lilypond/ChangeLog:1.4135
--- lilypond/ChangeLog:1.4134 Mon Sep 26 12:05:42 2005
+++ lilypond/ChangeLog Mon Sep 26 23:25:57 2005
@@ -1,3 +1,24 @@
+2005-09-27 Han-Wen Nienhuys <[EMAIL PROTECTED]>
+
+ * lily/paper-system.cc (read_left_bound): new function. Read
+ line-break-system-details from left bound to determine extents.
+
+ * Documentation/user/programming-interface.itely (Using LilyPond
+ syntax inside Scheme): change applyxxx -> applyXxx.
+
+ * ly/music-functions-init.ly: add outputProperty music function.
+
+ * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
+
+ * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
+
+ * python/convertrules.py (conv): rule
+
+ * ly/music-functions-init.ly: applyxxx -> applyXxx
+
+ * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
+ TabVoice to Voice.
+
2005-09-26 Han-Wen Nienhuys <[EMAIL PROTECTED]>
* flower/include/real.hh: include <math.h> iso. <cmath>
Index: lilypond/Documentation/user/advanced-notation.itely
diff -u lilypond/Documentation/user/advanced-notation.itely:1.62
lilypond/Documentation/user/advanced-notation.itely:1.63
--- lilypond/Documentation/user/advanced-notation.itely:1.62 Thu Sep 8
06:54:45 2005
+++ lilypond/Documentation/user/advanced-notation.itely Mon Sep 26 23:25:58 2005
@@ -1899,7 +1899,7 @@
@lilypond[quote,verbatim,fragment,raggedright,relative=2]
\context Voice {
- \applyoutput
+ \applyOutput
#(add-balloon-text 'NoteHead "heads, or tails?"
'(1 . -3))
c8
@@ -2321,7 +2321,7 @@
@cindex automatic beams, tuning
@cindex tuning automatic beaming
[EMAIL PROTECTED] [TODO: use \applycontext]
[EMAIL PROTECTED] [TODO: use \applyContext]
In normal time signatures, automatic beams can start on any note but can
only end in a few positions within the measure: beams can end on a beat,
Index: lilypond/Documentation/user/invoking.itely
diff -u lilypond/Documentation/user/invoking.itely:1.45
lilypond/Documentation/user/invoking.itely:1.46
--- lilypond/Documentation/user/invoking.itely:1.45 Sun Sep 25 07:52:48 2005
+++ lilypond/Documentation/user/invoking.itely Mon Sep 26 23:25:58 2005
@@ -488,7 +488,7 @@
\magnify isn't changed to \fontsize.
- \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2)
remove-tag isn't changed.
- - \applymusic #(remove-tag '. . .) => \keepWithTag #'. . .
+ - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
firstpagenumber isn't changed.
- firstpagenumber no => printfirstpagenumber = ##f
Line breaks in header strings aren't converted.
Index: lilypond/Documentation/user/programming-interface.itely
diff -u lilypond/Documentation/user/programming-interface.itely:1.44
lilypond/Documentation/user/programming-interface.itely:1.45
--- lilypond/Documentation/user/programming-interface.itely:1.44 Thu Sep
8 06:54:44 2005
+++ lilypond/Documentation/user/programming-interface.itely Mon Sep 26
23:25:58 2005
@@ -161,11 +161,11 @@
Such syntax can also be defined as user code. To do this, it is
necessary to create a @emph{music function}. This is a specially marked
-Scheme function. For example, the music function @code{\applymusic} applies
+Scheme function. For example, the music function @code{\applyMusic} applies
a user-defined function to a music expression. Its syntax is
@example
-\applymusic [EMAIL PROTECTED] @var{music}
+\applyMusic [EMAIL PROTECTED] @var{music}
@end example
A music function is created with @code{ly:make-music-function},
@@ -174,7 +174,7 @@
(ly:make-music-function
@end example
[EMAIL PROTECTED] takes a Scheme function and a Music expression as
[EMAIL PROTECTED] takes a Scheme function and a Music expression as
arguments. This is encoded in its parameter list,
@example
@@ -192,10 +192,10 @@
@end example
The above Scheme code only defines the functionality. The tag
[EMAIL PROTECTED] is selected by defining
[EMAIL PROTECTED] is selected by defining
@example
-applymusic = #(ly:make-music-function
+applyMusic = #(ly:make-music-function
(list procedure? ly:music?)
(lambda (parser location func music)
(func music)))
@@ -206,12 +206,12 @@
functions:
@example
-applymusic = #(def-music-function (parser location func music)
+applyMusic = #(def-music-function (parser location func music)
(procedure? ly:music?)
(func music))
@end example
-Examples of the use of @code{\applymusic} are in the next section.
+Examples of the use of @code{\applyMusic} are in the next section.
@seealso
@file{ly/@/music@/-functions@/-init@/.ly}.
@@ -220,10 +220,10 @@
@subsection Manipulating music expressions
Music objects and their properties can be accessed and manipulated
-directly, through the @code{\applymusic} mechanism.
-The syntax for @code{\applymusic} is
+directly, through the @code{\applyMusic} mechanism.
+The syntax for @code{\applyMusic} is
@example
-\applymusic [EMAIL PROTECTED] @var{music}
+\applyMusic [EMAIL PROTECTED] @var{music}
@end example
@noindent
@@ -241,7 +241,7 @@
(reverse (ly:music-property m 'elements)))
m)
-\applymusic #rev-music-1 { c'4 d'4 }
+\applyMusic #rev-music-1 { c'4 d'4 }
@end lilypond
The use of such a function is very limited. The effect of this
@@ -249,13 +249,13 @@
multiple children. The following function application has no effect
@example
-\applymusic #rev-music-1 \grace @{ c4 d4 @}
+\applyMusic #rev-music-1 \grace @{ c4 d4 @}
@end example
@noindent
In this case, @code{\grace} is stored as @internalsref{GraceMusic}, which
has no @code{elements}, only a single @code{element}. Every generally
-applicable function for @code{\applymusic} must -- like music expressions
+applicable function for @code{\applyMusic} must -- like music expressions
themselves -- be recursive.
The following example is such a recursive function: It first extracts
@@ -295,7 +295,7 @@
\context Voice = "2" @{ \voiceTwo b @} >>
@end example
-Other applications of @code{\applymusic} are writing out repeats
+Other applications of @code{\applyMusic} are writing out repeats
automatically (@inputfileref{input/@/test,unfold@/-all@/-repeats@/.ly}),
saving keystrokes (@inputfileref{input/@/test,music@/-box@/.ly}) and
exporting LilyPond input to other formats
@@ -402,7 +402,7 @@
{
c'^"1"
- \applymusic #(with-padding 3) { c'^"2" c'^"3" }
+ \applyMusic #(with-padding 3) { c'^"2" c'^"3" }
c'^"4"
}
@end lilypond
@@ -720,12 +720,12 @@
@subsection Context evaluation
@cindex calling code during interpreting
[EMAIL PROTECTED] @code{\applycontext}
[EMAIL PROTECTED] @code{\applyContext}
Contexts can be modified during interpretation with Scheme code. The
syntax for this is
@example
-\applycontext @var{function}
+\applyContext @var{function}
@end example
@var{function} should be a Scheme function taking a single argument,
@@ -733,7 +733,7 @@
current bar number on the standard output during the compile:
@example
-\applycontext
+\applyContext
#(lambda (x)
(format #t "\nWe were called in barnumber ~a.\n"
(ly:context-property x 'currentBarNumber)))
Index: lilypond/lily/grob-scheme.cc
diff -u lilypond/lily/grob-scheme.cc:1.52 lilypond/lily/grob-scheme.cc:1.53
--- lilypond/lily/grob-scheme.cc:1.52 Sat Aug 13 21:35:23 2005
+++ lilypond/lily/grob-scheme.cc Mon Sep 26 23:25:58 2005
@@ -186,7 +186,7 @@
return s;
}
-LY_DEFINE (ly_grob_suicide, "ly:grob-suicide",
+LY_DEFINE (ly_grob_suicide_x, "ly:grob-suicide!",
1, 0, 0, (SCM g),
"Kill @var{g}.")
{
Index: lilypond/lily/include/paper-system.hh
diff -u lilypond/lily/include/paper-system.hh:1.10
lilypond/lily/include/paper-system.hh:1.11
--- lilypond/lily/include/paper-system.hh:1.10 Tue Aug 16 15:47:41 2005
+++ lilypond/lily/include/paper-system.hh Mon Sep 26 23:25:59 2005
@@ -29,11 +29,12 @@
int number_;
Paper_system (Stencil, bool);
-
+ void read_left_bound (Item*);
Stencil to_stencil () const;
SCM stencils () const;
bool is_title () const;
Real break_before_penalty () const;
+ Interval staff_refpoints () const;
};
DECLARE_UNSMOB (Paper_system, paper_system);
Index: lilypond/lily/lexer.ll
diff -u lilypond/lily/lexer.ll:1.174 lilypond/lily/lexer.ll:1.175
--- lilypond/lily/lexer.ll:1.174 Mon Sep 12 12:46:48 2005
+++ lilypond/lily/lexer.ll Mon Sep 26 23:25:58 2005
@@ -518,7 +518,7 @@
else if (tag == ly_symbol2scm
("scheme0-scheme1-scheme2"))
return MARKUP_HEAD_SCM0_SCM1_SCM2;
else {
- programming_error ("no parser tag defined for
this signature");
+ programming_error ("no parser tag defined for
this markup signature");
ly_display_scm (s);
assert(false);
}
@@ -919,6 +919,10 @@
else if (type == ly_symbol2scm ("scm-scm-music"))
{
return MUSIC_FUNCTION_SCM_SCM_MUSIC;
+ }
+ else if (type == ly_symbol2scm ("scm-scm-scm"))
+ {
+ return MUSIC_FUNCTION_SCM_SCM_SCM;
}
else if (type == ly_symbol2scm ("markup"))
{
Index: lilypond/lily/paper-book.cc
diff -u lilypond/lily/paper-book.cc:1.115 lilypond/lily/paper-book.cc:1.116
--- lilypond/lily/paper-book.cc:1.115 Sat Aug 20 23:20:18 2005
+++ lilypond/lily/paper-book.cc Mon Sep 26 23:25:58 2005
@@ -321,6 +321,7 @@
Paper_system *ps = new Paper_system (*unsmob_stencil (t), true);
systems_ = scm_cons (ps->self_scm (), systems_);
ps->unprotect ();
+
// FIXME: figure out penalty.
//set_system_penalty (ps, scores_[i].header_);
}
Index: lilypond/lily/paper-column-engraver.cc
diff -u lilypond/lily/paper-column-engraver.cc:1.9
lilypond/lily/paper-column-engraver.cc:1.10
--- lilypond/lily/paper-column-engraver.cc:1.9 Sat Aug 13 21:35:22 2005
+++ lilypond/lily/paper-column-engraver.cc Mon Sep 26 23:25:58 2005
@@ -214,7 +214,13 @@
"Score_engraver::forbid_breaks to stop linebreaks. In
practice, this "
"means that you can make a breakpoint by creating a barline
(assuming "
"that there are no beams or notes that prevent a breakpoint.) ",
- /* create */ "PaperColumn NonMusicalPaperColumn",
+
+ /* create */
+ "PaperColumn "
+ "NonMusicalPaperColumn",
+
/* accept */ "break-event",
/* read */ "",
- /* write */ "currentCommandColumn currentMusicalColumn");
+ /* write */
+ "currentCommandColumn "
+ "currentMusicalColumn");
Index: lilypond/lily/paper-column.cc
diff -u lilypond/lily/paper-column.cc:1.83 lilypond/lily/paper-column.cc:1.84
--- lilypond/lily/paper-column.cc:1.83 Mon Aug 15 13:07:32 2005
+++ lilypond/lily/paper-column.cc Mon Sep 26 23:25:58 2005
@@ -26,29 +26,6 @@
return new Paper_column (*this, count);
}
-ADD_INTERFACE (Paper_column, "paper-column-interface",
- "@code{Paper_column} objects form the top-most X-parents for
items."
- " The are two types of columns: musical columns, where are
attached to, and "
- " non-musical columns, where bar-lines, clefs etc. are attached
to. "
- " The spacing engine determines the X-positions of these
objects."
-
- "\n\n"
- "They are\n"
- " numbered, the first (leftmost) is column 0. Numbering happens
before\n"
- " line-breaking, and columns are not renumbered after line
breaking.\n"
- " Since many columns go unused, you should only use the rank
field to\n"
- " get ordering information. Two adjacent columns may have\n"
- " non-adjacent numbers.\n",
-
-
- "between-cols "
- "bounded-by-me "
- "page-penalty "
- "shortest-playing-duration "
- "shortest-starter-duration "
- "used "
- "when ");
-
void
Paper_column::do_break_processing ()
{
@@ -194,3 +171,32 @@
return SCM_UNSPECIFIED;
}
+
+
+ADD_INTERFACE (Paper_column,
+
+ "paper-column-interface",
+ "@code{Paper_column} objects form the top-most X-parents for
items."
+ " The are two types of columns: musical columns, where are
attached to, and "
+ " non-musical columns, where bar-lines, clefs etc. are attached
to. "
+ " The spacing engine determines the X-positions of these
objects."
+
+ "\n\n"
+ "They are\n"
+ " numbered, the first (leftmost) is column 0. Numbering happens
before\n"
+ " line-breaking, and columns are not renumbered after line
breaking.\n"
+ " Since many columns go unused, you should only use the rank
field to\n"
+ " get ordering information. Two adjacent columns may have\n"
+ " non-adjacent numbers.\n",
+
+
+ /* properties */
+ "between-cols "
+ "bounded-by-me "
+ "line-break-system-details "
+ "page-penalty "
+ "shortest-playing-duration "
+ "shortest-starter-duration "
+ "used "
+ "when ");
+
Index: lilypond/lily/paper-system-scheme.cc
diff -u lilypond/lily/paper-system-scheme.cc:1.4
lilypond/lily/paper-system-scheme.cc:1.5
--- lilypond/lily/paper-system-scheme.cc:1.4 Sun Jul 24 19:31:02 2005
+++ lilypond/lily/paper-system-scheme.cc Mon Sep 26 23:25:58 2005
@@ -61,6 +61,6 @@
{
Paper_system *ps = unsmob_paper_system (system);
SCM_ASSERT_TYPE (ps, system, SCM_ARG1, __FUNCTION__, "paper-system");
- return ly_interval2scm (ps->staff_refpoints_);
+ return ly_interval2scm (ps->staff_refpoints ());
}
Index: lilypond/lily/paper-system.cc
diff -u lilypond/lily/paper-system.cc:1.17 lilypond/lily/paper-system.cc:1.18
--- lilypond/lily/paper-system.cc:1.17 Wed Mar 16 19:19:15 2005
+++ lilypond/lily/paper-system.cc Mon Sep 26 23:25:58 2005
@@ -7,8 +7,7 @@
*/
#include "paper-system.hh"
-
-#include "virtual-methods.hh"
+#include "item.hh"
#include "ly-smobs.icc"
@@ -69,4 +68,41 @@
Paper_system::to_stencil () const
{
return stencil_;
+}
+
+void
+Paper_system::read_left_bound (Item *left)
+{
+ break_before_penalty_
+ = robust_scm2double (left->get_property ("page-penalty"), 0.0);
+
+ SCM details
+ = left->get_property ("line-break-system-details");
+
+ SCM yext
+ = scm_assoc (ly_symbol2scm ("Y-extent"), details);
+
+ SCM staff_ext
+ = scm_assoc (ly_symbol2scm ("refpoint-Y-extent"), details);
+
+ if (scm_is_pair (yext)
+ && is_number_pair (scm_cdr (yext)))
+ {
+ Box b = stencil_.extent_box();
+ b[Y_AXIS] = ly_scm2interval (scm_cdr (yext));
+
+ stencil_ = Stencil (b, stencil_.expr ());
+ }
+
+ if (scm_is_pair (staff_ext)
+ && is_number_pair (scm_cdr (staff_ext)))
+ {
+ staff_refpoints_ = ly_scm2interval (scm_cdr (staff_ext));
+ }
+}
+
+Interval
+Paper_system::staff_refpoints () const
+{
+ return staff_refpoints_;
}
Index: lilypond/lily/parser.yy
diff -u lilypond/lily/parser.yy:1.489 lilypond/lily/parser.yy:1.490
--- lilypond/lily/parser.yy:1.489 Mon Sep 12 12:46:48 2005
+++ lilypond/lily/parser.yy Mon Sep 26 23:25:58 2005
@@ -407,6 +407,7 @@
%token <scm> MUSIC_FUNCTION_SCM_MUSIC_MUSIC
%token <scm> MUSIC_FUNCTION_SCM_SCM
%token <scm> MUSIC_FUNCTION_SCM_SCM_MUSIC
+%token <scm> MUSIC_FUNCTION_SCM_SCM_SCM
%token <scm> MUSIC_IDENTIFIER
%token <scm> NOTENAME_PITCH
%token <scm> NUMBER_IDENTIFIER
@@ -1115,6 +1116,9 @@
}
| MUSIC_FUNCTION_SCM_SCM embedded_scm embedded_scm {
$$ = scm_list_4 ($1, make_input (@$), $2, $3);
+ }
+ | MUSIC_FUNCTION_SCM_SCM_SCM embedded_scm embedded_scm embedded_scm {
+ $$ = scm_list_5 ($1, make_input (@$), $2, $3, $4);
}
| MUSIC_FUNCTION_SCM_SCM_MUSIC embedded_scm embedded_scm Music {
$$ = scm_list_5 ($1, make_input (@$), $2, $3, $4->self_scm ());
Index: lilypond/lily/score-engraver.cc
diff -u lilypond/lily/score-engraver.cc:1.154
lilypond/lily/score-engraver.cc:1.155
--- lilypond/lily/score-engraver.cc:1.154 Thu Aug 18 11:40:22 2005
+++ lilypond/lily/score-engraver.cc Mon Sep 26 23:25:58 2005
@@ -169,7 +169,14 @@
"Score_engraver::forbid_breaks to stop linebreaks. In
practice, this "
"means that you can make a breakpoint by creating a
barline (assuming "
"that there are no beams or notes that prevent a
breakpoint.) ",
- /* create */ "System PaperColumn NonMusicalPaperColumn",
- /* accept */ "break-event",
- /* read */ "currentMusicalColumn currentCommandColumn
verticallySpacedContexts",
- /* write */ "");
+ /* create */
+ "System ",
+
+ /* accept */
+ "break-event",
+ /* read */
+ "currentMusicalColumn "
+ "currentCommandColumn "
+ "verticallySpacedContexts",
+ /* write */
+ "");
Index: lilypond/lily/system.cc
diff -u lilypond/lily/system.cc:1.119 lilypond/lily/system.cc:1.120
--- lilypond/lily/system.cc:1.119 Mon Sep 12 23:33:24 2005
+++ lilypond/lily/system.cc Mon Sep 26 23:25:58 2005
@@ -385,10 +385,8 @@
Paper_system *pl = new Paper_system (sys_stencil, false);
pl->staff_refpoints_ = staff_refpoints;
- Item *break_point = this->get_bound (LEFT);
- pl->break_before_penalty_
- = robust_scm2double (break_point->get_property ("page-penalty"), 0.0);
-
+ pl->read_left_bound (this->get_bound (LEFT));
+
return pl->unprotect ();
}
Index: lilypond/ly/engraver-init.ly
diff -u lilypond/ly/engraver-init.ly:1.249 lilypond/ly/engraver-init.ly:1.250
--- lilypond/ly/engraver-init.ly:1.249 Tue Sep 20 11:21:01 2005
+++ lilypond/ly/engraver-init.ly Mon Sep 26 23:25:59 2005
@@ -616,6 +616,7 @@
\context {
\Voice
\name "TabVoice"
+ \alias "Voice"
\consists "Tab_note_heads_engraver"
\remove "Note_heads_engraver"
\remove "Fingering_engraver"
Index: lilypond/ly/music-functions-init.ly
diff -u lilypond/ly/music-functions-init.ly:1.37
lilypond/ly/music-functions-init.ly:1.38
--- lilypond/ly/music-functions-init.ly:1.37 Mon Aug 22 00:58:02 2005
+++ lilypond/ly/music-functions-init.ly Mon Sep 26 23:25:59 2005
@@ -6,7 +6,7 @@
#(use-modules (srfi srfi-1))
-applymusic =
+applyMusic =
#(def-music-function (parser location func music) (procedure? ly:music?)
(func music))
@@ -33,7 +33,7 @@
#(def-music-function (parser location music) (ly:music?)
(make-autochange-music music))
-applycontext =
+applyContext =
#(def-music-function (parser location proc) (procedure?)
(make-music 'ApplyContext
'origin location
@@ -58,11 +58,28 @@
(display-lily-music music)
music)
-applyoutput =
+applyOutput =
#(def-music-function (parser location proc) (procedure?)
(make-music 'ApplyOutputEvent
'origin location
'procedure proc))
+
+outputProperty =
+#(def-music-function (parser location name prop value)
+ (symbol? symbol? scheme?)
+
+
+ "Set @var{prop} to @var{value} in all grobs named @var{name} "
+
+ (make-music 'ApplyOutputEvent
+ 'origin location
+ 'procedure
+ (lambda (grob orig-context context)
+ (if (equal?
+ (cdr (assoc 'name (ly:grob-property grob 'meta)))
+ name)
+ (set! (ly:grob-property grob prop) value)
+ ))))
breathe =
#(def-music-function (parser location) ()
Index: lilypond/python/convertrules.py
diff -u lilypond/python/convertrules.py:1.13
lilypond/python/convertrules.py:1.14
--- lilypond/python/convertrules.py:1.13 Mon Aug 22 14:03:11 2005
+++ lilypond/python/convertrules.py Mon Sep 26 23:25:59 2005
@@ -2555,3 +2555,14 @@
'''Performer_group_performer -> Performer_group,
Engraver_group_engraver -> Engraver_group
inside-slur -> avoid-slur'''))
+
+
+def conv (str):
+ str = re.sub(r'\\applyoutput', '\\applyOutput', str)
+ str = re.sub(r'\\applycontext', '\\applyContext', str)
+ str = re.sub(r'\\applymusic', '\\applyMusic', str)
+ str = re.sub(r'ly:grob-suicide', 'ly:grob-suicide!', str)
+ return str
+
+conversions.append (((2, 7, 10), conv,
+ '''\\applyxxx -> \\applyXxx'''))
Index: lilypond/scm/define-grob-properties.scm
diff -u lilypond/scm/define-grob-properties.scm:1.121
lilypond/scm/define-grob-properties.scm:1.122
--- lilypond/scm/define-grob-properties.scm:1.121 Mon Sep 12 12:22:01 2005
+++ lilypond/scm/define-grob-properties.scm Mon Sep 26 23:25:59 2005
@@ -306,6 +306,10 @@
(length-fraction ,number? "Length of ledger line as fraction of note head
size.")
(lengths ,list? "Default stem lengths. The list gives a length
for each flag-count.")
+ (line-break-system-details ,list?
+ "Alist of properties to use when this
+column is the start of a system.")
+
(line-count ,integer? "The number of staff lines.")
(measure-length ,ly:moment? "Length of a
measure. Used in some spacing situations.")
Index: lilypond/scm/safe-lily.scm
diff -u lilypond/scm/safe-lily.scm:1.35 lilypond/scm/safe-lily.scm:1.36
--- lilypond/scm/safe-lily.scm:1.35 Thu Jul 21 14:45:55 2005
+++ lilypond/scm/safe-lily.scm Mon Sep 26 23:25:59 2005
@@ -56,7 +56,7 @@
ly:grob-script-priority-less
ly:grob-set-property!
ly:grob-staff-position
- ly:grob-suicide
+ ly:grob-suicide!
ly:grob-system
ly:grob-translate-axis!
ly:grob?
_______________________________________________
Lilypond-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs