Re: custom compound time signature

2012-06-04 Thread David Kastrup
Thomas Morley thomasmorle...@googlemail.com writes:

 2012/6/2 diekunstderfuge dolcevitafinea...@gmail.com:

 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.

-- 
David Kastrup


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: custom compound time signature

2012-06-04 Thread Janek Warchoł
On Mon, Jun 4, 2012 at 12:29 AM, diekunstderfuge
dolcevitafinea...@gmail.com wrote:
 I'm still using 2.12.3 because that is what the Lilypond download site lists
 as the latest stable version for Windows. Where can I find 2.14.2, and how
 could I install it while keeping 2.12.3 in case I need to fall back to the
 earlier version?

Ah, you were probably caught by the Curse of the Old Website.
Our website is no longer lilypond.org/web - now it's lilypond.org
Enjoy new looks!
:)

cheers,
Janek

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: custom compound time signature

2012-06-04 Thread David Kastrup
David Kastrup d...@gnu.org writes:

 Thomas Morley thomasmorle...@googlemail.com writes:

 2012/6/2 diekunstderfuge dolcevitafinea...@gmail.com:

 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

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: custom compound time signature

2012-06-04 Thread Thomas Morley
2012/6/4 David Kastrup d...@gnu.org:
 David Kastrup d...@gnu.org writes:

 Thomas Morley thomasmorle...@googlemail.com writes:

 2012/6/2 diekunstderfuge dolcevitafinea...@gmail.com:

 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

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: custom compound time signature

2012-06-04 Thread David Kastrup
Thomas Morley thomasmorle...@googlemail.com writes:

 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.

 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.

I wanted to put out the usual we need to document this tirade, but it
turns out that
URL:http://lilypond.org/doc/v2.15/Documentation/notation/defining-new-contexts
actually does state

Since it is similar to the Voice, we want commands that work on
(existing) Voices to remain working. This is achieved by giving the
new context an alias Voice,

\alias Voice

Which is rather close.

-- 
David Kastrup


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: custom compound time signature

2012-06-03 Thread diekunstderfuge

Thank you so much! This code worked perfectly. You were of course absolutely
right about the context for \numericTimeSignature...I can't believe I didn't
spot that myself!

I have not worked with Scheme before and I would like to start learning how
to write advanced tweaks for Lilypond as well as functions to automate some
of the writing of music expressions. So far I've noticed on my own some
differences (such as #(define... for music expression functions, but
#(lambda... for dealing with grobs) but I haven't found a good resource to
help me learn more about these details. I'm a musician/musicologist with
only a little programming experience.

I'm still using 2.12.3 because that is what the Lilypond download site lists
as the latest stable version for Windows. Where can I find 2.14.2, and how
could I install it while keeping 2.12.3 in case I need to fall back to the
earlier version?

Many thanks!


harm6 wrote:
 
 2012/6/2 diekunstderfuge dolcevitafinea...@gmail.com:

 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.
 
 This snippet ( http://lsr.dsi.unimi.it/LSR/Item?id=609
 http://lsr.dsi.unimi.it/LSR/Item?id=609 ) prints only the numerator of
 the
 time signature, which I need to get the 3. I do not know how to combine
 this with a compound time signature
 
 Try:
 
 
 
 \version 2.14.2
 
 customTimeSigI =
  \once \override TimeSig.TimeSignature #'stencil =
#(lambda (grob)
   (grob-interpret-markup grob
 (markup
   #:vcenter #:number 3
   #:vcenter x
   #:override '(baseline-skip . 0) #:number (#:column (2 4)
 
 \layout {
   \context {
 \type Engraver_group
 \consists Time_signature_engraver
 \consists Axis_group_engraver
 \name TimeSig
 \override TimeSignature #'font-size = #2
 \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 #'self-alignment-X = #LEFT
 \override TimeSignature #'after-line-breaking =
   #shift-right-at-line-begin
   }
   \context {
 \Score
 \accepts TimeSig
   }
   \context {
 \Staff
 \remove Time_signature_engraver
   }
 }
 
 timeSignatures = {
 \override TimeSig.TimeSignature #'style = #'numbered
 \time 2/4
 s2
 \time 3/4
 s2.
 \time 4/4
 s1
 \customTimeSigI
 \time 6/4
 \set Score.beatStructure = #'(2 2 2)
 s1.
 }
 
 \score {
   
 \new TimeSig \timeSignatures
 \new Staff \relative { c'2 c2. c1 c1. \repeat unfold 12 { c8 } }
 \new Staff { a2 a2. a1 a1. a1.}
   
 }
 
 
 
 Controlling beaming behavior, often a concern with compound time
 signatures,
 is not important as the TimeSig staff displays only time signatures.
 
 I added the 2.14.2-command \set Score.beatStructure = #'(2 2 2)
 Delete it if you want or replace it with an 2.12.3-command.
 But please note: it _will_ affect the score.
 
 I am using 2.12.3.
 
 Why do you use this outdated version?
 Well, some time ago the LSR was on 2.12.3 and that was the reason
 why I didn't delete this version, while installing the newer stable
 version and the newest development-version.
 But I'm absolutely sure that the LSR is now on 2.14.2 :)
 
 HTH,
   Harm
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-user
 
 

-- 
View this message in context: 
http://old.nabble.com/custom-compound-time-signature-tp33950720p33955037.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: custom compound time signature

2012-06-03 Thread Colin Campbell

On 12-06-03 04:29 PM, diekunstderfuge wrote:

Thank you so much! This code worked perfectly. You were of course absolutely
right about the context for \numericTimeSignature...I can't believe I didn't
spot that myself!

I have not worked with Scheme before and I would like to start learning how
to write advanced tweaks for Lilypond as well as functions to automate some
of the writing of music expressions. So far I've noticed on my own some
differences (such as #(define... for music expression functions, but
#(lambda... for dealing with grobs) but I haven't found a good resource to
help me learn more about these details. I'm a musician/musicologist with
only a little programming experience.

I'm still using 2.12.3 because that is what the Lilypond download site lists
as the latest stable version for Windows. Where can I find 2.14.2, and how
could I install it while keeping 2.12.3 in case I need to fall back to the
earlier version?

Many thanks!






If you go to http://www.lilypond.org/windows.html you'll get a link to 
2.14.2 which is the latest stable release, and also where you will find 
the next stable version, 2.16, due shortly.


As to running two versions under Windows, the following is quoted from 
our mail list:

From: James Lowe James.Lowe@...

From: James Lowe James.Lowe@...
Cc: Lilypond-User lilypond-user@...
Sent: Wednesday, July 14, 2010 5:13 PM
Subject: RE: Different versions of LilyPond



That sounds awfully complicated (and one would question the legality of
having multiple installs of the same version of XP on one machine but I
haven't read MS's EULA)

Can't you just

1. install version 2.12.whatever
2. rename lilypond dir accordingly
3. install ve4rsion 2.13.whatever
4. rename lilypond dir accordingly

and just put back the old dir name for the version you want to use.

I believe pretty much everything is self-contained.

James 


I think you'll find the change from 2.12 to 2.14 to be pretty painless, 
although you should run the convert.ly script over the .ly you want to 
update, or better, use Wilbert Berendsen's Frescobaldi program, where 
convert-ly is a menu option.


Hope this helps!

Colin the Elder

--
I've learned that you shouldn't go through life with a catcher's mitt on both 
hands.
You need to be able to throw something back.
-Maya Angelou, poet (1928- )

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: custom compound time signature

2012-06-02 Thread Thomas Morley
2012/6/2 diekunstderfuge dolcevitafinea...@gmail.com:

 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.

 This snippet ( http://lsr.dsi.unimi.it/LSR/Item?id=609
 http://lsr.dsi.unimi.it/LSR/Item?id=609 ) prints only the numerator of the
 time signature, which I need to get the 3. I do not know how to combine
 this with a compound time signature

Try:



\version 2.14.2

customTimeSigI =
 \once \override TimeSig.TimeSignature #'stencil =
   #(lambda (grob)
  (grob-interpret-markup grob
(markup
  #:vcenter #:number 3
  #:vcenter x
  #:override '(baseline-skip . 0) #:number (#:column (2 4)

\layout {
  \context {
\type Engraver_group
\consists Time_signature_engraver
\consists Axis_group_engraver
\name TimeSig
\override TimeSignature #'font-size = #2
\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 #'self-alignment-X = #LEFT
\override TimeSignature #'after-line-breaking =
  #shift-right-at-line-begin
  }
  \context {
\Score
\accepts TimeSig
  }
  \context {
\Staff
\remove Time_signature_engraver
  }
}

timeSignatures = {
\override TimeSig.TimeSignature #'style = #'numbered
\time 2/4
s2
\time 3/4
s2.
\time 4/4
s1
\customTimeSigI
\time 6/4
\set Score.beatStructure = #'(2 2 2)
s1.
}

\score {
  
\new TimeSig \timeSignatures
\new Staff \relative { c'2 c2. c1 c1. \repeat unfold 12 { c8 } }
\new Staff { a2 a2. a1 a1. a1.}
  
}



 Controlling beaming behavior, often a concern with compound time signatures,
 is not important as the TimeSig staff displays only time signatures.

I added the 2.14.2-command \set Score.beatStructure = #'(2 2 2)
Delete it if you want or replace it with an 2.12.3-command.
But please note: it _will_ affect the score.

 I am using 2.12.3.

Why do you use this outdated version?
Well, some time ago the LSR was on 2.12.3 and that was the reason
why I didn't delete this version, while installing the newer stable
version and the newest development-version.
But I'm absolutely sure that the LSR is now on 2.14.2 :)

HTH,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user