]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/converters.itely
* Documentation/user/refman.itely: remove superfluous -'s
[lilypond.git] / Documentation / user / converters.itely
index dd921039322629c43f247da9dcdc69aea64279fb..bb80263c434706895443918e9ae9958a0f22add4 100644 (file)
@@ -1,19 +1,74 @@
 @c -*-texinfo-*-
 
-@node Importing other formats
-@chapter Importing other formats
+@node Converting from other formats
+@chapter Converting from other formats
+
+Music can be entered also by importing it from other formats.  This
+chapter documents the tools included in the distribution to do so.
+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.
+
+
 
 @menu
-* Importing MIDI::              
-* Importing Finale ::           
-* Importing ABC::               
-* Importing PMX::               
-* Importing Musedata ::         
-* Importing MUP::               
+* Invoking convert-ly::         Older LilyPond versions.
+* Invoking midi2ly::            Importing MIDI.
+* Invoking etf2ly::             Importing Finale.
+* Invoking abc2ly::             Importing ABC.          
+* Invoking pmx2ly::             Importing PMX.
+* Invoking musedata2ly::        Importing Musedata.
+* Invoking mup2ly::             Importing MUP. 
 @end menu
 
-@node  Importing MIDI
-@section Importing MIDI
+
+@node Invoking convert-ly
+@section Invoking convert-ly
+
+Convert-ly sequentially applies different conversions to upgrade a
+LilyPond input file.  It uses @code{\version} statements in the file to
+detect the old version number.  For example, to upgrade all LilyPond
+files in the current directory and its subdirectories, use
+@example
+        convert-ly -e --to=1.3.150 `find . -name '*.ly' -print`
+@end example
+
+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 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 -o,--output=@var{file}
+    Set the output file to write.  
+@item -n,--no-version
+    Normally, 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
+
+
+
+@refbugs
+
+Not all language changes are handled. Only one output option can be specified.
+
+@node Invoking midi2ly
+@section Invoking midi2ly
 
 @cindex MIDI
 
@@ -26,6 +81,10 @@ from other programs, so this capability may come in useful when you want
 to import files from a program that has no converter for its native
 format.
 
+@file{midi2ly} will convert tracks into @internalsref{Staff} and
+channels into @internalsref{Voice} contexts.  Relative mode is used
+for pitches, durations are only written when necessary.
+
 It is possible to record a MIDI file using a digital keyboard, and then
 convert it to @file{.ly}. However, human players are not rhythmically
 exact enough to make a MIDI to LY conversion trivial.  midi2ly tries to
@@ -44,39 +103,36 @@ It is invoked as follows:
 The following options are supported by midi2ly:
 
 @table @code
-@item -b, --no-quantify,
-    Write exact durations, e.g.: `a4*385/384'.
-@item -D, --debug,
-    Print lots of debugging stuff.
-@item -h, --help,
-    Show a summary of usage.
-@item -I, --include=@var{dir},
-    Add @var{dir} to search path.
-@item -k, --key=@var{acc}[:@var{minor}],
+@item -a, --absolute-pitches
+    Print absolute pitches.
+@item -d, --duration-quant=@var{DUR}
+    Quantise note durations on @var{DUR}.
+@item -e, --explicit-durations
+    Print explicit durations.
+@item -h,--help
+    Show summary of usage.
+@item -k, --key=@var{acc}[:@var{minor}]
     Set default key.  @var{acc} > 0 sets number of sharps; @var{acc} < 0
-sets number
-    of flats.  A minor key is indicated by ":1".
-@item -n, --no-silly,
-    Assume no plets or double dots, assume smallest (reciprocal) duration 16.
-@item -o, --output=@var{file},
-    Set @var{file} as default output.
-@item -p, --no-plets,
-    Assume no plets.
-@item -q, --quiet,
-    Be quiet.
-@item -s, --smallest=N,
-    Assume no shorter (reciprocal) durations than N.
-@item -v, --verbose,
+    sets number of flats.  A minor key is indicated by ":1".
+@item -o, --output=@var{file}
+    Write output to @var{file}.
+@item -s, --start-quant=@var{DUR}
+    Quantise note starts on DUR.
+@item -t, --allow-tuplet=@var{DUR}*@var{NUM}/@var{DEN}
+    Allow tuplet durations @var{DUR}*@var{NUM}/@var{DEN}.
+@item -V, --verbose
     Be verbose.
-@item -w, --warranty,
-    Show the warranty with which midi2ly comes. (It comes with @strong{NO WARRANTY}!)
-@item -x, --no-double-dots,
-    Assume no double dotted notes.
+@item -v, --version
+    Print version number.
+@item -w, --warranty
+    Show warranty and copyright.
+@item -x, --text-lyrics
+    Treat every text as a lyric.
 @end table
 
 
-@node Importing Finale 
-@section Importing Finale
+@node Invoking etf2ly
+@section Invoking etf2ly
 
 @cindex ETF
 @cindex enigma
@@ -92,7 +148,7 @@ It is invoked as follows:
         etf2ly [@var{option}]@dots{} @var{etf-file}
 @end example
 
-The following options are supported by etf2ly.
+The following options are supported by etf2ly:
 @table @code
 @item   -h,--help
 this help
@@ -106,17 +162,19 @@ version information
 @refbugs
 
 The list of articulation scripts is incomplete.  Empty measures confuse
-etf2ly.
+etf2ly. Sequences of grace notes are ended improperly sometimes. 
 
 
-@node Importing ABC
-@section Importing ABC
+@node Invoking abc2ly
+@section Invoking abc2ly
 
 @cindex ABC
 
-ABC is a fairly simple ASCII based format. It is described at
-@uref{http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt}. abc2ly
-translates from ABC to LilyPond. It is invoked as follows:
+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}.
+@end quotation
+abc2ly translates from ABC to LilyPond. It is invoked as follows:
 
 @example
         abc2ly [@var{option}]@dots{} @var{abc-file}
@@ -133,7 +191,7 @@ set output filename to @var{file}.
 print version information.
 @end table
 
-There is a rudimentary facility for adding lilypond code to the ABC
+There is a rudimentary facility for adding LilyPond code to the ABC
 source file.  If you say:
 
 @example
@@ -141,9 +199,9 @@ source file.  If you say:
 @end example
 
 This will cause the text following the keyword ``voices'' to be inserted 
-into the current voice of the lilypond output file.
+into the current voice of the LilyPond output file.
 
-Similarly:
+Similarly,
 
 @example
         %%LY slyrics more words
@@ -165,20 +223,19 @@ not.
 
 abc2ly ignores the ABC beaming.
 
-@node Importing PMX
-@section Importing PMX
+@node Invoking pmx2ly
+@section Invoking pmx2ly
 
 PMX is a MusiXTeX preprocessor written by Don Simons. More information
 on PMX is available from the following site:
 
 @quotation
-@uref{http://icking-music-archive.sunsite.dk/Misc/Music/musixtex/software/pmx/}.
+@uref{http://icking-music-archive.org/Misc/Music/musixtex/software/pmx/}.
 @end quotation
 
 @cindex PMX
 @cindex MusiXTeX
 @cindex Simons, Don
-
 pmx2ly converts from PMX to LilyPond input. The program is invoked as
 follows:
 
@@ -197,9 +254,15 @@ set output filename to FILE
 version information
 @end table
 
+@refbugs
+
+This script was updated last in September 2000, and then successfully
+converted the @file{barsant.pmx} example from the PMX
+distribution. pmx2ly cannot parse more recent PMX files.
+
 
-@node Importing Musedata 
-@section Importing Musedata
+@node Invoking musedata2ly
+@section Invoking musedata2ly
 
 @cindex Musedata
 @cindex CCARH
@@ -231,15 +294,14 @@ version information
 
 @refbugs
 
-musedata2ly converts only a small subset musedata. 
+@file{musedata2ly} converts only a small subset of musedata. 
 
-@node Importing MUP
-@section Importing MUP
+@node Invoking mup2ly
+@section Invoking mup2ly
 
 MUP (Music Publisher) is a shareware music notation program by Arkkra
-Enterprises.  It is also the name of the input format.  Mup2ly will
-convert part of a Mup file to a ready-to-use LilyPond file. Mup2ly is
-invoked as follows:
+Enterprises.  Mup2ly will convert part of a Mup file to LilyPond
+format. It is invoked as follows:
 
 @cindex Music Publisher
 @cindex MUP
@@ -254,7 +316,7 @@ The following options are supported by mup2ly:
 @table @code
 @item   -d,--debug
 show what constructs are not converted, but skipped.
-@item D, --define=@var{name}[=@code{exp}]
+@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
@@ -271,7 +333,7 @@ print warranty and copyright.
 
 @refbugs
 
-Currently, only plain notes (pitches, durations), voices and staves are
+Currently, only plain notes (pitches, durations), voices, and staves are
 converted.