-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
} >
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=3
-PATCH_LEVEL=110
+PATCH_LEVEL=111
MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
\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
}
+++ /dev/null
-\header{
-enteredby = "Donat Wullschleger";
-}
-
-\version "1.3.93";
-
-\include "paper16.ly";
-\include "deutsch.ly";
-
-righthandfirstvoice = \notes \relative c''
- \context Voice = upper {
- \key b \major;
- \time 6/8;
-
- r8. r8. r8. r8. |
- r4. r4. |
- r2. |
-
- \bar "|.";
-}
-
-lefthandfirstvoice = \notes \relative c
- \context Voice = upper {
- \voiceOne
- \key b \major;
- \clef bass;
-
- as4. [g8 a16 h c8] |
- as4. [g8 a16 h c8] |
- as4. [g8 a16 h c8] |
-}
-
-lefthandsecondvoice = \notes \relative c
- \context Voice = lower {
- \voiceTwo
- r2. |
- r4. r4. |
- r8. r8. r8. r8. |
-}
-
-\score{
- \context PianoStaff \notes <
- \context Staff = top <
- \righthandfirstvoice
- >
- \context Staff = bottom <
- \lefthandfirstvoice
- \lefthandsecondvoice
- >
- >
-
- \paper{
- \translator{
- \OrchestralScoreContext
- }
-
- }
-}
+++ /dev/null
-% dumps core: 1.3.93
-\score{
- \notes{
- \grace {
- s16 s s s s32 s s s
- s
- s
- }
-
- }
-}
+++ /dev/null
-\version "1.3.93";
-\score{
- \notes\relative c'{
- [c16 \stemDown c'' \stemBoth c,, d]
- \stemDown [d'' a \stemBoth c,, g,]
- \stemUp [g c' \stemBoth a'' d']
- }
-}
+++ /dev/null
-%
-% Try this file with 1.2.17: it works
-% 1.2 had a different default, and uses textEmptyDimension scalar property
-%
-\score{
- \notes\relative c''{
- %\property Staff.textEmptyDimension=1
- a-"This text has no"
- a
- a
- a-"width; the default"
- \break
- \property Staff.textNonEmpty=##t
- %\property Staff.textEmptyDimension=0
- a-"This text"
- a-"is fat: notes are spaced"
- a-"far apart and text"
- a-"does not collide"
- }
- \paper{
- linewidth=80.\mm;
- }
-}
+++ /dev/null
-
-\score { \notes { c4-1-2-3 }}
+% 1st beam should prob. be horizontal.
+
\score { \notes <{ [ r8 g''16 des'] [r8 c16 a] }>}
+++ /dev/null
-%
-% must push 0 to get 'stemboth', popping alone doesn't work
-%
-\score{
- \notes\relative c''{
- c4
- \property Voice.basicStemProperties \push #'direction = #1
- c
- %\property Voice.basicStemProperties \pop #'direction
- \property basicStemProperties \pop #'direction
- c
- % burp?
- \property Voice.basicStemProperties \push #'direction = #0
- c
- }
-}
+++ /dev/null
-\header{
-Composer="Sergej Rachmaninov (1873-1943)";
-Title="Elegie";
-Subtitle="À Monsieur A. Arensky";
-Opus="Opus 3 Nr 1";
-Note="Small fragment to show Pedal and Dynamics problems";
-Enteredby="JCN";
-}
-
-%
-% Arg.
-% How to remove dynamics from Voice/Staff, but still show fingering?
-% When Dynamic_engraver is removed, the Text_engraver happily engraves
-% the dynamic markings.
-% When the Text_engraver is removed, it can't engrave the fingerings.
-%
-
-global = \notes{
- \key es \minor;
- \time 4/4;
-}
-
-upperMusic = \context Voice\notes\relative c'' {
- %1
- R1
- R1
- r2 ges'2--~
-}
-
-upperDynamics = \context Voice\notes {
- %1
- s1\pp
- s1
- s2 s2\mf
-}
-
-upperFingering = \context Voice\notes {
- %1
- s1
- s1
- s2 s2-4
-}
-
-lowerMusic = \context Voice\notes\relative c {
- %1
- <es,8(es,> bes' ges' es' bes' es, ges,)bes,
- <es,8(es,> bes' ges' es' bes' es, ges,)bes,
- <es,8(es,> bes' ges' es' bes' es, ges,)bes,
-}
-
-lowerPedal = \context Voice\notes {
- %1
- %1
- s8\unachorda\sustaindown s8 s4 s2
- s8\sustaindown\sustainup s8 s4 s2
- s8\sustaindown\sustainup s8 s4 s2\trechorde
-}
-
-lowerDynamics = \context Voice\notes {
- %1
-}
-
-lowerFingering = \context Voice\notes {
- %1
- s8 s8-5 s-2 s-1 s-2 s-1 s-2 s
- s1
- s1
-}
-
-\score{
- \context PianoStaff <
- \context UpperStaff=upper <
- \global
- \upperMusic
- \upperDynamics
- \upperFingering
- \lowerPedal
- >
- \context LowerStaff=lower <
- \global
- \clef bass;
- \lowerMusic
- \lowerPedal
- \lowerDynamics
- \lowerFingering
- \upperDynamics
- >
- >
- \paper{
- % Hmm
- \translator {
- \VoiceContext
- \remove "Piano_pedal_engraver";
- \remove "Dynamic_engraver";
- % AAAARGH!
- \remove "Text_engraver";
- }
- \translator {
- \StaffContext
- \name "UpperStaff";
- \consists "Dynamic_engraver";
- dynamicPadding = #3 % urg, in \pt
- dynamicMinimumSpace = #6 % urg, in \pt
- }
- \translator {
- \StaffContext
- \name "LowerStaff";
- \consists "Piano_pedal_engraver";
- startSustain = #"Ped."
- stopSustain = #"*"
- stopStartSustain = #"-P"
- startUnaChorda = #"una chorda"
- stopUnaChorda = #"tre chorde"
- textScriptPadding = #3.0
- }
- \translator {
- \PianoStaffContext
- \accepts "UpperStaff";
- \accepts "LowerStaff";
- }
- \translator {
- \ScoreContext
- timeSignatureStyle = #"C"
- }
- }
- \midi{
- % Zucht
- \translator {
- \StaffContext
- \name "UpperStaff";
- }
- \translator {
- \StaffContext
- \name "LowerStaff";
- }
- \translator {
- \ScoreContext
- \accepts "UpperStaff";
- \accepts "LowerStaff";
- }
- \tempo 4 = 88;
- }
-}
-
+++ /dev/null
-% using \times amongst space notes dumps core
-\score{
- \context Staff \notes\relative c''<
- \times 2/3{ a8 b c }
- \times 2/3{ s8\p s s\f }
- >
- \paper{
- }
-}
+
+ % docme.
\score{
\context Staff <
\context Voice=one\skip 1;
+++ /dev/null
-
-voice4 = \notes {
-\clef bass;
- \property Staff.instrument = "Bass"
- \property Staff.instr = "B"
- \time 4/4; f,2 ( ) f,8 r8 f8 e8
-\repeat volta 2
-{
- d8. d16 e8. f16 f8 c8 c16 c8.
-}
-\alternative
-{
- { f,2 ( ) f,8 r8 f8 e8 \break }
- { f,2. r8 c16 c16 |
- }
-}
-}
-voicedefault = \notes {
- \property Staff.timeSignatureStyle="C"
- \time 4/4; \key f;
- \tempo 4 = 200;
-}
-\score{
- \notes <
-
-
- \context Staff="4"
- {
- \$voicedefault
- \$voice4
- }
-
- >
- \paper {
- font_normal = 12.;
- \translator {
- \StaffContext
- \consists Instrument_name_engraver;
- }
- }
-}
+% 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")));
}
+++ /dev/null
-#if 0
-/*
- grob-callback.cc -- implement Callback smob.
-
- source file of the GNU LilyPond music typesetter
-
- (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- */
-
-#include "grob-callback.hh"
-
-static SCM callback_tag;
-
-static
-SCM mark_smob (SCM)
-{
- return SCM_EOL;
-}
-
-static int
-print_smob (SCM, SCM port, scm_print_state *)
-{
- scm_puts ("#<Callback>", port);
- return 1;
-}
-
-static
-scm_sizet free_smob (SCM)
-{
- return 0;
-}
-
-static
-void start_callback_smobs()
-{
- callback_tag = scm_make_smob_type_mfpe ("callback", 0,
- mark_smob, free_smob,
- print_smob, 0);
-}
-
-
-SCM
-smobify_callback (Grob_callback cb )
-{
- SCM z;
-
- SCM_NEWCELL(z);
- SCM_SETCDR (z, (SCM)cb);
- SCM_SETCAR (z, (SCM)callback_tag);
-
- return z;
-}
-
-ADD_SCM_INIT_FUNC(callback, start_callback_smobs);
-#endif
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 */
void
Instrument_name_engraver::acknowledge_grob (Grob_info i)
{
- SCM s = get_property ("instrument");
+ if (Bar::has_interface (i.elem_l_))
+ {
+ SCM s = get_property ("instrument");
- if (now_mom () > Moment (0))
- s = get_property ("instr");
+ if (now_mom () > Moment (0))
+ s = get_property ("instr");
- if (gh_string_p (s))
- {
- if (Bar::has_interface (i.elem_l_))
+ if (gh_string_p (s))
{
create_text (s);
}
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;
+++ /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 "music-iterator-ctor.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;
-}
-
-
-void init_cxx_function_smobs()
-{
- callback_tag = scm_make_smob_type_mfpe ("callback", 0,
- mark_smob, free_smob,
- print_smob, 0);
-}
-
-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_CELL_TYPE(x) == callback_tag)
- return (Cxx_function) SCM_CELL_WORD_1(x);
- else
- return 0;
-}
-
-
-
{
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"));
}
}
MAKE_SCHEME_CALLBACK(Span_bar,center_on_spanned_callback,2);
+
SCM
Span_bar::center_on_spanned_callback (SCM element_smob, SCM axis)
{
Bar::brew_molecule delivers a barline of y-extent (-h/2,h/2), so
we have to translate ourselves to be in the center of the
interval that we span. */
-
+ if (i.empty_b ())
+ {
+ me->suicide();
+ return gh_double2scm (0.0);
+ }
+
return gh_double2scm (i.center ());
}
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));
SCM type_p = SCM_EOL;
SCM errport = scm_current_error_port ();
- if (SCM_IMP(sym))
+ if (gh_symbol_p(sym))
type_p = scm_object_property (sym, type_symbol);
if (type_p != SCM_EOL && !gh_procedure_p (type_p))
;; - 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
;; Should check whether in command-alist?
-(defvar LilyPond-command-default "LilyPond")
+(defcustom LilyPond-command-default "LilyPond"
+ "Default command. Must identify a member of LilyPond-command-alist."
+
+ :group 'LilyPond
+ :type 'string)
;;;(make-variable-buffer-local 'LilyPond-command-last)
(defvar LilyPond-command-current 'LilyPond-command-master)
;; variable instead of quering the user.
(defvar LilyPond-command-force nil)
-(defvar LilyPond-xdvi-command "xdvik")
+(defcustom LilyPond-xdvi-command "xdvik"
+ "Command used to display DVI files."
+
+ :group 'LilyPond
+ :type 'string)
;; This is the major configuration variable.
(defcustom LilyPond-command-alist
`(
("LilyPond" . ("lilypond %s" . "TeX"))
("TeX" . ("tex '\\nonstopmode\\input %t'" . "View"))
-
+
+ ("2Dvi" . ("ly2dvi %s" . "View"))
+
+ ("Book" . ("lilypond-book %x" . "LaTeX"))
+ ("LaTeX" . ("latex '\\nonstopmode\\input %l'" . "View"))
+
;; point-n-click (arg: exits upop USR1)
("SmartView" . ("xdvi %d" . "LilyPond"))
LilyPond-expand-list.
"
:group 'LilyPond
- :type '(repeat (group (string :tag "Name")
+ :type '(repeat (cons :tag "Command Item"
+ (string :tag "Key")
+ (cons :tag "How"
(string :tag "Command")
- (choice :tag "How"
- :value LilyPond-run-command
- (function-item LilyPond-run-command)
- (function-item LilyPond-run-LilyPond)
- (function :tag "Other"))
- (boolean :tag "Prompt")
- (sexp :format "End\n"))))
+ (string :tag "Next Key")))))
;; drop this?
(defcustom LilyPond-file-extensions '(".ly" ".sly" ".fly")
("%t" . ".tex")
("%d" . ".dvi")
("%p" . ".ps")
+ ("%l" . ".latex")
+ ("%x" . ".tely")
)
"Alist of expansion strings for LilyPond command names."
:group 'LilyPond
- :type '(repeat (group (string :tag "Key")
- (sexp :tag "Expander")
- (repeat :inline t
- :tag "Arguments"
- (sexp :format "%v")))))
+ :type '(repeat (cons :tag "Alist item"
+ (string :tag "Symbol")
+ (string :tag "Expansion"))))
(defcustom LilyPond-command-Show "View"
"*The default command to show (view or print) a LilyPond file.
-Must be the car of an entry in LilyPond-command-alist."
+Must be the car of an entry in `LilyPond-command-alist'."
:group 'LilyPond
:type 'string)
(make-variable-buffer-local 'LilyPond-command-Show)
% 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 ))
%}
-\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
Begin3
Title: LilyPond
-Version: 1.3.110
-Entered-date: 22NOV00
+Version: 1.3.111
+Entered-date: 26NOV00
Description:
Keywords: music notation typesetting midi fonts engraving
Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
janneke@gnu.org (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 1000k lilypond-1.3.110.tar.gz
+ 1000k lilypond-1.3.111.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 1000k lilypond-1.3.110.tar.gz
+ 1000k lilypond-1.3.111.tar.gz
Copying-policy: GPL
End
%define info yes
Name: lilypond
-Version: 1.3.110
+Version: 1.3.111
Release: 1
License: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.110.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.111.tar.gz
Summary: A program for printing sheet music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
# Icon: lilypond-icon.gif
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"
(set! all-backend-properties (cons symbol all-backend-properties))
)
+
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(elt-property-description 'X-extent-callback procedure? "procedure taking an element and axis argument, returning a number-pair. The return value is the extent of the element.")
+(elt-property-description 'X-offset-callbacks list? "list of functions, each taking an element and axis argument. The function determine the position relative to this element's parent. The last one in the list is called first")
+(elt-property-description 'Y-extent-callback procedure? "see @code{X-extent-callback}")
+(elt-property-description 'Y-offset-callbacks list? "see @code{X-offset-callbacks}")
+(elt-property-description 'after-line-breaking-callback procedure? "Procedure taking graphical element as argument.
+This procedure is called (using dependency resolution) after line breaking. Return value is ignored")
+(elt-property-description 'align number? "the alignment of the text, 0 is horizontal, 1 is vertical")
+(elt-property-description 'align-dir dir? "Which side to align? -1: left side, 0: around center of width, 1: right side")
+(elt-property-description 'alignment-done boolean? "boolean to administrate whether we've done the alignment already (to ensure that the process is done only once)")
+(elt-property-description 'all-elements list? "list of all score elements in this line. Needed for protecting elements from GC.")
+(elt-property-description 'arch-angle number? "")
+(elt-property-description 'arch-height number? "")
+(elt-property-description 'arch-thick number? "")
+(elt-property-description 'arch-width number? "")
+(elt-property-description 'arithmetic-basicspace number? "")
+(elt-property-description 'arithmetic-multiplier number? "see arithmetic-basicspace")
+(elt-property-description 'attachment pair? "cons of symbols, '(LEFT-TYPE . RIGHT-TYPE), where both types may be alongside-stem, stem, head or loose-end")
+(elt-property-description 'attachment-offset pair? "cons of offsets, '(LEFT-offset . RIGHT-offset). This offset is added to the attachments to prevent ugly slurs.")
+(elt-property-description 'axes list? "list of axis numbers. Should contain only one number.")
+(elt-property-description 'axes list? "list of axis (number) in which this group works")
+(elt-property-description 'bar-size number? "")
+(elt-property-description 'bars list? "list of barline ptrs.")
+(elt-property-description 'barsize-procedure procedure? "how to compute the size of a bar line")
+(elt-property-description 'bass list? " musical-pitch, optional")
+(elt-property-description 'beam ly-grob? "pointer to the beam, if applicable")
+(elt-property-description 'beam-space-function procedure? "function returning space given multiplicity")
+(elt-property-description 'beam-space-function procedure? "function returning space given multiplicity")
+(elt-property-description 'beam-thickness number? "thickness, measured in staffspace")
+(elt-property-description 'beam-thickness number? "thickness, measured in staffspace")
+(elt-property-description 'beam-width number? "width of the tremolo sign")
+(elt-property-description 'beam-width number? "width of the tremolo sign")
+(elt-property-description 'beamed-lengths list? "list of stem lengths given beam multiplicity ")
+(elt-property-description 'beamed-minimum-lengths list? "list of minimum stem lengths given beam multiplicity")
+(elt-property-description 'beamed-stem-shorten number? "shorten beamed stems in forced direction")
+(elt-property-description 'beaming number-pair? "number of beams extending to left and right")
+(elt-property-description 'beams list? "list of beam ptrs.")
+(elt-property-description 'beautiful number? "number that dictates when a slur should be de-uglyfied. It correlates with the enclosed area between noteheads and slurs. A value of 0.1 yields only undisturbed slurs, a value of 5 will tolerate quite high blown slurs.")
+(elt-property-description 'before-grace-spacing-factor number? " stretch space this much if there are grace notes before the column")
+(elt-property-description 'before-line-breaking-callback procedure? "Procedure taking graphical element as argument.
+This procedure is called (using dependency resolution) before line breaking, but after generating discretionary items. Return value is ignored")
+(elt-property-description 'before-musical-spacing-factor number? "space before musical columns (eg. taken by accidentals) get this much
+stretched when they follow a musical column, in absence of grace
+notes. 0.0 means no extra space (accidentals are ignored)")
+(elt-property-description 'between-system-string string? "string
+ to dump between two systems. Useful for forcing pagebreaks")
+(elt-property-description 'bounded-by-me list? "list of spanners that have this
+column as start/begin point. Only columns that have elements or act as bounds are spaced.")
+(elt-property-description 'bracket-thick number? "")
+(elt-property-description 'bracket-width number? "")
+(elt-property-description 'break-align-symbol symbol? "the index in the spacing table (symbol) of the to be aligned item.")
+(elt-property-description 'break-glyph-function procedure? "function taking glyph and break-direction, returning the glyph at a line break")
+(elt-property-description 'breakable boolean? "boolean indicating if this is a breakable item (clef, barline, key sig, etc.)")
+(elt-property-description 'c0-position integer? "integer indicating the position of central C")
-(elt-property-description 'stems list? "list of stem objects, corresponding to the notes that the arpeggio has to be before.")
+(elt-property-description 'center-element ly-grob? "element which will
+be at the center of the group after aligning (when using
+Align_interface::center_on_element). ")
+
+(elt-property-description 'collapse-height number? "")
+(elt-property-description 'column-space-strength number? "relative strength of space following breakable columns (eg. prefatory matter)")
+(elt-property-description 'columns list? "list of paper-columns")
+(elt-property-description 'columns list? " list of note-columns.")
+(elt-property-description 'columns list? "list of all paper columns")
+(elt-property-description 'contains-grace boolean? "Used to widen entries for grace notes.")
+(elt-property-description 'control-points list? "List of 4 offsets (number-pairs) controlling the tie shape")
+(elt-property-description 'control-points list? "[internal] control points of bezier curve")
+(elt-property-description 'damping integer? "amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams ")
+(elt-property-description 'damping number? "damping factor.")
+(elt-property-description 'dash-length number? "the length of a dash")
+(elt-property-description 'dash-period number? "the length of one dash + white space")
+(elt-property-description 'dashed number? "[FIXME: use dash-period/dash length; see text-spanner] number representing the length of the dashes.")
+(elt-property-description 'de-uglify-parameters list? "list of 3 real constants. They define the valid areas for the middle control points. Used in de_uglyfy. They are a bit empirical.")
+(elt-property-description 'default-neutral-direction dir? "Where to go if we're in the middle of the staff")
+(elt-property-description 'default-neutral-direction dir? "which
+direction to choose if we're in the middle of the staff ")
+(elt-property-description 'delta-y number? "amount of ascension")
+(elt-property-description 'dependencies list? "list of score-element pointers that indicate who to compute first for certain global passes")
+(elt-property-description 'details list? "alist of parameters for the curve shape")
+(elt-property-description 'details list? "alist containing contaning a few magic constants.")
+(elt-property-description 'dir-forced boolean? "set if direction has been forced; read by Beam.")
+(elt-property-description 'dir-function procedure? "function of type (count total)->direction. Default value: beam-dir-majority, also available: beam-dir-mean, beam-dir-median.")
+(elt-property-description 'dir-list list? "list of stem directions, needed for optical spacing correction.")
+(elt-property-description 'direction dir? "up or down, left or right?")
+(elt-property-description 'direction-source ly-grob? "in case side-relative-direction is set, which element to get the direction from ")
+(elt-property-description 'dot ly-grob? "reference to Dots object.")
+(elt-property-description 'dot-count integer? "number of dots")
+(elt-property-description 'duration-log integer? "2-log of the notehead duration")
+(elt-property-description 'duration-log integer? "log of the duration, ie. 0=whole note, 1 = half note, etc.")
+(elt-property-description 'edge-height pair? "a cons that specifies the heights of the vertical egdes '(LEFT-height . RIGHT-height)")
+(elt-property-description 'edge-text pair? "a cons that specifies the texts to be set at the edges '(LEFT-text . RIGHT-text)")
+(elt-property-description 'elements list? " -- list of items.")
+(elt-property-description 'elements list? "list of elements (NoteColumn,
+generally) participating in the collision. The
+@code{rest-collision} property in @code{elements} is set
+to a pointer to the collision")
+(elt-property-description 'elements list? "to be aligned elements ")
+(elt-property-description 'expand-limit integer? "maximum number of measures expanded in church rests")
+(elt-property-description 'extra-extent-X number-pair? "enlarge in X dimension by this much, measured in staff space")
+(elt-property-description 'extra-extent-Y number-pair? "see @code{extra-extent-Y}")
+(elt-property-description 'extra-offset number-pair? "pair of reals (a cons) forcing an extra offset before outputting")
+(elt-property-description 'extra-space number-pair? "pair of distances")
+(elt-property-description 'extra-space number-pair? "(cons LEFT RIGHT)")
+(elt-property-description 'extremity-offset-alist list? "an alist (attachment stem-dir*dir slur-dir*dir) -> offset. The offset adds to the centre of the notehead, or stem.")
+
+(elt-property-description 'extremity-rules list? "an alist (procedure
+slur dir) -> attachment to determine the attachment (see above). If
+procedure returns #t, attachment is used. Otherwise, the next
+procedure is tried.")
+(elt-property-description 'flag-style string? "")
+(elt-property-description 'flag-width-function procedure? "")
+(elt-property-description 'font-family symbol? "partial font
+definition: music roman braces dynamic math ...")
+(elt-property-description 'font-name symbol? "partial font definition:
+base name of font file FIXME: should override other partials")
+(elt-property-description 'font-point-size number? "partial font definition: exact font size in points FIXME: should override font-relative-size")
+(elt-property-description 'font-relative-size number? "partial font definition: the relative size, 0 is style-sheet's normal size, -1 is smaller, +1 is bigger")
+(elt-property-description 'font-relative-size integer? "")
+(elt-property-description 'font-series symbol? "partial font definition: medium, bold")
+(elt-property-description 'font-shape symbol? "partial font definition: upright or italic")
+
+(elt-property-description 'font-style symbol? "a precooked set of font
+definitions, eg. finger volta timesig mark script large Large
+dynamic")
+
+(elt-property-description 'force-hshift number? "amount of
+collision_note_width that overides automatic collision settings. This
+is used by @ref{note-collision-interface}")
+
+(elt-property-description 'fraction number-pair? "")
+(elt-property-description 'full-size-change boolean? "if set, don't make a change clef smaller.")
+
+(elt-property-description 'glyph symbol? "a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. ")
+(elt-property-description 'glyph string? "what kind barline? A concatenation of |, : and .")
+(elt-property-description 'glyph string? "a string determining what glyph is typeset")
+
+
+(elt-property-description 'grow-direction dir? "crescendo or decrescendo?")
+(elt-property-description 'hair-thickness number? "thickness, measured in stafflinethickness")
+(elt-property-description 'heads pair? "pair of element pointers, pointing to the two heads of the tie. ")
+(elt-property-description 'heads list? "list of note heads")
+(elt-property-description 'height number? "in staffspace ")
+(elt-property-description 'height-quants procedure? "function of type (beam staff-line-thickness) -> list of quants. Default value: default-beam-dy-quants.
+")
+(elt-property-description 'horizontal-shift integer? "integer that identifies ranking of note-column for horizontal shifting. This is used by @ref{note-collision-interface}")
+(elt-property-description 'horizontal-space number? "amount of space to add after a note (in staff-space)")
+(elt-property-description 'ideal-distances list? "(OBJ . (DIST . STRENGTH)) pairs")
+(elt-property-description 'interfaces list? "list of symbols indicating the interfaces supported by this object. Is initialized from the @code{meta} field.")
+(elt-property-description 'inversion list? " musical-pitch, optional")
+(elt-property-description 'items-worth-living list? "list of interesting items. If empty in a particular system, clear that system.")
+(elt-property-description 'kern number? "amount of extra white space to add before text. This is `relative'(?) to the current alignment.")
+(elt-property-description 'kern number? "space after a thick line")
+(elt-property-description 'left-padding number? "space left of accs")
+(elt-property-description 'lengths list? "Stem length given multiplicity of flag")
+(elt-property-description 'line-count integer? "Number of staff lines")
+(elt-property-description 'line-thickness number? "the thickness[stafflinethickness] of the line")
+(elt-property-description 'lookup symbol? "lookup method: 'value for plain text, 'name for character-name")
+(elt-property-description 'magnify number? "the magnification factor. FIXME: doesn't work for feta fonts")
+(elt-property-description 'maximum-duration-for-spacing moment? "space as if a duration of this type is available in this measure.")
+(elt-property-description 'maximum-rest-count integer? "kill off rests so we don't more than this number left.")
(elt-property-description 'merge-differently-dotted boolean? " Merge noteheads in collisions, even if they have a different number of dots. This normal notation for some types of polyphonic music. The value of this setting is used by @ref{note-collision-interface} ")
+(elt-property-description 'minimum-distance number? "minimum distance between notes and rests.")
+(elt-property-description 'minimum-distances list? "list of rods (ie. (OBJ . DIST) pairs)")
+(elt-property-description 'minimum-extent-X number-pair? "minimum size in X dimension, measured in staff space")
+(elt-property-description 'minimum-extent-Y number-pair? "see @code{minimum-extent-Y}")
+(elt-property-description 'minimum-length number? "minimum length in staffspace")
+
+(elt-property-description 'minimum-length number? "try to make the
+hyphens at least this long. Also works as a scaling parameter for the
+length")
+
+;; FIXME.
+(elt-property-description 'minimum-space number-pair? "(cons LEFT RIGHT)")
+(elt-property-description 'minimum-space number? "minimum distance that the victim should move (after padding)")
+
+
+(elt-property-description 'minimum-width number? "minimum-width of rest symbol, in staffspace")
+(elt-property-description 'molecule-callback procedure? "Function taking graphical element as argument, returning a Scheme encoded Molecule.")
+(elt-property-description 'new-accidentals list? "list of (pitch, accidental) pairs")
+(elt-property-description 'no-spacing-rods boolean? "read from elements: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM)")
+(elt-property-description 'non-default boolean? "not set because of existence of a bar?")
(elt-property-description 'note-width 'number? "unit for horizontal translation, measured in staff-space.")
+(elt-property-description 'number-gap number? "")
+(elt-property-description 'old-accidentals list? "list of (pitch, accidental) pairs")
+(elt-property-description 'origin ly-input-location? "location in input file of the definition")
+(elt-property-description 'outer-stem-length-limit number? "catch
+suspect beam slopes, set slope to zero if outer stem is lengthened
+more than this (in staffspace)")
-(elt-property-description 'style symbol? "a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. ")
-(elt-property-description 'glyph symbol? "a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. ")
+(elt-property-description 'padding number? "add this much extra space between objects that are next to each other")
+(elt-property-description 'parallel-beam boolean? "internal: true if there is a beam just as wide as the bracket ")
+(elt-property-description 'pitches list? "list of musical-pitch")
+(elt-property-description 'raise number? "height for text to be raised (a negative value lowers the text")
+(elt-property-description 'right-padding number? "space right of accs")
+(elt-property-description 'right-trim-amount number? "")
+(elt-property-description 'script-priority number? "A sorting key that determines in what order a script is within a stack of scripts")
+(elt-property-description 'self-alignment-X number? "real number: -1 =
+left aligned, 0 = center, 1 right-aligned in X direction.
-(elt-property-description 'dot-count integer? "number of dots")
-(elt-property-description 'font-style symbol? "a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic")
-(elt-property-description 'font-series symbol? "partial font definition: medium, bold")
-(elt-property-description 'font-shape symbol? "partial font definition: upright or italic")
-(elt-property-description 'font-family symbol? "partial font definition: music roman braces dynamic math ...")
-(elt-property-description 'font-name symbol? "partial font definition: base name of font file FIXME: should override other partials")
-(elt-property-description 'font-point-size number? "partial font definition: exact font size in points FIXME: should override font-relative-size")
-(elt-property-description 'font-relative-size number? "partial font definition: the relative size, 0 is style-sheet's normal size, -1 is smaller, +1 is bigger")
+ Set to an element pointer, if you want that element to be the center.
+In this case, the center element should have this object as a
+reference point.
+")
+(elt-property-description 'self-alignment-Y number? "like self-alignment-X but for Y axis")
+(elt-property-description 'shortest-playing-duration moment? "duration of the shortest playing in that column.")
+(elt-property-description 'shortest-starter-duration moment? "duration of the shortest notes that starts exactly in this column.")
+(elt-property-description 'side-relative-direction dir? "if set: get the direction from a different object, and multiply by this.")
+(elt-property-description 'side-support list? "the support, a list of score elements")
+(elt-property-description 'slope-limit number? "set slope to zero if slope is running away steeper than this.")
+(elt-property-description 'space-function procedure? "function of type multiplicity -> real (in staffspace)")
+(elt-property-description 'spacing-procedure procedure? "procedure
+taking graphical element as argument. This is called after
+before-line-breaking-callback, but before the actual line breaking
+itself. Return value is ignored")
+(elt-property-description 'stacking-dir dir? "stack contents of elements in which direction ?")
+(elt-property-description 'staff-space number? "Amount of line leading relative to global staffspace")
+(elt-property-description 'staffline-clearance number? "don't get closer than this to stafflines.")
+(elt-property-description 'stem ly-grob? "pointer to the stem object.")
+(elt-property-description 'stem ly-grob? "pointer to Stem object")
+(elt-property-description 'stem-centered boolean? "Center stems on note heads. Useful for mensural notation")
+(elt-property-description 'stem-end-position number? "Where does the stem end (the end is opposite to the support-head")
+(elt-property-description 'stem-length number? "length of stem")
+(elt-property-description 'stem-shorten list? "shorten stems in forced directions given flag multiplicity")
+(elt-property-description 'stem-spacing-correction number? "optical correction amount.")
+(elt-property-description 'stems list? "list of stem objects, corresponding to the notes that the arpeggio has to be before.")
+(elt-property-description 'stretch-distance number-pair? "pair of distances")
+(elt-property-description 'style symbol? "a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. ")
+(elt-property-description 'support-head ly-grob? "the note head at
+one end of the stem")
(elt-property-description 'text markup? "
Scheme markup text. It is defined as follows:
@item any font-style
finger volta timesig mmrest mark script large Large dynamic
@end table
-" )
-
-(elt-property-description 'maximum-duration-for-spacing moment? "space as if a duration of this type is available in this measure.")
-(elt-property-description 'arithmetic-basicspace number? "")
-(elt-property-description 'staff-space number? "Amount of line leading relative to global staffspace")
-(elt-property-description 'line-count integer? "Number of staff lines")
-(elt-property-description 'elements list? " -- list of items.")
-(elt-property-description 'collapse-height number? "")
-
-(elt-property-description 'bars list? "list of barline ptrs.")
-(elt-property-description 'thickness number? "thickness, measured in stafflinethickness")
-(elt-property-description 'height number? "in staffspace ")
-(elt-property-description 'arch-height number? "")
-(elt-property-description 'arch-angle number? "")
-(elt-property-description 'arch-thick number? "")
-(elt-property-description 'arch-width number? "")
-(elt-property-description 'bracket-thick number? "")
-(elt-property-description 'bracket-width number? "")
-(elt-property-description 'dash-period number? "the length of one dash + white space")
-(elt-property-description 'dash-length number? "the length of a dash")
-(elt-property-description 'line-thickness number? "the thickness[stafflinethickness] of the line")
-(elt-property-description 'edge-height pair? "a cons that specifies the heights of the vertical egdes '(LEFT-height . RIGHT-height)")
-(elt-property-description 'edge-text pair? "a cons that specifies the texts to be set at the edges '(LEFT-text . RIGHT-text)")
-(elt-property-description 'type string? "one of: line, dashed-line or dotted-line") ; SYMBOL!!?
-(elt-property-description 'staffline-clearance number? "don't get closer than this to stafflines.")
-(elt-property-description 'control-points list? "List of 4 offsets (number-pairs) controlling the tie shape")
-(elt-property-description 'heads pair? "pair of element pointers, pointing to the two heads of the tie. ")
-(elt-property-description 'details list? "alist of parameters for the curve shape")
-(elt-property-description 'x-gap number? "horizontal gap between notehead and tie")
-(elt-property-description 'direction dir? "up or down, left or right?")
-(elt-property-description 'minimum-length number? "minimum length in staffspace")
-
-(elt-property-description 'arithmetic-multiplier number? "see arithmetic-basicspace")
-(elt-property-description 'stem ly-grob? "pointer to the stem object.")
-(elt-property-description 'beam-width number? "width of the tremolo sign")
-(elt-property-description 'beam-thickness number? "thickness, measured in staffspace")
-(elt-property-description 'beam-space-function procedure? "function returning space given multiplicity")
-(elt-property-description 'beam-width number? "width of the tremolo sign")
-(elt-property-description 'beam-thickness number? "thickness, measured in staffspace")
-(elt-property-description 'beam-space-function procedure? "function returning space given multiplicity")
-(elt-property-description 'horizontal-space number? "amount of space to add after a note (in staff-space)")
-(elt-property-description 'items-worth-living list? "list of interesting items. If empty in a particular system, clear that system.")
-(elt-property-description 'align number? "the alignment of the text, 0 is horizontal, 1 is vertical")
-(elt-property-description 'lookup symbol? "lookup method: 'value for plain text, 'name for character-name")
-(elt-property-description 'raise number? "height for text to be raised (a negative value lowers the text")
-(elt-property-description 'kern number? "amount of extra white space to add before text. This is `relative'(?) to the current alignment.")
-(elt-property-description 'magnify number? "the magnification factor. FIXME: doesn't work for feta fonts")
-(elt-property-description 'minimum-distances list? "list of rods (ie. (OBJ . DIST) pairs)")
-(elt-property-description 'maximum-rest-count integer? "kill off rests so we don't more than this number left.")
-(elt-property-description 'minimum-distance number? "minimum distance between notes and rests.")
-(elt-property-description 'elements list? "list of elements (NoteColumn,
-generally) participating in the collision. The
-@code{rest-collision} property in @code{elements} is set
-to a pointer to the collision")
-(elt-property-description 'ideal-distances list? "(OBJ . (DIST . STRENGTH)) pairs")
-(elt-property-description 'script-priority number? "A sorting key that determines in what order a script is within a stack of scripts")
-(elt-property-description 'dir-list list? "list of stem directions, needed for optical spacing correction.")
-(elt-property-description 'columns list? "list of paper-columns")
-(elt-property-description 'expand-limit integer? "maximum number of measures expanded in church rests")
-(elt-property-description 'minimum-width number? "minimum-width of rest symbol, in staffspace")
-(elt-property-description 'padding number? "padding between number and rest. Measured in staffspace.")
-(elt-property-description 'column-space-strength number? "relative strength of space following breakable columns (eg. prefatory matter)")
-(elt-property-description 'before-musical-spacing-factor number?
- "space before musical columns (eg. taken by accidentals) get this much
-stretched when they follow a musical column, in absence of grace
-notes. 0.0 means no extra space (accidentals are ignored)")
-(elt-property-description 'stem-spacing-correction number? "optical correction amount.")
-(elt-property-description 'before-grace-spacing-factor number? " stretch space this much if there are grace notes before the column")
-(elt-property-description 'when moment? "when does this column happen?")
-(elt-property-description 'bounded-by-me list? "list of spanners that have this
-column as start/begin point. Only columns that have elements or act as bounds are spaced.")
-(elt-property-description 'shortest-playing-duration moment? "duration of the shortest playing in that column.")
-(elt-property-description 'shortest-starter-duration moment? "duration of the shortest notes that starts exactly in this column.")
-(elt-property-description 'contains-grace boolean? "Used to widen entries for grace notes.")
-(elt-property-description 'extra-space number-pair? "pair of distances")
-(elt-property-description 'stretch-distance number-pair? "pair of distances")
-
-(elt-property-description 'barsize-procedure procedure? "how to compute the size of a bar line")
-(elt-property-description 'kern number? "space after a thick line")
-(elt-property-description 'thin-kern number? "space after a hair-line")
-(elt-property-description 'hair-thickness number? "thickness, measured in stafflinethickness")
+")
+(elt-property-description 'thick number? "thickness, in stafflinethickness")
(elt-property-description 'thick-thickness number? "thickness, measured in stafflinethickness")
-(elt-property-description 'glyph string? "what kind barline? A concatenation of |, : and .")
-(elt-property-description 'bar-size number? "")
-(elt-property-description 'break-glyph-function procedure? "function taking glyph and break-direction, returning the glyph at a line break")
-(elt-property-description 'grow-direction dir? "crescendo or decrescendo?")
-(elt-property-description 'padding number? "horizontal padding. This is useful if a crescendo is set next to a text like `mf'")
-(elt-property-description 'c0-position integer? "integer indicating the position of central C")
-(elt-property-description 'old-accidentals list? "list of (pitch, accidental) pairs")
-(elt-property-description 'new-accidentals list? "list of (pitch, accidental) pairs")
-
-(elt-property-description 'minimum-length number? "try to make the hyphens at least this long. Also works as a scaling parameter for the length")
-(elt-property-description 'word-space number? "elongate left by this much (FIXME: cumbersome semantics)")
-(elt-property-description 'right-trim-amount number? "")
-
-(elt-property-description 'pitches list? "list of musical-pitch")
-(elt-property-description 'inversion list? " musical-pitch, optional")
-(elt-property-description 'bass list? " musical-pitch, optional")
-(elt-property-description 'fraction number-pair? "")
-(elt-property-description 'break-align-symbol symbol? "the index in the spacing table (symbol) of the to be aligned item.")
-(elt-property-description 'visibility-lambda procedure? "a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY)")
-(elt-property-description 'breakable boolean? "boolean indicating if this is a breakable item (clef, barline, key sig, etc.)")
-(elt-property-description 'minimum-space number-pair? "(cons LEFT RIGHT)")
-(elt-property-description 'extra-space number-pair? "(cons LEFT RIGHT)")
-
-(elt-property-description 'stacking-dir dir? "stack contents of elements in which direction ?")
-(elt-property-description 'align-dir dir? "Which side to align? -1: left side, 0: around center of width, 1: right side")
-(elt-property-description 'threshold number-pair? "(cons MIN MAX), where MIN and MAX are dimensions in staffspace")
-(elt-property-description 'alignment-done boolean? "boolean to administrate whether we've done the alignment already (to ensure that the process is done only once)")
-(elt-property-description 'center-element ly-grob? "element which will be at the
-center of the group after aligning (when using
-Align_interface::center_on_element). ")
-(elt-property-description 'elements list? "to be aligned elements ")
-(elt-property-description 'axes list? "list of axis numbers. Should contain only one number.")
-
-(elt-property-description 'beams list? "list of beam ptrs.")
-(elt-property-description 'columns list? " list of note-columns.")
-(elt-property-description 'number-gap number? "")
-(elt-property-description 'delta-y number? "amount of ascension")
+(elt-property-description 'thickness number? "thickness, measured in stafflinethickness")
+(elt-property-description 'thin-kern number? "space after a hair-line")
+(elt-property-description 'threshold number-pair? "(cons MIN MAX), where MIN and MAX are dimensions in staffspace")
+(elt-property-description 'transparent boolean? "This is almost the
+same as setting molecule-callback to #f, but this retains the
+dimensions of this element, which means that you can erase elements
+individually. ")
(elt-property-description 'tuplet-bracket-visibility boolean-or-symbol? "
This controls the visibility of the tuplet bracket.
Setting it to false will prevent printing of the
print only if there is no beam associated with this tuplet bracket.")
(elt-property-description 'tuplet-number-visibility boolean-or-symbol? "
Like @code{tuplet-bracket-visibility}, but for the number.")
-(elt-property-description 'parallel-beam boolean? "internal: true if there is a beam just as wide as the bracket ")
-(elt-property-description 'thick number? "thickness, in stafflinethickness")
-(elt-property-description 'dot ly-grob? "reference to Dots object.")
-(elt-property-description 'stem ly-grob? "pointer to Stem object")
-(elt-property-description 'duration-log integer? "2-log of the notehead duration")
-(elt-property-description 'between-system-string string? "string
- to dump between two systems. Useful for forcing pagebreaks")
-(elt-property-description 'spacing-procedure procedure? "procedure taking
-graphical element as argument. This is called after before-line-breaking-callback, but before the actual line breaking itself. Return value is ignored")
-(elt-property-description 'before-line-breaking-callback procedure?
- "Procedure taking graphical element as argument.
-This procedure is called (using dependency resolution) before line breaking, but after generating discretionary items. Return value is ignored")
-(elt-property-description 'after-line-breaking-callback procedure?
- "Procedure taking graphical element as argument.
-This procedure is called (using dependency resolution) after line breaking. Return value is ignored")
-(elt-property-description 'all-elements list? "list of all score elements in this line. Needed for protecting elements from GC.")
-(elt-property-description 'columns list? "list of all paper columns")
-(elt-property-description 'left-padding number? "space left of accs")
-(elt-property-description 'right-padding number? "space right of accs")
-(elt-property-description 'side-support list? "the support, a list of score elements")
-(elt-property-description 'direction-source ly-grob? "in case side-relative-direction is set, which element to get the direction from ")
-(elt-property-description 'side-relative-direction dir? "if set: get the direction from a different object, and multiply by this.")
-(elt-property-description 'minimum-space number? "minimum distance that the victim should move (after padding)")
-(elt-property-description 'padding number? "add this much extra space between victim and support")
-(elt-property-description 'self-alignment-X number? "real number: -1 =
-left aligned, 0 = center, 1 right-aligned in X direction.
-
- Set to an element pointer, if you want that element to be the center.
-In this case, the center element should have this object as a
-reference point.
-")
-(elt-property-description 'self-alignment-Y number? "like self-alignment-X but for Y axis")
-
-(elt-property-description 'de-uglify-parameters list? "list of 3 real constants. They define the valid areas for the middle control points. Used in de_uglyfy. They are a bit empirical.")
-(elt-property-description 'details list? "alist containing contaning a few magic constants.")
-(elt-property-description 'attachment pair? "cons of symbols, '(LEFT-TYPE . RIGHT-TYPE), where both types may be alongside-stem, stem, head or loose-end")
-(elt-property-description 'attachment-offset pair? "cons of offsets, '(LEFT-offset . RIGHT-offset). This offset is added to the attachments to prevent ugly slurs.")
-(elt-property-description 'beautiful number? "number that dictates when a slur should be de-uglyfied. It correlates with the enclosed area between noteheads and slurs. A value of 0.1 yields only undisturbed slurs, a value of 5 will tolerate quite high blown slurs.")
-(elt-property-description 'y-free number? "minimal vertical gap between slur and noteheads or stems")
-(elt-property-description 'control-points list? "[internal] control points of bezier curve")
-(elt-property-description 'extremity-rules list? "an alist (procedure slur dir) -> attachment to determine the attachment (see above). If procedure returns #t, attachment is used. Otherwise, the next procedure is tried.")
-(elt-property-description 'extremity-offset-alist list? "an alist (attachment stem-dir*dir slur-dir*dir) -> offset. The offset adds to the centre of the notehead, or stem.")
-(elt-property-description 'dashed number? "[FIXME: use dash-period/dash length; see text-spanner] number representing the length of the dashes.")
-(elt-property-description 'non-default boolean? "not set because of existence of a bar?")
-(elt-property-description 'full-size-change boolean? "if set, don't make a change clef smaller.")
-(elt-property-description 'glyph string? "a string determining what glyph is typeset")
-(elt-property-description 'axes list? "list of axis (number) in which this group works")
-(elt-property-description 'horizontal-shift integer? "integer that identifies ranking of note-column for horizontal shifting. This is used by @ref{note-collision-interface}")
-(elt-property-description 'force-hshift number? "amount of collision_note_width that overides automatic collision settings. This is used by @ref{note-collision-interface}")
-(elt-property-description 'beamed-lengths list? "list of stem lengths given beam multiplicity ")
-(elt-property-description 'beamed-minimum-lengths list? "list of minimum stem lengths given beam multiplicity")
-(elt-property-description 'stem-centered boolean? "Center stems on note heads. Useful for mensural notation")
-(elt-property-description 'lengths list? "Stem length given multiplicity of flag")
-(elt-property-description 'beam ly-grob? "pointer to the beam, if applicable")
-(elt-property-description 'stem-shorten list? "shorten stems in forced directions given flag multiplicity")
-(elt-property-description 'duration-log integer? "log of the duration, ie. 0=whole note, 1 = half note, etc.")
-(elt-property-description 'beaming number-pair? "number of beams extending to left and right")
-(elt-property-description 'default-neutral-direction dir? "Where to go if we're in the middle of the staff")
-(elt-property-description 'stem-end-position number? "Where does the stem end (the end is opposite to the support-head")
-(elt-property-description 'support-head ly-grob? "the note head at
-one end of the stem")
-(elt-property-description 'heads list? "list of note heads")
-(elt-property-description 'stem-length number? "length of stem")
-(elt-property-description 'flag-style string? "") ; symbol!?
-(elt-property-description 'dir-forced boolean? "set if direction has been forced; read by Beam.")
-
-(elt-property-description 'y-position number? "position of left edge")
-(elt-property-description 'flag-width-function procedure? "")
-(elt-property-description 'damping integer? "amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams ")
-(elt-property-description 'default-neutral-direction dir? "which
-direction to choose if we're in the middle of the staff ")
-(elt-property-description 'space-function procedure? "function of type multiplicity -> real (in staffspace)")
-(elt-property-description 'beamed-stem-shorten number? "shorten beamed stems in forced direction")
-(elt-property-description 'height-quants procedure? "function of type (beam staff-line-thickness) -> list of quants. Default value: default-beam-dy-quants.
-")
+(elt-property-description 'type string? "one of: line, dashed-line or dotted-line")
(elt-property-description 'vertical-position-quant-function procedure? "
function of type (beam multiplicity dy staff-line-thickness) -> real. Default value: default-beam-y-quants, also available: beam-traditional-y-quants.
")
-(elt-property-description 'dir-function procedure? "function of type (count total)->direction. Default value: beam-dir-majority, also available: beam-dir-mean, beam-dir-median.")
-(elt-property-description 'damping number? "damping factor.")
-(elt-property-description 'outer-stem-length-limit number? "catch
-suspect beam slopes, set slope to zero if outer stem is lengthened
-more than this (in staffspace)")
-(elt-property-description 'slope-limit number? "set slope to zero if slope is running away steeper than this.")
-(elt-property-description 'X-offset-callbacks list? "list of functions, each taking an element and axis argument. The function determine the position relative to this element's parent. The last one in the list is called first")
-(elt-property-description 'Y-offset-callbacks list? "see @code{X-offset-callbacks}")
-(elt-property-description 'X-extent-callback procedure? "procedure taking an element and axis argument, returning a number-pair. The return value is the extent of the element.")
-(elt-property-description 'Y-extent-callback procedure? "see @code{X-extent-callback}")
-(elt-property-description 'font-relative-size integer? "")
-(elt-property-description 'extra-offset number-pair? "pair of reals (a cons) forcing an extra offset before outputting")
-(elt-property-description 'interfaces list? "list of symbols indicating the interfaces supported by this object. Is initialized from the @code{meta} field.")
-(elt-property-description 'dependencies list? "list of score-element pointers that indicate who to compute first for certain global passes")
-(elt-property-description 'no-spacing-rods boolean? "read from elements: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM)")
-(elt-property-description 'extra-extent-X number-pair? "enlarge in X dimension by this much, measured in staff space")
-(elt-property-description 'extra-extent-Y number-pair? "see @code{extra-extent-Y}")
-(elt-property-description 'minimum-extent-X number-pair? "minimum size in X dimension, measured in staff space")
-(elt-property-description 'minimum-extent-Y number-pair? "see @code{minimum-extent-Y}")
-(elt-property-description 'origin ly-input-location? "location in input file of the definition")
-(elt-property-description 'transparent boolean? "This is almost the
-same as setting molecule-callback to #f, but this retains the
-dimensions of this element, which means that you can erase elements
-individually. ")
-(elt-property-description 'molecule-callback procedure? "Function taking graphical element as argument, returning a Scheme encoded Molecule.")
-
+(elt-property-description 'visibility-lambda procedure? "a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY)")
+(elt-property-description 'when moment? "when does this column happen?")
+(elt-property-description 'word-space number? "elongate left by this much (FIXME: cumbersome semantics)")
+(elt-property-description 'x-gap number? "horizontal gap between notehead and tie")
+(elt-property-description 'y-free number? "minimal vertical gap between slur and noteheads or stems")
+(elt-property-description 'y-position number? "position of left edge")
(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 $@