[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: custom compound time signature
From: |
David Kastrup |
Subject: |
Re: custom compound time signature |
Date: |
Mon, 04 Jun 2012 18:26:53 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) |
David Kastrup <address@hidden> writes:
> Thomas Morley <address@hidden> writes:
>
>> 2012/6/2 diekunstderfuge <address@hidden>:
>>>
>>> Hi all,
>>>
>>> I'm trying to achieve the compound time signature seen in the image here:
>>> http://old.nabble.com/file/p33950720/custom_time_signature.png
>>>
>>> As you can see, it's meant to represent 3 bars of 2/4 grouped together as
>>> one bar. My plan was to write it as one bar of 3/2 and then override the
>>> time signature stencil.
>>>
>>> First, I've used this snippet ( http://lsr.dsi.unimi.it/LSR/Item?id=272
>>> http://lsr.dsi.unimi.it/LSR/Item?id=272 ) to create a "dummy" staff with
>>> only the time signatures. (For some reason, \numericTimeSignature does not
>>> seem to work inside of the TimeSig context. Does anyone know why?)
>>
>> Have a look at /ly/property-init.ly. where \numericTimeSignature is defined:
>> numericTimeSignature = \override Staff.TimeSignature #'style = #'numbered
>>
>> But now you're using a new custom-defined context: "TimeSig"
>> Replace Staff with TimeSig and it will work.
>
> It is much more straightforward to add
> \alias "Staff"
> to the definition of the TimeSig context. Then any overrides for Staff
> issued within TimeSig will not get handed upstairs.
>
> This should probably be added to the LSR snippet: while it does not in
> itself require it currently, it is likely to cause irritation like
> here.
Since I got no further reply on this suggestion, here is the respective
code that should work as expected.
\layout {
\context {
\type "Engraver_group"
\consists "Time_signature_engraver"
\consists "Axis_group_engraver"
\name "TimeSig"
\alias "Staff"
\override TimeSignature #'font-size = #3
\override TimeSignature #'break-align-symbol = ##f
\override TimeSignature #'X-offset =
#ly:self-alignment-interface::x-aligned-on-self
\override TimeSignature #'self-alignment-X = #CENTER
\override TimeSignature #'after-line-breaking =
#shift-right-at-line-begin
}
\context {
\Score
\accepts TimeSig
}
\context {
\Staff
\remove "Time_signature_engraver"
}
}
timeSignatures = { \numericTimeSignature \time 2/4 s2 \time 3/4 s2. \time 4/4
s1 }
\score {
<<
\new TimeSig \timeSignatures
\new Staff \relative { c'2 c2. c1 }
\new Staff { a2 a2. a1 }
>>
}
--
David Kastrup