X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Fconverters.itely;h=fce56b0fd87b37f8782125e0e259a23b1659d93f;hb=54df8dda03591830043e015fd9f7adc02f8b20e1;hp=78bb8570de7c221201804d440e907bf8f3801eca;hpb=b62bc49dc3e2f1c5fdb2c8e5fa0d2b003dc4912e;p=lilypond.git diff --git a/Documentation/user/converters.itely b/Documentation/user/converters.itely index 78bb8570de..fce56b0fd8 100644 --- a/Documentation/user/converters.itely +++ b/Documentation/user/converters.itely @@ -1,4 +1,4 @@ -@c -*- coding: latin-1; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @node Converting from other formats @chapter Converting from other formats @@ -9,121 +9,28 @@ There are other tools that produce LilyPond input, for example GUI sequencers and XML converters. Refer to the @uref{http://@/lilypond@/.org,website} for more details. +These are separate programs from lilypond itself, and are run +on the command-line. By ``command-line'', we mean the command +line in the operating system. Windows users +might be more familiar with the terms ``DOS shell'' or +``command shell''; OSX users might be more familiar with the +terms ``terminal'' or ``console''. Describing how to use +this part of an operating system is outside the scope of this +manual; please consult other documentation on this topic if +you are unfamiliar with the command-line. + @menu -* Invoking convert-ly:: Older LilyPond versions. * Invoking midi2ly:: Importing MIDI. * Invoking etf2ly:: Importing Finale. +* Invoking musicxml2ly:: * Invoking abc2ly:: Importing ABC. * Invoking mup2ly:: Importing MUP. -* Other formats:: +* Generating LilyPond files:: @end menu -@node Invoking convert-ly -@section Invoking @command{convert-ly} - -The LilyPond input syntax is routinely changed to simplify it or improve -it in different ways. As a side effect of this, the LilyPond interpreter -often is no longer compatible with older input files. To remedy this, -the program @command{convert-ly} can be used to deal with most of the -syntax changes between LilyPond versions. - -It uses @code{\version} statements in the input files to detect the old -version number. In most cases, to upgrade your input file it is sufficient -to run - -@example -covert-ly -e myfile.ly -@end example - -If there are no changes to myfile.ly and file called myfile.ly.NEW -is created, then myfile.ly is already updated. - -To upgrade LilyPond fragments in texinfo files, use - -@example -convert-ly --from=... --to=... --no-version *.itely -@end example - -In general, the program is invoked as follows: - -@example -convert-ly [@var{option}]@dots{} @var{file}@dots{} -@end example - - -The following options can be given: - -@table @code -@item -e,--edit -Do an inline edit of the input file. Overrides @code{--output}. - -@item -f,--from=@var{from-patchlevel} -Set the version to convert from. If this is not set, @command{convert-ly} -will guess this, on the basis of @code{\version} strings in the file. - -@item -o,--output=@var{file} -Set the output file to write. - -@item -n,--no-version -Normally, @command{convert-ly} adds a @code{\version} indicator -to the output. Specifying this option suppresses this. - -@item -s, --show-rules -Show all known conversions and exit. - -@item --to=@var{to-patchlevel} -Set the goal version of the conversion. It defaults to the latest -available version. - -@item -h, --help -Print usage help. -@end table - -@command{convert-ly} always converts up to the last syntax change handled by -it. This means that the @code{\version} number left in the file is -usually lower than the version of @command{convert-ly} itself. - -@refbugs - -Not all language changes are handled. Only one output option can be -specified. - - -@c We might want to make this a completely new section, along with more -@c info about how to upgrade old input files. -gp - -@ignore -Copy and paste from CVS, last updated -Dec 22, 2004 - -http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/lilypond/lily-bugs/bugs/convert-ly.txt?rev=HEAD&content-type=text/plain -@end ignore -@verbatim - -There are a few things that the convert-ly cannot handle. Here's a list of limitations -that the community has complained about. - -This bug report structure has been chosen because convert-ly has a structure that doesn't -allow to smoothly implement all needed changes. Thus this is just a wishlist, placed -here for reference. - -1.6->2.0: - Doesn't always convert figured bass correctly, specifically things like {< >}. Mats' comment on working around this: - To be able to run convert-ly - on it, I first replaced all occurencies of '{<' to some dummy like '{#' - and similarly I replaced '>}' with '&}'. After the conversion, I could - then change back from '{ #' to '{ <' and from '& }' to '> }'. - Doesn't convert all text markup correctly. Only very simple cases are fixed. -2.0->2.2: - Doesn't handle \partcombine - Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple stanzas. -2.2->2.4: - \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly converted. -@end verbatim - @node Invoking midi2ly @section Invoking @command{midi2ly} @@ -158,6 +65,9 @@ It is invoked from the command-line as follows, midi2ly [@var{option}]@dots{} @var{midi-file} @end example +Note that by ``command-line'', we mean the command line of the +operating system. See @ref{Converting from other formats} for +more information about this. The following options are supported by @command{midi2ly}. @@ -227,6 +137,10 @@ It is invoked from the command-line as follows. etf2ly [@var{option}]@dots{} @var{etf-file} @end example +Note that by ``command-line'', we mean the command line of the +operating system. See @ref{Converting from other formats} for +more information about this. + The following options are supported by @command{etf2ly}: @table @code @@ -244,6 +158,29 @@ version information The list of articulation scripts is incomplete. Empty measures confuse @command{etf2ly}. Sequences of grace notes are ended improperly. +@node Invoking musicxml2ly +@section Invoking @code{musicxml2ly} + +@uref{http://@/www.@/recordarde@/.com/xml/,MusicXML} is an XML dialect +for representing music notation. + +@command{musicxml2ly} extracts the notes from part-wise MusicXML +files, and writes it to a .ly file. It is invoked from the command-line. + +Note that by ``command-line'', we mean the command line of the +operating system. See @ref{Converting from other formats} for +more information about this. + +The following options are supported by @command{musicxml2ly}: + +@table @code +@item -h,--help +print usage and option summary. +@item -o,--output=@var{file} +set output filename to @var{file}. (default: print to stdout) +@item -v,--version +print version information. +@end table @node Invoking abc2ly @section Invoking @code{abc2ly} @@ -347,24 +284,31 @@ Only plain notes (pitches, durations), voices, and staves are converted. -@node Other formats -@section Other formats +@node Generating LilyPond files +@section Generating LilyPond files + +@cindex External programs, generating LilyPond files -LilyPond itself does not come with support for other formats, but +LilyPond itself does not come with support for any other formats, but there are some external tools that also generate LilyPond files. These tools include @itemize @bullet @item -@uref{http://@/denemo@/.sourceforge@/.net/,Denemo}. +@uref{http://@/denemo@/.sourceforge@/.net/,Denemo}, a graphical score editor. @item -@uref{http://@/www@/.nongnu@/.org/@/xml2ly/, xml2ly}, that imports -@uref{http://@/www@/.musicxml@/.com/,MusicXML} +@uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, a realtime monophonic MIDI to LilyPond converter. @item -@uref{http://@/rnvs@/.informatik@/.tu@/-chemnitz@/.de/@/~jan/@/noteedit/@/noteedit@/.html,NoteEdit} -which imports MusicXML +@uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, an Emacs major mode. @item -@uref{http://@/www@/.all@/-day@/-breakfast@/.com/@/rosegarden/,Rosegarden}, +@uref{http://@/www@/.nongnu@/.org/@/xml2ly/, xml2ly}, which imports +@uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML} +@item +@uref{http://@/noteedit@/.berlios@/.de,NoteEdit} +which imports @uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML} +@item +@uref{http://@/www@/.rosegardenmusic@/.com,Rosegarden}, which imports MIDI @end itemize +