| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
They cannot be embedded LilyPond since #{ 2 . 2 #} already is valid
music.
Property paths must have at least two syntactic elements to be
recognized as such and must not start with a Scheme expression.
Technically, 3 . #'() counts.
This affects overrides and sets as well.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Historical assignments/overrides like
Variable #'x #'y = 7
or
\override Glissando.bound-details #'left #'Y = #3
without dots between the various path components do not match the syntax of
\revert and music functions or other uses. Disallow the non-separation
by '.' or ',' of such path components.
|
| |
|
|
|
|
|
| |
This admits key lists containing non-negative numbers into various
syntactic constructs previously using symbol lists.
|
|
|
|
|
|
|
|
|
|
|
| |
Those are fairly cosmetic changes (partly comments) to prepare for the
possibility of using override/revert with numeric subkeys while
retaining the necessity of using a symbol as the main property in a
Context.Grob.property.subproperties... n-tuple since the organization of
an "nalist" (an alist stack containing reversible subproperty overrides)
relies on a few special key values: currently pairs and booleans are
specially interpreted while the current implementation requires an
eq?-comparable first index for efficiency reasons.
|
|
|
|
| |
This affects evict_from_alist and nested_property_alist
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
After
x.y = { c d e f }
this allows using
\x.y
instead of #(assoc-ref x 'y) in most places where the latter would work.
|
| |
|
|
|
|
|
|
|
| |
While the dotted list syntax is natural for hierarchical paths like for
\override and \revert, it is less natural in cases that may now be written as
\keepWithTag violin,flute,oboe { c''' }
|
|
|
|
| |
Something like c_\startTextSpan should create a TextSpanner below the system.
|
|
|
|
| |
Nothing comprehesive or systematic.
|
|
|
|
|
| |
This was the single most problematic thing across C++ compilers and standards.
Foregoing it means a hassle, but using it turned out to be worse.
|
|
|
|
|
|
| |
If fee had been defined previously, the behavior became more sensible,
treating fee as an alist with a value of 0 for key fi. This is now
always the case.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By using the new -dembed-source-code command line switch,
users may now include their LilyPond source code in the
generated PDF (using the pdfmark EMBED feature); although
the PDF is not modified in any visible way, embedded .ly
files should appear in viewers that support this feature
(other viewers should degrade gracefully).
This patch adds a new ly:source-files function (with
an optional parser arg) that allows to retrieve the list
of (non distribution-provided) ly files involved in
making the current score.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
It's not really needed elsewhere anymore.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This extends transposition functionality from Music expressions to
Prob in general since Stream_event also needs transposition in the
context of quoted music. While at top level, Stream_event is
processed using the container-agnostic transpose_mutable, this does
not extend to the actual contents, and at least a Stream_event's
articulation list does not consist of Music expressions but again of
Stream_event elements.
|
|
|
|
|
| |
This checks for the existence of a pitch before using it, defaulting
to middle C.
|
| |
|
| |
|
|
|
|
| |
when StaffSymbol.ledger-extra > 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As volume changes for MIDI are encoded as note velocities, it is not
necessary to add "silent" Audio_dynamic elements to Audio_staffs to
be processed by Midi_walker. (Every "silent" Audio_dynamic event
will only get converted to a Midi_dynamic event outputted as a CC#7
event with fixed volume 100 in MIDI, see Midi_dynamic::to_string.
This behavior is not consistent with the handling of other MIDI
controls on which LilyPond will not enforce any "default" values.)
As Staff_performer::get_audio_staff has the side effect of creating
a new Audio_staff for a voice if it does not yet exist, accessing the
current voice's associated Audio_staff was moved before the handling
of Audio_dynamic elements.
Based on the revision history, not emitting any CC#7 events in MIDI
appears to have been the original intention when encoding dynamic
changes as note velocities (93b7a6ff072d73dcdd41da59cd18da8aa8d8e8cb),
but apparently the initial implementation (of passing "silent"
Audio_dynamic events to Midi_walker, and ignoring them only at the
output stage) caused problems with MIDI timing (#1593), possibly
because skipping these events only just before outputting them might
have interfered with the logic for tracking the delta times between
the MIDI events that would be actually outputted. To fix #1593,
commit f114e3c33f9c37c39c7a3fedf66ca5a074785118 conservatively
restored the emission of CC#7 events in MIDI.
The current commit tries to avoid the issues with MIDI timing by
pruning all Audio_dynamic events already from the input given to
Midi_walker, so that Midi_walker sees no events, the skipping of
which would confuse the measurement of delta times at the output
stage.
|
|
|
|
|
|
|
|
|
|
|
| |
Commits for this issue introduced whitespace errors,
these should be fixed here:
73d4697d
29022d7b
9b8b5c2e
4b994f8a
706d7978
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calculates the remaining length of a beam.
If this is shorter than the regular value at the
subdivision point more beams are used.
(Example: subdivision at 1/8 -> one beam left.
Remaing notes on the beam: 3/32 -> two beams left.)
However, if only one stem is left after the subdivision
this isn't applied in order to have a visual separation.
In this case the default subdivision beam count is used.
|
|
|
|
|
|
| |
0382ed88 erroneously reverted behaviour implemented in
issue 4355, commit 8fa2d858.
This commit reverts to the behaviour after issue 4355.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, \etc could only stand for a final markup argument. Now an
arbitrary kind and number of arguments from the last markup command in
a markup command chain may be omitted.
Example:
quarter-markup = \markup \note-by-number #2 \etc
\markup { 3/8: \quarter #1 #UP }
|
|
|
|
| |
Includes a regression test.
|
|
|
|
|
|
|
|
|
| |
It should not be registered as "Scheme_engraver", and no instances of it
should be allowed to exist without a definition of their own.
Also, instead of TRANSLATOR_DECLARATIONS_NO_LISTENER we use
TRANSLATOR_FAMILY_DECLARATIONS for anything not pertaining to an
individually documented translator.
|
|
|
|
|
|
|
|
|
|
|
| |
Issue #4355 introduced the concept that in subdivided beams the
division beam should reflect the length of the subsequent group.
However, with groups equal to or longer than one quarter note this
resulted in *no* beam left.
This commit ensures that at least one beam is returned when a beam is
active and subdivideBeam = ##t
|
|
|
|
|
| |
It needs to also call the derived_mark of its base class
Sequential_iterator. This is an oversight from issue 3693.
|
|
|
|
|
|
|
|
|
|
| |
The problem here appears to be that Beam::rest-collision-callback
returned 0 instead of any previously established offset when it
decided not to tamper with the default rest positioning without beam.
This also rewrites Beam::pure-rest-collision-callback (which appears
to have dealt correctly with the offsets here and appears
disconcertingly diverged from the unpure callback) a bit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce whiteout-style grob property, with
options of 'box and 'outline, to be used with
the whiteout grob property, and an equivalent
style property for the whiteout markup command.
Remove the whiteout-box grob property and
markup command, and use the new properties
instead.
Make the box style of whiteout the default
style again, as it was before issue 4418.
|
|
|
|
|
|
|
| |
The issue here is that Stem::set-beaming may set one of the beaming
segment lists to #f instead of an empty list, and not all users of
"beaming" (in this case where_are_the_whole_beams) were prepared to
deal with this.
|
| |
|
|
|
|
|
|
|
|
| |
Issue 4639
Clarified when we mean
'\temporary \overrride'
and just '\overrride'.
|
|
|
|
|
|
| |
In Slur_proto_engraver::Event_info, note_ will be 0 for slurs not
attached to particular note events. Calling self_scm on it is likely
to be a fatal error.
|
|
|
|
| |
This reverts commit 1de3d397c18622b6061402fef18e625701712bc5.
|