In my cleanup I accidentally removed the Staff entry from the dict, which
caused all PianoStaff objects to not be detected (as it checked for the
Staff class, which was not generated whn marshalling the xml)
Signed-off-by: Reinhold Kainhofer <reinhold@kainhofer.com>
In lyrics, use \skip4 to indicate a note has not syllable attached. So far,
I had "", which caused lilypond to print out several warnings "cannot align
on self: empty element".
As lilypond seems to ignore the time attached to a \skip (but requires some
time indiation), I simply use 4.
Signed-off-by: Reinhold Kainhofer <reinhold@kainhofer.com>
MusicXML: Fix issues with dynamics attached to notes (not measure position)
-) Implement the missing musicxml_dynamics_to_lily_event function (simply
moving code around!), so that dynamics attached to a single note (as
opposed to given in a <direction> element) are also correctly converted.
-) When we convert unknown dynamics texts using \markup, we need to prepend
"-".
-) Handle multiple <direction-type> children in a <direction> element.
Fix the conversion of chords from MusicXML to lilypond. The problem was
that the #text entries in the XML tree (converted to a musicxml.Hash_text
python instance) messed up the tracking of the current positions
in Part.interpret. As soon as these children are ignored, the original
algorithm to assign measure positions works again.
Signed-off-by: Reinhold Kainhofer <reinhold@kainhofer.com>
MusicXML: Always quote texts (header, lyrics) that contain periods or commas
While lyrics syllables might contain periods or commas without requiring
quotes around the syllables, header fields need quotes. Wrap the quotes
around just to make sure for the lyrics and to fix header fields.
Signed-off-by: Reinhold Kainhofer <reinhold@kainhofer.com>
MusicXML: Convert all clefs, escape " in header fields, code simplification
-) Extend the ClefChange class to convert all different clefs (G,C,F,
percussion,tab) to the corresponding lilypond clef names. MusicXML
also allows a "None" key, which lilypond does not :-(
-) In the header fields and the lyrics, escape all quotes by \". Only
wrap the whole string in quotes if it is necessary (string contains
numbers, spaces, quotes, or starts with a period or comma). This makes
it much easier to edit the lyrics later on.
-) Several coding style issued pointed out by Han-Wen
Signed-off-by: Reinhold Kainhofer <reinhold@kainhofer.com>
MusicXML: Conversion of various types of spanners (octave, pedals, trills)
-) Implement Octave-shift (8va, 8vb, 15ma, 15mb) and pedal spanners
-) Implement trill spanners. It seems that in MusicXML, a trill span does
not include the trill sign, so they are duplicated in many cases.
-) Attempt to implement dashed slurs. Does not work yet, because the
corresponding \slurDashed needs to be before the note, which the
current code structure does not allow.
-) Implement Glissando. Explicitly setting the type to wavy does not
work yet, because that command needs to be before the note in lilypond
which is not yet supported by the structure of the musicxml2ly
application.
-) Implement bends ("-\bendAfter #nr" in lilypond)
-) Use short notation where appropriate for articulations (e.g.
"-." instead of "\staccato" or "->" instead of "\accent")
Open problem:
In MusicXML, a trill span consists of a trill sign plus a wavy-line spanner,
while in Lilypond \startTrillSpan will create both. This means that in the
future musicxml2ly needs to be changed to combine various kinds of Events.
Also, MusicXML allows a trill spanner to start and end at the same note,
which is not possible in lilypond.
Signed-off-by: Reinhold Kainhofer <reinhold@kainhofer.com>
The autput of some OMR applications contains spaces in lyrics, or a
lyrics syllable starts with a comma or a peroid. Thus we need to wrap
all lyrics in quotes just to be sure lilypond doesn't barf.
John Mandereau [Fri, 31 Aug 2007 11:05:35 +0000 (13:05 +0200)]
Merge branch 'Rmaster' into lilypond/translation
* Rmaster:
Misc doc updates.
LSR: new snippets.
LSR: update known snippets.
Fix #430.
Minor fixes from mailist.
Typo.
Add colors to the examples on voice instantiation. Thanks Kieren!
use GUILE_ELLIPSIS in scm-hash function signatures.
remove convert-ly.txt from dist target
bump version.
strip Processing `foo' from log file
Use GUILE's native hash tables.
style nit
code style cleanup for layout-set-staff-size
Update bug hunter.
Fix #423.
Han-Wen Nienhuys [Fri, 31 Aug 2007 03:16:33 +0000 (00:16 -0300)]
Fix #430.
Ignore stems in side positioning when stemdir != scriptdir. This
breaks a cyclic dependency in the case of x-staff beams with scripts
on the notes/stems.
John Mandereau [Tue, 28 Aug 2007 06:39:08 +0000 (08:39 +0200)]
Merge branch 'master' into lilypond/translation
* master:
Remove unnecessary quotes from \repeat commands in the examples.
Minor updates to converting.
More doc reorg.
Third phase of reorg: half of lilypond-book.
Second phase of program usage reorg: running.
Clarify main doc page (manual now covers only the .ly file format, not
First phase of program usage reorg: install and setup.
Robustness fixes: generate entire string, then write.
indent nit
formatting nit.
Add another trill spanner reg test.
nitpick: sort properties alphabetically
Fix #420
Clarify input/ directories.
Remove troublesome LSR snippet.
John Mandereau [Sat, 25 Aug 2007 18:32:53 +0000 (20:32 +0200)]
Merge branch 'lilypond/translation' of /home/lilycvs/git/lily/ into lilypond/translation
* 'lilypond/translation' of /home/lilycvs/git/lily/:
Spell Texinfo document encoding uppercase
Fix translated manuals makefile
Fix cross-references in German and Spanish manuals
Typo.
Include a the full example of the workaround for grace note synchronization.
Revise, correct, simplify. Still not identical to old input...
Remove info dirs correctly (part 2).
Added information on line breaks with beams
Fix spacing for forced accidentals with a tie.
John Mandereau [Sat, 25 Aug 2007 18:32:21 +0000 (20:32 +0200)]
Merge branch 'master' into lilypond/translation
* master:
Spell Texinfo document encoding uppercase
Fix translated manuals makefile
Fix cross-references in German and Spanish manuals
Typo.
Include a the full example of the workaround for grace note synchronization.
Revise, correct, simplify. Still not identical to old input...
Remove info dirs correctly (part 2).
Added information on line breaks with beams
Fix spacing for forced accidentals with a tie.