]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/converters.itely
Add translation status script and template page
[lilypond.git] / Documentation / user / converters.itely
index 78bb8570de7c221201804d440e907bf8f3801eca..7814a511bcae31f03d0aed02a14c3b4235abb039 100644 (file)
@@ -1,4 +1,11 @@
-@c -*- coding: latin-1; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
+@c This file is part of lilypond-program.tely
+@ignore
+    Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  See TRANSLATION for details.
+@end ignore
 
 @node Converting from other formats
 @chapter Converting from other formats
 
 @node Converting from other formats
 @chapter Converting from other formats
@@ -9,121 +16,24 @@ 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.
 
 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; see @ref{Command-line usage} for more information.
 
 
 
 
+@refbugs
+We unfortunately do not have the resources to maintain these
+programs; please consider them @qq{as-is}.  Patches are appreciated, but
+bug reports will almost certainly not be resolved.
+
 @menu
 @menu
-* Invoking convert-ly::         Older LilyPond versions.
 * Invoking midi2ly::            Importing MIDI.
 * Invoking midi2ly::            Importing MIDI.
+* Invoking musicxml2ly::        Importing MusicXML.
+* Invoking abc2ly::             Importing ABC.      
 * Invoking etf2ly::             Importing Finale.
 * Invoking etf2ly::             Importing Finale.
-* Invoking abc2ly::             Importing ABC.          
-* Invoking mup2ly::             Importing MUP. 
-* Other formats::               
+* Generating LilyPond files::   GUIs, transcribers, and algorithmic composition programs.
 @end menu
 
 
 @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}
 
 @node Invoking midi2ly
 @section Invoking @command{midi2ly}
@@ -158,6 +68,9 @@ It is invoked from the command-line as follows,
 midi2ly [@var{option}]@dots{} @var{midi-file}
 @end example
 
 midi2ly [@var{option}]@dots{} @var{midi-file}
 @end example
 
+Note that by @q{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}.
 
 
 The following options are supported by @command{midi2ly}.
 
@@ -177,7 +90,7 @@ Show summary of usage.
 @item -k, --key=@var{acc}[:@var{minor}]
 Set default key.  @math{@var{acc} > 0} sets number of sharps;
 @math{@var{acc} < 0} sets number of flats.  A minor key is indicated by
 @item -k, --key=@var{acc}[:@var{minor}]
 Set default key.  @math{@var{acc} > 0} sets number of sharps;
 @math{@var{acc} < 0} sets number of flats.  A minor key is indicated by
-":1".
+@code{:1}.
 
 @item -o, --output=@var{file}
 Write output to @var{file}.
 
 @item -o, --output=@var{file}
 Write output to @var{file}.
@@ -209,42 +122,31 @@ first note will be read and the others will be ignored.  Set them all
 to a single duration and add phrase markings or pedal indicators.
 
 
 to a single duration and add phrase markings or pedal indicators.
 
 
-@node Invoking etf2ly
-@section Invoking @command{etf2ly}
-
-@cindex ETF
-@cindex enigma
-@cindex Finale
-@cindex Coda Technology
+@node Invoking musicxml2ly
+@section Invoking @code{musicxml2ly}
 
 
-ETF (Enigma Transport Format) is a format used by Coda Music
-Technology's Finale product.  @command{etf2ly} will convert part of an ETF
-file to a ready-to-use LilyPond file.
+@uref{http://@/www.@/recordarde@/.com/xml@/.html,MusicXML} is an XML dialect
+for representing music notation.
 
 
-It is invoked from the command-line as follows.
+@command{musicxml2ly} extracts the notes from part-wise MusicXML
+files, and writes it to a .ly file.  It is invoked from the command-line.
 
 
-@example
-etf2ly [@var{option}]@dots{} @var{etf-file}
-@end example
+Note that by @q{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}:
+The following options are supported by @command{musicxml2ly}:
 
 @table @code
 @item -h,--help
 
 @table @code
 @item -h,--help
-this help
-@item -o,--output=FILE
-set output filename to FILE
+print usage and option summary.
+@item -o,--output=@var{file}
+set output filename to @var{file}. (default: print to stdout)
 @item -v,--version
 @item -v,--version
-version information
+print version information.
 @end table
 
 
 @end table
 
 
-@refbugs
-
-The list of articulation scripts is incomplete.  Empty measures
-confuse @command{etf2ly}.  Sequences of grace notes are ended improperly.
-
-
 @node Invoking abc2ly
 @section Invoking @code{abc2ly}
 
 @node Invoking abc2ly
 @section Invoking @code{abc2ly}
 
@@ -253,7 +155,7 @@ confuse @command{etf2ly}.  Sequences of grace notes are ended improperly.
 ABC is a fairly simple ASCII based format.  It is described at the ABC site:
 
 @quotation
 ABC is a fairly simple ASCII based format.  It is described at the ABC site:
 
 @quotation
-@uref{http://@/www@/.gre@/.ac@/.uk/@/~c.walshaw/@/abc2mtex/@/abc@/.txt}.
+@uref{http://@/www@/.walshaw@/.plus@/.com/@/abc/@/abc2mtex/@/abc@/.txt}.
 @end quotation
 
 @command{abc2ly} translates from ABC to LilyPond.  It is invoked as follows:
 @end quotation
 
 @command{abc2ly} translates from ABC to LilyPond.  It is invoked as follows:
@@ -280,7 +182,7 @@ source file.  If you say:
 %%LY voices \set autoBeaming = ##f
 @end example
 
 %%LY voices \set autoBeaming = ##f
 @end example
 
-This will cause the text following the keyword ``voices'' to be inserted 
+This will cause the text following the keyword @q{voices} to be inserted
 into the current voice of the LilyPond output file.
 
 Similarly,
 into the current voice of the LilyPond output file.
 
 Similarly,
@@ -289,14 +191,14 @@ Similarly,
 %%LY slyrics more words
 @end example
 
 %%LY slyrics more words
 @end example
 
-will cause the text following the ``slyrics'' keyword to be inserted
+will cause the text following the @q{slyrics} keyword to be inserted
 into the current line of lyrics.
 
 
 @refbugs
 
 into the current line of lyrics.
 
 
 @refbugs
 
-The ABC standard is not very ``standard''.  For extended features
-(e.g., polyphonic music) different conventions exist. 
+The ABC standard is not very @q{standard}.  For extended features
+(e.g., polyphonic music) different conventions exist.
 
 Multiple tunes in one file cannot be converted.
 
 
 Multiple tunes in one file cannot be converted.
 
@@ -306,65 +208,76 @@ ABC synchronizes words and notes at the beginning of a line;
 @command{abc2ly} ignores the ABC beaming.
 
 
 @command{abc2ly} ignores the ABC beaming.
 
 
-@node Invoking mup2ly
-@section Invoking @command{mup2ly}
+@node Invoking etf2ly
+@section Invoking @command{etf2ly}
 
 
-Mup (Music Publisher) is a shareware music notation program by Arkkra
-Enterprises.  @command{mup2ly} will convert part of a Mup file to LilyPond
-format.  It is invoked from the command-line as follows:
+@cindex ETF
+@cindex enigma
+@cindex Finale
+@cindex Coda Technology
+
+ETF (Enigma Transport Format) is a format used by Coda Music
+Technology's Finale product.  @command{etf2ly} will convert part of an ETF
+file to a ready-to-use LilyPond file.
 
 
-@cindex Music Publisher
-@cindex Mup
-@cindex Arkkra
+It is invoked from the command-line as follows.
 
 @example
 
 @example
-mup2ly [@var{option}]@dots{} @var{mup-file}
+etf2ly [@var{option}]@dots{} @var{etf-file}
 @end example
 
 @end example
 
-The following options are supported by @command{mup2ly}:
+Note that by @q{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
 
 @table @code
-@item -d,--debug
-show what constructs are not converted, but skipped.
-@item -D, --define=@var{name}[=@code{exp}]
-define macro @var{name} with opt expansion @code{exp}
-@item -E,--pre-process
-only run the pre-processor
 @item -h,--help
 @item -h,--help
-print help
-@item -o,--output=@var{file}
-write output to @var{file}
+this help
+@item -o,--output=FILE
+set output filename to FILE
 @item -v,--version
 version information
 @item -v,--version
 version information
-@item -w,--warranty
-print warranty and copyright. 
 @end table
 
 
 @refbugs
 
 @end table
 
 
 @refbugs
 
-Only plain notes (pitches, durations), voices, and staves are
-converted.
+The list of articulation scripts is incomplete.  Empty measures
+confuse @command{etf2ly}.  Sequences of grace notes are ended improperly.
 
 
 
 
-@node Other formats
-@section Other formats
+@node Generating LilyPond files
+@section Generating LilyPond files
 
 
-LilyPond itself does not come with support for other formats, but
+@cindex External programs, generating LilyPond files
+
+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
 
 there are some external tools that also generate LilyPond files.
 
 These tools include
 
-@itemize @bullet
+@itemize
+@item
+@uref{http://@/denemo@/.sourceforge@/.net/,Denemo}, a graphical score editor.
+@item
+@uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, a realtime
+monophonic MIDI to LilyPond converter.
 @item
 @item
-@uref{http://@/denemo@/.sourceforge@/.net/,Denemo}.
+@uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, an
+Emacs major mode.
 @item
 @item
-@uref{http://@/www@/.nongnu@/.org/@/xml2ly/, xml2ly}, that imports
-@uref{http://@/www@/.musicxml@/.com/,MusicXML}
+@uref{http://@/www@/.nongnu@/.org/@/xml2ly/, xml2ly}, which imports
+@uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}
 @item
 @item
-@uref{http://@/rnvs@/.informatik@/.tu@/-chemnitz@/.de/@/~jan/@/noteedit/@/noteedit@/.html,NoteEdit}
-which imports MusicXML
+@uref{http://@/noteedit@/.berlios@/.de,NoteEdit}
+which imports @uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}
 @item
 @item
-@uref{http://@/www@/.all@/-day@/-breakfast@/.com/@/rosegarden/,Rosegarden},
+@uref{http://@/www@/.rosegardenmusic@/.com,Rosegarden},
 which imports MIDI
 which imports MIDI
+@item
+@uref{http://@/common-lisp@/.net/project/fomus/,FOMUS},
+a LISP library to generate music notation 
 @end itemize
 @end itemize
+