+1.3.140.jcn3
+============
+
+* Convert-ly: added some missing rules.
+
+* Ly2dvi: changed footer (and header) macros to match mutopia headers again.
+
+* Convert-ly: always insert or update version number. New option:
+--assume-old will apply all conversions if version cannot be
+determined.
+
1.3.140.jcn2
============
1.3.140.jcn1
============
-* Moved ports section of mutopia to mutopia/ports. Fixed make bootstrapping. Added sync target, synced with www.mutopiaproject.org.
+* Moved ports section of mutopia to mutopia/ports. Fixed make
+bootstrapping. Added sync target, synced with www.mutopiaproject.org.
1.3.139.jcn6
============
@subsection Invoking convert-ly
@example
- convert-ly [options] [files]
+ convert-ly [OPTION]... [FILE]...
@end example
@table @code
-@item --output
- The output file to write.
+@item --assume-old
+ If version number cannot be determined, apply all conversions.
@item --edit
Do an inline edit of the input file. override @code{--output}
-@item --show-rules
- shows all known conversions, and exit
@item --from=@var{FROM_PATCHLEVEL}
Set the level to convert from. If this is not set, convert-ly will
guess this, on the basis of @code{\version} strings in the file
+@item --output
+ The output file to write.
+@item --show-rules
+ shows all known conversions, and exit
@item --to=@var{TO_PATCHLEVEL}
Set the goal version of the conversion. It defaults to the latest
available version.
@code{\slurBoth},
@code{\slurDown},
@code{\slurUp}.
-@cindex @code{\slurBoth}
-@cindex @code{\slurDown}
-@cindex @code{\slurUp}
-Aand for ties use
+
+@cindex @code{\tieBoth}
+@cindex @code{\tieDown}
+@cindex @code{\tieUp}
+For ties use
@code{\tieBoth},
@code{\tieDown},
@code{\tieUp}.
+@cindex @code{\dynacmicBoth}
+@cindex @code{\dynamicDown}
+@cindex @code{\dynamicUp}
+For dynamics use
+@code{\dynamicBoth},
+@code{\dynamicDown},
+@code{\dynamicUp}.
+
+@c text scripts? articulation scripts? fingering?
+
@cindex @code{\voiceOne}
@cindex @code{\voiceTwo}
@cindex @code{\voiceThree}
MAJOR_VERSION=1
MINOR_VERSION=3
PATCH_LEVEL=140
-MY_PATCH_LEVEL=jcn2
+MY_PATCH_LEVEL=jcn3
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
shiftOnnn = \property Voice.NoteColumn \override #'horizontal-shift = #3
shiftOff = \property Voice.NoteColumn \revert #'horizontal-shift
-
tieUp = \property Voice.Tie \override #'direction = #1
tieDown = \property Voice.Tie \override #'direction = #-1
tieBoth = \property Voice.Tie \revert #'direction
+dynamicUp = {
+ \property Voice.DynamicText \override #'direction = #1
+ \property Voice.DynamicLineSpanner \override #'direction = #1
+}
+dynamicDown = {
+ \property Voice.DynamicText \override #'direction = #-1
+ \property Voice.DynamicLineSpanner \override #'direction = #-1
+}
+dynamicBoth = {
+ \property Voice.DynamicText \revert #'direction
+ \property Voice.DynamicLineSpanner \revert #'direction
+}
+
cadenzaOn = \property Score.timing = ##f
cadenzaOff = {
\property Score.timing = ##t
\property Score.measurePosition = #(make-moment 0 1)
}
-
+% dynamic dir? text script, articulation script dir?
oneVoice = {
\stemBoth
\slurBoth
\shiftOn
}
+% There's also dash, but setting dash period/length should be fixed.
slurDotted = \property Voice.Slur \override #'dashed = #1
-slurNoDots = \property Voice.Slur \revert #'dashed
+slurSolid = \property Voice.Slur \revert #'dashed
+tieDotted = \property Voice.Tie \override #'dashed = #1
+tieSolid = \property Voice.Tie \revert #'dashed
tiny =
$(LOOP)
local-convert-ly:
- $(PYTHON) $(CONVERT_LY) -e *ly
+ $(PYTHON) $(CONVERT_LY) --edit --assume-old *ly
tar:
mkdir -p $(outdir)/$(tarball)
%/GNUmakefile:
mkdir -p $(@D)
$(if $(shell grep '[.]ly' $(@D)/index.html), \
- echo 'mutopia-examples = $(@D)' > $@, \
+ echo 'mutopia-name = $(@D)' > $@, \
$(if $(shell grep '[.]zip' $(@D)/index.html), \
- echo -e 'zipped = true\nmutopia-examples = $(@D)' > $@))
+ echo -e 'zipped = true\nmutopia-name = $(@D)' > $@))
echo -e $(GNUmakefile) >> $@
local-ly-clean:
- -mv -f $(wildcard *.ly) $(outdir)
+ $(if $(wildcard *.ly), -mv -f $(wildcard *.ly) $(outdir))
ly-clean: local-ly-clean
$(LOOP)
'
+#
+# scores for target local-WWW (duh)
+#
+examples=
+
+
+#
+# scores for target mutopia
+#
+# Hairy hack to support name `score.ly' inside zipfile.
+# This will fail to download and build mutopia in one go,
+# either download first, or issue make mutopia twice.
+#
+mutopia-parts = $(patsubst %.ly,%,$(wildcard *-part.ly))
+mutopia-scores = $(patsubst %.ly,%,$(wildcard $(mutopia-name).ly score.ly))
+ifeq ($(mutopia-scores),)
+mutopia-scores = $(mutopia-name)
+endif
+mutopia-examples = $(mutopia-scores) $(mutopia-parts)
+
R1|
\!c4\p r r2|
R1|
- g4-#'((font-shape . upright) "pizz.") r r2|
+ g4-#"pizz." r r2|
%295
R1|
R1|
\!c4\p r r2|
R1|
- g4-#'((font-shape . upright) "pizz.") r r2|
+ g4-#"pizz." r r2|
R1|
c,4 r r2|
R1*15|
- c4-#'((font-shape . upright) "pizz.") r r2|
+ c4-#"pizz." r r2|
c4 r r2|
c4 r r2|
}
R1|
\!c4\p r r2|
R1|
- g4-#'((font-shape . upright) "pizz.") r r2|
+ g4-#"pizz." r r2|
R1|
c,4 r r2|
R1*15|
- c4-#'((font-shape . upright) "pizz.") r r2|
+ c4-#"pizz." r r2|
c4 r r2|
c4 r r2|
}
R1|
\!es4\p r r2|
R1|
- d,4-#'((font-shape . upright) "pizz.") r r2|
+ d,4-#"pizz." r r2|
%295
R1|
%310
\!c4\pp r r2|
R1|
- c4-#'((font-shape . upright) "pizz.") r r2|
+ c4-#"pizz." r r2|
c4 r r2|
c4 r r2|
}
R1|
\!g4\p r r2|
R1|
- b,4-#'((font-shape . upright) "pizz.") r r2|
+ b,4-#"pizz." r r2|
%295
R1|
c4 r r2|
R1*15|
- c4-#'((font-shape . upright) "pizz.") r r2|
+ c4-#"pizz." r r2|
c4 r r2|
c4 r r2|
}
R1|
\!c4\p r r2|
R1|
- g4-#'((font-shape . upright) "pizz.") r r2|
+ g4-#"pizz." r r2|
%295
R1|
\!c,\pp r r2|
R1|
% no mistake: octave lower than contrabass, ie, sounding equal
- c,4-#'((font-shape . upright) "pizz.") r r2|
+ c,4-#"pizz." r r2|
c4 r r2|
c4 r r2|
}
-mutopia-examples = belle
+mutopia-name = belle
depth = ../../../../..
include $(depth)/ports/ports.make
zipped = true
-mutopia-examples = solo-cello-suite-ii
+mutopia-name = solo-cello-suite-ii
depth = ../../../../..
include $(depth)/ports/ports.make
zipped = true
-mutopia-examples = concerto-in-e-major
+mutopia-name = concerto-in-e-major
depth = ../../../../..
include $(depth)/ports/ports.make
zipped = true
-mutopia-examples = concerto-in-d-minor
+mutopia-name = concerto-in-d-minor
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = bach-invention-01
+mutopia-name = bach-invention-01
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = wtk1-fugue1
+mutopia-name = wtk1-fugue1
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = wtk1-prelude1
+mutopia-name = wtk1-prelude1
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = wtk1-fugue2
+mutopia-name = wtk1-fugue2
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = wtk1-prae2
+mutopia-name = wtk1-prae2
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = fugue_re_mineur_BWV851
+mutopia-name = fugue_re_mineur_BWV851
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = wtk1-fugue9
+mutopia-name = wtk1-fugue9
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = wtk1-prelude9
+mutopia-name = wtk1-prelude9
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = wtk2-fugue2
+mutopia-name = wtk2-fugue2
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = Bach_Preludio_BWV997
+mutopia-name = Bach_Preludio_BWV997
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = bwv997-01prelude
+mutopia-name = bwv997-01prelude
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = bwv997-02fuga
+mutopia-name = bwv997-02fuga
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = bwv997-03sarabande
+mutopia-name = bwv997-03sarabande
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = bwv997-04gigue
+mutopia-name = bwv997-04gigue
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = bwv997-05double
+mutopia-name = bwv997-05double
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = praludum-in-c-moll
+mutopia-name = praludum-in-c-moll
depth = ../../../../..
include $(depth)/ports/ports.make
zipped = true
-mutopia-examples = chorale_1
+mutopia-name = chorale_1
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = Reg1_Suon1
+mutopia-name = Reg1_Suon1
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = Reg1_Suon2
+mutopia-name = Reg1_Suon2
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = Reg1_Suon3
+mutopia-name = Reg1_Suon3
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = Reg1_Suon4
+mutopia-name = Reg1_Suon4
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = Reg1_Suon5
+mutopia-name = Reg1_Suon5
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = Reg1_Suon6
+mutopia-name = Reg1_Suon6
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = fur-elise
+mutopia-name = fur-elise
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = Benda_SonateG3
+mutopia-name = Benda_SonateG3
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = Pfeminor
+mutopia-name = Pfeminor
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = carcassi-op60-01
+mutopia-name = carcassi-op60-01
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = carcassi-op60-03
+mutopia-name = carcassi-op60-03
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = carcassi-op60-08
+mutopia-name = carcassi-op60-08
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = carcassi-op60-15
+mutopia-name = carcassi-op60-15
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = carulli-duet-in-g
+mutopia-name = carulli-duet-in-g
depth = ../../../..
include $(depth)/ports/ports.make
zipped = true
-mutopia-examples = sonatina-36-1
+mutopia-name = sonatina-36-1
depth = ../../../../..
include $(depth)/ports/ports.make
zipped = true
-mutopia-examples = sonatina-36-2
+mutopia-name = sonatina-36-2
depth = ../../../../..
include $(depth)/ports/ports.make
zipped = true
-mutopia-examples = sonatina-36-3
+mutopia-name = sonatina-36-3
depth = ../../../../..
include $(depth)/ports/ports.make
zipped = true
-mutopia-examples = sonatina-36-4
+mutopia-name = sonatina-36-4
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = unquietthoughts
+mutopia-name = unquietthoughts
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = caromioben
+mutopia-name = caromioben
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = maple
+mutopia-name = maple
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = milan-pavan2
+mutopia-name = milan-pavan2
depth = ../../../..
include $(depth)/ports/ports.make
zipped = true
-mutopia-examples = horn-concerto-3
+mutopia-name = horn-concerto-3
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = caprice-24
+mutopia-name = caprice-24
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = morceau-de-concert
+mutopia-name = morceau-de-concert
depth = ../../../../..
include $(depth)/ports/ports.make
-mutopia-examples = gnossienne_1
+mutopia-name = gnossienne_1
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = gnossienne_2
+mutopia-name = gnossienne_2
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = gnossienne_3
+mutopia-name = gnossienne_3
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = gnossienne_4
+mutopia-name = gnossienne_4
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = gnossienne_5
+mutopia-name = gnossienne_5
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = gymnopedie_1
+mutopia-name = gymnopedie_1
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = gymnopedie_2
+mutopia-name = gymnopedie_2
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = gymnopedie_3
+mutopia-name = gymnopedie_3
depth = ../../../..
include $(depth)/ports/ports.make
-mutopia-examples = AnSylvia
+mutopia-name = AnSylvia
depth = ../../../../..
include $(depth)/ports/ports.make
input is guessed by default from \version directive
Options:
+ -a, --assume-old apply all conversions to unversioned files
-h, --help print this help
-e, --edit in place edit
-f, --from=VERSION start from version
if 1:
def conv(str):
- str = re.sub ('\\\\lyric', '\\\\lyrics',str)
+ str = re.sub ('\\\\lyrics*', '\\\\lyrics',str)
return str
str = re.sub ('\\\\voicefour', '\\\\voiceFour', str)
# I don't know exactly when these happened...
- str = re.sub ('\\\\property *[^ ]*verticalDirection[^=]*= *#?(1|(\\\\up))', '\\\\stemUp\\\\slurUp\\\\tieUp', str)
- str = re.sub ('\\\\property *[^ ]*verticalDirection[^=]*= *#?((-1)|(\\\\down))', '\\\\stemDown\\\\slurDown\\\\tieDown', str)
- str = re.sub ('\\\\property *[^ .]*[.]?([a-z]+)VerticalDirection[^=]*= *#?(1|(\\\\up))', '\\\\\\1Up', str)
- str = re.sub ('\\\\property *[^ .]*[.]?([a-z]+)VerticalDirection[^=]*= *#?((-1)|(\\\\down))', '\\\\\\1Down', str)
+ # ugh, we loose context setting here...
+ str = re.sub ('\\\\property *[^ ]*verticalDirection[^=]*= *#?"?(1|(\\\\up))"?', '\\\\stemUp\\\\slurUp\\\\tieUp', str)
+ str = re.sub ('\\\\property *[^ ]*verticalDirection[^=]*= *#?"?((-1)|(\\\\down))"?', '\\\\stemDown\\\\slurDown\\\\tieDown', str)
+ str = re.sub ('\\\\property *[^ ]*verticalDirection[^=]*= *#?"?(0|(\\\\center))"?', '\\\\stemBoth\\\\slurBoth\\\\tieBoth', str)
+
+ str = re.sub ('\\\\property *[^ .]*[.]?([a-z]+)VerticalDirection[^=]*= *#?"?(1|(\\\\up))"?', '\\\\\\1Up', str)
+ str = re.sub ('\\\\property *[^ .]*[.]?([a-z]+)VerticalDirection[^=]*= *#?"?((-1)|(\\\\down))"?', '\\\\\\1Down', str)
+ str = re.sub ('\\\\property *[^ .]*[.]?([a-z]+)VerticalDirection[^=]*= *#?"?(0|(\\\\center))"?', '\\\\\\1Both', str)
+
+ ## dynamic..
+ str = re.sub ('\\\\property *[^ .]*[.]?dynamicDirection[^=]*= *#?"?(1|(\\\\up))"?', '\\\\dynamicUp', str)
+ str = re.sub ('\\\\property *[^ .]*[.]?dyn[^=]*= *#?"?((-1)|(\\\\down))"?', '\\\\dynamicDown', str)
+ str = re.sub ('\\\\property *[^ .]*[.]?dyn[^=]*= *#?"?(0|(\\\\center))"?', '\\\\dynamicBoth', str)
+
+ str = re.sub ('\\\\property *[^ .]*[.]?([a-z]+)Dash[^=]*= *#?"?(0|(""))"?', '\\\\\\1NoDots', str)
+ str = re.sub ('\\\\property *[^ .]*[.]?([a-z]+)Dash[^=]*= *#?"?([1-9]+)"?', '\\\\\\1Dotted', str)
+
+ str = re.sub ('\\\\property *[^ .]*[.]?noAutoBeaming[^=]*= *#?"?(0|(""))"?', '\\\\autoBeamOn', str)
+ str = re.sub ('\\\\property *[^ .]*[.]?noAutoBeaming[^=]*= *#?"?([1-9]+)"?', '\\\\autoBeamOff', str)
+
+
return str
conversions.append (((1,3,139), conv, 'font-point-size -> font-design-size.'))
+if 1:
+ def conv (str):
+ str = re.sub ('([a-zA-Z]*)NoDots', '\\1Solid', str)
+ return str
+
+ conversions.append (((1,3,141), conv, 'xNoDots -> xSolid'))
+
############################
# esp. as current conversion rules are soo incomplete
if re.search (lilypond_version_re_str, str):
str = re.sub (lilypond_version_re_str,'\\'+new_ver , str)
- #else:
- # str = new_ver + '\n' + str
+ else:
+ str = new_ver + '\n' + str
outfile.write(str)
sys.stderr.flush ()
edit = 0
+assume_old = 0
to_version = ()
from_version = ()
outfile_name = ''
(options, files) = getopt.getopt (
- sys.argv[1:], 'o:f:t:seh', ['version', 'output', 'show-rules', 'help', 'edit', 'from=', 'to='])
+ sys.argv[1:], 'ao:f:t:seh', ['assume-old', 'version', 'output', 'show-rules', 'help', 'edit', 'from=', 'to='])
for opt in options:
o = opt[0]
sys.exit(0)
elif o == '--output' or o == '-o':
outfile_name = a
+ elif o == '--assume-old' or o == '-a':
+ assume_old = 1
else:
print o
raise getopt.error
sys.stderr.write ('\n')
sys.stderr.write ("%s: can't determine version for %s" % (program_name, f))
sys.stderr.write ('\n')
- sys.stderr.write ("%s: skipping" % program_name)
+ if assume_old:
+ fv = from_version
+ from_version = (0,0,0)
+ do_one_file (f)
+ from_version = fv
+ else:
+ sys.stderr.write ("%s: skipping: %s " % (program_name, f))
pass
sys.stderr.write ('\n')
\usepackage[latin1]{inputenc}
\input{titledefs}
\makeatletter
-\renewcommand{\@oddfoot}{\parbox{\textwidth}{\mbox{}\makelilypondfooter}}%
+\renewcommand{\@oddfoot}{\parbox{\textwidth}{\mbox{}\thefooter}}%
'''
if extra['pagenumber'] and extra['pagenumber'][-1] and extra['pagenumber'][-1] != 'no':
s = s + r'''
\renewcommand{\@oddhead}{\parbox{\textwidth}%
- {\mbox{}\small\makelilypondheader\hfill\textbf{\thepage}}}
+ {\mbox{}\small\theheader\hfill\textbf{\thepage}}}
'''
else:
s = s + '\\pagestyle{empty}\n'
\global\let\mustmakelilypondpiecetitle\undefined%
}
% header -- head ?
-\def\makelilypondheader
+% these names can't be changed: they're uses in mutopia headers
+\def\theheader
{
\ifx\lilypondhead\undefined\else%
\parbox{\textwidth}{\mbox{}\lilypondhead}\fi
}
-\def\makelilypondfooter
+\def\thefooter
{
\ifx\lilypondfooter\undefined\else%
\parbox{\textwidth}{\mbox{}\lilypondfooter}\fi