LilyPond uses a versioning scheme similar to the Linux kernel. In a
version "x.y.z", an even second number 'y' denotes a stable version.
-For development versions 'y' is odd. For using straightforward score
-production, please use the latest stable version. Development versions
-may not produce good or nice scores.
+For development versions 'y' is odd. Sh, in theory, version 1.2 is stable,
+which means that there are no glaring errors in it. In practice 1.2.x is also
+unmaintained.
+
+1.3.x is in healthy development: lots of problems turn up, but they're
+fixed quickly. Therefore we recommend you try 1.2.x, if you have any
+problem with it, upgrade to the latest 1.3.x release.
@section Requirements
make -C Documentation/user/ dvi
@end example
-You need a working LilyPond binary to create the DVI sources .
-
+You need a working LilyPond binary to create the DVI and HTML sources.
@item use ASCII. Do
using @example
@end example
-and @emph{not} to us personally. See @file{Documentation/mail.texi} for
-more info.
+and @emph{not} to us personally. We have the following mailing lists:
+
+@itemize @bullet
+@item @uref{http://mail.gnu.org/mailman/listinfo/info-gnu-music,info-gnu-music@@gnu.org}
+is a low-volume list for information on the GNU Music project.
+ This list is moderated; ask
+ @email{drl@@gnu.org, David R. Linn} or
+ @email{hanwen@@cs.uu.nl, Han-Wen} to send announcements for this list.
+@item @uref{http://mail.gnu.org/mailman/listinfo/help-gnu-music,help-gnu-music@@gnu.org}
+ For help with using LilyPond.
+@item @uref{http://mail.gnu.org/mailman/listinfo/bug-gnu-music,bug-gnu-music@@gnu.org}
+If you have bugreports, you should send them to this list.
+@end itemize
+
@section Windows 32
#!@SHELL@
# tfmtoafm.sh --urg
-if [ $# -ne 1 ]; then
- echo "Usage: tfmtoafm FONT"
+tfm=$1
+font=`basename $1 .tfm`
+
+if [ $# -ne 1 -o "$tfm" = "$font" ]; then
+ echo "Usage: tfmtoafm TFM-FILE"
echo
- echo "example: tfmtoafm cmr10"
+ echo "example: tfmtoafm cmr10.tfm"
exit 2
fi
-font=$1
size=`echo $font | sed "s/[^0-9]*//"`
-afm=$1.afm
-fontfile=`kpsewhich $1.tfm`
+afm=$font.afm
+fontfile=`kpsewhich $font.tfm`
t1=/tmp/tfmtoafm1-$$
t2=/tmp/tfmtoafm2-$$
rm -f $t1 $t2 $font $afm
tail -127 $font | cut -f 1-2 > $t1
cat $t1 | cut -d, -f 1-2 > $t2
rm $t1
-nl -ba $t2 | awk -F '[ \t,]+' '{print "C "$2";\t"$3";\tB 0.00 0.00 "$4/'"$scaling"'" "$5/'"$scaling"'";"}' > $t1
+#nl -ba $t2 | awk -F '[ \t,]+' '{print "C "$2";\t"$3";\tB 0.00 0.00 "$4/'"$scaling"'" "$5/'"$scaling"'";"}' > $t1
+nl -ba $t2 | awk -F '[ \t,]+' '{print "C "$2" ; WX 0 ; N "$3" ; B 0.00 0.00 "$4/'"$scaling"'" "$5/'"$scaling"'" ;"}' > $t1
+count=`cat $t1 | wc -l`
+count=$((count + 1))
cat > $afm <<EOF
FontName cmr
StartFontMetrics
-StartCharMetrics
+StartCharMetrics $count
EOF
# urg 0 is difficult but we need it
-head -1 $t1 | sed "s/1;/0;/g" >> $afm
+head -1 $t1 | sed -e "s/C 1 ;/C 0 ;/" -e "s/-1 ;/-0 ;/" >> $afm
cat $t1 >> $afm
cat >> $afm <<EOF
EndCharMetrics
EndFontMetrics
EOF
-rm $t1 $t2
+rm $t1 $t2 $font
-cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly
\ No newline at end of file
+cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly
\property Score.PaperColumn \push #'space-factor = #0.6
\property Score.PaperColumn \push #'to-musical-spacing-factor = #0.04
- \property Voice.NoteHead \push #'font-size = #-1
- \property Voice.Stem \push #'font-size = #-1
+ \property Voice.NoteHead \push #'font-relative-size = #-1
+ \property Voice.Stem \push #'font-relative-size = #-1
\property Voice.Stem \push #'length = #6
\property Voice.Stem \push #'beamed-lengths =
#(map (lambda (x) (* 1.25 x)) '(0.0 2.5 2.0 1.5))
\property Voice.Stem \push #'beamed-minimum-lengths =
#(map (lambda (x) (* 1.25 x)) '(0.0 1.5 1.25 1.0))
- \property Voice.Beam \push #'font-size = #-1
- \property Voice.TextScript \push #'font-size = #-1
- \property Voice.Fingering \push #'font-size = #-1
- \property Voice.Slur \push #'font-size = #-1
- \property Staff.Accidentals \push #'font-size = #-1
+ \property Voice.Beam \push #'font-relative-size = #-1
+ \property Voice.TextScript \push #'font-relative-size = #-1
+ \property Voice.Fingering \push #'font-relative-size = #-1
+ \property Voice.Slur \push #'font-relative-size = #-1
+ \property Staff.Accidentals \push #'font-relative-size = #-1
\property Voice.Beam \push #'space-function = #grace-beam-space-function
)cis16
\property Staff."c0-position" = #-6
[cis32 a^1 fis^4 dis] [cis a )fis-2] s % s s
- \property Voice.NoteHead \pop #'font-size
- \property Voice.Stem \pop #'font-size
+ \property Voice.NoteHead \pop #'font-relative-size
+ \property Voice.Stem \pop #'font-relative-size
\property Voice.Stem \pop #'length
\property Voice.Stem \pop #'beamed-lengths
\property Voice.Stem \pop #'beamed-minimum-lengths
- \property Voice.Beam \pop #'font-size
- \property Voice.TextScript \pop #'font-size
- \property Voice.Fingering \pop #'font-size
- \property Voice.Slur \pop #'font-size
- \property Staff.Accidentals \pop #'font-size
+ \property Voice.Beam \pop #'font-relative-size
+ \property Voice.TextScript \pop #'font-relative-size
+ \property Voice.Fingering \pop #'font-relative-size
+ \property Voice.Slur \pop #'font-relative-size
+ \property Staff.Accidentals \pop #'font-relative-size
\property Voice.Beam \pop #'space-function
\property Score.PaperColumn \pop #'space-factor
\property Score.PaperColumn \pop #'to-musical-spacing-factor
s4 s8 s32 s s \clef bass;
\property Score.PaperColumn \push #'space-factor = #0.6
\property Score.PaperColumn \push #'to-musical-spacing-factor = #0.1
- \property Voice.NoteHead \push #'font-size = #-1
- \property Voice.Stem \push #'font-size = #-1
+ \property Voice.NoteHead \push #'font-relative-size = #-1
+ \property Voice.Stem \push #'font-relative-size = #-1
\property Voice.Stem \push #'length = #6
- \property Voice.Slur \push #'font-size = #-1
+ \property Voice.Slur \push #'font-relative-size = #-1
\property Voice.Slur \push #'attachment-offset = #'((-0.5 . 0) . (0.5 . 0))
<e,,,32( e,>
- \property Voice.NoteHead \pop #'font-size
- \property Voice.Stem \pop #'font-size
+ \property Voice.NoteHead \pop #'font-relative-size
+ \property Voice.Stem \pop #'font-relative-size
\property Voice.Stem \pop #'length
- \property Voice.Slur \pop #'font-size
+ \property Voice.Slur \pop #'font-relative-size
\property Score.PaperColumn \pop #'space-factor
\property Score.PaperColumn \pop #'to-musical-spacing-factor
<)gis'2 e>
\consists "Text_engraver";
%GURGURGU, text is initialised using TextScript
TextScript \push #'style = #"italic"
- %%% TextScript \push #'font-size = #2
+ %%% TextScript \push #'font-relative-size = #2
\consists "Skip_req_swallow_translator";
rh=\property Thread.NoteHead \push #'style = #'default
lh=\property Thread.NoteHead \push #'style = #'diamond
-n = \property Thread.NoteHead \pop #'font-size % = #'diamond %\property Thread.fontSize=#0
-sm=\property Thread.NoteHead \push #'font-size = #-1
+n = \property Thread.NoteHead \pop #'font-relative-size % = #'diamond %\property Thread.fontSize=#0
+sm=\property Thread.NoteHead \push #'font-relative-size = #-1
% su=\property Voice.verticalDirection=#1
% sd=\property Voice.verticalDirection=#-1
-\version "1.3.96"
+\version "1.3.98"
%{
See scm/chord-names.scm: chord::names-alist-american
James Hammons <jlhamm@pacificnet.net>
chord = \notes\transpose c''\chords{
\property ChordNames.ChordNames \push #'style = #"american"
-c
-cs:m
-df:m5-
-c:5^3
-c:4^3
-c:5+
-c:2^3
-c:m5-.7-
-c:7+
-c:7.4^3
-c:5+.7
-c:m5-.7
-c:5-.7+
-c:m7+
-c:m7
-c:7
-c:6
-c:m6
-c:9^7
-c:6.9^7
-c:9
-c:7+.9
-c:m7.9
+c % Major triad
+cs:m % Minor triad
+df:m5- % Diminished triad
+c:5^3 % Root-fifth chord
+c:4^3 % Suspended fourth triad
+c:5+ % Augmented triad
+c:2^3 % "2" chord
+c:m5-.7- % Diminished seventh
+c:7+ % Major seventh
+c:7.4^3 % Dominant seventh suspended fourth
+c:5+.7 % Augmented dominant seventh
+c:m5-.7 % "Half" diminished seventh
+c:5-.7 % Dominant seventh flat fifth
+c:5-.7+ % Major seventh flat fifth
+c:m7+ % Minor-major seventh
+c:m7 % Minor seventh
+c:7 % Dominant seventh
+c:6 % Major sixth
+c:m6 % Minor sixth
+c:9^7 % Major triad w/added ninth
+c:6.9^7 % Six/Nine chord
+c:9 % Dominant ninth
+c:7+.9 % Major ninth
+c:m7.9 % Minor ninth
}
\score{
}
}
}
-
-% (((0 . 0) (2 . -1) (4 . 0)) . ("Bar" . ("script" . "Baz")))
\translator {
\GraceContext
- NoteHead \push #'font-size = #-2
- NoteHead \push #'font-size = #-2
+ NoteHead \push #'font-relative-size = #-2
+ NoteHead \push #'font-relative-size = #-2
Stem \push #'flag-style = ##f
% The following determines the length of stems without beams
% default is between 2.8 and 4.0 depending on the number of flags
Stem \push #'length = #6
- Stem \push #'font-size = #-2
+ Stem \push #'font-relative-size = #-2
GraceAlignItem \push #'horizontal-space = #1
Stem \push #'flag-style = #""
CueVoiceContext = \translator {
\VoiceContext
\name CueVoice;
- basicNoteHeadProperties \push #'font-size = #-1
- basicStemProperties \push #'font-size = #-1
- basicBeamProperties \push #'font-size = #-1
- basicTextScriptProperties \push #'font-size = #-1
- basicSlurProperties \push #'font-size = #-1
- basicLocalKeyProperties \push #'font-size = #-1
+ basicNoteHeadProperties \push #'font-relative-size = #-1
+ basicStemProperties \push #'font-relative-size = #-1
+ basicBeamProperties \push #'font-relative-size = #-1
+ basicTextScriptProperties \push #'font-relative-size = #-1
+ basicSlurProperties \push #'font-relative-size = #-1
+ basicLocalKeyProperties \push #'font-relative-size = #-1
};
\translator{ \CueVoiceContext }
StaffContext = \translator{\StaffContext
;(((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (super "o7"))
;jazz: the delta, see jazz-chords.ly
- (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (super ((font-family . "math") "N")))
- (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-size . "-3") "/"))) "7")) ; slashed o
+ (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (super ((font-family . math) "N")))
+ (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-relative-size . -3) "/"))) "7")) ; slashed o
;(((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (super "x7"))
; slashed o
d-\textscript #'(lines "one" "two" "three")
e-\textscript #'(lines (bold "one")
- (rows "and" "there" "is" ((font-family . "number") "2"))
+ (rows "and" "there" "is" ((font-family . number) "2"))
(italic "three"))
f-\textscript #'(finger "3")
- g-\textscript #'(music (named "noteheads-2"))
+ g-\textscript #'(music (named "noteheads-2" "flags-u3"))
}
\paper{
linewidth = -1.\mm;
\translator{
\ScoreContext
- TextScript \push #'font-family = #"roman"
+ TextScript \push #'font-family = #'roman
TextScript \pop #'no-spacing-rods
TextScript \push #'direction = #1
}
\paper {
\translator { \VoiceContext
- NoteHead \push #'font-size = #-2
+ NoteHead \push #'font-relative-size = #-2
}
}
}
{
Simple_spacer * sp = new Simple_spacer;
Paper_def * d = pscore_l_->paper_l_;
- sp->default_space_f_ = d->get_var ("loose_column_distance");
+ /*
+ this is hardcoded, but this shouldn't happen anyway.
+ used to be g et_var ("loose_column_distance");
+ */
+ sp->default_space_f_ = 1.0;
+
sp->indent_f_ = line[LEFT];
Real hinf, Real r0);
Bezier get_bezier () const;
- void minimise_enclosed_area (Paper_def* paper_l, Real beauty);
+ void minimise_enclosed_area (Paper_def* paper_l, Real beauty, SCM props);
Real fit_factor () const;
void blow_fit ();
Real enclosed_area_f () const;
if (!lookup_l_)
{
Score_element * urg = (Score_element*)this;
- SCM sz = urg->remove_elt_property ("font-size");
+ SCM sz = urg->remove_elt_property ("font-relative-size");
int i = (gh_number_p (sz))
? gh_scm2int (sz)
: 0;
algorithm, instead of this homebrew.
*/
void
-Slur_bezier_bow::minimise_enclosed_area (Paper_def* paper_l, Real beauty)
+Slur_bezier_bow::minimise_enclosed_area (Paper_def* paper_l, Real beauty,
+ SCM bezier_props)
{
Real length = curve_.control_[3][X_AXIS];
Real beautiful = beauty * length * slur_height (length, h_inf_, r_0_);
if (fit_factor () > 1.0)
blow_fit ();
- Real pct_c0 = paper_l->get_var ("bezier_pct_c0");
- Real pct_c3 = paper_l->get_var ("bezier_pct_c3");
- Real pct_in_max = paper_l->get_var ("bezier_pct_in_max");
- Real pct_out_max = paper_l->get_var ("bezier_pct_out_max");
- Real steps = paper_l->get_var ("bezier_area_steps");
+ Real pct_c0 = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-c0"), bezier_props)));
+ Real pct_c3 = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-c3"), bezier_props)));
+ Real pct_in_max = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-in-max"), bezier_props)));
+ Real pct_out_max = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-out-max"), bezier_props)));
+ Real steps = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-area-steps"),bezier_props)));
for (int i=0; i < steps; i++)
{
if (gh_number_p (ssb))
sb = gh_scm2double (ssb);
- bb.minimise_enclosed_area (me->paper_l(), sb);
+ bb.minimise_enclosed_area (me->paper_l(), sb, details);
SCM sbf = scm_assq (ly_symbol2scm ("force-blowfit"), details);
Real bff = 1.0;
if (gh_pair_p (sbf) && gh_number_p (gh_cdr (sbf)))
}
mean_shortest /= n;
- Real non_musical_space_strength = me->paper_l ()->get_var ("breakable_column_space_strength");
+
for (int i= 0; i < cols.size () - 1; i++)
{
Item * l = dynamic_cast<Item*> (cols[i]);
*/
SCM sfac =lc->get_elt_property ("space-factor");
if (Item::breakable_b (lc) || lc->original_l_)
- s.strength_f_ = non_musical_space_strength;
+ {
+ s.strength_f_ =
+ gh_scm2double (lc->get_elt_property ("column-space-strength"));
+ }
else if (gh_number_p (sfac))
left_distance *= gh_scm2double (sfac);
if (rc->musical_b ())
{
if (to_boolean (rc->get_elt_property ("contains-grace")))
- right_dist *= me->paper_l ()->get_var ("before_grace_spacing_factor"); // fixme.
+ right_dist *= gh_scm2double (rc->get_elt_property ("before-grace-spacing-factor")); // fixme.
else
right_dist *= gh_scm2double (lc->get_elt_property ("before-musical-spacing-factor"));
}
Spacing_spanner::get_duration_space (Score_element*me, Moment d, Moment shortest)
{
Real log = log_2 (shortest);
- Real k= me->paper_l ()->get_var ("arithmetic_basicspace")
+ Real k = gh_scm2double (me->get_elt_property ("arithmetic-basicspace"))
- log;
- return (log_2 (d) + k) * me->paper_l ()->get_var ("arithmetic_multiplier");
+ return (log_2 (d) + k) * gh_scm2double (me->get_elt_property ("arithmetic-multiplier")) * me->paper_l ()->get_var ("staffspace");
}
Real correction = 0.0;
- Real ssc = me->paper_l ()->get_var("stemSpacingCorrection");
+ Real ssc = gh_scm2double (me->get_elt_property("stem-spacing-correction"));
+ ssc *= me->paper_l ()->get_var ("staffspace");
if (d1 && d2 && d1 * d2 == -1)
{
-
-
/*
maximum-duration-for-spacing
From: bf250@freenet.carleton.ca (John Sankey)
Stem \push #'stem-length = #6.0
Stem \push #'direction = #1
- NoteHead \push #'font-size = #-1
- Stem \push #'font-size = #-1
+ NoteHead \push #'font-relative-size = #-1
+ Stem \push #'font-relative-size = #-1
Stem \push #'stem-shorten = #'(0)
- Beam \push #'font-size = #-1
- TextScript \push #'font-size = #-1
- Slur \push #'font-size = #-1
- Accidentals \push #'font-size = #-1
+ Beam \push #'font-relative-size = #-1
+ TextScript \push #'font-relative-size = #-1
+ Slur \push #'font-relative-size = #-1
+ Accidentals \push #'font-relative-size = #-1
Beam \push #'thickness = #0.3
Beam \push #'space-function = #(lambda (x) 0.5)
FONT_FILES = $(filter-out $(TEST_FILES),$(wildcard feta*[0-9].mf))
XPM_FONTS = feta20 feta-nummer10 feta-braces20
+#CM_AFM_FILES = cmr10
+
+$(outdir)/cmr10.afm:
+ -$(BASH) $(buildscripts)/tfmtoafm.sh `kpsewhich cmr10.tfm`
+ -mv $(@F) $@
LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log))
TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex))
-AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm) $(AF_FILES:.af=.afm))
+AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm) $(AF_FILES:.af=.afm) $(addsuffix .afm, $(CM_AFM_FILES)))
TFM_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.tfm))
PFA_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.pfa))
;jazz: the delta, see jazz-chords.ly
;;(((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (super ((font-family . "math") "N"))
;; slashed o
- (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-size . "-3") "/"))) "7")) ; slashed o
+ (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-relative-size . -3) "/"))) "7")) ; slashed o
(((0 . 0) (2 . 0) (4 . 1) (6 . -1)) . ("aug7"))
- (((0 . 0) (2 . 0) (4 . -1) (6 . 0)) . (rows "maj7" (music (named ("accidentals--1"))) "5"))
+ (((0 . 0) (2 . 0) (4 . -1) (6 . 0)) . (rows "maj7" ((font-relative-size . -2) ((raise . 0.2) (music (named "accidentals--1")))) "5"))
+ (((0 . 0) (2 . 0) (4 . -1) (6 . -1)) . (rows "7" ((font-relative-size . -2) ((raise . 0.2) (music (named "accidentals--1")))) "5"))
(((0 . 0) (3 . 0) (4 . 0) (6 . -1)) . ("7sus4"))
;; Common ninth chords
(((0 . 0) (2 . 0) (4 . 0) (5 . 0) (1 . 0)) . ("6/9")) ;; we don't want the '/no7'
- (((0 . 0) (2 . 0) (4 . 0) (5 . 0)) . ("maj6"))
+ (((0 . 0) (2 . 0) (4 . 0) (5 . 0)) . ("6"))
(((0 . 0) (2 . -1) (4 . 0) (5 . 0)) . ("m6"))
(((0 . 0) (2 . 0) (4 . 0) (1 . 0)) . ("add9"))
(((0 . 0) (2 . 0) (4 . 0) (6 . 0) (1 . 0)) . ("maj9"))
)
chord::names-alist-american))
+;; Jazz chords, by Atte André Jensen
+;; Note: This uses the american list as a base
+
+(define chord::names-alist-jazz '())
+(set! chord::names-alist-jazz
+ (append
+ '(
+ ; half diminished seventh chord = slashed o
+ (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (("o" (type . "super")) ("/" (size . -2) (offset . (-0.58 . 0.5))) ))
+ ; diminished seventh chord = o
+ (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (("o" (type . "super"))))
+ ; major seventh chord = triangle
+ (((0 . 0) (2 . 0) (4 . 0) (6 . 0)) . ((super ((font-family . "math") "N")) (size . -3)))
+ ; minor major seventh chord = m triangle
+ (((0 . 0) (2 . -1) (4 . 0) (6 . 0)) . (("m") ((super ((font-family . math) "N")) (size . -3))))
+ ; augmented dominant = +7
+ (((0 . 0) (2 . 0) (4 . +1) (6 . -1)) . (super "+7"))
+
+;; Missing jazz chord definitions go here (note new syntax: see american for hints)
+
+ )
+ chord::names-alist-american))
+
;;;;;;;;;;
(list
(append '(named)
(list
- (append '((font-size . "-2"))
+ (append '((font-relative-size . -2))
+ (list (append '((raise . 0.6))
(list
(string-append "accidentals-"
- (number->string (caddr pitch)))))))))))))
-
+ (number->string (caddr pitch)))))))))))))))
(define (step->text pitch)
(string-append
(subtractions #f))
(chord::inner-name-banter tonic user-name additions subtractions base-and-inversion)))
+;; Jazz style--basically similar to american with minor changes
+(define (chord::name-jazz tonic user-name pitches base-and-inversion)
+ (let ((additions (chord::additions pitches))
+ (subtractions #f))
+ (chord::inner-name-banter tonic user-name additions subtractions base-and-inversion)))
+
;; C++ entry point
;;
;; Check for each subset of chord, full chord first, if there's a
(define generic-All-properties
(cons 'all
- (list (list 'fontSize number? 'font-size))))
+ (list (list 'fontSize number? 'font-relative-size))))
(define generic-notehead-properties
(extremity-rules . ,default-slur-extremity-rules)
(extremity-offset-alist . ,default-slur-extremity-offset-alist)
(de-uglify-parameters . ( 1.5 0.8 -2.0))
- (details . ((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5)))
+ (details . ((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5)
+ (bezier-pct-c0 . -0.2) (bezier-pct-c3 . 0.000006)
+ (bezier-pct-out-max . 0.8) (bezier-pct-in-max . 1.2)
+ (bezier-area-steps . 1.0)))
(beautiful . 0.5)
(y-free . 0.75)
(attachment-offset . ((0 . 0) . (0 . 0)))
sys.stderr.write ('\nNot smart enough to convert \\octave')
raise FatalConversionError()
- return lines
+ return str
conversions.append (
((0,1,19), conv, 'deprecated \\octave; can\'t convert automatically'))
if 1:
def conv (str):
- return lines
+ return str
conversions.append (
((1,0,0), conv, '0.1.21 -> 1.0.0 '))
if 1:
def conv(str):
- if re.search ('\\\\header', lines):
+ if re.search ('\\\\header', str):
sys.stderr.write ('\nNot smart enough to convert to new \\header format')
- return lines
+ return str
conversions.append ((1,0,2), conv, '\\header { key = concat + with + operator }')
if 1:
def conv(str):
- return lines
+ return str
conversions.append ((1,0,12), conv, 'Chord syntax stuff')
if 1:
def conv (str):
str = re.sub ('ChordNames*', 'ChordNames', str)
+ if re.search ('\\\\textscript "[^"]* *"[^"]*"', str):
+ sys.stderr.write ('\nNot smart enough to convert to new \\textscript markup text')
+
+ str = re.sub ('\\textscript +\("[^"]*"\)', '\\textscript #\1', str)
return str