summaryrefslogtreecommitdiff
path: root/lily
Commit message (Collapse)AuthorAgeFilesLines
* Issue 4811/1: Allow property paths as scalars and in assignmentsDavid Kastrup2016-03-291-0/+31
| | | | | | | | | | | 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.
* Fix breakage in merge of 4798/4. Add regtest.David Kastrup2016-03-221-1/+2
|
* Issue 4800: Require path separators in assignments/overridesDavid Kastrup2016-03-221-9/+1
| | | | | | | | | | 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.
* Issue 4798/6: Admit lists starting with UNSIGNED as music function argumentsDavid Kastrup2016-03-191-0/+6
|
* Issue 4798/4: Parser work for key lists including numbersDavid Kastrup2016-03-193-5/+9
| | | | | This admits key lists containing non-negative numbers into various syntactic constructs previously using symbol lists.
* Issue 4798/2: Prepare override/revert to deal with numeric subkeysDavid Kastrup2016-03-192-3/+9
| | | | | | | | | | | 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.
* Issue 4798/1: Make alist routines use equal? key comparisonsDavid Kastrup2016-03-191-1/+2
| | | | This affects evict_from_alist and nested_property_alist
* Optimize assoc_tail for various key typesDavid Kastrup2016-03-191-4/+6
|
* Add assv_tail functionDavid Kastrup2016-03-192-0/+12
|
* Issue 4797: Let the parser interpret alist variablesDavid Kastrup2016-03-191-1/+19
| | | | | | | | | | | | 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.
* Create nested_property functionDavid Kastrup2016-03-192-0/+14
|
* Issue 4790: Let ',' separate symbol lists like '.' doesDavid Kastrup2016-03-131-1/+23
| | | | | | | 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''' }
* Issue 4785: Let TextSpanner inherit any direction set in eventDavid Kastrup2016-03-131-0/+2
| | | | Something like c_\startTextSpan should create a TextSpanner below the system.
* Some code cleanup in lookup.ccDavid Kastrup2016-03-101-4/+4
| | | | Nothing comprehesive or systematic.
* Remove Smob::type_p_name_ defaultDavid Kastrup2016-03-1014-12/+26
| | | | | 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.
* Issue 4786: fee.fi = 0 was interpreted as as fee = 0 for undefined feeDavid Kastrup2016-03-081-0/+2
| | | | | | 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.
* (Optionally) embed ly source files inside generated PDFValentin Villenave2016-03-071-0/+25
| | | | | | | | | | | | | | 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.
* Issue 4779: Accept isolated durations as music function argumentsDavid Kastrup2016-03-041-23/+94
|
* Use new arguments of make_durationDavid Kastrup2016-03-041-11/+2
|
* Let make_duration accept preexisting durations and factorDavid Kastrup2016-03-041-7/+23
|
* Let make_music_from_simple accept numbers/durationsDavid Kastrup2016-03-041-3/+11
|
* parser.yy: factor out "multipliers" from "multiplied_duration"David Kastrup2016-03-041-10/+28
|
* parser.yy: Remove redundant duration_lengthDavid Kastrup2016-03-041-9/+3
|
* Issue 4770: Avoid unnecessary use of scm_list_n/scm_apply_0David Kastrup2016-03-046-26/+22
|
* Issue 4718/4: Fold transpose_mutable into Prob::transposeDavid Kastrup2016-03-042-14/+6
| | | | It's not really needed elsewhere anymore.
* Issue 4718/3: Let Quote_iterator::process use Prob::transposeDavid Kastrup2016-03-041-2/+1
|
* Issue 4718/2: Let transpose_music_list act defensively for non-Prob membersDavid Kastrup2016-03-041-1/+2
|
* Issue 4718/1: In-chord tie in cue causes segfaultDavid Kastrup2016-03-044-6/+10
| | | | | | | | | | 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.
* Issue 4767: Crash with Completion_heads_engraver and bare durationsDavid Kastrup2016-02-151-1/+1
| | | | | This checks for the existence of a pitch before using it, defaulting to middle C.
* Issue 4741: Allow Scheme functions to be called inside of markupDavid Kastrup2016-01-271-1/+1
|
* Issue 4743/1: Add ly:one-line-auto-height-breakingPaul Morris2016-01-244-6/+155
|
* Do not draw ledger lines on top of staff linesPaul Morris2016-01-161-1/+14
| | | | when StaffSymbol.ledger-extra > 0
* Do not output CC#7 events in MIDI on dynamic changesHeikki Tauriainen2016-01-151-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix whitespace errors introduced in issue 4704Urs Liska2016-01-011-7/+7
| | | | | | | | | | | Commits for this issue introduced whitespace errors, these should be fixed here: 73d4697d 29022d7b 9b8b5c2e 4b994f8a 706d7978
* 4704: Improve beam subdivision beaming countUrs Liska2015-12-282-9/+42
| | | | | | | | | | | | 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.
* 4704: Partially revert 0382ed88: "Adjust beam subdivision"Urs Liska2015-12-281-3/+2
| | | | | | 0382ed88 erroneously reverted behaviour implemented in issue 4355, commit 8fa2d858. This commit reverts to the behaviour after issue 4355.
* Remove unused `max-stretch' property.Werner Lemberg2015-12-261-1/+0
|
* Add ly:grob-spanned-rank-intervalPaul Morris2015-12-231-0/+15
|
* Issue 4687/1: Let \etc in partial markup commands stand for any argumentsDavid Kastrup2015-12-161-1/+32
| | | | | | | | | | | | 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 }
* Add and use note-collision-threshold grob propertyPaul Morris2015-12-112-7/+12
| | | | Includes a regression test.
* Issue 4674: Disallow "Scheme_engraver" as an engraver class of its ownDavid Kastrup2015-12-045-37/+24
| | | | | | | | | 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 4664: Ensure one beam is left in subdivided beamsUrs Liska2015-11-251-1/+1
| | | | | | | | | | | 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
* Issue 4670: Percent_repeat_iterator's derived_mark is incompleteDavid Kastrup2015-11-241-0/+1
| | | | | It needs to also call the derived_mark of its base class Sequential_iterator. This is an oversight from issue 3693.
* Issue 4657: Tweak Rest.staff-position fails with beamDavid Kastrup2015-11-191-10/+15
| | | | | | | | | | 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.
* Issue 4504/1 add whiteout-style, drop whiteout-boxPaul Morris2015-11-112-17/+6
| | | | | | | | | | | | | | 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.
* Issue 4653: French beam ending on rest causes segfaultDavid Kastrup2015-11-103-4/+4
| | | | | | | 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.
* Implement ly_memv as a sloppy memv variantDavid Kastrup2015-11-102-0/+13
|
* Doc: scm - Clarify ly:context-pushpop-propertyJames Lowe2015-11-071-1/+1
| | | | | | | | Issue 4639 Clarified when we mean '\temporary \overrride' and just '\overrride'.
* Fix GC catastrophe in Slur_proto_engraver::derived_markDavid Kastrup2015-10-241-2/+4
| | | | | | 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.
* Revert "Issue 4550 (1/2) Avoid "using namespace std;" in included files"David Kastrup2015-10-18238-532/+3
| | | | This reverts commit 1de3d397c18622b6061402fef18e625701712bc5.