[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: custom compound time signature
From: |
Thomas Morley |
Subject: |
Re: custom compound time signature |
Date: |
Mon, 4 Jun 2012 23:13:49 +0200 |
2012/6/4 David Kastrup <address@hidden>:
> 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
Hi David,
sorry for the late reply and many thanks for your effort.
I changed http://lsr.dsi.unimi.it/LSR/Item?id=272 following your suggestion.
-Harm