Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(19)

Issue 149170044: Make \time work with \tweak and \footnote (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
4 years, 11 months ago by dak
Modified:
4 years, 11 months ago
Reviewers:
Dan Eble
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Make \time work with \tweak and \footnote The way this is done is to let a TimeSignatureMusic expression expand to produce a TimeSignatureEvent that can be listened to. The Time_signature_engraver _does_ listen to this event and uses it to set the origin for TimeSignature grobs created in the same time step. Another effect is that any warnings associated with a TimeSignature grob will be able to point to a source location in case that the respective change of timing parameters can be traced to TimeSignatureMusic in a context below the context of the Time_signature_engraver creating the TimeSignature. Since events that can be listened to create a Bottom context implicitly, this causes a difference for cases like \score { { \time 3/4 \skip 2. r2. } } Previously, Staff (and Voice) contexts were only created _after_ the \skip completed (the timing parameters are set in the Timing context, equal to Score by default), making the time signature appear only in measure 2. Now the implicit creation of a Staff (and thus a Time_signature_engraver) in the course of creating a Bottom context (in this case a Voice) makes the time signature appear right away. If one uses a separate non-printing context for containing timing info, one has to make sure that any implicitly created Bottom context is non-printing as well.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+24 lines, -5 lines) Patch
M lily/time-signature-engraver.cc View 5 chunks +16 lines, -4 lines 0 comments Download
M scm/define-event-classes.scm View 1 chunk +1 line, -0 lines 0 comments Download
M scm/define-music-callbacks.scm View 1 chunk +2 lines, -1 line 0 comments Download
M scm/define-music-types.scm View 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 6
Dan Eble
I won't comment on the code, but I will confirm that this has the desired ...
4 years, 11 months ago (2014-09-28 18:14:12 UTC) #1
Dan Eble
\compoundMeter should create a TimeSignatureEvent too. I managed to do it by incorporating \time into ...
4 years, 11 months ago (2014-09-30 03:50:30 UTC) #2
dak
On 2014/09/30 03:50:30, Dan Eble wrote: > \compoundMeter should create a TimeSignatureEvent too. [Slaps forehead] ...
4 years, 11 months ago (2014-09-30 04:54:22 UTC) #3
dak
On 2014/09/30 04:54:22, dak wrote: > On 2014/09/30 03:50:30, Dan Eble wrote: > > \compoundMeter ...
4 years, 11 months ago (2014-09-30 09:07:26 UTC) #4
Dan Eble
On 2014/09/30 09:07:26, dak wrote: > On 2014/09/30 04:54:22, dak wrote: > > On 2014/09/30 ...
4 years, 11 months ago (2014-09-30 23:04:00 UTC) #5
dak
4 years, 11 months ago (2014-10-01 05:26:42 UTC) #6
On 2014/09/30 23:04:00, Dan Eble wrote:
> On 2014/09/30 09:07:26, dak wrote:
> > On 2014/09/30 04:54:22, dak wrote:
> > > On 2014/09/30 03:50:30, Dan Eble wrote:
> > > > \compoundMeter should create a TimeSignatureEvent too.
> > > 
> > > [Slaps forehead]
> 
> Take a deep breath. There are also \overrideTimeSignatureSettings and
> \revertTimeSignatureSettings, and examples in the NR that set
> timeSignatureFraction directly.
> 
> I'm grateful for your attempt to help, but I wonder whether now is the right
> time to touch this hodgepodge.  For my mid-measure time-signature warning, I
> could content myself with printing the current bar number and the before/after
> fractions.

Setting timeSignatureFraction directly is not expected to be tweakable, and
\overrideTimeSignatureSettings and its revert does not even have an immediately
visible effect.  They are not a concern.

I am not predominantly helping you here: that "why isn't there a warning
location" was just an incentive.  Regarding the "is this cost reasonable" angle,
I am more worried about the warning as such rather than the TimeSignatureEvent. 
But then the warning is your project and you are free to pull the plug on it any
time you want.  Being able to tweak \time is independently useful, and it is
half the job of getting another @knownissue out of the manual (the other half
being clefs if I remember correctly).
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b