]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/web/introduction.itexi
Web: Easier Editing - add LilyBin
[lilypond.git] / Documentation / web / introduction.itexi
index 76d7e693123b2c5f1db919434c3df54b174b49ce..dc755d528abb0c8d636f9802accd5e8a85342347 100644 (file)
@@ -20,10 +20,14 @@ soulless look of computer-printed sheet music.  Musicians prefer
 reading beautiful music, so why couldn't programmers write
 software to produce elegant printed parts?
 
-The result is a system which frees musicians from the details of
-layout, allowing them to focus on making music.  LilyPond works
-with them to create publication-quality parts, crafted in the best
-traditions of classical music engraving.
+The result is a program that creates beautiful sheet music
+following the best traditions of classical music engraving.
+It takes care of the details of layout programmatically,
+allowing composers, transcribers and publishers to focus
+on the @emph{music} instead of improving their software's
+default output.  Performers will get parts that let them
+concentrate on @emph{playing} music instead of @emph{reading} it.
+
 
 @divEnd
 
@@ -100,8 +104,7 @@ traditions of classical music engraving.
 @divClass{column-center-top}
 
 
-@subheading Elegance
-@subsubheading Excellent classical engraving
+@subheading Excellent classical engraving
 
 @imageFloat{flat-design,png,right}
 
@@ -115,35 +118,67 @@ best-engraved classical scores.  This is further explained in our
 @ref{Essay}.
 
 
+@divEnd
 
-@subsubheading Effective layout choices
+@divClass{column-center-top}
+@subheading Text input
 
-Spend less time with tweaking the output; LilyPond gets the
-formatting correct right from the start.  It determines spacing by
-itself, and breaks lines and pages to provide a tight and uniform
-layout.  Clashes between lyrics, notes, and chords are resolved
-and slurs and beams are sloped, automatically!
+@subsubheading Everything is explicit
+
+LilyPond processes text input, which contains all information
+about the @emph{content} of your score and can easily be read
+by any human or another program. There are no obscure
+settings hidden behind menu items and binary file storage.
+
+Read more about this concept on @ref{Text input}.
+
+
+@subsubheading Tweaks are robust and traceable
+
+If you have to change anything in the layout this tweak will
+also be explicitly visible in the input file in human-readable
+form, so you will always be able to retrace what you've done.
+If you should accidentally break anything you can easily revert
+or modify any decision without being at the mercy of an
+@emph{Undo} function.
+
+
+@subsubheading Text files are failure- and future-proof
+
+Text files are very robust against file corruption. And as they are
+human-readable, you will always be able to interpret them even if
+you don't have access to the programs that created them.
+
+
+@subsubheading Manage your scores with version control
 
+Text files are applicable to be managed by version control. Go
+for it and experience infinite and selective undo/redo mechanisms
+and the full development history of your scores. Version control
+may also open up new (collaborative) workflows for you.
 
 @divEnd
 
-@divClass{color2}
-@subheading Ease of use
+@divClass{column-center-top}
+@subheading Usability
 
 @imageFloat{lilypond-book,png,right}
 
-@subsubheading Text-based input
 
-LilyPond takes ASCII input, which you can produce in your favorite
-text editor, quickly and comfortably.  The input contains all the
-information, so there is no need to remember complex command sequences:
-simply save a file for later reference.
+@subsubheading Effective layout choices
+
+Spend less time with tweaking the output; LilyPond gets the
+formatting correct right from the start.  It determines spacing by
+itself, and breaks lines and pages to provide a tight and uniform
+layout.  Clashes between lyrics, notes, and chords are resolved
+and slurs and beams are sloped, automatically!
+
 
 @subsubheading Mix music and text
 
 Put fragments of music into texts without cutting and pasting
-pictures.  Integrate music into @LaTeX{} and HTML seamlessly, or add
-music to OpenOffice.org or LibreOffice with OOoLilyPond.  Plugins are
+pictures.  Integrate music into @LaTeX{} or HTML seamlessly, or add
+music to OpenOffice.org/LibreOffice with OOoLilyPond.  Plugins are
 also available to allow LilyPond code in various blogs and wikis, making
 online collaboration possible.
 
@@ -157,32 +192,74 @@ speech-recognition software to edit LilyPond files.  Even users
 who are totally blind can use screen-reading software to write
 LilyPond files -- an impossible task in graphical-based
 score-writing programs.
+You can see a spectacular score on @ref{Examples}.
+
+@subsubheading Editor diversity
+
+Several developers, themselves active LilyPond users,
+have written tools specifically aimed at making the process of editing
+LilyPond files faster and more effective; you are not tied to
+a single user interface but can use different tools for different tasks.
+You can even use a full-fledged LilyPond editor at home and use your
+mobile phone's notepad app to edit the files on the go. For some examples,
+see @ref{Easier editing}.
+@c TODO: Change this when the new pages have been written and pushed
+
+
+@divEnd
+
+@divClass{column-center-top}
+
+@subheading Extensible design
+
+@subsubheading Easy management of style sheets
 
-@subsubheading Extensible design
+All layout settings can be changed to suit your personal typographical
+taste. So you can easily write style sheets that change every aspect of
+LilyPond scores' default appearance. As these are also written as text
+and can be stored in separate files you can simply switch between two
+stylesheets to produce scores with a completely different appearance or
+layout.
+You want to print a score on A4 paper and project it with a beamer,
+one system per page? LilyPond's layout engine will effortlessly produce
+both from the same input.
 
-All settings can be changed to suit your personal typographical
-taste.  If that still is not enough, there is always the built-in
-scripting language Scheme, a dialect of the powerful language
-LISP.  Settings, variables and functions are all documented in the
+@subsubheading Add your own functions
+
+If that still is not enough, there is always the built-in
+scripting language Scheme, which can access LilyPond's layout
+engine at the same level as LilyPond itself does, making it
+a @emph{very} powerful tool.
+Settings, variables and functions are all documented in the
 comprehensive program reference manual.
 
+@subsubheading Process scores programmatically
+
+LilyPond input files can fully be edited or even generated by programs
+and scripts. This can for example be used for algorithmical composition.
+But you can also access the musical content for analysis, or manage
+input fragments in a database. There are no limitations except your
+imagination.
+
+
+@subsubheading Create new tools using LilyPond
+
+As LilyPond isn't a monolithic GUI program but a command line tool it
+can be used from within other applications too. This way it is possible
+to equip tools like e.g. web applications with LilyPond's engraving
+power. There already exist several online tools using LilyPond.
+
+@c (TBD: Add a link to the new @ref{Applications} page.
+
+
 @divEnd
 
-@divClass{color3}
+@divClass{column-center-top}
 
 @subheading Environment
 
 @imageFloat{frescobaldi-lilypond-editor-small,png,right}
 
-@subsubheading Free software
-
-LilyPond can be downloaded free of charge!  Yep - It's free.  Get
-it from the download page.
-
-It's also free (as in @qq{speech}) software.  It comes with source
-code, and permission to change and copy it.  So, are you irritated
-by a bug, or yearning for a feature? Simply add it yourself, or
-pay someone else to do it.
 
 
 @subsubheading Excellent support
@@ -190,17 +267,24 @@ pay someone else to do it.
 LilyPond runs on all popular platforms: GNU/Linux, MacOS X, and
 Windows.  LilyPond comes with extensive documentation and hundreds
 of example files.  There is an active user community answering
-questions on the lilypond-user mailing list, while the development
-team makes sure that problems are solved quickly.
+questions on the lilypond-user mailing list, offering you friendly
+help. The response time is usually very short, and often brillant
+solutions to reported problems are developed. Thanks to the close
+interaction with the development team such solutions are regularly
+included in LilyPond itself.
+Read more in @ref{Community}.
 
 
-@subsubheading Enhanced editors
+@subsubheading Free software
 
+LilyPond can be downloaded free of charge!  Yep - It's free.  Get
+it from the download page.
 
-Several developers, themselves active LilyPond users, have also
-written tools specifically aimed at making the process of editing
-LilyPond files faster and more effective.  For some examples, see
-@ref{Easier editing}.
+It's also free (as in @qq{speech}) software.  It comes with source
+code, and permission to change and copy it.  So, are you irritated
+by a bug, or yearning for a feature? Simply add it yourself, or
+pay someone else to do it.
+Read more on @ref{Freedom}.
 
 @divEnd
 @divClass{column-center-bottom}
@@ -216,6 +300,10 @@ already decided to try LilyPond, first read about our
 @node Examples
 @unnumberedsec Examples
 
+@divClass{column-center-top}
+
+@subheading Beautiful examples
+
 LilyPond is a powerful and flexible tool for engraving tasks of
 all kinds.  Please browse our gallery of examples and be inspired!
 
@@ -297,6 +385,15 @@ The colors have been added for better visibility.
 @exampleImage{bach-schenker}
 @newsEnd
 
+@newsItem
+@subsubheading Customized Output
+
+A short excerpt from Stockhausen's Klavierstück II to demonstrate
+Lilypond's ability to provide customised output.
+
+@exampleImage{Stockhausen_Klavierstueck2}
+@newsEnd
+
 @newsItem
 @subsubheading Vocal Music
 
@@ -342,6 +439,7 @@ contributed by Hu Haipeng, a blind composer.
 @exampleImage{orchestra}
 @newsEnd
 
+@divEnd
 
 @divClass{column-center-bottom}
 @subheading Where now?
@@ -471,9 +569,11 @@ LilyPond, first read about our @ref{Text input}.
 We have an extensive essay describing computational aesthetics:
 the art of creating beauty with a computer.
 
-If you just want a quick introduction to LilyPond, the essay might
-be too much material to read.  If you would like to read it now,
-please progress to @ref{Essay}.
+This is interesting reading if you are interested in an in-depth
+discussion of our fundamental ideas.  Due to its volume the
+essay is available as a "manual".  If you would like to read
+it now, please progress to @ref{Essay}.  However, if you just
+want a quick introduction to LilyPond, you might skip it for now.
 @divEnd
 
 @divClass{column-center-bottom}
@@ -488,6 +588,16 @@ try LilyPond, first read about our @ref{Text input}.
 @node Productions
 @unnumberedsec Productions
 
+@divClass{column-center-top}
+
+@subheading Productions using LilyPond
+
+Here you can read about people who actually use LilyPond
+in their productions, be it for performances of their
+music or as published scores.
+
+@divEnd
+
 @divClass{column-left-top}
 @subheading Concerts
 
@@ -645,6 +755,12 @@ If you've already decided to try LilyPond, first read about our
 @node Reviews
 @unnumberedsec Reviews
 
+@divClass{column-center-top}
+@subheading What do people say about LilyPond?
+
+@divEnd
+
+
 @divClass{column-left-top}
 @subheading Published articles
 
@@ -1039,9 +1155,9 @@ help new users, beginning with @ref{Learning}.  The Learning
 Manual is the best place to start, as many questions are answered
 before they come up!
 
-Please read the Learning Manual before complaining about bugs!
-New users occasionally believe that LilyPond is not working
-correctly, when in fact it is working precisely as designed.
+Occasionally new users are unnecessarily confused by some aspects
+of LilyPond's behaviour.  Please read this manual before doubting
+whether LilyPond is working correctly.
 
 More in-depth information is available in @ref{Manuals}.
 
@@ -1089,69 +1205,33 @@ In particular, don't link to:
 @end ignore
 
 @divClass{column-center-top}
-@subheading Tunefl
-
-@sourceimage{logo-linux,,,}
-@sourceimage{logo-freebsd,,,}
-@sourceimage{logo-macosx,,,}
-@sourceimage{logo-windows,,,}
-
-@uref{http://www.tunefl.com}
-
-With tunefl you can typeset your scores directly online
-without needing to install LilyPond locally. It allows
-trying out all the program's features using a convenient
-web interface.
-
-@divEnd
-
-@divClass{column-center-top}
-@subheading LilyPondTool
-
-@imageClickable{lilypondtool-2.12-screenshot-400wide,png,
-  (click to enlarge),lilypondtool-2.12-screenshot,png,right}
-
-@sourceimage{logo-linux,,,}
-@sourceimage{logo-freebsd,,,}
-@sourceimage{logo-macosx,,,}
-@sourceimage{logo-windows,,,}
-
-@uref{http://lilypondtool.organum.hu}
-
-Created as a plugin for the
-@uref{http://www.jedit.org,jEdit} text editor,
-LilyPondTool is one of the most feature-rich text-based tools for
-editing LilyPond scores.  Its features include a Document Wizard
-with lyrics support to set up documents easier, and embedded PDF
-viewer with advanced point-and-click support.
-
-@divEnd
-
-@divClass{column-center-top}
-@subheading Frescobaldi
+@subheading Front-end Applications
+@subsubheading Frescobaldi
 
 @imageClickable{frescobaldi-lilypond-editor-small,png,
   (click to enlarge),frescobaldi-lilypond-editor,png,right}
 
 @sourceimage{logo-linux,,,}
-@sourceimage{logo-freebsd,,,}
+@sourceimage{logo-macosx,,,}
 @sourceimage{logo-windows,,,}
 
 @uref{http://www.frescobaldi.org}
 
-Frescobaldi is lightweight, yet powerful LilyPond music and text editor
-with a built-in PDF viewer.  It is easy to use and will run on all major
+Frescobaldi is a lightweight, yet powerful, music and text editor
+with many features added and enhanced particularly for LilyPond. Major
+features include point-and-click links between the code and music views,
+detailed score wizards, built in LilyPond documentation browser, syntax
+highlighting and automatic completion. Frescobaldi is written in
+Python, with PyQt4 for its user interface, and will run on all major
 operating systems (GNU/Linux, Mac OS X and Windows).
 
-@divEnd
-
-@divClass{column-center-top}
-@subheading Denemo
+@subsubheading Denemo
 
 @imageClickable{screenshot-denemo-small,png,
   (click to enlarge),screenshot-denemo,png,right}
 
 @sourceimage{logo-linux,,,}
+@sourceimage{logo-macosx,,,}
 @sourceimage{logo-windows,,,}
 
 @uref{http://denemo.org}
@@ -1169,7 +1249,27 @@ the text view when printed from there.
 @divEnd
 
 @divClass{column-center-top}
-@subheading Text editors
+@subheading Browser-based editors
+
+@subsubheading LilyBin
+@uref{http://lilybin.com}
+
+A web-based LilyPond editor where you can typeset your scores directly
+online without needing to install LilyPond.
+
+@subsubheading Tunefl
+@uref{http://www.tunefl.com}
+
+With tunefl, you can typeset your mini-scores directly online without
+needing to install LilyPond locally. It allows trying out all the
+program's features using a convenient web interface.
+
+@divEnd
+
+@divClass{column-center-top}
+@subheading IDE Plug-ins
+
+@subsubheading Elysium
 
 @sourceimage{logo-linux,,,}
 @sourceimage{logo-freebsd,,,}
@@ -1183,32 +1283,47 @@ view for source and score.  It includes rapid visual & auditive feedback
 without having to switch contexts, and comes with many wizard-driven
 templates.
 
+@divEnd
+
+@divClass{column-center-top}
+@subheading Text editors
+
+@sourceimage{logo-linux,,,}
+@sourceimage{logo-freebsd,,,}
+@sourceimage{logo-macosx,,,}
+@sourceimage{logo-windows,,,}
+
+@subsubheading Emacs
 @uref{http://www.gnu.org/software/emacs/}
+Emacs is a text editor with language-sensitive capabilities for many
+different computer languages.  Emacs is a highly extensible editor and
+can be used as an Integrated Development Environment.  There is a
+@q{lilypond mode} which supplies the language  definitions for working
+with LilyPond source files.  A developer  has written
+@uref{https://github.com/nsceaux/lyqi,lyqi}, an Emacs major mode.
 
-Emacs is a text editor with language-sensitive capabilities for
-many different computer languages.  Emacs is a highly extensible
-editor and can be used as an Integrated Development Environment.
-There is a @q{lilypond mode} which supplies the language
-definitions for working with LilyPond source files.  A developer
-has written @uref{https://github.com/nsceaux/lyqi,lyqi}, an Emacs major
-mode.
+If you are not already familiar with Emacs then you may probably prefer
+to use a different editor for writing LilyPond input files.
 
-@uref{http://www.vim.org}
+More information on setting up Vim can be found in
+@rprogram{Text editor support}.
 
+@subsubheading Vim
+@uref{http://www.vim.org}
 Vim is a minimal text editor and is an extension of the older Unix
 @command{vi} editor.  It is also extensible and configurable.
 
-As a general rule, if you are not already familiar with Emacs or
-Vim, then you would probably prefer to use a different editor for
-writing LilyPond input files.
+If you are not already familiar with Vi then you may probably prefer
+to use a different editor for writing LilyPond input files.
 
-More information on setting up Emacs and Vim can be found in
+More information on setting up Vim can be found in
 @rprogram{Text editor support}.
 
 @sourceimage{logo-macosx,,,}
+@subsubheading TeXShop
 @uref{http://www.uoregon.edu/~koch/texshop}
 
-The TexShop editor for MacOS@tie{}X can be extended to run LilyPond,
+The TeXShop editor for MacOS@tie{}X can be extended to run LilyPond,
 @command{lilypond-book} and @command{convert-ly} from within the editor,
 using the extensions available at:
 
@@ -1219,8 +1334,7 @@ using the extensions available at:
 @divEnd
 
 @divClass{column-center-top}
-@subheading Programs that can export LilyPond code
-
+@subheading Other programs that can export LilyPond code
 
 @subsubheading Score, tab and MIDI editors:
 
@@ -1238,15 +1352,13 @@ to LilyPond, but is still beta-software. Testers are welcome, though.
 
 @item
 @uref{http://enc2ly.sourceforge.net/en/,Enc2ly} is a GNU/Linux program
-which converts an @uref{http://www.gvox.com/,Encore} music score into
-a LilyPond one.
+which converts an Encore music score into a LilyPond one.
 
 @item
 @uref{https://github.com/hanwen/go-enc2ly,go-enc2ly} is a Go tool that
-converts @uref{http://www.gvox.com/,Encore} files to LilyPond.  It was
-created using Felipe Castro's research and reverse engineering by
-tweaking existing .enc files and loading them using the 4.55 demo
-version.
+converts Encore files to LilyPond.  It was created using Felipe Castro's
+research and reverse engineering by tweaking existing .enc files and
+loading them using the 4.55 demo version.
 
 @item
 @uref{http://www.musescore.org,MuseScore}, a score editor, has
@@ -1270,14 +1382,6 @@ mixing different musical works together in a single score or part.
 @uref{http://www.rosegardenmusic.com,Rosegarden}, an audio and MIDI
 sequencer, which also has a score editor for single-staff editing.
 
-@item
-@uref{https://launchpad.net/rumor/,Rumor}, a realtime monophonic
-MIDI-to-LilyPond converter.
-
-@item
-@uref{http://www.tuxguitar.com.ar/,TuxGuitar}, a multitrack tablature
-editor and player, includes a score viewer and can export to LilyPond.
-
 @end itemize
 
 @subsubheading Algorithmic code generators
@@ -1307,10 +1411,15 @@ language.
 
 @divClass{column-center-top}
 
-@subheading Other programs not being actively developed
+@subheading Other programs no longer being actively developed
 
 @itemize
 
+@item
+@uref{https://sourceforge.net/projects/lily4jedit,LilyPondTool} was
+created as a plugin for the @uref{http://www.jedit.org,jEdit} text
+editor.
+
 @item
 @uref{http://lilykde.googlecode.com/,LilyKDE} has been replaced by
 @uref{http://www.frescobaldi.org/,Frescobaldi}, and exists as LilyKDE3
@@ -1318,16 +1427,23 @@ for KDE 3.5 and lilypond-KDE4 for KDE 4.1 only.
 
 @item
 @uref{http://noteedit.berlios.de,NoteEdit}, which imported
-@uref{http://www.makemusic.com/musicxml,MusicXML}, has been forked
-into
+@uref{http://www.makemusic.com/musicxml,MusicXML}, has been forked into
 @uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd}
 and @uref{http://canorus.org,Canorus}.
 
+@item
+@uref{http://lilycomp.sourceforge.net, LilyComp} is a graphical note
+entry program, acting much like a number-pad which produces LilyPond
+notes.
+
+@item
+@uref{https://launchpad.net/rumor/,Rumor}, a realtime monophonic
+MIDI-to-LilyPond converter.
 
 @item
-@uref{http://lilycomp.sourceforge.net, LilyComp} is a graphical
-note entry program, acting much like a number-pad which produces
-LilyPond notes.
+@uref{http://sourceforge.net/projects/tuxguitar/,TuxGuitar}, a
+multitrack tablature editor and player, includes a score viewer and can
+export to LilyPond.
 
 @end itemize