| Commit message (Expand) | Author | Age | Files | Lines |
* | Issue 3996: Clarify 'thickness and 'line-thickness property docstrings. | Mark Polesky | 2014-07-10 | 1 | -9/+24 |
* | Issue 3997: \magnifyMusic: don't modify nested properties....Also reformat Scheme code.
| Mark Polesky | 2014-07-10 | 1 | -54/+18 |
* | Issue 2245: always align dynamics and lyrics on "main" notehead...Until now, LyricTexts and DynamicTexts had their X-parents set to
the first NoteHead in the NoteColumn. This resulted in inconsistent
alignment - placement of lyrics and dynamics depended on the order
of notes in the input:
% this was aligned differently
{ <f' g'>1\p <g' f'>\p }
\addlyrics { la la }
By using NoteColumns themselves as the X-parents, we make sure that
the input order won't matter. Since the NoteColumn contains all NoteHeads
(including suspended ones, which usually should be ignored when aligning),
as well as Flags and some other objects, we cannot use its X-extent directly -
instead, we add a function for calculating X-extent of the "main" part of the
NoteColumn, i.e. X-extent of the non-suspended NoteHeads (represented by the
NoteHead furthest away from the stem).
| Janek Warchoł | 2014-07-08 | 2 | -0/+4 |
* | Issue 3983: Avoid define-public and define*-public with curried definitions...Regarding curried definitions, GUILE has problems with define-public
before version 2.0.10, and with define*-public even later.
define-safe-public is implemented by LilyPond itself rather than the
(ice-9 curried-definitions) module and is unproblematic.
This is basically a cop-out since juggling with overriding bugfix
definitions of define-public is a distraction for getting GUILEv2
migration under way that we can do without.
| David Kastrup | 2014-07-06 | 7 | -24/+48 |
* | Issue 3942: Scale slurs and ties when using \magnifyMusic. | Mark Polesky | 2014-07-06 | 1 | -0/+125 |
* | define-grobs.scm: reorder properties alphabetically | Janek Warchoł | 2014-07-05 | 1 | -13/+13 |
* | TextScript, CombineTextScript: use aligned_on_parent...I think this makes more sense than just using "self-alignment".
It makes these grobs consistent with Lyrics and Dynamics, and
allows users to override their alignment more predictably.
Expected changes in output: TextScripts and CombineTextScripts
will be aligned slightly different when the user sets self-alignment-X
explicitly (parent notehead will be included in alignment, as in Lyrics).
Default placement should remain the same.
I'm also changing one regtest, just to make sure that despite slightly
changed alignment the markups will stick out far enough to the left.
| Janek Warchoł | 2014-07-05 | 1 | -4/+6 |
* | Replace XY-offset closures with aligned_on_parent where possible...It doesn't make sense to specify placement using multiple added
callbacks or closures when we can use aligned_on_parent. What's
more, aligned_on_parent should expose more consistent interface
for the users - affected grobs should now behave similarly to
LyricTexts and DynamicTexts. For example, this
\relative c'' \context Voice {
\compressFullBarRests
\override MultiMeasureRestNumber.self-alignment-X = #RIGHT
R1*100
}
will result in right edge of the MultiMeasureRestNumber being
aligned on the right edge of the MultiMeasureRest.
Affected grobs:
- AccidentalSuggestion
- ClefModifier
- DoublePercentRepeatCounter
- Fingering
- GridLine
- MultiMeasureRestNumber
- MultiMeasureRestText
- PercentRepeatCounter
- StemTremolo
Expected changes in output: none.
| Janek Warchoł | 2014-07-05 | 1 | -49/+9 |
* | Clean up DynamicText horizontal alignment....Until now, DynamicText alignment was messy, as there were 3 different
callbacks involved - some of them interacting in a confusing way:
- in define-grobs.scm, X-offset property was initialized to
ly:self-alignment-interface::x-aligned-on-self,
- Dynamic_engraver called set_center_parent on every DynamicText
attached to a note, so that half a NoteHead width was always added
to its X-offset (producing confusing results for example when
user requested dynamics to be left-aligned),
- DynamicTexts living in a Dynamics context used a completely
different offset callback, which aligned them on NoteColumns.
Since aligned_on_parent is now able to correctly align grobs
with PaperColumn parents (issue 3254), we can use it for all
DynamicTexts and have a single interface for the job.
Expected changes in output: DynamicTexts in Dynamics context
aligned to suspended noteheads may be placed up to 1/4 NoteHead
width further to the right. This shouldn't be a problem.
| Janek Warchoł | 2014-07-05 | 1 | -1/+1 |
* | use X-parents to align MMRNumbers, MMRTexts and PercentRepeatCounters...It makes more sense to use X-parents than Y-parents for horizontal
alignment. To be able to do this, we have to ensure that X-parents of
MultiMeasureRestNumber, MultiMeasureRestText and PercentRepeatCounter
won't be overwritten by set_bound (these grobs are spanners). We can
do this because parents of these grobs are spanners as well.
Expected changes in output: none.
| Janek Warchoł | 2014-06-28 | 1 | -4/+4 |
* | Color and/or parenthesize single dots in fret-diagrams...Issue 2752
Makes it possible to color and/or parenthesize single dots in
fret-diagram-verbose
Introducing two properties for use in fret-diagram-details
- fret-label-horizontal-offset
affecting the fret-label-indication, like the existing
`fret-label-vertical-offset'
- paren-padding
affecting the padding of the parenthesis
Extending relevant reg-tests.
Documenting it in NR, fretted-strings.itely
| Thomas Morley | 2014-06-20 | 2 | -38/+160 |
* | Issue 3954: Report bad return values in user-readable form...An error message like
markup-def.ly:11:20: error: music function cannot return
(#<procedure line-markup (layout props args)> (Test))
is not really user-readable. At the price of some possible ambiguity,
using a LilyPond syntax form like
markup-def.ly:11:20: error: music function cannot return \markup \line { Test}
is quite preferable.
| David Kastrup | 2014-06-20 | 1 | -1/+2 |
* | Issue 3951: Fix broken LSR links in docs....Also run makelsr.py.
| Mark Polesky | 2014-06-17 | 1 | -10/+0 |
* | Issue 3952: Automatically sort props within each grob-interface....Ensures that "User settable properties" and "Internal properties"
are listed in sorted order in the "Graphical Object Interfaces"
section of the IR.
| Mark Polesky | 2014-06-17 | 1 | -0/+10 |
* | Issue 3946: Don't define `parser' in lily.scm...The duplication of `parser' in lily.scm and ly/init.ly leads to doubtful
behavior and causes a warning with GUILEv2.
| David Kastrup | 2014-06-14 | 1 | -2/+0 |
* | parenthesizing very small objects returns ugly output...Issue 3930
Makes the thickness in make-parenthesis-stencil variable
| Thomas Morley | 2014-06-06 | 1 | -1/+1 |
* | Issue 3938: Add `ly:undead?' to predicate list. | Mark Polesky | 2014-06-05 | 1 | -0/+1 |
* | Issue 3935: Use (pretty-print) for some IR props. | Mark Polesky | 2014-06-05 | 5 | -60/+80 |
* | Issue 3926: Add \magnifyMusic; clarify fontSize in docs. | Mark Polesky | 2014-06-05 | 1 | -1/+3 |
* | Issue 3932: Clean up code for sorting grob-properties. | Mark Polesky | 2014-06-02 | 1 | -17/+20 |
* | keySignature-> keyAlterations...to avoid confusion with the grob KeySignature
| Keith OHara | 2014-05-20 | 2 | -29/+30 |
* | corrects typo in bar-line.scm...issue 3908
Missing space in (define-bar-line ":|]" ":|]" #f " |") caused bad
visual output of VoltaBracket.
Changed to (define-bar-line ":|]" ":|]" #f " | ")
The space added will cause that the SpanBar x-extent will be calculated
correctly to determine the gap between two VoltaBrackets.
| Thomas Morley | 2014-05-06 | 1 | -1/+1 |
* | Issue 3880: bad number formatting in svg path output...This uses ly:format with "~4f" format string rather than format with
"~S" for formatting point lists. Note that "~4f" has a different
meaning in ly:format as compared to plain format. This is consistent
with other number formatting. Also does this for output of color.
The previous output was problematic when the number was an exact
fraction.
| David Kastrup | 2014-04-13 | 1 | -2/+2 |
* | Issue 3894: accidental rule 'teaching' broke...Revert part of "Issue 2745: more fun with accidental rules."
This reverts the part of commit bbca17061fbc7a25ca4050e6d031b3e9562b658e
that deals with the teaching accidental rule.
| David Kastrup | 2014-04-13 | 1 | -6/+10 |
* | Issue 3897: Some spring cleaning mostly concerning cumbersome apply calls...Also replaced some uses of zip with multi-list map.
| David Kastrup | 2014-04-13 | 5 | -20/+16 |
* | Warn when \time is used in mid-measure, and reset measurePosition....This makes issues 3696 and 3888 less mysterious.
| Devon Schudy | 2014-04-05 | 1 | -1/+13 |
* | More readable \displayMusic output. (issue 3893)...* Omit unnecessary optional arguments.
* Use rationals when printing moments (but not with grace parts, because that's ambiguous).
| Devon Schudy | 2014-04-04 | 1 | -7/+17 |
* | Issue 3890: Add dodecaphonic-first accidental style...This accidental style assigns accidentals to _all_ pitches
(just as dodecaphonic does) but remembers them throughout
a whole measure.
This style is useful for different styles of contemporary notation
that want to make use of the non-tonal dodecaphonic style but don't
want to print so many redundant accidentals.
| Rutger Hofmann | 2014-04-01 | 1 | -4/+20 |
* | Issue 3860: Add command \justify-line...The command \fill-line spaces words taking word length into account
such that the following distances are equal: outside edge of outside
markup to center of adjoining markup; center to center of
neighboring interior markups. As a consequence, the space between
words is unequal when the lengths of the markups vary and/or there
are more than three markups in the line.
The following patch creates the command \justify-line, which spaces
markups to fill a line such that the space in between each pair is
constant. Collisions are prevented by ensuring that this distance
does not fall below the current setting of word-space.
| David Nalesnik | 2014-02-26 | 1 | -82/+133 |
* | Doc: Point-and-Click has wrong default and ref to SVG added...Issue 3854
Also made sure that references to Point-and-click are consistent
through lily.scm and external.itely (including TexInfo formatting).
Tried to get some consistency with regard to remove @code{} for
PDF, PS and SVG when referring to the file type or viewer.
| James Lowe | 2014-02-23 | 1 | -1/+1 |
* | Issue 3856: dodecaphonic-no-repeat accidentalStyle...This adds an accidental style that works like the
dodecaphonic style except that it does _not_
print an accidental if the note is in the same
voice immediately preceded with a note of the same pitch.
| David Nalesnik | 2014-02-19 | 1 | -0/+23 |
* | Improve positioning of tuplet numbers for kneed beams....In the past LilyPond always placed tuplet numbers according to the
position of a bracket, though this bracket may or may not have actually
been drawn. This system led at times to tuplet numbers which appeared
stranded when there was a kneed beam and no visible bracket.
This patch positions the tuplet number independently of brackets and
close to the beam when the the bracket is not drawn, the beam is kneed, and
there is an appropriate beam segment to place the number against.
The side of the beam on which the number is placed is chosen by principles
derived from Gould. The number is centered horizontally on the beam.
Collision detection is also introduced. The number will be offset
horizontally if it is too close to an adjoining note column. All shifts
preserve the number's vertical distance from the beam. If the number is
too large to fit in the available horizontal space (between note columns
to either side), we use the old bracket-based positioning system. In the
event of a collision with an accidental, the tuplet number is moved
vertically, away from the beam.
The older behavior is always available through an override of the property
`knee-to-beam' which is introduced by this patch, and set by default to true.
This patch also adds a header file, `tuplet-number.hh', and provides
a number of regression tests illustrating various features.
| David Nalesnik | 2014-02-14 | 2 | -0/+3 |
* | Let Chord_name_engraver record lastChord in internal context property...Using a context property instead of an engraver-internal variable
allows for more flexible behavior of identical chord suppression.
| David Kastrup | 2014-02-08 | 1 | -0/+1 |
* | stencil.scm: minor edits, doc strings, comments...Use two spaces after full stops in doc strings.
Restore some comments to new make-connected-path-stencil code.
One small code style edit to follow style of previous code.
| Paul Morris | 2014-01-30 | 1 | -10/+11 |
* | stencil.scm: add make-path-stencil function...supports all path commands both relative and absolute:
lineto, rlineto, curveto, rcurveto, moveto, rmoveto, closepath
also supports single letter syntax used in standard SVG path commands:
L, l, C, c, M, m, Z, z.
refactored make-connected-path-stencil for backwards compatibility and
continued use
| Paul Morris | 2014-01-30 | 1 | -44/+104 |
* | TabNoteHead.style = #'slash supported. | Marc Hohl | 2014-01-24 | 1 | -6/+7 |
* | Double G clef, tenor G clef, varpercussion clef and varC clef...This patch covers the clefs requested in:
http://lists.gnu.org/archive/html/lilypond-user/2010-02/msg00029.html
(double G clef and varpercussion clef)
http://lists.gnu.org/archive/html/lilypond-user/2013-11/msg00661.html
(tenor G clef)
http://code.google.com/p/lilypond/issues/detail?id=693
(varC clef)
| Marc Hohl | 2014-01-24 | 1 | -0/+12 |
* | Issue 3810: Partcombiner is unhappy about repeated durations | David Kastrup | 2014-01-24 | 1 | -1/+11 |
* | Simplify tremolo display (issue 3783) | David Kastrup | 2014-01-15 | 1 | -4/+2 |
* | Remove tremoloFlags property (issue 3783) | David Kastrup | 2014-01-15 | 1 | -2/+0 |
* | LeftEdge gets a point extent; issue 3761...So users can give it extra-spacing-height
| Keith OHara | 2014-01-13 | 1 | -0/+1 |
* | Remove unused features of LeftEdge | Keith OHara | 2014-01-13 | 1 | -2/+1 |
* | Tremolo cleanup. (issue 3745)...Scale durations when iterating, not in make-repeat. This means the original
repeat body is intact, so unfold-repeats and display methods no longer need
to undo the scaling.
Build tremolo spanners in Scheme, not C++.
Calculate tremolo-type in tremolo::get-music-list rather than storing it as a property.
shift-duration-log now clears the cached length, since it changes the length.
\shiftDurations no longer duplicates shift-duration-log.
Merge make-repeated-music with make-repeat.
| Devon Schudy | 2014-01-11 | 3 | -108/+73 |
* | Provide value->lily-string function | David Kastrup | 2014-01-11 | 1 | -3/+9 |
* | Run grand-replace (issue 3765)...Run make grand-replace to update all coopyright statements
| Carl Sorensen | 2014-01-11 | 82 | -94/+94 |
* | Revert "Prevents dynamics from colliding with cross-staff stems."...This reverts commit 3bcfd69d91f52f70598f73719fbed7aa6eea8ad3.
Conflicts:
input/regression/dynamics-avoid-cross-staff-stem.ly
lily/include/interval-minefield.hh
lily/include/self-alignment-interface.hh
lily/interval-minefield.cc
lily/new-dynamic-engraver.cc
lily/self-alignment-interface.cc
scm/define-grob-properties.scm
scm/define-grobs.scm
scm/output-lib.scm
| Keith OHara | 2014-01-03 | 2 | -13/+0 |
* | spacing-options: clarify documentation | Keith OHara | 2014-01-03 | 1 | -7/+6 |
* | Doc: NR Appendix A10.3 \path examples...Issue 3587
Added two extra examples for the \path command
Also moved two paras down as it seemed more of a logical order
| James Lowe | 2013-12-31 | 1 | -11/+15 |
* | Adds outside-staff-interface and outside-staff-axis-group-interface...When a property exists in an interface, the property should make sense for
a sensible of grobs that implement that interface. Otherwise, the property
should be part of a separate interface that applies to a sensibly-sized
group of grobs.
Various properties having to do with outside-staff calculations belong to
grob-interface. This does not make sense for many grobs (StaffSpacing,
NoteSpacing, SpacingSpanner, StaffSymbol just to name a few). There is a
limited collection of grobs for which outside-staff properties make sense.
The outside-staff-interface provides a separate interface to be implemented
by these grobs.
The same is true for axis groups that place outside-staff grobs, which form
a limited subset of grobs implementing the axis-group-interface. Rather than
putting the relevant properties in the axis-group-interface, we move
them to an outside-staff-axis-group-interface.
| Mike Solomon | 2013-12-31 | 2 | -6/+63 |
* | Issue 3746: Fix unfold-repeats-fully with alternatives...When fewer alternatives than repeats are given, the _first_ alternative
needs to get reused (the previous code wrongly used the last one).
| David Kastrup | 2013-12-28 | 1 | -11/+9 |