-1.3.109.jcn2
+1.3.110.hwn1
============
+* Fixed non-empty-text feature.
+
+* Bugfix for Grob::has_extent_callback_b ()
+
+* Added infrastructure for music property documentation strings.
+
+* Syntax change: \notenames -> \pitchnames
+
+* Changed syntax \push -> \override, \pop -> \revert. Add:
+
+ \property Context.Element \set #'foo = #bar
+
+which does a \revert followed by a \override.
+
+* Documentation updates.
+
+* Fixed typechecks for \push, \pop and \property
+
+* Bugfix: Local_key_engraver.
+
+* Fixes for lilypond-mode.el (patch by Mark Hindley)
+
+1.3.110
+=======
+
* Fixed a mysterious typo in toplevel index.
* Enabled property-engraver.
\clef treble;\r
}\r
\r
-\version "1.3.93";\r
+\version "1.3.110";\r
% \include "paper16.ly"\r
\r
flute1 = \notes \relative c'' \context Voice = flute {\r
@node Reporting Bugs, , , Top
@section Bug reports
-There is an extensive list of todoes and bugs. See the file
-@file{TODO} distributed with the sources. If you have a problem,
-would you please try to find out
-
-@c ********* The TODO file is no more in the distr. /MB
+LilyPond development moves quickly, so if you have a problem, it is
+wise to check if it has been fixed in a newer release. If you think
+you found a bug, please send in a bugreport including the following
+information:
@itemize @bullet
-@item If the bug has been fixed in a newer release.
-@item If the bug has been found earlier, consult @file{TODO} and @file{BUGS}.
-@end itemize
-If you have really found a bug, then we would appreciate it if you
-sent a bugreport.
+@item @strong{important:} a sample input which causes the error.
+
+(and you will do us a favor if send a @strong{small} sample file)
+
+@item @strong{important:} which LilyPond version you use.
+
+This information tells us if you've found a new bug, or an old one.
+
+@item A description of the platform you use (i.e., operating system,
+system libraries, whether you downloaded a binary release)
+
+@item If necessary, send a description of the bug itself.
-@itemize @bullet
-@item Send a copy of the input which causes the error.
-@item Send a description of the platform you use.
-@item Send a description of the LilyPond version you use
- (with compile/configure options please).
-@item Send a description of the bug itself.
-@item Send it to @email{bug-gnu-music@@gnu.org}; you don't have to be subscribed
- to this mailinglist.
@end itemize
+
+
+You can send the report to @email{bug-gnu-music@@gnu.org}---You don't
+have to be subscribed to this mailinglist, or you can enter the bug in
+the LilyPond wiki, at
+@uref{http://appel.lilypond.org/wiki/index.php?LilyPondBugs}.
+
@item -f,--format=
Output format for sheet music. Choices are tex (for @TeX{}
output), ps (for PostScript) and scm (for GUILE)
-@item -I,--include=
- add @file{FILE} to the search path for input files.
-@item -m,--midi
+@item -h,--help
+ Show a summary of usage.
+@item --include, -I=DIRECTORY
+ Add @file{DIRECTORY} to the search path for input files.
+
+@item -i,--init=FILE
+ Set init file to @file{FILE} (default: @file{init.ly}).
+@item -m,--no-paper
Disable @TeX{} output. If you have a \midi definition, it will do the
midi output only.
@item -M,--dependencies
- Also output rules to be included in Makefile.
-@item -d,--debug
- Turn debugging info on. GNU LilyPond reads the file @file{.dstreamrc},
- which lists what functions and classes may produce copious debugging
- output.
+ Output rules to be included in Makefile.
+@item -o,--output=FILE
+ Set the default output file to @file{FILE}.
+@item -Q,--find-old-relative
+ show all changes needed to convert a file to relative octave syntax.
+
@item -s,--safe
Disallow untrusted @code{\include} directives, backslashes in @TeX{}
code and named output.
+
+WARNING: the --safe option has not been reviewed for over a year; do
+not rely on for automatic lily invocation (eg. over the
+web). Volunteers are welcome.
+
+@item -T,--no-timestamps
+ don't timestamp the output
@item -t,--test
Switch on any experimental features. Not for general public use.
+@item -v,--version
+ Show version information
+@item -V,--verbose
+ verbose
@item -w,--warranty
Show the warranty with which GNU LilyPond comes. (It comes with
@strong{NO WARRANTY}!)
-@item -o,--output=FILE
- Set the default output file to @file{FILE}.
-@item -h,--help
- Show a summary of usage.
-@item -i,--init=FILE
- Set init file to @file{FILE} (default: @file{init.ly}).
-@item --include, -I=DIRECTORY
- Add @file{DIRECTORY} to the search path for input files.
-@item --ignore-version, -V
- Make the incompatible lilypond version warning non-fatal.
@end table
-
When invoked with a filename that has no extension, LilyPond will try
adding `@file{.ly}' as an extension first.
-@c ****** Is the following on its way out? /MB
-If you invoke LilyPond with a file `@file{foo.}@var{ext}' that doesn't
-have the `@file{.ly}' extension, then LilyPond will look for a file
-called `@file{init.}@var{ext}' and process this file. The file
-`@file{init.}@var{ext}' must contain the @code{\maininput} keyword or
-LilyPond will not read the user specified file.
-
When LilyPond processes @file{filename.ly} it will produce
-@file{filename.tex} as output. If @file{filename.ly} contains a second
-@code{\paper} keyword, then LilyPond will produce @file{filename-1.tex}
-as well. Subsequent @code{\paper} keywords will produce sequentially
-numbered file names. Several files can be specified; they will each
-be processed independently.@footnote{Not entirely true: The status of
-GUILE is kept.}
-
-
+@file{filename.tex} as output (or @file{filename.ps} for
+PostScript output). If @file{filename.ly} contains more than one
+@code{\score} block, then LilyPond will output the rest in numbered
+files, starting with @file{filename-1.tex}. Several files can be
+specified; they will each be processed independently. @footnote{The
+status of GUILE is not reset across invocations, so be careful not to
+ change defaults settings from within Scheme .}
@section Environment variables
@item LILYINCLUDE
additional directories for finding lilypond data. The
format is like the format of @file{PATH}.
-@item LILYPREFIX
- [FIXME]
+@item LILYPONDPREFIX
+ This specifies a directory where locale messages and
+data-files will be looked up by default. The directory should contain
+subdirectories called @file{ly/}, @file{ps/}, @file{tex/}, etc.
+
@item LANG
selects the language for the warning messages of LilyPond.
@end table
@node Top, , , (dir)
@chapter GNU LilyPond --- The music typesetter
+
+LilyPond produces sheet music from input files. This document describes
+how to use LilyPond.
+
+@cindex web site
+
+A further source of information is the website, which can be found at
+@uref{http://www.lilypond.org/}. The website contains on-line copies of
+this and other documentation.
+
+
+
@menu
* Tutorial:: A tutorial introduction to lilypond.
* Invoking LilyPond:: Operation.
* Reference Manual:: Reference Manual.
@c Move to Reference Manual?
* Internals:(lilypond-internals). Auto generated detailed documentation.
-* More information:: Where to turn to for more help.
-* convert-ly:: Upgrading input files.
-@c Hmm, having the generated doco in a separate file,
-@c the index can't refer to that.
+* convert-ly:: Upgrading input files.
* Index:: Unified index.
@end menu
@mbinclude tutorial.itely
-
@include invoking.itexi
@include bugs.itexi
@mbinclude refman.itely
-@include moreinfo.itexi
-
@include convert-ly.itexi
@node Index, , , Top
@node More information, , , Top
@section Resources
-A further source for information is the website, which can be found at
-@uref{http://www.lilypond.org/}. The website contains on-line
-versions of the documentation
-
-GNU LilyPond is updated very frequently, the latest version is always
-available at: @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}. This FTP
-site is mirrored at a number of sites; consult the project web pages
-for information about mirrors.
-
-For programs which are part of the GNU music project, the following
-mailing list have been setup:
-
-@table @samp
-@item @email{info-gnu-music@@gnu.org}
- For information on the GNU Music project, to subscribe: send mail with
- subject "subscribe" to @email{info-gnu-music-request@@gnu.org}
-@item @email{help-gnu-music@@gnu.org}
- For help with programs from the GNU music project. To subscribe: send
- mail with subject "subscribe" to @email{help-gnu-music-request@@gnu.org}
-@item @email{bug-gnu-music@@gnu.org}
- If you have bugreports, you should send them to this list. If you want
- to read all bugreports, you should subscribe to this list. To
- subscribe: send mail with subject "subscribe" to
- @email{bug-gnu-music-request@@gnu.org}
-@item @email{gnu-music-discuss@@gnu.org}
- For discussions concerning the GNU Music project, to subscribe: send
- mail with subject "subscribe" to
- @email{gnu-music-discuss-request@@gnu.org}
-@end table
-
-Announces of new versions will be sent to info-gnu-music and
-gnu-music-discuss.
Sets the instrument for MIDI output. If this property is not set
then LilyPond will use the @code{instrument} property. This must
be set to one of the strings on the list of MIDI instruments that
- appears in section XREF-midilist [FIXME]. If you use a string which
+ appears in section @ref{midilist}. If you use a string which
is not listed, LilyPond will silently substitute piano.
@item @code{restStyle}@indexcode{restStyle} @propertytype{string}
@menu
* Overview:: Overview
* Top level:: Top level
-* notenames:: notenames
+* Pitch names:: Pitch names
* Lexical conventions:: Lexical conventions
-* Other languages:: notelang
-* modes:: modes
+* Other languages:: Note names in various languages
+* Lexical modes:: modes
* Types:: Types
* Music expressions:: Music expressions
* Atomic music expressions:: Atomic music expressions
* contextdefs:: contextdefs
* Sound output:: Sound output
* midilist:: midilist
+* Grobs:: Graphical objects
* Pre-defined Identifiers:: Pre-defined Identifiers
@c May be fragile. Better make single link to generated doco?
* Interpretation contexts:(lilypond-internals)LilyPond interpretation contexts.
@node Overview, , , Reference Manual
@section Overview
-This document@footnote{This document has been revised for
-LilyPond 1.2.} describes the the GNU LilyPond input format
-
-with @emph{Lilypond}-input you can
+This document@footnote{This document has been revised for LilyPond 1.2.}
+describes the the GNU LilyPond input format This format represents a
+piece of music in an elegant way, but contains enough information for
+both automatic typesetting and automatic performances.
+LilyPond input can be classified into three types:
@itemize @bullet
- @item create musical expressions by combining pitches, durations
- @item output those musical expressions to various formats
- @item give those musical expressions and output definitions names, so
- you can enter them in manageable chunks.
-@end itemize
+ @item musical expressions: a musical expression is some combination of
+rest, notes, lyrics
+ @item output definitions: recipes for translating those musical
+expressions into performances (MIDI) or graphics (eg. PostScript).
-@emph{Lilypond} input aims to define a piece of music completely, both from
-typesetting and from a performance point of view.
+ @item declarations: by declaring and naming musical expressions, you
+can enter and edit them in manageable chunks.
+@end itemize
@var{outputdefs} are zero or more output definitions. If no output
definition is supplied, the default @code{\paper} block will be added.
-
-
@cindex header
@keyindex{header}
It is customary to put the @code{\header} at the top of the file.
-@node notenames, , , Reference Manual
-
-Note name tables can be specified using
+@node Pitch names, , , Reference Manual
+Note names and chord modifiers can be customised for nationalities.
+languages and conventions. The syntax is as follows.
@example
- \notenames@keyindex{notenames}
- @{ @var{assignmentlist} @}
+ \pitchnames @keyindex{pitchnames} @var{scheme-alist}
+ \chordmodifiers@keyindex{chordmodifiers} @var{scheme-alist}
@end example
-@var{assignmentlist} is a list of definitions of the form
-
-@example
- @var{name} = @var{pitch}
-@end example
-
-Chord modifiers can be set analogously, with
-@code{\chordmodifiers}@keyindex{chordmodifiers}.
+See @file{ly/nederlands.ly} and @file{ly/chord-modifiers.ly} for
+specific examples how to do this. tables can be tailored specified
+using. Some national note names have been provided, see @ref{Other
+languages}.
A @code{\paper} block at top level sets the default paper block. A
@code{\midi} block at top level works similarly.
-LilyPond contains a Scheme interpreter (the GUILE library) for
-internal use. The following commands access the interpreter
-directly.
-
-@example
- #@var{scheme}
-@end example
-
-Evaluates the specified Scheme code. The result is discarded.
-
Identifier assignments may appear at top level. Semicolons are
forbidden after top level assignments.
Block comments are started by `@code{%@{}' and ended by `@code{%@}}'.
They cannot be nested.
+@indexcode{#}
+LilyPond contains a Scheme interpreter (the GUILE library) for
+internal use. The interpreter is accessed by the pound sign:
-@cindex keyword
-
-Keywords start with a backslash, followed by a number of lower case
-alphabetic characters. These are all the keywords.
+Whereever the syntax allows Scheme expressions, you may enter one as
-[FIXME]
+@example
+ #@var{scheme}
+@end example
+Evaluates the specified Scheme code. If this is used at toplevel, then
+the result is discarded. Example:
@example
- \accepts
- \addlyrics
- \alternative
- \bar
- \breathe
- \chordmodifiers
- \chords
- \clef
- \cm
- \consists
- \consistsend
- \context
- \duration
- \font
- \grace
- \header
- \in
- \key
- \keysignature
- \lyrics
- \mark
- \midi
- \mm
- \musicalpitch
- \name
- \notenames
- \notes
- \paper
- \partial
- \penalty
- \property
- \pt
- \relative
- \remove
- \repeat
- \repetitions
- \scm
- \scmfile
- \score
- \script
- \sequential
- \simultaneous
- \skip
- \spanrequest
- \tempo
- \textscript
- \time
- \times
- \translator
- \transpose
- \type
+ \property Staff.TestObject \override #'symbol = #(+ 1 2)
@end example
+(in this case, @code{\override} expects two Scheme expressions.
+[refer appendix/ online intro on Scheme]
+
+@cindex keyword
+
+Keywords start with a backslash, followed by a number of lower case
+alphabetic characters. These are all the keywords.
+@example
+apply arpeggio autochange spanrequest commandspanrequest
+simultaneous sequential accepts alternative bar breathe
+char chordmodifiers chords clef cm consists consistsend
+context denies duration dynamicscript elementdescriptions
+font grace header in lyrics key mark musicalpitch
+time times midi mm name pitchnames notes outputproperty
+override set revert partial paper penalty property pt
+relative remove repeat addlyrics partcombine score
+script stylesheet skip textscript tempo translator
+transpose type
+@end example
@cindex integer
operations cannot be done with integers, and integers cannot be mixed
with reals.
-
-
@cindex real
Begins and ends with the `@code{"}' character. To include a `@code{"}'
character in a string write `@code{\"}'. Various other backslash
-sequences have special interpretations as in the C language. A
-string that contains no spaces can be written without the quotes.
-See section XREF-modes [FIXME] for details on unquoted strings; their
-interpretation varies depending on the situation. Strings can be
-concatenated with the `@code{+}' operator.
+sequences have special interpretations as in the C language. A string
+that contains no spaces can be written without the quotes. See
+@ref{Lexical modes} for details on unquoted strings; their interpretation varies
+depending on the situation. Strings can be concatenated with the
+`@code{+}' operator.
-The tokenizer accepts the following commands. They can appear
-anywhere.
+The tokenizer accepts the following commands. They have no grammatical
+function, hence they can appear anywhere in the input.
@example
\maininput@keyindex{maininput}
catalan.ly do re mi fa sol la sib si -d/-s -b
@end example
-Pitch names can be redefined using the
-@code{\notenames}@keyindex{notenames} command, see
-subsection XREF-notenames [FIXME].
+Pitch names can be redefined using the @code{\pitchnames} command, see
+@ref{Pitch names}.
-
-
-@cindex lexical modes
+@cindex Lexical Modes
@cindex modes
-@node modes, , , Reference Manual
+@node Lexical modes, , , Reference Manual
To simplify entering notes, lyrics, and chords, @emph{Lilypond} has three
special input modes on top of the default mode. In each mode, words
durations, you can not enter real numbers in this mode.
@end table
-It is possible to create words that break the rules by prefixing them
-with the dollar sign `@code{$}@indexcode{$}'. Regardless of the context, a
-word beginning with `@code{$}' extends until the next white space
-character. Such words can contain numbers (even in Note mode), or
-other forbidden characters. The dollar sign can be used to create
-and access identifiers that could not otherwise be used.@footnote{Use
-of `@code{$}' hampers readability and portability to future LilyPond
-versions, thus the use of the dollar sign is discouraged.}
-
-
+[todo: include short table showign differences]
@node Types, , , Reference Manual
@section Types
-@cindex types and identifiers
+@cindex Identifiers
-@emph{Lilypond} has a limited set of types:
+[say something about types]
+
+All of the information in a LilyPond input file, is represented as a
+Scheme value. In addition to normal Scheme data types (such as pair,
+number, boolean, etc.), LilyPond has a number of specialized data types,
@itemize @bullet
- @item integers
- @item reals
- @item strings
- @item music expressions
- @item durations of notes and rests (specified with
- @code{\notenames}@keyindex{notenames})
- @item note name tables
- @item context definitions, part of output definitions. See
- section XREF-contextdefs [FIXME] for more information
- @item output definitions (like @code{\paper}@keyindex{paper} blocks
- and @code{\midi}@keyindex{midi} blocks)
- @item score definitions (@code{\score}@keyindex{score} blocks)
+ @item Input
+ @item c++-function
+ @item Music: see @ref{Music expressions}
+ @item Identifier
+ @item Translator_def:
+See section @ref{contextdefs} for more information
+
+ @item Duration
+ @item Pitch
+ @item Score (TODO, smobme)
+@item Music_output_def (TODO, smobme)
+
+ @item Moment (rational number)
@end itemize
-Type is a syntactical property: @emph{Lilypond} has no real type system,
-so there is no support for generic expressions, functions, or user
-defined types. For the same reason, it is not possible to mix reals
-and integers in arithmetic expressions, and ``type
-errors''
-@cindex type error
- (e.g., using a string identifier to
-initialize a @code{\paper}@keyindex{paper} block) will yield a ``parse
-error''.
-
-Identifiers allow objects to be assigned to names. To assign an
-identifier, you use `@var{name}=@var{value}' and to refer to an
-identifier, you preceed its name with a backslash:
+LilyPond also includes some transient object types. Objects of these
+types are built during a LilyPond run, and do not `exist' per se within
+your input file. These objects are created as a result of your input
+file, so you can include commands in the input to manipulate them,
+during a lilypond run .
+
+@itemize @bullet
+ @item Grob: short for Graphical object. See @ref{Grobs}.
+ @item Molecule: device-independent paper output object,
+ including dimensions. Produced by some Grob functions
+ @item Translator: object that produces audio objects or Grobs
+
+ @item Font_metric: object representing a font. (Not yet user accessible.)
+ @item Audio_element: (TODO, smobme)
+@end itemize
+
+Identifiers allow objects to be assigned to names during the parse
+stage. To assign an identifier, you use `@var{name}=@var{value}' and to
+refer to an identifier, you preceed its name with a backslash:
`@code{\}@var{name}'. Identifier assignments must appear at top level
in the @emph{Lilypond} file. Semicolons are forbidden after assignments
appearing at top level but they are obligatory after assignments
-appearing in the @code{\paper} block, see Section XREF-paper [FIXME].
+appearing in the @code{\paper} block, see Section @ref{paper}.
-@var{value} is any of the types listed above.
+@var{value} is any valid Scheme value or any of the input-types listed
+above.
An identifier can be created with any string for its name, but you
will only be able to refer to identifiers whose names begin with a
@end example
When an identifier is referenced, the information it points to is
-copied. Therefore it only makes sense to put identifiers for
-translators, output definitions, and @code{\score}@keyindex{score}
-blocks as the first item in a block. For this reason, if you
-reference a @code{\foo} variable in a @code{\foo} block, it must be the
-first item in the list following @code{\foo}.@footnote{@code{\paper@{\one
-\two@}} does not make sense, because the information of @code{\two}
-would overwrite the information of @code{\one}, thereby making the
-reference to the first identifier useless.}
+copied. For this reason, an identifier reference must always be the
+ first item in a block.
+@example
+\paper @{
+ foo = 1.0
+ \paperIdent % wrong and invalid
+@}
+\paper @{
+ \paperIdent % correct
+ foo = 1.0
+@}
+@end example
@node Music expressions, , , Reference Manual
simultaneously, for instance).
Atomic music expression are discussed in
-subsection XREF-atomicmusic [FIXME]. Compound music expressions are
-discussed in subsection XREF-compoundmusic [FIXME].
+subsection @ref{Atomic music expressions}. Compound music expressions are
+discussed in subsection @ref{Compound music expressions}.
natural, negative to add flats, or positive to add sharps.
In Note and Chord mode, pitches may be designated by names. See
-section XREF-notelang [FIXME] for pitch names in different languages.
+section @ref{Other languages} for pitch names in different languages.
The syntax for duration specification is
@var{dotcount}.
In Note, Chord, and Lyrics mode, durations may be designated by
-numbers and dots. See Section XREF-notelang [FIXME] for details.
+numbers and dots.
@node Note specification, , , Reference Manual
The default names are the Dutch note names. The notes are specified
by the letters `@code{c}' through `@code{b}', where `@code{c}' is an
octave below middle C and the letters span the octave above that C.
-In Dutchcindex(notenames!Dutch), a sharp is formed by adding
-`@code{-is}' to the end of a pitch name. A flat is formed by adding
-`@code{-es}'. Double sharps and double flats are obtained by adding
-`@code{-isis}' or `@code{-eses}'. `@code{aes}' and `@code{ees}' are
-contracted to `@code{as}' and `@code{es}' in Dutch, but both forms will
-be accepted.
+In Dutch,
+@cindex notenames!Dutch
+a sharp is formed by adding `@code{-is}' to the end of a pitch name. A
+flat is formed by adding `@code{-es}'. Double sharps and double flats
+are obtained by adding `@code{-isis}' or `@code{-eses}'. `@code{aes}'
+and `@code{ees}' are contracted to `@code{as}' and `@code{es}' in Dutch,
+but both forms will be accepted.
LilyPond has predefined sets of notenames for various languages. See
-section XREF-notelang [FIXME] for details.
+@ref{Other languages}.
+
The optional octave specification takes the form of a series of
example, `@code{Twin-4 kle4 twin-4 kle4}' enters four syllables, each
with quarter note duration. Note that the hyphen has no special
meaning for lyrics, and does not introduce special symbols. See
-section XREF-modes [FIXME] for a description of what is interpreted as
+section @ref{Lexical modes} for a description of what is interpreted as
lyrics.
Spaces can be introduced into a lyric either by using quotes
(`@code{"}') or by using an underscore without quotes: `@code{He_could4
not4}'. All unquoted underscores are converted to spaces. Printing
-lyrics is discussed in section XREF-lyricprint [FIXME].
+lyrics is discussed in section @ref{lyricprint}.
right.
Use of this feature is entirely on your own risk: if you use this, the
-result will depend very heavily on the implentation of the backend,
-which we change unscrupulously.
-
-
+result will depend very heavily on the implementation of the backend,
+which we change regularly and unscrupulously.
@cindex commands
are also defined.
@example
-
@code{\keysignature}@keyindex{keysignature} @var{pitchseq} @code{;}
@end example
Specify an arbitrary key signature. The pitches from @var{pitch} will
be printed in the key signature in the order that they appear on the
list.
-
@example
\mark@keyindex{mark} @var{unsigned};
\mark @var{string};
@end example
-Prints a mark over or under (depending on the
-@code{markDirection}@indexcode{markDirection} property) the staff. You must add
-@code{Mark_engraver}@indexcode{Mark_engraver} to either the Score or Staff context for
+Prints a mark over or under the staff. You must add
+@code{Mark_engraver}@indexcode{Mark_engraver} to the Score context for
this to work.
@node barlines, , , Reference Manual
\bar@keyindex{bar} @var{bartype};
@end example
-This is a request to print a special bar symbol. It replaces the
-regular bar symbol with a special
-symbol. The argument @var{bartype} is a string which specifies the
-kind of bar to print. Options are @code{":|"}
-@cindex "|A@@@code{:|}
-,
-@code{"|:"}
-@cindex "|B@@@code{|:}
-, @code{":|:"}
-@cindex "|C@@@code{:|:}
-,
-@code{"||"}
-@cindex "|D@@@code{||}
-, @code{"|."}
-@cindex "|E@@@code{|.}
-,
-@code{".|"}
-@cindex "|F@@@code{.|}
-, and @code{".|."}
-@cindex "|G@@@code{.|.}
-.
-These produce, respectively, a right repeat, a left repeat, a double
-repeat, a double bar, a start bar, an end bar, and a thick double
-bar. If @var{bartype} is set to @code{"empty"} then nothing is
-printed, but a line break is allowed at that spot.
-
-You are encouraged to use @code{\repeat} for repetitions.
-See section XREF-sec-repeats [FIXME].
+This is a short-cut for doing
+@example
+ \property Score.whichBar = @var{bartype}
+@end example
-
+You are encouraged to use @code{\repeat} for repetitions. See
+@ref{Repeats}, and the documentation of @code{whichBar}.
@example
-
\time@keyindex{time} @var{numerator}@code{/}@var{denominator} @code{;}
@end example
-Change the time signature. The default time signature is 4/4.
-The time signature is used to generate bar lines.
+A short-cut for doing
+@example
+ \property Score.timeSignatureFraction = #'(@var{numerator} . @var{denominator})
+@end example
+
+See the documentation of @code{timeSignatureFraction}
@example
requests output with 76 quarter notes per minute.
@example
-
\partial@keyindex{partial} @var{duration} @code{;}
@end example
+Short cut for
+
+@example
+ \property Score.measurePosition = @var{length of duration}
+@end example
+
+See the documentation of @code{measurePosition}.
+
@cindex anacrusis
@cindex upstep
-This creates an incomplete measure (anacrusis, upbeat) at the start of
-the music, e.g., `@code{\partial 8*2;}' creates a starting measure
-lasting two eighth notes.
-
@example
@code{|}@indexcode{|}
`@code{|}' is a bar check. Whenever a bar check is encountered during
interpretation, a warning message is issued if it doesn't fall at a
-measure boundary. This can help you finding errors in the input.
-The beginning of the measure will be relocated, so this can also
-be used to shorten measures.
+measure boundary. This can help you finding errors in the input.
+Depending on the value of @code{barCheckNoSynchronize}
+@indexcode{barCheckNoSynchronize} The beginning of the measure will be
+relocated, so this can also be used to shorten measures.
@example
section [on identifiers] [FIXME].
@example
-
\clef@keyindex{clef} @var{clefname} @code{;}
@end example
-Music expression that sets the current clef. The argument is a
-string which specifies the name of the clef. Several clef names are
-supported. If `@code{_8}' or `@code{^8}' is added to the end of a clef
-name, then the clef lowered or raised an octave will be generated.
-Here are the supported clef names with middle C shown in each
-clef:
-
-@quotation
-
-@lilypond[]
-\score {
- \notes {
- \cadenzaOn
- %\property Voice.textStyle = typewriter
- \clef subbass; c'4-"\kern -5mm subbass"
- \clef bass; c'4^"\kern -2mm bass"
- \clef baritone; c'4_"\kern -5mm baritone"
- \clef varbaritone; c'4^"\kern -6mm varbaritone"
- \clef tenor; c'4_"\kern -3mm tenor"
- \clef "G_8"; c'4^"\kern -2mm G\\_8"
- }
- \paper {
- linewidth = -1.0;
- }
-}
-@end lilypond
-@end quotation
+Short-cut for
-@quotation
+@example
+ \property Clef.clefGlyph = @var{symbol associated with clefname}
+ \property Clef.clefPosition = @var{clef Y-position for clefname}
+ \property Clef.clefOctavation = @var{extra pitch of clefname}
+@end example
-@lilypond[]
-\score {
- \notes {
- \cadenzaOn
- \clef alto; c'4_"\kern -2mm alto"
- \clef mezzosoprano; c'4^"\kern -9mm mezzosoprano"
- \clef soprano; c'4_"\kern -6mm soprano"
- \clef treble; c'4^"\kern -4mm treble"
- \clef french; c'4_"\kern -4mm french"
- }
- \paper {
- linewidth = 4.5 \in;
- }
-}
-@end lilypond
-@end quotation
+Supported clef-names include
-The three clef symbols can also be obtained using the names `@code{G}',
-`@code{C}' or `@code{F}', optionally followed by an integer which
-indicates at which note line the clef is located. An as example, the
-@code{mezzosoprano} clef can also be given as `@code{C2}'.
+[todo]
@example
\times 2/3 { [e'8 f' g'] }
@end lilypond
-Beaming can be generated automatically; see section XREF-autobeam [FIXME].
+Beaming can be generated automatically; see section @ref{autobeam}.
[OUTDATED, FIXME]
To place tremolo marks between notes, use @code{\repeat} with tremolo
style.
@cindex tremolo beams
- To create tremolo beams on a single note, simply attach
-`@code{:}@var{length}' to the note itself (see also section
-XREF-tremolo [FIXME]).
-
+To create tremolo beams on a single note, simply attach
+`@code{:}@var{length}' to the note itself.
@lilypond[fragment,verbatim,center]
\repeat "tremolo" 8 { c16 d16 }
Interpret @var{musicexpr} within a context of type @var{contexttype}.
If the context does not exist, it will be created. The new context
-can optionally be given a name. See
-section XREF-contextselection [FIXME] and XREF-contextdefs [FIXME] for more
-information on interpretation contexts.
-
-
+can optionally be given a name.
@cindex input modes
@var{musicexpr}, and @code{\lyrics} @keyindex{lyrics} @var{musicexpr}.
These expressions do not add anything to the meaning of their
arguments. They are just a way to indicate that the arguments should
-be parsed in indicated mode. See section XREF-modes [FIXME] for more
+be parsed in indicated mode. See @ref{Lexical modes} for more
information on modes.
-More information on context selection can be found in
-section XREF-contextselection [FIXME].
-
-
-
@cindex sequential music
Chord names are a way to generate simultaneous music expressions that
correspond with traditional chord names. It can only be used in
-Chord mode (see section XREF-modes [FIXME]).
+Chord mode (see section @ref{Lexical modes}).
@example
By default, LilyPond will generate beams automatically. This feature
can be disabled by setting the @code{Voice.noAutoBeaming}@indexcode{Voice.noAutoBeaming}
property to 1. It can be overridden for specific cases by
-specifying explicit beams as described in
-section XREF-manualbeam [FIXME].
+specifying explicit beams.
+
A large number of Voice properties are used to decide how to generate
beams. Their default values appear in @file{auto-beam-settings.ly}.
@itemize @bullet
@item An assignment. The assignment must be terminated by a
- semicolon. See section XREF-papervars [FIXME] for information on
- paper variables.
+ semicolon.
- @item A context definition. See section XREF-contextdefs [FIXME] for
+ @item A context definition. See section @ref{contextdefs} for
more information on context definitions.
@item
@itemize @bullet
@item @code{\consists} @var{engravername} @code{;}
Add @var{engravername} to the list of modules in this context.
- Section XREF-engravers [FIXME] contains an overview of the engravers
- available. The order of engravers added with @code{\consists} is
+ The order of engravers added with @code{\consists} is
significant.
@item @code{\consistsend} @var{engravername} @code{;}
@c @end quotation
-@cindex MIDI types and performers
-
-The types available for MIDI translators are:
-
-@table @samp
- @item @code{Performer_group_performer}@indexcode{Performer_group_performer}
- @item @code{Score_performer}@indexcode{Score_performer}
- @item @code{Staff_performer}@indexcode{Staff_performer}
-@end table
-
-The performers for MIDI translators are:
-
-@table @samp
- @item @code{Key_performer}@indexcode{Key_performer}
- @item @code{Time_signature_performer}@indexcode{Time_signature_performer}
- @item @code{Note_performer}@indexcode{Note_performer}
- @item @code{Lyric_performer}@indexcode{Lyric_performer}
- @item @code{Swallow_performer}@indexcode{Swallow_performer}
-@end table
-
-
@node Pre-defined Identifiers, , , Reference Manual
Force a line break in music by using a large argument for the
keyword @code{\penalty}.
- @item @code{\center}@keyindex{center}
- Used for setting direction properties. Equals 0.
-
- @item @code{\down}@keyindex{down}
- Used for setting direction setting properties. Is equal
- to -1.
-
- @item @code{\free}@keyindex{free}
- Used for setting direction setting properties. Is equal
- to 0.
-
- @item @code{\left}@keyindex{left}
- Used for setting text alignment property. Is equal to -1.
-
@item @code{\nobreak}@keyindex{nobreak}
Prevent a line break in music by using a large negative argument
for the keyword @code{\penalty}.
- @item @code{\none}@keyindex{none}
- Used for setting @code{Score.beamslopedamping} and
- @code{Score.beamquantisation} properties. Is equal to 0.
-
- @item @code{\normal}@keyindex{normal}
- Used for setting @code{Score.beamslopedamping} and
- @code{Score.beamquantisation} properties. Is equal to 1.
-
@item @code{\normalkey}@keyindex{normalkey}
Select normal key signatures where each octave has the same key
signature. This sets the @code{Staff.keyoctaviation} property.
- @item @code{\right}@keyindex{right}
- Used for setting text alignment property. Is set to 1.
-
@item @code{\shiftoff}@keyindex{shiftOff}
- Disable horizontal shifting of note heads that collide. Sets the
- @code{Voice.horizontalNoteShift} property.
+ Disable horizontal shifting of note heads that collide.
@item @code{\shiftOn}@keyindex{shiftOn}
Enable note heads that collide with other note heads to be
- shifted horiztonally. Sets the @code{Voice.horizontalNoteShift}
- property.
+ shifted horiztonally.
@item @code{\slurBoth}@keyindex{slurBoth}
- Allow slurs to be above or below notes. This sets the
- @code{Voice.slurVerticalDirection} property.
+ Allow slurs to be above or below notes.
@item @code{\slurDown}@keyindex{slurDown}
- Force slurs to be below notes. This sets the
- @code{Voice.slurVerticalDirection} property.
+ Force slurs to be below notes.
@item @code{\slurUp}@keyindex{slurUp}
- Force slurs to be above notes. This sets the
- @code{Voice.slurVerticalDirection} property.
+ Force slurs to be above notes.
@item @code{\specialkey}@keyindex{specialkey}
Allow key signatures do differ in different octaves. This sets
@item @code{\stemBoth}@keyindex{stemBoth}
Allow stems, beams, and slurs to point either upwards or
- downwards, decided automatically by LilyPond. This sets the
- @code{Voice.verticalDirection} property.
+ downwards, decided automatically by LilyPond.
@item @code{\stemdown}@keyindex{stemdown}
- Force stems, beams, and slurs to point down. This sets the
- @code{Voice.verticalDirection} property.
+ Force stems, beams, and slurs to point down.
@item @code{\stemUp}@keyindex{stemUp}
- Force stems, beams and slurs to point up. This sets the
- @code{Voice.verticalDirection} property.
-
- @item @code{\traditional}@keyindex{traditional}
- Used for setting the @code{Score.beamquantisation} property. Is
- equal to 2.
+ Force stems, beams and slurs to point up.
- @item @code{\up}@keyindex{up}
- Used for setting various direction properties. Is equal
- to 1.
@end table
+
+@node Grobs, , , Reference Manual
+
+
\context Voice = oboeTwo {
\stemDown
\grace {
- \property Grace.Stem \push #'direction = #-1
+ \property Grace.Stem \override #'direction = #-1
[f,16 g] }
f8 e e2
} >
\score {
{
- \context Staff = i {
+ \context Staff = q {
\notes { a' b' c' d' }
}
\score{
\context PianoStaff <
\context Staff = upper \notes\relative c''{
- \time 3/4;
+ \property Staff.timeSignatureFraction = #'(3 . 4)
c4 c c
c2.
}
- \context Staff = lower \notes\relative c'{
-% \clef bass;
- \time 4/4;
+ \context Staff = lower \notes\relative c' {
+ \property Staff.timeSignatureFraction = #'(4 . 4)
c4 c c c
c1
}
+% 1st beam should prob. be horizontal.
+
\score { \notes <{ [ r8 g''16 des'] [r8 c16 a] }>}
+
+ % docme.
\score{
\context Staff <
\context Voice=one\skip 1;
+% left start of broken volta bracket.
+
voice4 = \notes {
\clef bass;
\property Staff.instrument = "Bass"
\include "paper20.ly"
-\version "1.3.96";
+\version "1.3.110";
oden = \lyrics{
O |
-\version "1.3.96";
+\version "1.3.110";
one = \notes\relative c{
c'' d e f
}
}
-\version "1.3.96";
+\version "1.3.110";
cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly
%}
+\version "1.3.110";
+
\header{
composer = "ARTHUR GRAY";
title = "LES N\\'ER\\'EIDES";
treble = \context Voice=treble \notes\relative c''{
% Broken?
- \property Voice.NoteColumn \push #'horizontal-shift = #0
+ \property Voice.NoteColumn \override #'horizontal-shift = #0
\outputproperty #(make-type-checker 'text-item-interface)
#'extra-offset = #'(-6 . 2)
%% *Style* = Large??
- \property Voice.TextScript \push #'style = #"Large"
+ \property Voice.TextScript \override #'style = #"Large"
r2^"Allegretto scherzando"
- \property Voice.TextScript \pop #'style
+ \property Voice.TextScript \revert #'style
%2
- \property Voice.Stem \pop #'direction
- \property Voice.Stem \push #'direction = #1
+ \property Voice.Stem \revert #'direction
+ \property Voice.Stem \override #'direction = #1
r4 <cis\arpeggio eis a cis> r2
%3
r4 <cis\arpeggio fis a cis> r8.
\translator Staff=treble
% Get back
\context Voice
- \property Voice.Slur \pop #'direction
- \property Voice.Slur \push #'direction = #1
+ \property Voice.Slur \revert #'direction
+ \property Voice.Slur \override #'direction = #1
\property PianoStaff.connectArpeggios = ##t
- \property Voice.TextSpanner \pop #'type
+ \property Voice.TextSpanner \revert #'type
%% Ghostview is ok, but xdvi shows a solid line
- \property Voice.TextSpanner \push #'line-thickness = #2
- \property Voice.TextSpanner \push #'dash-period = #0.5
+ \property Voice.TextSpanner \override #'line-thickness = #2
+ \property Voice.TextSpanner \override #'dash-period = #0.5
- \property Voice.TextSpanner \push #'type = #"dotted-line"
- \property Voice.TextSpanner \push #'edge-height = #'(0 . 1.5)
- \property Voice.TextSpanner \push #'edge-text = #'("8 " . "")
+ \property Voice.TextSpanner \override #'type = #"dotted-line"
+ \property Voice.TextSpanner \override #'edge-height = #'(0 . 1.5)
+ \property Voice.TextSpanner \override #'edge-text = #'("8 " . "")
% Huh, urg? Implicit \context Staff lifts us up to Staff context???
% no, see seq-mus-iter --hwn
#ifndef FAKE_GRACE
- \property Voice.Stem \pop #'direction
+ \property Voice.Stem \revert #'direction
% grace is a mess
% maybe we should fake this and put 5/4 in this bar?
\grace {
)cis8
- \property Grace.Stem \pop #'direction
- \property Grace.Stem \push #'direction = #0
- \property Grace.Beam \push #'space-function = #grace-beam-space-function
+ \property Grace.Stem \revert #'direction
+ \property Grace.Stem \override #'direction = #0
+ \property Grace.Beam \override #'space-function = #grace-beam-space-function
%% urg, dim. during grace dumps core here
%% [a16-5( fis dis \spanrequest \stop "text" ]
%% [cis'32 a-1 fis-4 dis] [cis a )fis-2]
#else % FAKE_GRACE
- \property Score.PaperColumn \push #'space-factor = #0.6
- \property Score.PaperColumn \push #'to-musical-spacing-factor = #0.04
- \property Voice.NoteHead \push #'font-relative-size = #-1
- \property Voice.Stem \push #'font-relative-size = #-1
- \property Voice.Stem \push #'length = #6
- \property Voice.Stem \push #'beamed-lengths =
+ \property Score.PaperColumn \override #'space-factor = #0.6
+ \property Score.PaperColumn \override #'to-musical-spacing-factor = #0.04
+ \property Voice.NoteHead \override #'font-relative-size = #-1
+ \property Voice.Stem \override #'font-relative-size = #-1
+ \property Voice.Stem \override #'length = #6
+ \property Voice.Stem \override #'beamed-lengths =
#(map (lambda (x) (* 1.25 x)) '(0.0 2.5 2.0 1.5))
- \property Voice.Stem \push #'beamed-minimum-lengths =
+ \property Voice.Stem \override #'beamed-minimum-lengths =
#(map (lambda (x) (* 1.25 x)) '(0.0 1.5 1.25 1.0))
- \property Voice.Beam \push #'font-relative-size = #-1
- \property Voice.TextScript \push #'font-relative-size = #-1
- \property Voice.Fingering \push #'font-relative-size = #-1
- \property Voice.Slur \push #'font-relative-size = #-1
- \property Staff.Accidentals \push #'font-relative-size = #-1
- \property Voice.Beam \push #'space-function = #grace-beam-space-function
+ \property Voice.Beam \override #'font-relative-size = #-1
+ \property Voice.TextScript \override #'font-relative-size = #-1
+ \property Voice.Fingering \override #'font-relative-size = #-1
+ \property Voice.Slur \override #'font-relative-size = #-1
+ \property Staff.Accidentals \override #'font-relative-size = #-1
+ \property Voice.Beam \override #'space-function = #grace-beam-space-function
)cis16
- \property Voice.Stem \pop #'direction
- \property Voice.Stem \push #'direction = #0
+ \property Voice.Stem \revert #'direction
+ \property Voice.Stem \override #'direction = #0
%% [a16^5( fis dis \spanrequest \stop "text" ]
%% [cis'32 a-1 fis-4 dis] [cis a )fis-2] s s s
[a16^5( fis dis \spanrequest \stop "text" ]
\property Staff."c0-position" = #-6
[cis32 a^1 fis^4 dis] [cis a )fis-2] s % s s
- \property Voice.NoteHead \pop #'font-relative-size
- \property Voice.Stem \pop #'font-relative-size
- \property Voice.Stem \pop #'length
- \property Voice.Stem \pop #'beamed-lengths
- \property Voice.Stem \pop #'beamed-minimum-lengths
- \property Voice.Beam \pop #'font-relative-size
- \property Voice.TextScript \pop #'font-relative-size
- \property Voice.Fingering \pop #'font-relative-size
- \property Voice.Slur \pop #'font-relative-size
- \property Staff.Accidentals \pop #'font-relative-size
- \property Voice.Beam \pop #'space-function
- \property Score.PaperColumn \pop #'space-factor
- \property Score.PaperColumn \pop #'to-musical-spacing-factor
+ \property Voice.NoteHead \revert #'font-relative-size
+ \property Voice.Stem \revert #'font-relative-size
+ \property Voice.Stem \revert #'length
+ \property Voice.Stem \revert #'beamed-lengths
+ \property Voice.Stem \revert #'beamed-minimum-lengths
+ \property Voice.Beam \revert #'font-relative-size
+ \property Voice.TextScript \revert #'font-relative-size
+ \property Voice.Fingering \revert #'font-relative-size
+ \property Voice.Slur \revert #'font-relative-size
+ \property Staff.Accidentals \revert #'font-relative-size
+ \property Voice.Beam \revert #'space-function
+ \property Score.PaperColumn \revert #'space-factor
+ \property Score.PaperColumn \revert #'to-musical-spacing-factor
#endif % FAKE_GRACE
- \property Voice.Stem \pop #'direction
- \property Voice.Stem \push #'direction = #1
+ \property Voice.Stem \revert #'direction
+ \property Voice.Stem \override #'direction = #1
cis'4()bis
r8
<a'8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e^" "^1^4^5 r|
}
trebleTwo = \context Voice=trebleTwo \notes\relative c''{
- \property Voice.NoteColumn \push #'horizontal-shift = #1
+ \property Voice.NoteColumn \override #'horizontal-shift = #1
s2
s1*2
s4
- \property Voice.Stem \pop #'direction
- \property Voice.Stem \push #'direction = #-1
+ \property Voice.Stem \revert #'direction
+ \property Voice.Stem \override #'direction = #-1
<cis'4\arpeggio a fis dis>
#ifdef FAKE_GRACE
s32*16
#endif
- \property Voice.NoteColumn \push #'force-hshift = #-0.2
+ \property Voice.NoteColumn \override #'force-hshift = #-0.2
<e,2 gis, e d!>
% Hmm s/r?
%r8 cis4. d4
s8 cis4. d4
- \property Voice.NoteColumn \pop #'force-hshift
+ \property Voice.NoteColumn \revert #'force-hshift
[<cis8( e,> <b-3 d,-1> |
- \property Voice.NoteColumn \push #'force-hshift = #-0.2
+ \property Voice.NoteColumn \override #'force-hshift = #-0.2
<)a-2 cis,-1>] cis4. d4
- \property Voice.NoteColumn \pop #'force-hshift
+ \property Voice.NoteColumn \revert #'force-hshift
[<cis8( e,> <b d,> |
<)a cis,>]
}
bass = \context Voice=bass \notes\relative c{
% Allow ugly slurs
- \property Voice.Slur \push #'beautiful = #5.0
- \property Voice.Slur \push #'attachment-offset = #'((0 . -3) . (0 . -6))
- \property Voice.Stem \pop #'direction
- \property Voice.Slur \push #'direction = #-1
+ \property Voice.Slur \override #'beautiful = #5.0
+ \property Voice.Slur \override #'attachment-offset = #'((0 . -3) . (0 . -6))
+ \property Voice.Stem \revert #'direction
+ \property Voice.Slur \override #'direction = #-1
% huh, auto-beamer?
r8. e,16-2( [<a8 a,> <b b,>] <cis4 cis,> |
%2
\translator Staff=treble
% Get back
\context Voice
- \property Voice.Stem \pop #'direction
- \property Voice.Stem \push #'direction = #-1
+ \property Voice.Stem \revert #'direction
+ \property Voice.Stem \override #'direction = #-1
\property Voice.slurEndAttachment = #'stem
<)a''4\arpeggio eis cis>
%\stemboth
\translator Staff=bass
% Get back
\context Voice
- \property Voice.Stem \pop #'direction
- \property Voice.Slur \pop #'y-free
- \property Voice.Slur \push #'y-free = #0.1
- \property Voice.Slur \pop #'attachment-offset
- \property Voice.Slur \push #'attachment-offset = #'((0 . -3) . (0 . -8))
+ \property Voice.Stem \revert #'direction
+ \property Voice.Slur \revert #'y-free
+ \property Voice.Slur \override #'y-free = #0.1
+ \property Voice.Slur \revert #'attachment-offset
+ \property Voice.Slur \override #'attachment-offset = #'((0 . -3) . (0 . -8))
r8. cis,,16( <fis8 fis,> <gis gis,>
%3
- \property Voice.Stem \pop #'length
- \property Voice.Stem \push #'length = #5
+ \property Voice.Stem \revert #'length
+ \property Voice.Stem \override #'length = #5
<a4 a,>
% Huh, urg? Implicit \context Staff lifts us up to Staff context???
\translator Staff=treble
% Get back
\context Voice
- \property Voice.Stem \pop #'length
- \property Voice.Stem \pop #'direction
- \property Voice.Stem \push #'direction = #-1
+ \property Voice.Stem \revert #'length
+ \property Voice.Stem \revert #'direction
+ \property Voice.Stem \override #'direction = #-1
<)a'\arpeggio fis cis>
% Huh, urg? Implicit \context Staff lifts us up to Staff context???
\translator Staff=bass
% Get back
\context Voice
- \property Voice.Stem \pop #'direction
+ \property Voice.Stem \revert #'direction
r2
%4
- \property Voice.Slur \pop #'beautiful
- \property Voice.Slur \pop #'attachment-offset
- \property Voice.Stem \pop #'direction
- \property Voice.Stem \push #'direction = #-1
+ \property Voice.Slur \revert #'beautiful
+ \property Voice.Slur \revert #'attachment-offset
+ \property Voice.Stem \revert #'direction
+ \property Voice.Stem \override #'direction = #-1
<b,,4 b,>
\clef treble;
- \property Voice.Stem \pop #'direction
- \property Voice.Stem \push #'direction = #0
+ \property Voice.Stem \revert #'direction
+ \property Voice.Stem \override #'direction = #0
<
%urg: staff-change: ! on dis
<cis''\arpeggio a fis dis!>
\grace { <e,,,32( e,> } <)gis'2 e>
#else
s4 s8 s32 s s \clef bass;
- \property Score.PaperColumn \push #'space-factor = #0.6
- \property Score.PaperColumn \push #'to-musical-spacing-factor = #0.1
- \property Voice.NoteHead \push #'font-relative-size = #-1
- \property Voice.Stem \push #'font-relative-size = #-1
- \property Voice.Stem \push #'length = #6
- \property Voice.Slur \push #'font-relative-size = #-1
- \property Voice.Slur \push #'attachment-offset = #'((-0.5 . 0) . (0.5 . 0))
+ \property Score.PaperColumn \override #'space-factor = #0.6
+ \property Score.PaperColumn \override #'to-musical-spacing-factor = #0.1
+ \property Voice.NoteHead \override #'font-relative-size = #-1
+ \property Voice.Stem \override #'font-relative-size = #-1
+ \property Voice.Stem \override #'length = #6
+ \property Voice.Slur \override #'font-relative-size = #-1
+ \property Voice.Slur \override #'attachment-offset = #'((-0.5 . 0) . (0.5 . 0))
<e,,,32( e,>
- \property Voice.NoteHead \pop #'font-relative-size
- \property Voice.Stem \pop #'font-relative-size
- \property Voice.Stem \pop #'length
- \property Voice.Slur \pop #'font-relative-size
- \property Score.PaperColumn \pop #'space-factor
- \property Score.PaperColumn \pop #'to-musical-spacing-factor
+ \property Voice.NoteHead \revert #'font-relative-size
+ \property Voice.Stem \revert #'font-relative-size
+ \property Voice.Stem \revert #'length
+ \property Voice.Slur \revert #'font-relative-size
+ \property Score.PaperColumn \revert #'space-factor
+ \property Score.PaperColumn \revert #'to-musical-spacing-factor
<)gis'2 e>
- \property Voice.Slur \pop #'attachment-offset
+ \property Voice.Slur \revert #'attachment-offset
#endif
%5
- \property Voice.Slur \pop #'direction
- \property Voice.Slur \push #'direction = #1
+ \property Voice.Slur \revert #'direction
+ \property Voice.Slur \override #'direction = #1
a,8 [e'-5(<)a-2 cis-3>]
r b,-5 <e4-3 gis-5 d'>
- \property Voice.Slur \pop #'direction
- \property Voice.Slur \push #'direction = #0
+ \property Voice.Slur \revert #'direction
+ \property Voice.Slur \override #'direction = #0
[e,8-5(|
%6
)a-2]
- \property Voice.Slur \pop #'direction
- \property Voice.Slur \push #'direction = #1
+ \property Voice.Slur \revert #'direction
+ \property Voice.Slur \override #'direction = #1
[e'(<)a cis>] r b, <e4 gis d'>
- \property Voice.Slur \pop #'direction
- \property Voice.Slur \push #'direction = #0
+ \property Voice.Slur \revert #'direction
+ \property Voice.Slur \override #'direction = #0
[e,8(|
%7
)a]
\skip 32*16;
#endif
- \property Voice.Stem \pop #'direction
- \property Voice.Stem \push #'direction = #1
- \property Voice.Slur \pop #'direction
- \property Voice.Slur \push #'direction = #1
+ \property Voice.Stem \revert #'direction
+ \property Voice.Stem \override #'direction = #1
+ \property Voice.Slur \revert #'direction
+ \property Voice.Slur \override #'direction = #1
cis'4()bis
}
magnification_italic = 1.;
\translator {
\ScoreContext
- TimeSignature \push #'style = #"C"
- SpacingSpanner \push #'maximum-duration-for-spacing = #(make-moment 1 4)
+ TimeSignature \override #'style = #"C"
+ SpacingSpanner \override #'maximum-duration-for-spacing = #(make-moment 1 4)
\remove Bar_number_engraver;
}
Generic_property_list = #generic-voice-properties
\consists "Property_engraver";
DynamicsMinimumVerticalExtent = #(cons -3 -3)
- VerticalAlignment \push #'threshold = #'(9 . 9)
+ VerticalAlignment \override #'threshold = #'(9 . 9)
startSustain = #"Ped."
stopSustain = #"*"
\consists "Dynamic_engraver";
\consists "Text_engraver";
%GURGURGU, text is initialised using TextScript
- TextScript \push #'style = #"italic"
- %%% TextScript \push #'font-relative-size = #2
+ TextScript \override #'style = #"italic"
+ %%% TextScript \override #'font-relative-size = #2
\consists "Skip_req_swallow_translator";
\translator {
\PianoStaffContext
\accepts Dynamics;
- VerticalAlignment \push #'threshold = #'(7 . 7)
+ VerticalAlignment \override #'threshold = #'(7 . 7)
}
\translator {
\GraceContext
- Stem \push #'flag-style = #""
+ Stem \override #'flag-style = #""
}
}
}
* organ staff...
%}
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.96";
+\version "1.3.110";
ritme = \notes\transpose c'' {
\time 4/4;
+\version "1.3.110";
\paper{
%my standard paper block
minVerticalAlign=8.4;
}
\translator{\StaffContext
- TimeSignature \push #'style = #"C"
+ TimeSignature \override #'style = #"C"
}
\translator{\VoiceContext
noStemExtend = ##t
-\version "1.3.96";
+\version "1.3.110";
-rh=\property Thread.NoteHead \push #'style = #'default
-lh=\property Thread.NoteHead \push #'style = #'diamond
+rh=\property Thread.NoteHead \override #'style = #'default
+lh=\property Thread.NoteHead \override #'style = #'diamond
-n = \property Thread.NoteHead \pop #'font-relative-size % = #'diamond %\property Thread.fontSize=#0
-sm=\property Thread.NoteHead \push #'font-relative-size = #-1
+n = \property Thread.NoteHead \revert #'font-relative-size % = #'diamond %\property Thread.fontSize=#0
+sm=\property Thread.NoteHead \override #'font-relative-size = #-1
% su=\property Voice.verticalDirection=#1
% sd=\property Voice.verticalDirection=#-1
-su=\property Voice.Stem \push #'direction = #1
-sd=\property Voice.Stem \push #'direction = #-1
+su=\property Voice.Stem \override #'direction = #1
+sd=\property Voice.Stem \override #'direction = #-1
%{
rs=\property Voice.forceHorizontalShift=#0.6
srs=\property Voice.forceHorizontalShift=#0.22
%}
-zs = \property Voice.NoteColumn \pop #'force-hshift % #0.0
-ls = \property Voice.NoteColumn \push #'force-hshift = #-0.6
-sls= \property Voice.NoteColumn \push #'force-hshift = #-0.22
-rs = \property Voice.NoteColumn \push #'force-hshift = #0.6
-srs= \property Voice.NoteColumn \push #'force-hshift = #0.22
+zs = \property Voice.NoteColumn \revert #'force-hshift % #0.0
+ls = \property Voice.NoteColumn \override #'force-hshift = #-0.6
+sls= \property Voice.NoteColumn \override #'force-hshift = #-0.22
+rs = \property Voice.NoteColumn \override #'force-hshift = #0.6
+srs= \property Voice.NoteColumn \override #'force-hshift = #0.22
%K000.ly LilyPond 1.2.16
+
+\version "1.3.110"
+
\include "scarlatti-properties.ly"
\include "scarlatti-paper.ly"
%sonata-specific settings
\translator{\VoiceContext
%% huh?
%%beamAutoBegin=0;
- autoBeamSettings \push #'(end 1 8 * *) = #(make-moment 3 8)
- autoBeamSettings \push #'(end 1 16 * *) = #(make-moment 3 8)
- autoBeamSettings \push #'(end 1 24 * *) = #(make-moment 1 8)
- autoBeamSettings \push #'(end 1 32 * *) = #(make-moment 1 8)
+ autoBeamSettings \override #'(end 1 8 * *) = #(make-moment 3 8)
+ autoBeamSettings \override #'(end 1 16 * *) = #(make-moment 3 8)
+ autoBeamSettings \override #'(end 1 24 * *) = #(make-moment 1 8)
+ autoBeamSettings \override #'(end 1 32 * *) = #(make-moment 1 8)
}
}
http://www.Arkkra.com/doc/star.ps
%}
-\version "1.3.96";
+\version "1.3.110";
% TODO:
%
+
+\version "1.3.110";
+
global = \notes {
\key a \minor;
\time 6/4;
slurVerticalDirection = #1
verticalDirection = -1
- autoBeamSettings \push (end * * * *) = #(make-moment 1 2)
+ autoBeamSettings \override (end * * * *) = #(make-moment 1 2)
}
}
\midi {
+\version "1.3.110";
+
thenotes = \notes \relative cis' { \time 4/4;
gisis'4 gis gisis ges |
\score { < \context Staff \thenotes
\context NoteNames {
- \property NoteNames.basicNoteNameProperties \push #'no-spacing-rods = ##f
+ \property NoteNames.basicNoteNameProperties \override #'no-spacing-rods = ##f
\thenotes
}
>
-\version "1.3.98"
+\version "1.3.110"
%{
See scm/chord-names.scm: chord::names-alist-american
James Hammons <jlhamm@pacificnet.net>
chord::names-alist-american))
chord = \notes\transpose c''\chords{
- \property ChordNames.ChordNames \push #'style = #"american"
+ \property ChordNames.ChordNames \override #'style = #"american"
c % Major triad
cs:m % Minor triad
df:m5- % Diminished triad
{
\translator {
\ChordNamesContext
- ChordNames \push #'word-space = #1
+ ChordNames \override #'word-space = #1
}
}
}
date = "2000";
}
-\version "1.3.59";
+\version "1.3.110";
\include "paper26.ly"
global = \notes {
\property Score.timing = 1
- \property Staff.TimeSignature \push #'style = #"old"
+ \property Staff.TimeSignature \override #'style = #"old"
\time 2/2;
}
\global
\property Staff.numberOfStaffLines = 4
\notes \transpose c' {
- \property Staff.Custos \push #'style = #'"vaticana"
+ \property Staff.Custos \override #'style = #'"vaticana"
\clef "vaticana_fa2";
c1 d e f g
\clef "vaticana_do2";
\clef "vaticana_fa1";
e d c\breve \bar "|";
- \property Staff.Custos \push #'style = #"medicaea"
+ \property Staff.Custos \override #'style = #"medicaea"
\clef "medicaea_fa2";
c1 d e f g
\clef "medicaea_do2";
\clef "medicaea_fa1";
e d c\breve \bar "|";
- \property Staff.Custos \push #'style = #'"hufnagel"
+ \property Staff.Custos \override #'style = #'"hufnagel"
\clef "hufnagel_fa2";
c1 d e f g
\clef "hufnagel_do2";
\global
\property Staff.numberOfStaffLines = 5
\notes \transpose c'' {
- \property Staff.Custos \push #'style = #'"mensural"
+ \property Staff.Custos \override #'style = #'"mensural"
\clef "mensural1_c2";
c1 d e f g
\clef "mensural1_c2";
+
+\version "1.3.110";
+
\score{
\context PianoStaff <
\context Staff=one \notes\relative c''{
\context Voice < fis,-\arpeggio d a >
- %%\property PianoStaff.SpanArpeggio \push #'connect = ##t
+ %%\property PianoStaff.SpanArpeggio \override #'connect = ##t
\property PianoStaff.connectArpeggios = ##t
<fis,\arpeggio a c>
}
+
+\version "1.3.110";
+
\score{
\notes\relative c''{
\time 4/8;
x| x| x| x| x|
%}
%\property Voice.beamAutoEnd = #(make-moment 2 4)
- \property Voice.autoBeamSettings \push #'(end * * * *) = #(make-moment 2 4)
+ \property Voice.autoBeamSettings \override #'(end * * * *) = #(make-moment 2 4)
c8 c c c16 c
}
+
+\version "1.3.110";
+
%{
Currently (1.1.27.jcn3), the auto-beam engraver will only engrave
sensible beams, which means that it will end a beam when:
c8 c c c
c16 c c c c c c c
% from here on consider ending beam every 1/4 note
- \property Voice.autoBeamSettings \push #'(end * * * *) = #(make-moment 1 4)
+ \property Voice.autoBeamSettings \override #'(end * * * *) = #(make-moment 1 4)
c8 c c c
% manually override autobeam with weird beaming
c8 [c c] c
\translator{
\VoiceContext
% consider ending beam at every 1/2 note
- autoBeamSettings \push #'(end * * * *) = #(make-moment 1 2)
+ autoBeamSettings \override #'(end * * * *) = #(make-moment 1 2)
}
}
}
-\version "1.3.96";
+\version "1.3.110";
\score {
\notes \context PianoStaff <
\context Staff = "up" {
-\version "1.3.96";
+\version "1.3.110";
% bagpipe music.
\header
\translator {
\GraceContext
- NoteHead \push #'font-relative-size = #-2
- NoteHead \push #'font-relative-size = #-2
- Stem \push #'flag-style = ##f
+ NoteHead \override #'font-relative-size = #-2
+ NoteHead \override #'font-relative-size = #-2
+ Stem \override #'flag-style = ##f
% The following determines the length of stems without beams
% default is between 2.8 and 4.0 depending on the number of flags
- Stem \push #'length = #6
- Stem \push #'font-relative-size = #-2
- GraceAlignItem \push #'horizontal-space = #1
- Stem \push #'flag-style = #""
+ Stem \override #'length = #6
+ Stem \override #'font-relative-size = #-2
+ GraceAlignItem \override #'horizontal-space = #1
+ Stem \override #'flag-style = #""
}
\translator { \StaffContext
- TimeSignature \push #'style = #"C4/4"
- TimeSignature \push #'visibility-function = #begin-of-line-visible
+ TimeSignature \override #'style = #"C4/4"
+ TimeSignature \override #'visibility-function = #begin-of-line-visible
}
}
-\version "1.3.96";
+\version "1.3.110";
\header{
enteredby = "jcn";
-\version "1.3.96";
+\version "1.3.110";
onestaff = \context Staff = foo\notes {
\property Staff.instr = instr
-\version "1.3.96";
+\version "1.3.110";
\score {
\context Voice \notes\relative c {
c'1:16
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes\transpose c'{
>
}
-\version "1.3.96";
+\version "1.3.110";
linewidth=-1.;
}
}
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes\relative c''{
[g8 c c,]
}
}
-\version "1.3.96";
+\version "1.3.110";
+
+\version "1.3.110";
+
\score {
\context Voice \notes\relative c {
[f8 f] [f64 f] \grace { [f8 e8] }
- \property Grace.Stem \push #'no-stem-extend = ##t
+ \property Grace.Stem \override #'no-stem-extend = ##t
[f8 f]
}
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes\relative c'{
\stemUp
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes\relative c'{
\stemUp
TestedFeatures = "beams and beamflags";
}
-\version "1.3.96";
+\version "1.3.110";
\score{
<
-\version "1.3.96";
+\version "1.3.110";
\score {
\notes \relative c' {
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.3.96";
+\version "1.3.110";
shortlong = \notes{
c4()c( c c |
>
}
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.96"
+\version "1.3.110"
chord = \notes\transpose c''\chords{
c1
c:m
\translator {
\ChordNamesContext
- ChordName \push #'word-space = #1
+ ChordNames \override #'word-space = #1
}
}
}
}
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.97";
+\version "1.3.110";
%{
Would this be acceptable/good enough/convenient for entry?
\paper{
\translator {
\ChordNamesContext
- ChordName \push #'word-space = #1
+ ChordName \override #'word-space = #1
}
}
}
-\version "1.3.96";
+\version "1.3.110";
\score {
\notes{
-\version "1.3.96";
+\version "1.3.110";
\score {
\context Voice \notes\relative c {
copyright = "public domain";
Tested = "test the Collision resolution ";
}
-\version "1.3.96";
+\version "1.3.110";
twovoice = \context Staff \notes <
\context Voice=i { \stemDown c4 d e f g2~ g4 a [c8 d e f] c2| }
threevoice = \context Staff \notes <
\context Voice=i { \stemUp g4 f e f g a g2 }
- \context Voice=ii { \stemUp \property Voice.NoteColumn \push #'horizontal-shift = #1
+ \context Voice=ii { \stemUp \property Voice.NoteColumn \override #'horizontal-shift = #1
e2 e2 e2 e2 }
\context Voice=iii { \stemDown c4 d e d c d es }
>
hairyChord = \context Staff \notes\relative c' <
\context Voice=one {
- \property Voice.NoteColumn \push #'horizontal-shift = #0
+ \property Voice.NoteColumn \override #'horizontal-shift = #0
\stemUp
e4
}
\context Voice=two {
\stemUp
- \property Voice.NoteColumn \push #'horizontal-shift = #1
+ \property Voice.NoteColumn \override #'horizontal-shift = #1
cis
}
\context Voice=three {
- \property Voice.NoteColumn \push #'horizontal-shift = #2
+ \property Voice.NoteColumn \override #'horizontal-shift = #2
\stemUp
ais
\context Voice=four {
\stemDown
- \property Voice.NoteColumn \push #'horizontal-shift = #1
+ \property Voice.NoteColumn \override #'horizontal-shift = #1
fis
}
+\version "1.3.110";
+
+
% add cue notes context
\paper {
CueVoiceContext = \translator {
\VoiceContext
\name CueVoice;
- basicNoteHeadProperties \push #'font-relative-size = #-1
- basicStemProperties \push #'font-relative-size = #-1
- basicBeamProperties \push #'font-relative-size = #-1
- basicTextScriptProperties \push #'font-relative-size = #-1
- basicSlurProperties \push #'font-relative-size = #-1
- basicLocalKeyProperties \push #'font-relative-size = #-1
+ basicNoteHeadProperties \override #'font-relative-size = #-1
+ basicStemProperties \override #'font-relative-size = #-1
+ basicBeamProperties \override #'font-relative-size = #-1
+ basicTextScriptProperties \override #'font-relative-size = #-1
+ basicSlurProperties \override #'font-relative-size = #-1
+ basicLocalKeyProperties \override #'font-relative-size = #-1
};
\translator{ \CueVoiceContext }
StaffContext = \translator{\StaffContext
-\version "1.3.96";
+\version "1.3.110";
\score {
-\version "1.3.96";
+\version "1.3.110";
\score {
\context Voice \notes\relative c'' {
\time 6/8;
-\version "1.3.96";
+\version "1.3.110";
%{
Would this be acceptable/good enough/convenient for entry?
}
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.96";
+\version "1.3.110";
FontBody= \notes\transpose c''{
\bar "|:";
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.3.96";
+\version "1.3.110";
\include "font-body.ly"
\score{
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.3.96";
+\version "1.3.110";
\include "paper16.ly"
\include "font-body.ly"
gourlay_maxmeasures =5.;
}
}
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.96";
+\version "1.3.110";
\score {
\context Voice \notes\relative c {
\context Staff <
\context Voice = VA {
- \property Voice.NoteColumn \push #'forced-hshift = #0.1
+ \property Voice.NoteColumn \override #'forced-hshift = #0.1
\stemUp
- \property Voice.NoteColumn \push #'horizontal-shift = #1
+ \property Voice.NoteColumn \override #'horizontal-shift = #1
<g' d'>
}
\context Voice = VB {
\stemDown
- \property Voice.NoteColumn \push #'horizontal-shift = #1
- \property Voice.NoteColumn \push #'forced-hshift = #-0.1
+ \property Voice.NoteColumn \override #'horizontal-shift = #1
+ \property Voice.NoteColumn \override #'forced-hshift = #-0.1
<bes f'>
}
>
-\version "1.3.96";
+\version "1.3.110";
\score {
\notes \relative c'' \context Voice {
% perhaps the current modifier approach is too simplistic
-\version "1.3.96";
+\version "1.3.110";
gmsus=\notes\relative c \chords{
g1
-\version "1.3.96";
+\version "1.3.110";
%{
-\version "1.3.96";
+\version "1.3.110";
zager = \context Staff = zager \notes \relative c'' {
\clef treble;
c1
-\version "1.3.96";
+\version "1.3.110";
voiceOne = \notes \relative c'' {
a1 a a
-\version "1.3.96";
+\version "1.3.110";
toeter_i = \notes\relative c <{
\property Staff.instrument = #"Toeters"
-shiftI \property Voice.NoteColumn \push #'horizontal-shift = #0
-shiftII \property Voice.NoteColumn \push #'horizontal-shift = #1
-shiftIII \property Voice.NoteColumn \push #'horizontal-shift = #2
-shiftIV \property Voice.NoteColumn \push #'horizontal-shift = #3
-shiftV \property Voice.NoteColumn \push #'horizontal-shift = #4
+\version "1.3.110";
+
+
+shiftI \property Voice.NoteColumn \override #'horizontal-shift = #0
+shiftII \property Voice.NoteColumn \override #'horizontal-shift = #1
+shiftIII \property Voice.NoteColumn \override #'horizontal-shift = #2
+shiftIV \property Voice.NoteColumn \override #'horizontal-shift = #3
+shiftV \property Voice.NoteColumn \override #'horizontal-shift = #4
\score {
\context Voice \notes\relative c {
/Mats B
%}
-\version "1.3.96";
+\version "1.3.110";
incipit = \notes\relative c'{
<b1 fis' b d>
-\version "1.3.96";
+\version "1.3.110";
\score {
\notes
%}
-\version "1.3.97";
+\version "1.3.110";
\score{
\context Staff <
\property Staff.instrument = "instrument"
-\version "1.3.96";
+\version "1.3.110";
\score {
+
+\version "1.3.110";
+
%% This should only be necessary if your kpathsea setup is broken
%
% Make sure the correct msamxx.tfm is where lily can find it
%
chord = \notes\transpose c''\chords{
-\property ChordNames.ChordNames \push #'style = #"jazz"
+\property ChordNames.ChordNames \override #'style = #"jazz"
% major chords
c
c:6 % 6 = major triad with added sixth
>
\paper
{
- \translator { \ChordNamesContext ChordNames \push #'word-space = #1 }
+ \translator { \ChordNamesContext ChordNames \override #'word-space = #1 }
% \translator { \LyricsContext textScriptWordSpace = #0.3 }
}
}
-\version "1.3.96";
+\version "1.3.110";
\score {
\notes \relative c''
-\version "1.3.96";
+\version "1.3.110";
blah = \notes {
}
}
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes\relative c'{
[c16 \stemDown c'' \stemBoth c,, d]
copyright = "public domain";
}
-\version "1.3.96";
+\version "1.3.110";
m =\notes \relative c'' {
\property Staff.automaticMelismata = ##t
>
}
-\version "1.3.96";
+\version "1.3.110";
>
}
-\version "1.3.96";
+\version "1.3.110";
copyright = "public domain";
}
-\version "1.3.96";
+\version "1.3.110";
m =\notes \relative c'' {
\property Staff.automaticMelismata = ##t
% * Stanza_number_engraver
% * Automatic melismata on beamed notes
-\version "1.3.96";
+\version "1.3.110";
\include "english.ly"
\header{
\stemUp
\slurUp
\tieUp
- \property Voice.DynamicLineSpanner \push #'direction = #1
+ \property Voice.DynamicLineSpanner \override #'direction = #1
\autoBeamOff
}
\stemDown
\slurDown
\tieDown
- \property Voice.DynamicLineSpanner \push #'direction = #-1
+ \property Voice.DynamicLineSpanner \override #'direction = #-1
\autoBeamOff
}
-\version "1.3.96";
+\version "1.3.110";
$somewhat_long = \lyrics{
\property Lyrics . textStyle = "roman"
-\version "1.3.105";
+\version "1.3.110";
%{
-\version "1.3.96";
+\version "1.3.110";
global = \notes {
s1 | \mark "A";
+
+\version "1.3.110";
+
%
% Test new font selection and scm text markup
%
linewidth = -1.\mm;
\translator{
\ScoreContext
- TextScript \push #'font-family = #'roman
- TextScript \push #'font-shape = #'upright
- TextScript \pop #'no-spacing-rods
- TextScript \push #'direction = #1
+ TextScript \override #'font-family = #'roman
+ TextScript \override #'font-shape = #'upright
+ TextScript \revert #'no-spacing-rods
+ TextScript \override #'direction = #1
}
}
}
>
\paper { Gourlay_maxmeaures = 2.; }
}
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.96";
+\version "1.3.110";
\score { \notes { \time 3/4; \key cis \major;
R2.*15 R2. R2.*7 }
-\version "1.3.96";
+\version "1.3.110";
voice_one = \notes\transpose c''{ \stemUp
R1 * 2 | f'4-. r r2 | R1 * 3 |
-\version "1.3.96";
-
-\score{
- \notes\relative c''{
- \context Staff \property Staff.TextScript \pop #'no-spacing-rods
- \context Staff \property Staff.TextScript \push #'no-spacing-rods = ##f
- c4_"longlonglonglonglonglong" c4_"text"
- }
- \paper{
- linewidth=-80.\mm;
- }
+
+\score { \notes {
+\property Voice.TextScript \override #'no-spacing-rods = ##f
+c4_"very wide and long text" c4
+}
+
+\paper {
+ linewidth = -1.0;
+ }
}
+\version "1.3.110";
+
+
\score { \notes \relative c{
% anyone wanna pop?
c''4 c2 c8 c16 c16 c1 c\breve
-\property Voice.NoteHead \push #'style = #'diamond
+\property Voice.NoteHead \override #'style = #'diamond
c4 c2 c8 c16 c16 c1 c\breve
-\property Voice.NoteHead \push #'style = #'transparent
+\property Voice.NoteHead \override #'style = #'transparent
c4 c2 c8 c16 c16 c1 c\breve
-\property Voice.NoteHead \push #'style = #'cross
+\property Voice.NoteHead \override #'style = #'cross
c4 c2 c8 c16 c16 c1 c\breve
-\property Voice.NoteHead \push #'style = #'mensural
+\property Voice.NoteHead \override #'style = #'mensural
c4 c2 c8 c16 c16 c1 c\breve c\longa
-\property Voice.NoteHead \push #'style = #'harmonic
+\property Voice.NoteHead \override #'style = #'harmonic
c4 c2 c8 c16 c16 c1 c\breve
-\property Voice.NoteHead \push #'style = #'baroque
+\property Voice.NoteHead \override #'style = #'baroque
c4 c2 c8 c16 c16 c1 c\breve c\longa
\context Voice <
\context Thread = TA
{
- \property Thread.NoteHead \push #'style = #'cross
- \property Voice.Stem \push #'direction = #1
+ \property Thread.NoteHead \override #'style = #'cross
+ \property Voice.Stem \override #'direction = #1
c16
}
\context Thread = TB
- { \property Thread.NoteHead \push #'style = #'default a16 }
+ { \property Thread.NoteHead \override #'style = #'default a16 }
\context Thread = TC
- { \property Thread.NoteHead \push #'style = #'mensural d16 }
+ { \property Thread.NoteHead \override #'style = #'mensural d16 }
>
\context Voice <\context Thread = TA {
- \property Thread.NoteHead \push #'style = #'default
+ \property Thread.NoteHead \override #'style = #'default
c4 c4 }
\context Thread = TB {
- \property Thread.NoteHead \push #'style = #'mensural
+ \property Thread.NoteHead \override #'style = #'mensural
c'4 \stemDown c
} >
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes \transpose c''{
-\version "1.3.102";
+\version "1.3.110";
m = \notes \relative c''{
-\version "1.3.96";
+\version "1.3.110";
\score {
+
+\version "1.3.110";
+
\score{
\notes\relative c'''{
- \property Voice.TextSpanner \pop #'type
- \property Voice.TextSpanner \push #'type = #"dotted-line"
- \property Voice.TextSpanner \push #'edge-height = #'(0 . 1.5)
- \property Voice.TextSpanner \push #'edge-text = #'("8va " . "")
+ \property Voice.TextSpanner \revert #'type
+ \property Voice.TextSpanner \override #'type = #"dotted-line"
+ \property Voice.TextSpanner \override #'edge-height = #'(0 . 1.5)
+ \property Voice.TextSpanner \override #'edge-text = #'("8va " . "")
\property Staff.centralCPosition = #-13
a\spanrequest \start "text" b c a \spanrequest \stop "text"
a b c a
\property Staff.centralCPosition = #1
- \property Voice.TextSpanner \push #'edge-text = #'("8bass " . "")
- \property Voice.TextSpanner \push #'direction = #-1
+ \property Voice.TextSpanner \override #'edge-text = #'("8bass " . "")
+ \property Voice.TextSpanner \override #'direction = #-1
a\spanrequest \start "text" b c a \spanrequest \stop "text"
}
}
-\version "1.3.96";
+\version "1.3.110";
%{
which means that setting \property stemVerticalDirection overrides
setting \property verticalDirection, and that both have the effect of
-setting `direction' in Stem object. You can use \pushproperty for
+setting `direction' in Stem object. You can use \overrideproperty for
setting stem directions by doing.
- \pushproperty #'(Stem) #'direction #1
+ \overrideproperty #'(Stem) #'direction #1
(#-1 if you want down).
A modest amount of memory is involved each time you do a
-\pushproperty. If you do \popproperty in the right order (reversed
-from \pushproperty), then \popproperty doesn't cost memory.
+\overrideproperty. If you do \revertproperty in the right order (reversed
+from \overrideproperty), then \revertproperty doesn't cost memory.
Correct:
- \pushproperty #'( ... ) #'symbolA #valueA
- \pushproperty #'( ... ) #'symbolB #valueB
- \popproperty #'( ... ) #'symbolB
- \popproperty #'( ... ) #'symbolA
+ \overrideproperty #'( ... ) #'symbolA #valueA
+ \overrideproperty #'( ... ) #'symbolB #valueB
+ \revertproperty #'( ... ) #'symbolB
+ \revertproperty #'( ... ) #'symbolA
-Incorrect (\popproperty costs memory):
+Incorrect (\revertproperty costs memory):
- \pushproperty #'( ... ) #'symbolA #valueA
- \pushproperty #'( ... ) #'symbolB #valueB
- \popproperty #'( ... ) #'symbolA
- \popproperty #'( ... ) #'symbolB
+ \overrideproperty #'( ... ) #'symbolA #valueA
+ \overrideproperty #'( ... ) #'symbolB #valueB
+ \revertproperty #'( ... ) #'symbolA
+ \revertproperty #'( ... ) #'symbolB
You can use identifiers, eg.
- slursUp = \context Voice \pushproperty '(Slur)
+ slursUp = \context Voice \overrideproperty '(Slur)
#'direction #1
- slursBoth = \context Voice \popproperty '(Slur)
+ slursBoth = \context Voice \revertproperty '(Slur)
%}
\score { \notes
\relative c' {
c4-.(
- \property Voice.Dots \push #'direction = #-1
- \property Voice.Stem \push #'direction = #-1
- \property Voice.noteColumnProperties \push #'direction = #-1
- \property Voice.Stem \push #'direction = #-1
+ \property Voice.Dots \override #'direction = #-1
+ \property Voice.Stem \override #'direction = #-1
+ \property Voice.noteColumnProperties \override #'direction = #-1
+ \property Voice.Stem \override #'direction = #-1
) c4-. (
) c4-. (
- \property Voice.Slur \push #'direction = #-1
+ \property Voice.Slur \override #'direction = #-1
) c4-. (
- \property Dots \pop #'direction
- \property Stem \pop #'direction
- \property Script \pop #'direction
- \property Text \pop #'direction
+ \property Dots \revert #'direction
+ \property Stem \revert #'direction
+ \property Script \revert #'direction
+ \property Text \revert #'direction
) c4-. () c4-.
}
\paper {
\translator { \VoiceContext
- NoteHead \push #'font-relative-size = #-2
+ NoteHead \override #'font-relative-size = #-2
}
}
}
}
}
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.96";
+\version "1.3.110";
blah = \notes{ \transpose c'' {
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.3.96";
+\version "1.3.110";
shortlong = \notes{
c4()c( c c |
>
}
-\version "1.3.96";
+\version "1.3.110";
% test damping
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes\relative c'{
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes{
-\version "1.3.96";
+\version "1.3.110";
\score {
\context Voice \notes\relative c {
% CASE 3
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes\relative c''{
\time 3/4;
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes\transpose c'{
}
}
-\version "1.3.96";
+\version "1.3.110";
TestedFeatures = "This file tests various spacings";
}
-\version "1.3.96";
+\version "1.3.110";
multipart = \notes \relative c'{
\context StaffGroup <
-\version "1.3.96";
+\version "1.3.110";
nt = \notes { c1 \break c1 c1 }
stuff = \notes \relative c'' <
\context Staff = stone { \nt }
% test staff margin with partial measure.
-\version "1.3.96";
+\version "1.3.110";
\score {
\notes { \property Staff.instrument = "foo" \partial 4; c4 c1 }
-\version "1.3.96";
+\version "1.3.110";
\score {
}
-\version "1.3.96";
+\version "1.3.110";
>
\paper { linewidth = -1.; }
}
-\version "1.3.96";
+\version "1.3.110";
+\version "1.3.110";
+
+
\include "paper-as5.ly"
\score {
\translator {
\VoiceContext
beamHeight = ##f
- autoBeamSettings \push (begin * * * *) = #(make-moment 0 1)
+ autoBeamSettings \override (begin * * * *) = #(make-moment 0 1)
textEmptyDimension = ##t
}
}
-\version "1.3.96";
+\version "1.3.110";
\score{
\context Voice\notes \relative c''{
%%?
}
-\version "1.3.96";
+\version "1.3.110";
beamintervals = \notes{
\time 7/4;
+
+\version "1.3.110";
+
%{
Kludge for half-assed tab notation (you need to fill the numbers
\translator {
\StaffContext
\name TabStaff;
- basicStaffSymbolProperties \push #'line-count = #6
+ basicStaffSymbolProperties \override #'line-count = #6
\remove "Clef_engraver";
\remove "Time_signature_engraver";
\consists "Pitch_squash_engraver";
- basicNoteHeadProperties \push #'transparent = ##t
- basicStemProperties \push #'transparent = ##t
- basicNoteHeadProperties \push #'staff-position = #-6
- basicDotsProperties \push #'transparent = ##t
+ basicNoteHeadProperties \override #'transparent = ##t
+ basicStemProperties \override #'transparent = ##t
+ basicNoteHeadProperties \override #'staff-position = #-6
+ basicDotsProperties \override #'transparent = ##t
squashedPosition = #-4
- basicStemProperties \push #'length = #12
+ basicStemProperties \override #'length = #12
}
\translator {
\ScoreContext
instrument= "Violoncello";
}
-\version "1.3.96";
+\version "1.3.110";
% this is an example of extreme dynamics
+
+\version "1.3.110";
+
\score{
\notes\relative c''{
- \property Voice.TextSpanner \push #'edge-text = #'("8 " . "")
+ \property Voice.TextSpanner \override #'edge-text = #'("8 " . "")
a \spanrequest \start "text"
b c
a \spanrequest \stop "text"
- \property Voice.TextSpanner \pop #'type
- \property Voice.TextSpanner \push #'type = #"dotted-line"
+ \property Voice.TextSpanner \revert #'type
+ \property Voice.TextSpanner \override #'type = #"dotted-line"
a \spanrequest \start "text"
b c
a \spanrequest \stop "text"
- \property Voice.TextSpanner \pop #'type
- \property Voice.TextSpanner \push #'type = #"dashed-line"
- \property Voice.TextSpanner \push #'edge-height = #'(1 . -2)
+ \property Voice.TextSpanner \revert #'type
+ \property Voice.TextSpanner \override #'type = #"dashed-line"
+ \property Voice.TextSpanner \override #'edge-height = #'(1 . -2)
a \spanrequest \start "text"
b c
a \spanrequest \stop "text"
\property Staff."c0-position" = #-13
- \property Voice.TextSpanner \push #'dash-length = #5
- \property Voice.TextSpanner \push #'line-thickness = #10
+ \property Voice.TextSpanner \override #'dash-length = #5
+ \property Voice.TextSpanner \override #'line-thickness = #10
a \spanrequest \start "text"
b c
a \spanrequest \stop "text"
% the thumb-script is used in cello music to indicate a note that should
% be played with your thumb.
-\version "1.3.96";
+\version "1.3.110";
\score { \notes \relative c'' {
[<a8_\thumb a'8-3(> <)b_\thumb b'-3>
+
+\version "1.3.110";
+
t = \notes \relative c' { <c e g> ~ <c e g> }
\score {
\t
\transpose g' \t
- \property Voice.TieColumn \push #'direction = #-1
+ \property Voice.TieColumn \override #'direction = #-1
\t
}
instrument= "Instrument";
}
-\version "1.3.96";
+\version "1.3.110";
\score{
\notes
}
-\version "1.3.96";
+\version "1.3.110";
vOne = \notes \relative c''{
\clef"violin";
}
}
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.96"
+\version "1.3.110"
\score {
\context Voice \notes\relative c'' {
copyright = "public domain";
}
-\version "1.3.96";
+\version "1.3.110";
\include "paper-as5.ly"
-\version "1.3.96";
+\version "1.3.110";
%
% We'd want to combine the stems, but have two slurs too...
% Looks like the a-due engraver
{\voiceTwo c}>
- \version "1.3.96";
+ \version "1.3.110";
}
\paper { }
-\version "1.3.96";
+\version "1.3.110";
\score {
\notes <
}
}
-\version "1.3.96";
+\version "1.3.110";
+\version "1.3.110";
+
+
voice4 = \notes {
\clef bass;
\property Staff.instrument = "Bass"
font_normal = 12.;
\translator {
\StaffContext
- TimeSignature \push #'style = #"C"
+ TimeSignature \override #'style = #"C"
\consists Instrument_name_engraver;
}
}
%}
-\version "1.3.96";
+\version "1.3.110";
praeludiumRight = \notes {
\key e \major;
\clef violin;
dis2 cis4 r8 cis }
\context Voice = one { \stemUp bis2 }
\context Voice = three {
- \property Voice.DynamicLineSpanner \push #'direction = #-1
+ \property Voice.DynamicLineSpanner \override #'direction = #-1
\stemUp \shiftOn r4 gis ~ [gis8
\<
copyright = "public domain";
}
-\version "1.3.96";
+\version "1.3.110";
melodie = \notes\relative c'' {
\clef "violin";
auto beaming, adding lyrics to notes, hyphens
%}
-\version "1.3.96";
+\version "1.3.110";
melody = \notes \relative c'' {
\clef violin;
Auto_change_music::Auto_change_music (Music * m)
: Music_wrapper (m)
{
- set_mus_property ("type", Auto_change_iterator::constructor_cxx_function);
+ set_mus_property ("iterator-ctor", Auto_change_iterator::constructor_cxx_function);
+
}
{
Repeated_music * rp = dynamic_cast<Repeated_music*> (m);
if (rp
- && rp->get_mus_property ("type") == Chord_tremolo_iterator::constructor_cxx_function
+ && rp->get_mus_property ("iterator-ctor") == Chord_tremolo_iterator::constructor_cxx_function
&& !repeat_)
{
Moment l = rp->body_length_mom ();
: Music_wrapper (m)
{
set_mus_property ("type",
-
ly_symbol2scm ("context-specced-music"));
}
--- /dev/null
+/*
+ grob-callback.cc -- implement Callback smob.
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+#include "cxx-function-smob.hh"
+#include "ly-smobs.icc"
+
+static long callback_tag;
+
+static
+SCM mark_smob (SCM)
+{
+ return SCM_EOL;
+}
+
+static int
+print_smob (SCM, SCM port, scm_print_state *)
+{
+ scm_puts ("#<encapsulated C++ function>", port);
+ return 1;
+}
+
+static
+scm_sizet free_smob (SCM)
+{
+ return 0;
+}
+
+
+SCM
+cxx_function_type_p (SCM x)
+{
+ return (SCM_CELL_TYPE(x) == callback_tag) ? SCM_BOOL_T : SCM_BOOL_F;
+}
+
+void init_cxx_function_smobs()
+{
+ callback_tag = scm_make_smob_type_mfpe ("callback", 0,
+ mark_smob, free_smob,
+ print_smob, 0);
+
+ scm_make_gsubr ("c++-function?", 1, 0, 0, (Scheme_function_unknown) cxx_function_type_p);
+}
+
+SCM
+smobify_cxx_function (Cxx_function cb)
+{
+ SCM z;
+
+ SCM_NEWCELL(z);
+ SCM_SETCDR (z, (SCM)cb);
+ SCM_SETCAR (z, (SCM)callback_tag);
+
+ return z;
+}
+
+
+Cxx_function
+unsmob_cxx_function (SCM x)
+{
+
+ if (SCM_NIMP (x) && SCM_CELL_TYPE(x) == callback_tag)
+ return (Cxx_function) SCM_CELL_WORD_1(x);
+ else
+ return 0;
+}
+
Grace_music::Grace_music (Music *p)
: Music_wrapper (p)
{
- set_mus_property ("type",
+ set_mus_property ("iterator-ctor",
Grace_iterator::constructor_cxx_function);
}
if (elt)
return;
- warning (_("Unattached grace notes. Attaching to last musical column."));
+ if (last_musical_col_l_)
+ {
+ warning (_("Unattached grace notes. Attaching to last musical column."));
- align_l_->set_parent (0, X_AXIS);
- Axis_group_interface::add_element (last_musical_col_l_, align_l_);
+ align_l_->set_parent (0, X_AXIS);
+ Axis_group_interface::add_element (last_musical_col_l_, align_l_);
+ }
+ else
+ {
+ // tja.
+ }
}
-
last_musical_col_l_ = dynamic_cast<Paper_column*>( unsmob_grob (get_property ("currentMusicalColumn")));
}
bool
Grob::has_extent_callback_b (SCM cb, Axis a)const
{
- return scm_equal_p (cb, dim_cache_[a].dimension_);
+ return scm_equal_p (cb, dim_cache_[a].dimension_) == SCM_BOOL_T;
}
--- /dev/null
+/*
+ cxx-function-smob.hh --
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+#ifndef CXX_FUNCT_SMOB_HH
+#define CXX_FUNCT_SMOB_HH
+
+#include "lily-proto.hh"
+#include "lily-guile.hh"
+
+typedef void * (*Cxx_function) (SCM param);
+Cxx_function unsmob_cxx_function (SCM x);
+SCM smobify_cxx_function (Cxx_function cb);
+
+
+#endif /* CXX_FUNCT_SMOB_HH */
+
-/*
- grob-callback.hh -- declare Grob callbacks
-
- source file of the GNU LilyPond music typesetter
-
- (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- */
-#ifndef SCORE_ELEMENT_CALLBACK_HH
-#define SCORE_ELEMENT_CALLBACK_HH
-
-#include "lily-proto.hh"
-#include "lily-guile.hh"
-
-typedef void * (*Cxx_function) (SCM param);
-Cxx_function unsmob_cxx_function (SCM x);
-SCM smobify_cxx_function (Cxx_function cb);
-
-
-#endif /* SCORE_ELEMENT_CALLBACK_HH */
+#error
#include "moment.hh"
#include "virtual-methods.hh"
#include "interpretation-context-handle.hh"
-#include "music-iterator-ctor.hh"
+#include "cxx-function-smob.hh"
/**
Conceptually a music-iterator operates on a queue of musical events
/*
- spaceable-element.hh -- declare Spaceable_element
+ spaceable-grob.hh -- declare Spaceable_grob
source file of the GNU LilyPond music typesetter
*/
-#ifndef SPACEABLE_ELEMENT_HH
-#define SPACEABLE_ELEMENT_HH
+#ifndef SPACEABLE_GROB_HH
+#define SPACEABLE_GROB_HH
#include "lily-guile.hh"
#include "lily-proto.hh"
-struct Spaceable_element
+struct Spaceable_grob
{
/// set a minimum distance
static void add_rod (Grob*me, Grob * to, Real distance);
static SCM get_ideal_distances (Grob*);
};
-#endif /* SPACEABLE_ELEMENT_HH */
+#endif /* SPACEABLE_GROB_HH */
Item *key_item_p_;
protected:
VIRTUAL_COPY_CONS(Translator);
- void deprecated_process_music();
+ virtual void process_music();
virtual void acknowledge_grob (Grob_info);
virtual void stop_translation_timestep();
virtual void initialize ();
void
Local_key_engraver::create_grobs ()
{
- deprecated_process_music ();
-
if (!key_item_p_ && mel_l_arr_.size())
{
SCM localsig = get_property ("localKeySignature");
ugh. repeated deep_copy generates lots of garbage.
*/
void
-Local_key_engraver::deprecated_process_music()
+Local_key_engraver::process_music()
{
SCM smp = get_property ("measurePosition");
Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
set_mus_property ("music", m->self_scm ());
set_mus_property ("lyrics", l->self_scm ());
- set_mus_property ("type",
+ set_mus_property ("iterator-ctor",
Lyric_combine_music_iterator::constructor_cxx_function);
}
follow regular localisation guidelines).
*/
Long_option_init theopts[] = {
- {0, "debug", 'd', _i ("enable debugging output")},
{_i ("EXT"), "output-format", 'f', _i ("use output format EXT (scm, ps, tex or as)")},
{0, "help", 'h', _i ("this help")},
{_i ("DIR"), "include", 'I', _i ("add DIR to search path")},
*/
char *suffixes[] = {"ly", "afm", "scm", "tfm", "ps", 0};
String prefix = prefix_directory;
- if (prefix.empty_b ()) prefix = DIR_DATADIR;
+ if (prefix.empty_b ())
+ prefix = DIR_DATADIR;
for (char **s = suffixes; *s; s++)
{
String p = prefix + to_str ('/') + String (*s);
case 'M':
dependency_global_b = true;
break;
- case 'd':
- set_debug (true);
- break;
case 'm':
no_paper_global_b = true;
break;
{
Music_iterator * p =0;
- SCM type = m->get_mus_property ("type") ;
- if (unsmob_cxx_function (type))
+ SCM ctor = m->get_mus_property ("iterator-ctor") ;
+ if (unsmob_cxx_function (ctor))
{
- Cxx_function f = unsmob_cxx_function (type);
+ Cxx_function f = unsmob_cxx_function (ctor);
p = (Music_iterator*) (*f) (SCM_EOL);
}
Simultaneous_music::Simultaneous_music(SCM head)
: Music_sequence (head)
{
- set_mus_property ("type",
+ set_mus_property ("iterator-ctor",
Simultaneous_music_iterator::constructor_cxx_function);
}
Sequential_music::Sequential_music(SCM head)
: Music_sequence (head)
{
- set_mus_property ("type",
+ set_mus_property ("iterator-ctor",
Sequential_music_iterator::constructor_cxx_function);
}
Request_chord::Request_chord(SCM s)
: Simultaneous_music (s)
{
- set_mus_property ("type",
+ set_mus_property ("iterator-ctor",
Request_chord_iterator::constructor_cxx_function);
}
{"midi", MIDI},
{"mm", MM_T},
{"name", NAME},
- {"notenames", NOTENAMES},
+ {"pitchnames", PITCHNAMES},
{"notes", NOTES},
{"outputproperty", OUTPUTPROPERTY},
- {"push", PUSH},
- {"pop", POP},
+ {"override", OVERRIDE},
+ {"set", SET},
+ {"revert", REVERT},
{"partial", PARTIAL},
{"paper", PAPER},
{"penalty", PENALTY},
bool
Output_property_engraver::try_music (Music* m)
{
- if (m->get_mus_property ("type") ==
+ if (m->get_mus_property ("iterator-ctor") ==
Output_property_music_iterator::constructor_cxx_function)
{
props_.push (m);
void
Paper_column::do_break_processing ()
{
- Spaceable_element::remove_interface(this);
+ Spaceable_grob::remove_interface(this);
Item::do_break_processing ();
}
{
Axis_group_interface::set_interface (this);
Axis_group_interface::set_axes (this, X_AXIS, X_AXIS);
- Spaceable_element::set_interface (this);
+ Spaceable_grob::set_interface (this);
line_l_=0;
rank_i_ = -1;
%token MM_T
%token MUSICAL_PITCH
%token NAME
-%token NOTENAMES
+%token PITCHNAMES
%token NOTES
%token PAPER
%token PARTIAL
%token PENALTY
%token PROPERTY
-%token PUSH POP
+%token OVERRIDE SET REVERT
%token PT_T
%token RELATIVE
%token REMOVE
notenames_block:
- NOTENAMES notenames_body { $$ = $2; }
+ PITCHNAMES notenames_body { $$ = $2; }
;
| translator_spec_body STRING '=' embedded_scm {
unsmob_translator_def ($$)->add_property_assign ($2, $4);
}
- | translator_spec_body STRING PUSH embedded_scm '=' embedded_scm {
+ | translator_spec_body STRING OVERRIDE embedded_scm '=' embedded_scm {
unsmob_translator_def ($$)
->add_push_property (scm_string_to_symbol ($2), $4, $6);
}
- | translator_spec_body STRING POP embedded_scm {
+ | translator_spec_body STRING REVERT embedded_scm {
unsmob_translator_def($$)->add_pop_property (
scm_string_to_symbol ($2), $4);
}
m->set_mus_property ("predicate", pred);
m->set_mus_property ("symbol", $3);
m->set_mus_property ("value", $5);
- m->set_mus_property ("type",
+ m->set_mus_property ("iterator-ctor",
Output_property_music_iterator::constructor_cxx_function);
$$ = m;
translator_change:
TRANSLATOR STRING '=' STRING {
Music * t = new Music;
- t->set_mus_property ("type",
+ t->set_mus_property ("iterator-ctor",
Change_iterator::constructor_cxx_function);
t-> set_mus_property ("change-to-type", $2);
t-> set_mus_property ("change-to-id", $4);
PROPERTY STRING '.' STRING '=' scalar {
Music *t = new Music;
- t->set_mus_property ("type",
+ t->set_mus_property ("iterator-ctor",
Property_iterator::constructor_cxx_function);
t->set_mus_property ("symbol", scm_string_to_symbol ($4));
t->set_mus_property ("value", $6);
csm-> set_mus_property ("context-type", $2);
}
- | PROPERTY STRING '.' STRING PUSH embedded_scm '=' embedded_scm {
+ | PROPERTY STRING '.' STRING SET embedded_scm '=' embedded_scm {
Music *t = new Music;
- t->set_mus_property ("type",
+ t->set_mus_property ("iterator-ctor",
Push_property_iterator::constructor_cxx_function);
t->set_mus_property ("symbols", scm_string_to_symbol ($4));
- t->set_mus_property ("element-property", $6);
- t->set_mus_property ("element-value", $8);
+ t->set_mus_property ("pop-first", SCM_BOOL_T);
+ t->set_mus_property ("grob-property", $6);
+ t->set_mus_property ("grob-value", $8);
Context_specced_music *csm = new Context_specced_music (t);
$$ = csm;
$$->set_spot (THIS->here_input ());
csm-> set_mus_property ("context-type", $2);
}
- | PROPERTY STRING '.' STRING POP embedded_scm {
+ | PROPERTY STRING '.' STRING OVERRIDE embedded_scm '=' embedded_scm {
Music *t = new Music;
- t->set_mus_property ("type",
+ t->set_mus_property ("iterator-ctor",
+ Push_property_iterator::constructor_cxx_function);
+ t->set_mus_property ("symbols", scm_string_to_symbol ($4));
+ t->set_mus_property ("grob-property", $6);
+ t->set_mus_property ("grob-value", $8);
+ Context_specced_music *csm = new Context_specced_music (t);
+ $$ = csm;
+ $$->set_spot (THIS->here_input ());
+
+ csm-> set_mus_property ("context-type", $2);
+ }
+ | PROPERTY STRING '.' STRING REVERT embedded_scm {
+ Music *t = new Music;
+ t->set_mus_property ("iterator-ctor",
Pop_property_iterator::constructor_cxx_function);
t->set_mus_property ("symbols", scm_string_to_symbol ($4));
- t->set_mus_property ("element-property", $6);
+ t->set_mus_property ("grob-property", $6);
Context_specced_music *csm = new Context_specced_music (t);
$$ = csm;
| BAR STRING ';' {
Music *t = new Music;
- t->set_mus_property ("type",
+ t->set_mus_property ("iterator-ctor",
Property_iterator::constructor_cxx_function);
t->set_mus_property ("symbol", ly_symbol2scm ("whichBar"));
t->set_mus_property ("value", $2);
| PARTIAL duration_length ';' {
Music * p = new Music;
p->set_mus_property ("symbol", ly_symbol2scm ( "measurePosition"));
- p->set_mus_property ("type",
+ p->set_mus_property ("iterator-ctor",
Property_iterator::constructor_cxx_function);
Moment m = - unsmob_duration($2)->length_mom ();
Music * p = new Music;
p->set_mus_property ("symbol",
ly_symbol2scm ( "timeSignatureFraction"));
- p->set_mus_property ("type",
+ p->set_mus_property ("iterator-ctor",
Property_iterator::constructor_cxx_function);
p->set_mus_property ("value", gh_cons (gh_int2scm ($2),
scm_unprotect_object (f->self_scm());
scm_unprotect_object (s->self_scm());
- set_mus_property ("type",
+ set_mus_property ("iterator-ctor",
Part_combine_music_iterator::constructor_cxx_function);
}
Push_property_iterator::process (Moment m)
{
SCM syms = music_l_->get_mus_property ("symbols");
- SCM eprop = music_l_->get_mus_property ("element-property");
- SCM val = music_l_->get_mus_property ("element-value");
+ SCM eprop = music_l_->get_mus_property ("grob-property");
+ SCM val = music_l_->get_mus_property ("grob-value");
+
+ if (to_boolean (music_l_->get_mus_property ( "pop-first")))
+ Translator_def::apply_pushpop_property (report_to_l (),
+ syms, eprop, SCM_UNDEFINED);
Translator_def::apply_pushpop_property (report_to_l (), syms, eprop, val);
Pop_property_iterator::process (Moment m)
{
SCM syms = music_l_->get_mus_property ("symbols");
- SCM eprop = music_l_->get_mus_property ("element-property");
+ SCM eprop = music_l_->get_mus_property ("grob-property");
Translator_def::apply_pushpop_property (report_to_l (), syms, eprop, SCM_UNDEFINED);
Simple_music_iterator::process (m);
{
columnize();
if (item_l_drul_[LEFT] != item_l_drul_[RIGHT])
- Spaceable_element::add_rod (item_l_drul_[LEFT],
+ Spaceable_grob::add_rod (item_l_drul_[LEFT],
item_l_drul_[RIGHT],
distance_f_ );
}
#include "paper-column.hh"
#include "paper-def.hh"
#include "engraver.hh"
+#include "axis-group-interface.hh"
class Separating_line_group_engraver : public Engraver
{
Separating_line_group_engraver::acknowledge_grob (Grob_info i)
{
Item * it = dynamic_cast <Item *> (i.elem_l_);
- if (it && !it->parent_l (X_AXIS))
- {
- bool ib =Item::breakable_b (it);
- Item *&p_ref_ (ib ? break_malt_p_
- : nobreak_malt_p_);
+ if (!it)
+ return;
+ if (it->parent_l (X_AXIS)
+ && it->parent_l (X_AXIS)->has_extent_callback_b
+ (Axis_group_interface::group_extent_callback_proc, X_AXIS))
+ return;
+
+
+ bool ib =Item::breakable_b (it);
+ Item *&p_ref_ (ib ? break_malt_p_
+ : nobreak_malt_p_);
- if (!p_ref_)
- {
- p_ref_ = new Item
- (get_property ("SeparationItem"));
+ if (!p_ref_)
+ {
+ p_ref_ = new Item
+ (get_property ("SeparationItem"));
- if (ib)
- p_ref_->set_grob_property ("breakable", SCM_BOOL_T);
- announce_grob (p_ref_, 0);
- }
- Separation_item::add_item (p_ref_,it);
+ if (ib)
+ p_ref_->set_grob_property ("breakable", SCM_BOOL_T);
+ announce_grob (p_ref_, 0);
}
+ Separation_item::add_item (p_ref_,it);
}
void
for (int i=0; i < cols.size () - 1; i++)
{
SCM spring_params = SCM_UNDEFINED;
- for (SCM s = Spaceable_element::get_ideal_distances (cols[i]);
+ for (SCM s = Spaceable_grob::get_ideal_distances (cols[i]);
spring_params == SCM_UNDEFINED && gh_pair_p (s);
s = gh_cdr (s))
{
for (int i=0; i < cols.size () - 1; i++)
{
- for (SCM s = Spaceable_element::get_minimum_distances (cols[i]);
+ for (SCM s = Spaceable_grob::get_minimum_distances (cols[i]);
gh_pair_p (s); s = gh_cdr (s))
{
Grob * other = unsmob_grob (gh_caar (s));
/*
- spaceable-element.cc -- implement Spaceable_element
+ spaceable-element.cc -- implement Spaceable_grob
source file of the GNU LilyPond music typesetter
#include "warn.hh"
SCM
-Spaceable_element::get_minimum_distances ( Grob*me)
+Spaceable_grob::get_minimum_distances ( Grob*me)
{
return me->get_grob_property ("minimum-distances");
}
/*todo: merge code of spring & rod?
*/
void
-Spaceable_element::add_rod (Grob *me , Grob * p, Real d)
+Spaceable_grob::add_rod (Grob *me , Grob * p, Real d)
{
SCM mins = get_minimum_distances (me);
SCM newdist = gh_double2scm (d);
}
void
-Spaceable_element::add_spring (Grob*me, Grob * p, Real d, Real strength)
+Spaceable_grob::add_spring (Grob*me, Grob * p, Real d, Real strength)
{
SCM mins = get_ideal_distances (me);
SCM newdist= gh_double2scm (d);
}
SCM
-Spaceable_element::get_ideal_distances (Grob*me)
+Spaceable_grob::get_ideal_distances (Grob*me)
{
return me->get_grob_property ("ideal-distances");
}
void
-Spaceable_element::remove_interface (Grob*me)
+Spaceable_grob::remove_interface (Grob*me)
{
me->remove_grob_property ("minimum-distances");
me->remove_grob_property ("ideal-distances");
void
-Spaceable_element::set_interface (Grob*me)
+Spaceable_grob::set_interface (Grob*me)
{
me->set_interface (ly_symbol2scm ("spaceable-element-interface"));
}
void
Spring::add_to_cols ()
{
- Spaceable_element::add_spring (item_l_drul_[LEFT]->column_l (),
+ Spaceable_grob::add_spring (item_l_drul_[LEFT]->column_l (),
item_l_drul_[RIGHT]->column_l (),
distance_f_, strength_f_);
}
{
set_mus_property ("numerator", gh_int2scm (n));
set_mus_property ("denominator", gh_int2scm (d));
- set_mus_property ("type",
+ set_mus_property ("iterator-ctor",
Time_scaled_music_iterator::constructor_cxx_function);
compress (Moment (n,d));
;; - fontlock: \melodic \melodic
(defconst LilyPond-font-lock-keywords
- (let* ((keywords '("spanrequest" "simultaneous" "sequential" "accepts"
- "autochange" "alternative" "bar" "breathe"
- "cadenza" "chordmodifiers" "chords" "clef" "cm" "consists"
- "consistsend" "context"
- "duration" "font" "grace" "header" "in" "lyrics"
- "key" "keysignature" "mark" "musicalpitch"
- "time" "times" "midi" "mm" "name" "notenames"
- "notes" "partial" "paper" "penalty" "push" "pop" "property" "pt"
- "relative" "remove" "repeat" "repetitions" "addlyrics"
- "scm" "scmfile" "score" "script"
- "shape" "skip" "textscript" "tempo" "translator" "transpose"
- "type" "version"
- ))
+ (let* ((keywords '(
+
+"apply" "arpeggio" "autochange" "spanrequest" "commandspanrequest"
+"simultaneous" "sequential" "accepts" "alternative" "bar" "breathe"
+"char" "chordmodifiers" "chords" "clef" "cm" "consists" "consistsend"
+"context" "denies" "duration" "dynamicscript" "elementdescriptions"
+"font" "grace" "header" "in" "lyrics" "key" "mark" "musicalpitch"
+"time" "times" "midi" "mm" "name" "notenames" "notes" "outputproperty"
+"override" "set" "revert" "partial" "paper" "penalty" "property" "pt"
+"relative" "remove" "repeat" "addlyrics" "partcombine" "score"
+"script" "stylesheet" "skip" "textscript" "tempo" "translator"
+"transpose" "type"
+ ))
(kwregex (mapconcat (lambda (x) (concat "\\\\" x)) keywords "\\|")))
(list
% Toplevel initialisation file.
-\version "1.3.96";
+\version "1.3.110";
\include "declarations.ly"
% Toplevel initialisation file.
-\version "1.3.96";
+\version "1.3.110";
\include "declarations.ly";
% For using "sostingut" notation, which is also correct
-\notenames #`(
+\pitchnames #`(
(dobb . ,(make-pitch -1 0 -2 ))
(dob . ,(make-pitch -1 0 -1 ))
(do . ,(make-pitch -1 0 0 ))
-\version "1.3.96";
+\version "1.3.110";
% Toplevel initialisation file.
-\version "1.3.96";
+\version "1.3.110";
\include "declarations.ly"
% Toplevel initialisation file.
-\version "1.3.96";
+\version "1.3.110";
\include "declarations.ly"
% added asas and marked ases as `unusual'
-\notenames #'(
+\pitchnames #`(
(ceses . ,(make-pitch -1 0 -2 ))
(ces . ,(make-pitch -1 0 -1 ))
(c . ,(make-pitch -1 0 0 ))
-\version "1.3.96";
+\version "1.3.110";
with s for sharp and f for flat.
%}
-\notenames #`(
+\pitchnames #`(
(cflatflat . ,(make-pitch -1 0 -2 ))
(cflat . ,(make-pitch -1 0 -1 ))
(c . ,(make-pitch -1 0 0 ))
(bss . ,(make-pitch -1 6 2 ))
)
-\version "1.3.96";
+\version "1.3.110";
-\version "1.3.96"
+\version "1.3.110"
%
% setup for Request->Element conversion. Guru-only
%
\name ChoirStaff;
alignmentReference = \center;
\consists "System_start_delimiter_engraver";
- SystemStartDelimiter \push #'glyph = #'bracket
+ SystemStartDelimiter \override #'glyph = #'bracket
\accepts "Staff";
\accepts "RhythmicStaff";
\consists "Pitch_squash_engraver";
\consists "Separating_line_group_engraver";
\name RhythmicStaff;
- Bar \push #'bar-size = #4
- VoltaBracket \push #'minimum-space = #15 % urg, in \pt
- VoltaBracket \push #'padding = #5 % urg, in \pt
- StaffSymbol \push #'line-count = #1
+ Bar \override #'bar-size = #4
+ VoltaBracket \override #'minimum-space = #15 % urg, in \pt
+ VoltaBracket \override #'padding = #5 % urg, in \pt
+ StaffSymbol \override #'line-count = #1
% \consists "Repeat_engraver";
\consists "Volta_engraver";
\consists "Property_engraver";
- Stem \push #'style = #"grace"
- Stem \push #'flag-style = #"grace"
- Stem \push #'stem-length = #6.0
- Stem \push #'direction = #1
-
- NoteHead \push #'font-relative-size = #-1
- Stem \push #'font-relative-size = #-1
- Stem \push #'stem-shorten = #'(0)
- Beam \push #'font-relative-size = #-1
- TextScript \push #'font-relative-size = #-1
- Slur \push #'font-relative-size = #-1
- Accidentals \push #'font-relative-size = #-1
- Beam \push #'thickness = #0.3
- Beam \push #'space-function = #(lambda (x) 0.5)
-
- Stem \push #'lengths = #(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0))
- Stem \push #'beamed-lengths =
+ Stem \override #'flag-style = #"grace"
+ Stem \override #'stem-length = #6.0
+ Stem \override #'direction = #1
+
+ NoteHead \override #'font-relative-size = #-1
+ Stem \override #'font-relative-size = #-1
+ Stem \override #'stem-shorten = #'(0)
+ Beam \override #'font-relative-size = #-1
+ TextScript \override #'font-relative-size = #-1
+ Slur \override #'font-relative-size = #-1
+ Accidentals \override #'font-relative-size = #-1
+ Beam \override #'thickness = #0.3
+ Beam \override #'space-function = #(lambda (x) 0.5)
+
+ Stem \override #'lengths = #(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0))
+ Stem \override #'beamed-lengths =
#'(0.0 2.5 2.0 1.5)
- Stem \push #'beamed-minimum-lengths
+ Stem \override #'beamed-minimum-lengths
= #(map (lambda (x) (* 0.8 x)) '(0.0 2.5 2.0 1.5))
weAreGraceContext = ##t
\consists "Span_bar_engraver";
\consists "Span_arpeggio_engraver";
\consists "System_start_delimiter_engraver";
- SystemStartDelimiter \push #'glyph = #'brace
+ SystemStartDelimiter \override #'glyph = #'brace
\consists "Property_engraver";
Generic_property_list = #generic-grand-staff-properties
\consists "Vertical_align_engraver";
alignmentReference = \center;
- VerticalAlignment \push #'threshold = #'(12 . 12)
+ VerticalAlignment \override #'threshold = #'(12 . 12)
% \consistsend "Axis_group_engraver";
}
\consists "Span_bar_engraver";
\consists "Span_arpeggio_engraver";
\consists "Output_property_engraver";
- SystemStartDelimiter \push #'glyph = #'bracket
+ SystemStartDelimiter \override #'glyph = #'bracket
\consists "System_start_delimiter_engraver";
\accepts "Staff";
\consists "Output_property_engraver";
\accepts "ChordNamesVoice";
- VerticalAxisGroup \push #'invisible-staff = ##t
+ VerticalAxisGroup \override #'invisible-staff = ##t
\consistsend "Axis_group_engraver";
}
% Toplevel initialisation file.
-\version "1.3.96";
+\version "1.3.110";
\include "declarations.ly"
% Toplevel AsciiScript initialisation file.
-\version "1.3.97";
+\version "1.3.110";
\include "declarations-as.ly"
% Toplevel AsciiScript initialisation file.
-\version "1.3.96";
+\version "1.3.110";
\include "declarations-as.ly"
% Toplevel initialisation file.
-\version "1.3.97";
+\version "1.3.110";
\include "declarations.ly"
% Toplevel initialisation file.
-\version "1.3.96";
+\version "1.3.110";
\include "declarations.ly";
% Toplevel initialisation file.
-\version "1.3.97";
+\version "1.3.110";
\include "declarations.ly"
% contributed by Paolo Zuliani <zuliap@easynet.it>
-\notenames #'(
+\pitchnames #'(
(dobb . ,(make-pitch -1 0 -2 ))
(dob . ,(make-pitch -1 0 -1 ))
(do . ,(make-pitch -1 0 0 ))
(sidd . ,(make-pitch -1 6 2 ))
)
-\version "1.3.96";
+\version "1.3.110";
common dutch names for notes. es means flat, is means sharp
%}
-\notenames #`(
+\pitchnames #`(
(ceses . ,(make-pitch -1 0 -2))
(ces . ,(make-pitch -1 0 -1 ))
(c . ,(make-pitch -1 0 0 ))
-% $Id: norsk.ly,v 1.8 2000/11/12 22:29:58 fred Exp $
+% $Id: norsk.ly,v 1.9 2000/11/26 19:05:12 fred Exp $
%{
%}
-\notenames #'(
+\pitchnames #'(
(ceses . ,(make-pitch -1 0 -2 ))
(cessess . ,(make-pitch -1 0 -2 ))
(ces . ,(make-pitch -1 0 -1 ))
-\version "1.3.96";
+\version "1.3.110";
% paper-as5.ly
-\version "1.3.96";
+\version "1.3.110";
paper_as_five = \paper {
staffheight = 5.\char;
% paper-as9.ly
-\version "1.3.96";
+\version "1.3.110";
paper_as_nine = \paper {
staffheight = 9.\char;
% paper11.ly
-\version "1.3.96";
+\version "1.3.110";
paper_eleven = \paper {
staffheight = 11.0\pt;
% paper13.ly
-\version "1.3.96";
+\version "1.3.110";
paper_thirteen = \paper {
staffheight = 13.0\pt;
% paper16.ly
-\version "1.3.96";
+\version "1.3.110";
paper_sixteen = \paper {
staffheight = 16.0\pt;
% paper20.ly
-\version "1.3.96";
+\version "1.3.110";
paper_twenty = \paper {
staffheight = 20.0\pt;
% paper23.ly
-\version "1.3.96";
+\version "1.3.110";
paper_twentythree = \paper {
staffheight = 23.0\pt;
% paper26.ly
-\version "1.3.96";
+\version "1.3.110";
paper_twentysix = \paper {
staffheight = 26.0\pt;
% property.ly
-\version "1.3.96";
+\version "1.3.110";
-stemUp = \property Voice.Stem \push #'direction = #1
-stemDown = \property Voice.Stem \push #'direction = #-1
-stemBoth= \property Voice.Stem \pop #'direction
+stemUp = \property Voice.Stem \override #'direction = #1
+stemDown = \property Voice.Stem \override #'direction = #-1
+stemBoth= \property Voice.Stem \revert #'direction
-slurUp = \property Voice.Slur \push #'direction = #1
-slurBoth = \property Voice.Slur \pop #'direction
-slurDown = \property Voice.Slur \push #'direction = #-1
-shiftOn = \property Voice.NoteColumn \push #'horizontal-shift = #1
-shiftOnn = \property Voice.NoteColumn \push #'horizontal-shift = #2
-shiftOnnn = \property Voice.NoteColumn \push #'horizontal-shift = #3
-shiftOff = \property Voice.NoteColumn \pop #'horizontal-shift
+slurUp = \property Voice.Slur \override #'direction = #1
+slurBoth = \property Voice.Slur \revert #'direction
+slurDown = \property Voice.Slur \override #'direction = #-1
+shiftOn = \property Voice.NoteColumn \override #'horizontal-shift = #1
+shiftOnn = \property Voice.NoteColumn \override #'horizontal-shift = #2
+shiftOnnn = \property Voice.NoteColumn \override #'horizontal-shift = #3
+shiftOff = \property Voice.NoteColumn \revert #'horizontal-shift
-tieUp = \property Voice.Tie \push #'direction = #1
-tieDown = \property Voice.Tie \push #'direction = #-1
-tieBoth = \property Voice.Tie \pop #'direction
+tieUp = \property Voice.Tie \override #'direction = #1
+tieDown = \property Voice.Tie \override #'direction = #-1
+tieBoth = \property Voice.Tie \revert #'direction
cadenzaOn = \property Score.timing = ##f
cadenzaOff = { \property Score.timing = ##t
\shiftOn
}
-slurDotted = \property Voice.Slur \push #'dashed = #1
-slurNoDots = \property Voice.Slur \pop #'dashed
+slurDotted = \property Voice.Slur \override #'dashed = #1
+slurNoDots = \property Voice.Slur \revert #'dashed
tiny =
%
% by Mats Bengtsson.
-\notenames #'(
+\pitchnames #'(
(cessess . ,(make-pitch -1 0 -2 ))
(cess . ,(make-pitch -1 0 -1 ))
(c . ,(make-pitch -1 0 0 ))
(hiss . ,(make-pitch -1 6 1 ))
(hississ . ,(make-pitch -1 6 2 ))
)
-\version "1.3.96";
+\version "1.3.110";
SUBST_TEXI_DEPS=sed 's! \.\./! !g' < $(basename $@).dep > $(outdir)/temp.dep ; mv $(outdir)/temp.dep $(basename $@).dep
$(outdir)/%.latex: %.doc
- LILYPONDPREFIX=$(LILYPONDPREFIX)/.. $(PYTHON) $(script-dir)/lilypond-book.py --outdir=$(outdir) -I .. -I $(input-dir)/test/ --dependencies --dep-prefix=$(outdir)/ $<
+ rm -f $@
+ LILYPONDPREFIX=$(LILYPONDPREFIX)/.. $(PYTHON) $(script-dir)/lilypond-book.py --outdir=$(outdir) -I .. -I $(input-dir)/test/ --dependencies --dep-prefix=$(outdir)/ $<
+ chmod -w $@
$(SUBST_TEXI_DEPS)
# don't do ``cd $(outdir)'', and assume that $(outdir)/.. is the src dir.
# it is not, for --scrdir builds
$(outdir)/%.texi: %.tely
- LILYPONDPREFIX=$(LILYPONDPREFIX)/.. $(PYTHON) $(script-dir)/lilypond-book.py --outdir=$(outdir) -I .. -I $(input-dir)/test/ --dependencies --dep-prefix=$(outdir)/ --format=texi $<
+ rm -f $@
+ LILYPONDPREFIX=$(LILYPONDPREFIX)/.. $(PYTHON) $(script-dir)/lilypond-book.py --outdir=$(outdir) -I .. -I $(input-dir)/test/ --dependencies --format=texi $<
$(SUBST_TEXI_DEPS)
+ chmod -w $@
# nexi: no-lily texi
# for plain info doco: don't run lily
$(outdir)/%.nexi: %.tely
+ rm -f $@
LILYPONDPREFIX=$(LILYPONDPREFIX)/.. $(PYTHON) $(script-dir)/lilypond-book.py --outdir=$(outdir) --no-lily -I .. -I $(input-dir)/test/ --dependencies --dep-prefix=$(outdir)/ --format=texi $<
mv $(@D)/$(*F).texi $@
$(SUBST_TEXI_DEPS)
+ chmod -w $@
# nfo: info from non-lily texi
$(outdir)/%.info: $(outdir)/%.nexi
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "bassi.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "violoncello.ly"
%% Hopefully, this can be junked when part-combiner+midi+dynamics work ok.
%%
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "clarinetti.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "clarinetto-1.ly"
\include "clarinetto-2.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
clarinettoI = \notes \relative c {
R1 *2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
clarinettoII = \notes \relative c {
R1*2 bes''4-.\ff r r2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
contrabasso = \notes \relative c {
% copied 21 from cello
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "paper16.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "corni.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "corno-1.ly"
\include "corno-2.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
cornoI = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
cornoII = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "fagotti.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "fagotto-1.ly"
\include "fagotto-2.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
fagottoI = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
fagottoII = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "flauti.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "flauto-1.ly"
\include "flauto-2.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
flautoI = \notes \relative c {
R1 *2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
flautoII = \notes \relative c {
R1 *2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
global = \notes {
\time 4/4;
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
oboeI = \notes \relative c'' {
R1*2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
oboeII = \notes \relative c{
R1*2|
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "oboi.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "oboe-1.ly"
\include "oboe-2.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "timpani.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
timpani = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "trombe.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "trombo-1.ly"
\include "trombo-2.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
tromboI = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
tromboII = \notes \relative c {
R1*2 |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
violaI = \notes \relative c {
c'1\ff ~ |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
violaII = \notes \relative c {
c1\ff ~ |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "violi.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "viola-1.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "violino-1.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
violinoI = \notes \relative c {
c'1\ff ~ |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global.ly"
\include "violino-2.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
violinoII = \notes \relative c {
c'1\ff ~ |
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
violoncello = \notes \relative c {
c1\ff ~ |
under the Gnu Public Licence.
%}
-\version "1.3.93";
+\version "1.3.110";
$voice_one = \notes \relative c' {
a'2 bes4. [c16 bes] | a4 d ~ d c ~ | c b ~ [b8 a] a4 ~|
Tested Features: cross staff auto beams and slurs, grace notes, no bars
%}
-\version "1.3.93";
+\version "1.3.110";
global = \notes {
\key a \minor;
\global
\context Voice=foo {
\stemUp
- \property Voice.Script \push #'direction = #1
+ \property Voice.Script \override #'direction = #1
\melody
}
slurVerticalDirection = #1
verticalDirection = #-1
- beamAutoEnd = #(make-moment 1 2)
+ autoBeamSettings \override #'(end * * * *) = #(make-moment 1 2)
}
}
\midi {
Tested Features:
%}
-\version "1.3.93";
+\version "1.3.110";
\include "nederlands.ly"
\translator{ \OrchestralScoreContext }
\translator{
\VoiceContext
- beamAutoEnd_8 = #(make-moment 1 4)
- beamAutoEnd_16 = #(make-moment 1 4)
+ autoBeamSettings \override #'(end 1 8 * *) = #(make-moment 1 4)
+ autoBeamSettings \override #'(end 1 16 * *) = #(make-moment 1 4)
}
}
\midi {
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "standchen.ly"
copyright = "public domain";
}
-\version "1.3.93";
+\version "1.3.110";
% fool make-website
% \include "standchen.ly";
Note: Original key f.
%}
-\version "1.3.93";
+\version "1.3.110";
-dynamicUp = \property Voice.DynamicLineSpanner \push #'direction = #1
-dynamicRevert = \property Voice.DynamicLineSpanner \pop #'direction
+dynamicUp = \property Voice.DynamicLineSpanner \override #'direction = #1
+dynamicRevert = \property Voice.DynamicLineSpanner \revert #'direction
vocalVerse = \notes\relative c''{
< { a4.-> )f8 } { a'4. f8 } > |
<e2 e'> r4 |
<es!2 es'! > r4 |
- \property Voice . TextItem \push #'font-style = #'italic
+ \property Voice . TextItem \override #'font-style = #'italic
<d2_"decresc." d'> r4 |
- \property Voice . TextItem \pop #'font-style
+ \property Voice . TextItem \revert #'font-style
%75
<b2 b'> r4 |
<f4. g> <b,8-. g'-.(> <d-. g-.> <f-. )g-.> |
%80
- \property Voice . TextItem \push #'font-style = #'italic
+ \property Voice . TextItem \override #'font-style = #'italic
<e2._"dim." g> |
- \property Voice . TextItem \pop #'font-style
+ \property Voice . TextItem \revert #'font-style
<g,2. e' g> |
<g2.-\fermata e' g> |
treble = {
\clef treble;
- \property Voice.beamAutoBegin= #(make-moment 0 1)
+ \property Voice.autoBeamSettings \override #'(begin * * * *) = #(make-moment 0 1)
\trebleIntro
\trebleVerseOne
\trebleEentje
metre = "6 6. 8 6. D";
}
-\version "1.3.93";
+\version "1.3.110";
sop=\notes \transpose c''{
ees2 ees4 ees4 g2 g2 | c'1.
metre = "10 10 . 11 11";
}
-\version "1.3.93";
+\version "1.3.110";
sop = \notes \transpose c''{
f4 | d' bes c' | f2 \bar "||";
metre = "10 11. 11 11. and refrain";
}
-\version "1.3.93";
+\version "1.3.110";
sop=\notes \relative c'' {
b2 gis4. a8 |b2 e,2 |
metre = "8 7 8 7 D";
}
-\version "1.3.93";
+\version "1.3.110";
sop=\notes \relative c'' {
b4 b c d | d c b a | g g a b | b4. a8 a2 |
enteredby = "Peter Chubb";
}
-\version "1.0.16";
+\version "1.3.110";
sop=\notes \transpose c'' {
- \repeat 2 {
+ \repeat "volta" 2 {
\partial 2;
- e2 | a g f e | d1 e2 ^"{\kern1em\Huge ,}" b | c' b4([c'8
+ e2 | a g f e | d1 e2 \breathe b | c' b4([c'8
)d'] c'2 b4( )a4 |
a1. }
- c'2 | b4( )a4 g2 a b | c'1 c'2 ^"{\kern1em\Huge ,}" g2 |
- a g a4( )g f2 | e1. ^"{\kern3em\Huge ,}"
- c'2 | b4( )c'4 d'2 c' b | a1 b2 ^"{\kern1em\Huge ,}"
+ c'2 | b4( )a4 g2 a b | c'1 c'2\breathe g2 |
+ a g a4( )g f2 | e1. \breathe
+ c'2 | b4( )c'4 d'2 c' b | a1 b2\breathe
e2 | f e d g4( )f4 | e1. \bar "||";
}
alt=\notes \transpose c'' {
- \repeat 2 {
+ \repeat "volta" 2 {
\partial 2;
c2 | c4( )d4 e2 a,4( )b,4 c2 | c2( )b, c
e | e f e d4( )c4 |
ten=\notes{
- \repeat 2 {
+ \repeat "volta" 2 {
\partial 2;
a2 | a4( )b c'2 d' g | a( )g g b |
a a a gis |
}
bass=\notes{
- \repeat 2 {
+ \repeat "volta" 2 {
\partial 2;
a4( )g | f2 e d c | fis,( )g, c
gis,2 | a, d e e |
}
global=\notes{
- \key c;
+ \key c \major;
\time 4/2;
\property Staff.timeSignatureStyle="none"
}
\context Staff = "top" {
\clef "treble";
\global
- \context Staff <{\voiceone \sop}{\voicetwo \alt} >
+ \context Staff <{\voiceOne \sop}{\voiceTwo \alt} >
}
\context Staff = "bottom" {
\clef "bass";
\global
- \context Staff < {\voiceone \ten}{\voicetwo \bass} >
+ \context Staff < {\voiceOne \ten}{\voiceTwo \bass} >
}
>
}
-\version "1.3.93";
+\version "1.3.110";
%{
Note: there are other verses, but the three here seem to be
piece = "Allemande";
}
-\version "1.3.93";
+\version "1.3.110";
global = \notes{
\time 4/4;
%%
%% Noe liknende skjer også i mellom andre og tredje stemme i takt 28
-\version "1.3.93";
+\version "1.3.110";
global = \notes{
\time 2/4;
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
global = \notes {
\time 4/4;
-\version "1.3.93";
+\version "1.3.110";
$global_i = \notes{
\time 12/8;
-\version "1.3.93";
+\version "1.3.110";
$global_ii = \notes{
\time 4/4;
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global-i.ly"
\include "violoncello-i.ly";
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
\include "global-ii.ly"
\include "violoncello-ii.ly";
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
% {
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
$violino_i = \notes\relative c'' {
\property Voice.beamAutoEnd = "3/8"
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
$violino_ii = \notes\relative c''{
R1*8 |
\$violino_ii
\$global_ii
>
-\version "1.3.93";
+\version "1.3.110";
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
% {
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
% {
\include "violino-i.ly";
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
% {
\include "violino-i.ly";
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
$violoncello_i = \notes\relative c{
\property Voice.beamAutoEnd = "3/8"
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
$violoncello_ii = \notes\relative c{
r2 a'2|c e,| f8(e)d2 e8()fis| g a bes2 a8()gis|
copyright = "Public Domain";
}
-\version "1.3.93";
+\version "1.3.110";
% {
-\version "1.3.93";
+\version "1.3.110";
lowstaff = \translator "Staff" = "lower"
-\version "1.3.93";
+\version "1.3.110";
upper = \context Staff \notes\relative c{
\context Voice=i
\property Voice . textStyle = "italic"
%}
-\version "1.3.93";
+\version "1.3.110";
upper = \notes \transpose c'' {
}
-\version "1.3.93";
+\version "1.3.110";
upper = \context Staff \notes\relative c
\context Voice=i {
}
-\version "1.3.93";
+\version "1.3.110";
-\version "1.3.93";
+\version "1.3.110";
\include "allemande-urtext.ly";
>
-\version "1.3.93";
+\version "1.3.110";
-\version "1.3.93";
+\version "1.3.110";
\include "allemande-urtext.ly";
-\version "1.3.93";
+\version "1.3.110";
\include "courante-urtext.ly";
\$courante_b
>
-\version "1.3.93";
+\version "1.3.110";
-\version "1.3.93";
+\version "1.3.110";
\include "courante-urtext.ly";
-\version "1.3.93";
+\version "1.3.110";
\include "gigue-urtext.ly";
\paper{
\translator{
\VoiceContext
- beamAutoEnd_8 = #(make-moment 3 4)
- beamAutoEnd_16 = #(make-moment 3 4)
+ autoBeamSettings \override #'(end 1 8 * *) = #(make-moment 3 4)
+ autoBeamSettings \override #'(end 1 16 * *) = #(make-moment 3 4)
}
}
\midi{ \tempo 4 = 60; }
\$gigue_b
>
-\version "1.3.93";
+\version "1.3.110";
-\version "1.3.93";
+\version "1.3.110";
\include "gigue-urtext.ly";
\paper{
\translator{
\VoiceContext
- beamAutoEnd_8 = #(make-moment 3 4)
- beamAutoEnd_16 = #(make-moment 3 4)
+ autoBeamSettings \override #'(end 1 8 * *) = #(make-moment 3 4)
+ autoBeamSettings \override #'(end 1 16 * *) = #(make-moment 3 4)
}
}
\midi{ \tempo 4 = 60; }
-\version "1.3.93";
+\version "1.3.110";
\include "menuetto-urtext.ly";
\paper{
\translator{
\VoiceContext
- beamAutoEnd_8 = #(make-moment 3 4)
+ autoBeamSettings \override #'(end 1 8 * *) = #(make-moment 3 4)
}
}
\midi{ \tempo 4 = 110; }
\paper{
\translator{
\VoiceContext
- beamAutoEnd_8 = #(make-moment 3 4)
+ autoBeamSettings \override #'(end 1 8 * *) = #(make-moment 3 4)
}
}
\bar "|.";
}
-\version "1.3.93";
+\version "1.3.110";
-\version "1.3.93";
+\version "1.3.110";
\include "menuetto-urtext.ly";
gourlay_maxmeasures = 7.0;
\translator{
\VoiceContext
- beamAutoEnd_8 = #(make-moment 3 4)
+ autoBeamSettings \override #'(end 1 8 * *) = #(make-moment 3 4)
}
}
\paper{
\translator{
\VoiceContext
- beamAutoEnd_8 = #(make-moment 3 4)
+ autoBeamSettings \override #'(end 1 8 * *) = #(make-moment 3 4)
}
}
-\version "1.3.93";
+\version "1.3.110";
\include "prelude-urtext.ly";
\$prelude_b
>
-\version "1.3.93";
+\version "1.3.110";
-\version "1.3.93";
+\version "1.3.110";
\include "prelude-urtext.ly";
-\version "1.3.93";
+\version "1.3.110";
\include "sarabande-urtext.ly";
\$sarabande_b
>
-\version "1.3.93";
+\version "1.3.110";
-\version "1.3.93";
+\version "1.3.110";
\include "sarabande-urtext.ly";
%{
TODO: use autobeaming.
%}
-\version "1.3.93";
+\version "1.3.110";
tenor =
% It would be nice to squeeze this onto two pages, but I am not sure
% if it would work with US paper.
-\version "1.3.93";
+\version "1.3.110";
dux = \context Voice=two \notes \relative c''{
\paper {
linewidth = 18.0 \cm;
\translator{ \OrchestralScoreContext
- timeSignatureStyle \push #'style = #"C"
+ timeSignatureStyle \override #'style = #"C"
}
lastupdated = "1999/Oct/14";
}
-\version "1.3.93";
+\version "1.3.110";
% should do programmable input.
soprane =
definition below. --MB
%}
-\version "1.3.93";
+\version "1.3.110";
global = \notes {
\property StaffGroup.timeSignatureStyle = "old"
(define bar-line-interface
(lily-interface
'bar-line-interface
- "Bar line"
+ "Bar line.
+
+This is a request to print a special bar symbol. It replaces the
+regular bar symbol with a special
+symbol. The argument @var{bartype} is a string which specifies the
+kind of bar to print. Options are @code{\":|\"}
+@cindex \"|A@@@code{:|}
+,
+@code{\"|:\"}
+@cindex \"|B@@@code{|:}
+, @code{\":|:\"}
+@cindex \"|C@@@code{:|:}
+,
+@code{\"||\"}
+@cindex \"|D@@@code{||}
+, @code{\"|.\"}
+@cindex \"|E@@@code{|.}
+,
+@code{\".|\"}
+@cindex \"|F@@@code{.|}
+, and @code{\".|.\"}
+@cindex \"|G@@@code{.|.}
+.
+
+These produce, respectively, a right repeat, a left repeat, a double
+repeat, a double bar, a start bar, an end bar, and a thick double bar.
+If @var{bartype} is set to @code{\"empty\"} then nothing is printed,
+but a line break is allowed at that spot.
+
+"
'( barsize-procedure kern thin-kern hair-thickness thick-thickness glyph bar-size break-glyph-function )))
(define hairpin-interface
(lily-interface
'hairpin-interface
- "hairpin crescendo"
+ "hairpin crescendo.
+
+padding -- horizontal padding. This is useful if a crescendo is set next to a text like `mf'
+
+"
'( grow-direction thickness height padding )
))
(lily-interface
'multi-measure-rest-interface
"A rest that spans a whole number of measures. For typesetting the
-numbers, fields from font-interface may be used.
+numbers, fields from font-interface may be used.
+
+padding is the space between number and rest. Measured in staffspace.
+
"
'(
(define (repeat-name-to-ctor name)
(let*
((supported-reps
- `(("volta" . ((type . ,Volta_repeat_iterator::constructor)
+ `(("volta" . ((iterator-ctor . ,Volta_repeat_iterator::constructor)
(length . ,Repeated_music::volta_music_length)
))
- ("unfold" . ((type . ,Unfolded_repeat_iterator::constructor)
+ ("unfold" . ((iterator-ctor . ,Unfolded_repeat_iterator::constructor)
(length . ,Repeated_music::unfolded_music_length)
))
- ("fold" . ((type . ,Folded_repeat_iterator::constructor)
+ ("fold" . ((iterator-ctor . ,Folded_repeat_iterator::constructor)
(length . ,Repeated_music::folded_music_length)
))
- ("tremolo" . ((type . ,Chord_tremolo_iterator::constructor)
+ ("tremolo" . ((iterator-ctor . ,Chord_tremolo_iterator::constructor)
(length . ,Repeated_music::volta_music_length)
))
))
--- /dev/null
+(define all-music-properties '())
+
+(define (music-property-description symbol type? description)
+ (set-object-property! symbol 'music-type? type?)
+ (set-object-property! symbol 'music-doc description)
+ (set! all-music-properties (cons symbol all-music-properties))
+ )
+(define (true? x) #t)
+
+(music-property-description 'iterator-ctor c++-function? "")
+(music-property-description 'duration duration? "")
+(music-property-description 'metronome-count number? "")
+(music-property-description 'span-type symbol? "")
+(music-property-description 'alternatives list? "")
+(music-property-description 'articulation-type symbol? "key for scriptDefinitions alist")
+(music-property-description 'bass boolean? "")
+(music-property-description 'body music? "")
+(music-property-description 'cautionary boolean? "")
+(music-property-description 'change-to-id string? "")
+(music-property-description 'change-to-type string? "")
+(music-property-description 'context-id string? "")
+(music-property-description 'context-type string? "")
+(music-property-description 'denominator integer? "")
+(music-property-description 'direction dir? "")
+(music-property-description 'text-type symbol? "")
+(music-property-description 'element music )
+(music-property-description 'grob-property symbol? "")
+(music-property-description 'grob-value true? "")
+(music-property-description 'elements list? "")
+(music-property-description 'force-accidental boolean? "")
+(music-property-description 'inversion boolean? "")
+(music-property-description 'label string? "")
+(music-property-description 'last-pitch pitch? "")
+(music-property-description 'length procedure? "")
+(music-property-description 'lyrics music? "")
+(music-property-description 'mark-label string? "")
+(music-property-description 'numerator integer? "")
+(music-property-description 'one music? ""); part-combine, fixme, naming.
+(music-property-description 'origin input? "")
+(music-property-description 'penalty number? "")
+(music-property-description 'pitch pitch? "")
+(music-property-description 'pitch-alist list? "")
+(music-property-description 'predicate procedure? "")
+(music-property-description 'type symbol? "")
+(music-property-description 'repeat-count integer? "")
+(music-property-description 'span-direction dir? "")
+(music-property-description 'symbol symbol? "")
+(music-property-description 'symbols list? "")
+(music-property-description 'tempo duration? "")
+(music-property-description 'text string? "");; markup?
+(music-property-description 'tremolo-type integer? "")
+(music-property-description 'two music? ""); part-combine, fixme, naming.
+(music-property-description 'value true? "")
+(music-property-description 'what string? "")
(set! all-translation-properties (cons symbol all-translation-properties))
)
-(translator-property-description 'tremoloFlags integer? "")
-(translator-property-description 'stemLeftBeamCount integer? "
-Specify the number of beams to draw on the left side of the next note.
-Overrides automatic beaming. The value is only used once, and then it
-is erased.
-")
-(translator-property-description 'stemRightBeamCount integer? "idem, for the right side")
-(translator-property-description
- 'CONTEXTNAMEVerticalExtent number-pair? "hard coded vertical extent.
+
+
+(translator-property-description 'CONTEXTNAMEMinimumVerticalExtent number-pair? "minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]")
+(translator-property-description 'CONTEXTNAMEVerticalExtent number-pair? "hard coded vertical extent.
The format is a pair of dimensions, for example, this sets the sizes
of a staff to 10 (5+5) staffspaces high.
@example
-\property Staff.StaffVerticalExtent = #(-5.0 . 5.0)
+property Staff.StaffVerticalExtent = #(-5.0 . 5.0)
@end example
[fixme, naming]")
-(translator-property-description 'CONTEXTNAMEMinimumVerticalExtent number-pair?
- "minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]")
-(translator-property-description 'CONTEXTNAMExtraVerticalExtent number-pair?
- "extra vertical extent, same format
-CONTEXTNAMEMinimumVerticalExtent [fixme, naming]")
-(translator-property-description 'localKeySignature list? "the key signature at this point in the measure")
-(translator-property-description 'forgetAccidentals boolean? "do
-not set localKeySignature when a note alterated differently from
-localKeySignature is found.
-
-Causes accidentals to be printed at every note instead of
-remembered for the duration of a measure.
-")
-(translator-property-description 'noResetKey boolean? "Do not
-reset local key to the value of keySignature at the start of a measure,
-as determined by measurePosition.
-
-Do not reset the key at the start of a measure. Accidentals will be
-printed only once and are in effect until overridden, possibly many
-measures later.
-")
-(translator-property-description 'repeatCommands list?
- "This property is read to find any command of the form (volta . X), where X is a string or #f")
-(translator-property-description 'voltaSpannerDuration moment?
- "maximum duration of the volta bracket.
+(translator-property-description 'CONTEXTNAMExtraVerticalExtent number-pair? "extra vertical extent, same format
+CONTEXTNAMEMinimumVerticalExtent [fixme, naming]")
+(translator-property-description 'Generic_property_list list? "description of the conversion.
- Set to a duration to control the size of the brackets printed by
-@code{\alternative}. It specifies the number of whole notes duration
-to use for the brackets. This can be used to shrink the length of
-brackets in the situation where one alternative is very large. It may
-have odd effects if the specified duration is longer than the music
-given in an @code{\alternative}.
+Defines names and types for generic properties. These are properties
+than can be plugged into the backend directly. See the init file
+@file{generic-property.scm} for details. For internal use only,
+deprecated.
")
-(translator-property-description 'clefPosition number? "Where should the center of the symbol go?")
-(translator-property-description 'clefGlyph string? "Name of the symbol within the music font")
-(translator-property-description 'centralCPosition number? "Place of the central C. Usually determined by looking at clefPosition and clefGlyph.")
-(translator-property-description 'clefOctavation integer? "Add
-this much extra octavation. Values of 7 and -7 are common.")
-(translator-property-description 'explicitClefVisibility procedure? "visibility-lambda function for clef changes.")
-(translator-property-description 'clefPitches list? "an alist mapping GLYPHNAME to the position of the central C for that symbol")
-(translator-property-description 'combineParts boolean? "try to combine parts?")
-(translator-property-description 'soloADue boolean? "set Solo/A due texts?")
-(translator-property-description 'soloText string? "text for begin of solo")
-(translator-property-description 'soloIIText string? "text for begin of solo for voice ``two''")
(translator-property-description 'aDueText string? "text for begin of a due")
-(translator-property-description 'split-interval number-pair? "always split into two voices for contained intervals")
-(translator-property-description 'unison boolean? "set if unisono is detected ")
-(translator-property-description 'solo boolean? "set if solo is detected")
-(translator-property-description 'unisilence boolean? "set if unisilence is detected")
-(translator-property-description 'unirhythm boolean? "set if unirhythm is detected")
-(translator-property-description 'graceAlignPosition dir? "put the grace note before or after the main note?")
-(translator-property-description 'graceAccidentalSpace number? "amount space to alot for an accidental")
-(translator-property-description 'noAutoBeaming boolean? " If set to true then beams are not generated automatically.
-")
+(translator-property-description 'associatedVoice string? "")
(translator-property-description 'autoBeamSettings list? "
Specifies when automatically generated beams should begin and end. The elements have the format:
The user can override beam begin or end time by pushing a wildcard entries
'(begin * * * *) or '(end * * * *) resp., eg:
- \property Voice.autoBeamSettings \push #'(end * * * *) = #(make-moment 1 4)
+ property Voice.autoBeamSettings push #'(end * * * *) = #(make-moment 1 4)
The head of the list:
'(
)
@end example")
-(translator-property-description 'whichBar string? "This property is read to determine what type of barline to create.
-Example:
-@example
-\\property Staff.whichBar = \"|:\"
-@end example
-will create a start-repeat bar in this staff only
+(translator-property-description 'automaticPhrasing boolean? "")
+(translator-property-description 'barAlways boolean? " If set to true a bar line is drawn after each note.
+")
+(translator-property-description 'barCheckNoSynchronize boolean? "If set, don't reset measurePosition when finding a bbarcheck. This
+makes bar-checks for polyphonic music easier.")
+(translator-property-description 'barNonAuto boolean? " If set to true then bar lines will not be printed
+ automatically; they must be explicitly created with @code{bar}
+ keywords. Unlike with the @code{cadenza} keyword, measures are
+ still counted. Bar generation will resume according to that
+ count if this property is set to zero.
")
-(translator-property-description 'staffsFound list? "list of all staff-symbols found.")
-(translator-property-description 'currentBarNumber integer? "this is read to determine
- the number to put on the bar ")
(translator-property-description 'beamMelismaBusy boolean? "Signal if a beam is set when automaticMelismata is set")
-(translator-property-description 'breakAlignOrder list?
- "Defines the order in which
+(translator-property-description 'beamMelismaBusy boolean? "")
+(translator-property-description 'breakAlignOrder list? "Defines the order in which
prefatory matter (clefs, key signatures) appears, eg. this puts the
key signatures after the bar lines:
Time_signature
)
@end example
-") (translator-property-description 'chordInversion boolean? " Determines whether LilyPond should look for chord inversions when
+")
+(translator-property-description 'centralCPosition number? "Place of the central C. Usually determined by looking at clefPosition and clefGlyph.")
+(translator-property-description 'chordInversion boolean? " Determines whether LilyPond should look for chord inversions when
translating from notes to chord names. Set to 1 to find
inversions. The default is 0 which does not look for
inversions.")
+(translator-property-description 'clefGlyph string? "Name of the symbol within the music font")
+(translator-property-description 'clefOctavation integer? "Add
+this much extra octavation. Values of 7 and -7 are common.")
+(translator-property-description 'clefPitches list? "an alist mapping GLYPHNAME to the position of the central C for that symbol")
+(translator-property-description 'clefPosition number? "Where should the center of the symbol go?")
+(translator-property-description 'combineParts boolean? "try to combine parts?")
+(translator-property-description 'connectArpeggios boolean? " If
+set, connect all arpeggios that are found. In this way, you can make
+arpeggios that cross staffs.
+")
+(translator-property-description 'createKeyOnClefChange boolean? "")
+(translator-property-description 'currentBarNumber integer? "this is read to determine
+ the number to put on the bar ")
+(translator-property-description 'currentBarNumber integer? "Contains the current barnumber. This property is incremented at
+every barline.
+")
+(translator-property-description 'currentCommandColumn ly-grob? "")
+(translator-property-description 'currentMusicalColumn ly-grob? "")
+(translator-property-description 'defaultBarType string? "Sets the default type of bar line. Available bar types: [FIXME]
+")
(translator-property-description 'drarnChords boolean? "")
+(translator-property-description 'explicitClefVisibility procedure? "visibility-lambda function for clef changes.")
+(translator-property-description 'explicitKeySignatureVisibility procedure? "")
+(translator-property-description 'forgetAccidentals boolean? "do
+not set localKeySignature when a note alterated differently from
+localKeySignature is found.
+
+Causes accidentals to be printed at every note instead of
+remembered for the duration of a measure.
+")
+(translator-property-description 'graceAccidentalSpace number? "amount space to alot for an accidental")
+(translator-property-description 'graceAlignPosition dir? "put the grace note before or after the main note?")
+(translator-property-description 'instr string? "see @code{instrument}")
(translator-property-description 'instrument string? " If @code{Instrument_name_engraver}
@cindex Instrument_name_engraver
is
property is used to label subsequent lines. If the
@code{midiInstrument} property is not set, then @code{instrument}
is used to determine the instrument for MIDI output.")
-(translator-property-description 'instr string? "see @code{instrument}")
-(translator-property-description 'keySignature list? "")
-(translator-property-description 'keyOctaviation boolean? "")
-(translator-property-description 'explicitKeySignatureVisibility procedure? "")
-(translator-property-description 'createKeyOnClefChange boolean? "")
(translator-property-description 'keyAccidentalOrder list? "")
+(translator-property-description 'keyOctaviation boolean? "")
(translator-property-description 'keySignature list? "")
-(translator-property-description 'automaticPhrasing boolean? "")
-
-(translator-property-description 'weAreGraceContext boolean? "")
-
-(translator-property-description 'melismaEngraverBusy boolean? "")
-
-(translator-property-description 'associatedVoice string? "")
-
-(translator-property-description 'phrasingPunctuation string? "")
-
-(translator-property-description 'rehearsalMark number-or-string? "")
-(translator-property-description 'staffsFound list? "")
-(translator-property-description 'melismaBusy boolean? "")
-(translator-property-description 'slurMelismaBusy boolean? "")
-(translator-property-description 'tieMelismaBusy boolean? "")
-(translator-property-description 'beamMelismaBusy boolean? "")
+(translator-property-description 'keySignature list? "")
+(translator-property-description 'localKeySignature list? "the key signature at this point in the measure")
+(translator-property-description 'measureLength moment? " How long does one measure in the current time signature last?")
+(translator-property-description 'measurePosition moment? "
+ How much of the current measure (measured in whole notes) have we had?
-(translator-property-description 'startSustain string? "")
-(translator-property-description 'stopSustain string? "")
-(translator-property-description 'stopStartSustain string? "")
-(translator-property-description 'startUnaChorda string? "")
-(translator-property-description 'stopUnaChorda string? "")
-(translator-property-description 'squashedPosition integer? " Vertical position of
-squashing.")
-(translator-property-description 'Generic_property_list list? "description of the conversion.
+Set this manually to create incomplete measures (anacrusis, upbeat), eg. at the start of
+the music.
+")
+(translator-property-description 'melismaBusy boolean? "")
+(translator-property-description 'melismaEngraverBusy boolean? "")
+(translator-property-description 'noAutoBeaming boolean? " If set to true then beams are not generated automatically.
+")
+(translator-property-description 'noResetKey boolean? "Do not
+reset local key to the value of keySignature at the start of a measure,
+as determined by measurePosition.
-Defines names and types for generic properties. These are properties
-than can be plugged into the backend directly. See the init file
-@file{generic-property.scm} for details. For internal use only,
-deprecated.
+Do not reset the key at the start of a measure. Accidentals will be
+printed only once and are in effect until overridden, possibly many
+measures later.
")
+(translator-property-description 'oneBeat moment? " How long does one beat in the current time signature last?")
+(translator-property-description 'phrasingPunctuation string? "")
+(translator-property-description 'rehearsalMark number-or-string? "")
+(translator-property-description 'repeatCommands list? "This property is read to find any command of the form (volta . X), where X is a string or #f")
(translator-property-description 'repeatCommands list? "")
-(translator-property-description 'whichBar string? "")
(translator-property-description 'scriptDefinitions list? "
Description of scripts to use. (fixme)
")
-
(translator-property-description 'scriptHorizontal boolean? " Put scripts left or right of note heads. Support for this is
limited. Accidentals will collide with scripts.
")
-(translator-property-description 'currentMusicalColumn ly-grob? "")
-(translator-property-description 'currentCommandColumn ly-grob? "")
-(translator-property-description 'slurBeginAttachment symbol? "translates to the car of Slur.element-property 'attachment.")
-(translator-property-description 'slurEndAttachment symbol? "translates to the cdr of Slur.element-property 'attachment.")
-(translator-property-description 'slurMelismaBusy boolean? "Signal a slur if automaticMelismata is set")
-(translator-property-description 'connectArpeggios boolean? " If
-set, connect all arpeggios that are found. In this way, you can make
-arpeggios that cross staffs.
-")
-(translator-property-description 'stz string? "")
-(translator-property-description 'stanza string? "Stanza `number' to print at start of a verse")
(translator-property-description 'scriptHorizontal boolean? " Put scripts left or right of note heads. Support for this is
limited. Accidentals will collide with scripts.
-")
-(translator-property-description 'textNonEmpty boolean? " If set
-to true then text placed above or below the staff is not assumed to
-have zero width. @code{fatText} and @code{emptyText} are predefined
-settings.
-")
-(translator-property-description 'sparseTies boolean? "only create one tie per chord.")
-(translator-property-description 'tieMelismaBusy boolean? "Signal ties when automaticMelismata is set")
-(translator-property-description 'timeSignatureFraction number-pair? "
-pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4time signature.")
-(translator-property-description 'barCheckNoSynchronize boolean?
-"If set, don't reset measurePosition when finding a bbarcheck. This
-makes bar-checks for polyphonic music easier.")
-
-(translator-property-description 'barNonAuto boolean? " If set to true then bar lines will not be printed
- automatically; they must be explicitly created with @code{\bar}
- keywords. Unlike with the @code{\cadenza} keyword, measures are
- still counted. Bar generation will resume according to that
- count if this property is set to zero.
-")
-(translator-property-description 'whichBar string? "if not set
-explicitly (by \property or \bar), this is set according to values of
-defaultBarType, barAlways, barNonAuto and measurePosition.
- ")
-
-(translator-property-description 'barAlways boolean? " If set to true a bar line is drawn after each note.
-")
-(translator-property-description 'defaultBarType string? "Sets the default type of bar line. Available bar types: [FIXME]
")
(translator-property-description 'skipBars boolean? " Set to true to skip the empty bars that are produced by
multimeasure notes and rests. These bars will not appear on the
@c my @vebatim patch would help...
@example
@@lilypond[fragment,verbatim,center]
-r1 r1*3 R1*3\property Score.skipBars=1 r1*3 R1*3
+r1 r1*3 R1*3property Score.skipBars=1 r1*3 R1*3
@@end lilypond
@end example
")
-(translator-property-description 'timing boolean? " Keep administration of measure length, position, bar number, etc?
-Switch off for cadenzas.")
-(translator-property-description 'oneBeat moment? " How long does one beat in the current time signature last?")
-(translator-property-description 'measureLength moment? " How long does one measure in the current time signature last?")
-(translator-property-description 'measurePosition moment? "
- How much of the current measure (measured in whole notes) have we had?
+(translator-property-description 'slurBeginAttachment symbol? "translates to the car of Slur.element-property 'attachment.")
+(translator-property-description 'slurEndAttachment symbol? "translates to the cdr of Slur.element-property 'attachment.")
+(translator-property-description 'slurMelismaBusy boolean? "")
+(translator-property-description 'slurMelismaBusy boolean? "Signal a slur if automaticMelismata is set")
+(translator-property-description 'solo boolean? "set if solo is detected")
+(translator-property-description 'soloADue boolean? "set Solo/A due texts?")
+(translator-property-description 'soloIIText string? "text for begin of solo for voice ``two''")
+(translator-property-description 'soloText string? "text for begin of solo")
+(translator-property-description 'sparseTies boolean? "only create one tie per chord.")
+(translator-property-description 'split-interval number-pair? "always split into two voices for contained intervals")
+(translator-property-description 'squashedPosition integer? " Vertical position of
+squashing.")
+(translator-property-description 'staffsFound list? "list of all staff-symbols found.")
+(translator-property-description 'staffsFound list? "")
+(translator-property-description 'stanza string? "Stanza `number' to print at start of a verse")
+(translator-property-description 'startSustain string? "")
+(translator-property-description 'startUnaChorda string? "")
+(translator-property-description 'stemLeftBeamCount integer? "
+Specify the number of beams to draw on the left side of the next note.
+Overrides automatic beaming. The value is only used once, and then it
+is erased.
")
-(translator-property-description 'currentBarNumber integer? "Contains the current barnumber. This property is incremented at
-every barline.
+(translator-property-description 'stemRightBeamCount integer? "idem, for the right side")
+(translator-property-description 'stopStartSustain string? "")
+(translator-property-description 'stopSustain string? "")
+(translator-property-description 'stopUnaChorda string? "")
+(translator-property-description 'stz string? "")
+(translator-property-description 'textNonEmpty boolean? " If set
+to true then text placed above or below the staff is not assumed to
+have zero width. @code{fatText} and @code{emptyText} are predefined
+settings.
")
+(translator-property-description 'tieMelismaBusy boolean? "")
+(translator-property-description 'tieMelismaBusy boolean? "Signal ties when automaticMelismata is set")
+(translator-property-description 'timeSignatureFraction number-pair? "
+pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4time signature.")
+(translator-property-description 'timing boolean? " Keep administration of measure length, position, bar number, etc?
+Switch off for cadenzas.")
+(translator-property-description 'tremoloFlags integer? "")
+(translator-property-description 'tupletInvisible boolean? "
+ If set to true, tuplet bracket creation is switched off
+entirely. This has the same effect as setting both
+@code{tupletNumberVisibility} and @code{tupletBracketVisibility} to
+@code{#f}, but as this does not even create elements, this setting
+uses less memory and time.")
(translator-property-description 'tupletSpannerDuration moment? "
Normally a tuplet bracket is as wide as the
-@code{\times} expression that gave rise to it. By setting this
+@code{ imes} expression that gave rise to it. By setting this
property, you can make brackets last shorter. Example
@example
@@lilypond[verbatim,fragment]
-\context Voice \times 2/3 @{
- \property Voice.tupletSpannerDuration = #(make-moment 1 4)
+context Voice imes 2/3 @{
+ property Voice.tupletSpannerDuration = #(make-moment 1 4)
[c8 c c] [c c c]
@}
@@end lilypond
@end example
")
-(translator-property-description 'tupletInvisible boolean? "
- If set to true, tuplet bracket creation is switched off
-entirely. This has the same effect as setting both
-@code{tupletNumberVisibility} and @code{tupletBracketVisibility} to
-@code{#f}, but as this does not even create elements, this setting
-uses less memory and time.")
-
-
+(translator-property-description 'unirhythm boolean? "set if unirhythm is detected")
+(translator-property-description 'unisilence boolean? "set if unisilence is detected")
+(translator-property-description 'unison boolean? "set if unisono is detected ")
+(translator-property-description 'voltaSpannerDuration moment? "maximum duration of the volta bracket.
+ Set to a duration to control the size of the brackets printed by
+@code{\alternative}. It specifies the number of whole notes duration
+to use for the brackets. This can be used to shrink the length of
+brackets in the situation where one alternative is very large. It may
+have odd effects if the specified duration is longer than the music
+given in an @code{\alternative}.
+")
+(translator-property-description 'weAreGraceContext boolean? "")
+(translator-property-description 'whichBar string? "This property is read to determine what type of barline to create.
+Example:
+@example
+\\property Staff.whichBar = \"|:\"
+@end example
+will create a start-repeat bar in this staff only
+")
+(translator-property-description 'whichBar string? "")
+(translator-property-description 'whichBar string? "if not set
+explicitly (by property or bar), this is set according to values of
+defaultBarType, barAlways, barNonAuto and measurePosition.
+ ")
conversions.append ((1,3,102), conv, 'beamAutoEnd -> autoBeamSettings \\push (end * * * *)')
+
+if 1:
+ def conv (str):
+ str = re.sub ('\\\\push', '\\\\override', str)
+ str = re.sub ('\\\\pop', '\\\\revert', str)
+
+ return str
+
+ conversions.append ((1,3,110), conv, '\\push -> \\override, \\pop -> \\revert')
+
+
############################
for c in chunks:
fout.write (c[1])
fout.close ()
+ # should chmod -w
if do_deps:
write_deps (my_depname, foutn)
$(MAKEINFO) -I../ --no-split --no-headers --output $@ $<
$(outdir)/%.texi: %.texi
+ rm -f $@
cp $< $@
+ chmod -w $@