lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: setting the beatlength for sixteenth-sixtuplets


From: Stefan Thomas
Subject: Re: setting the beatlength for sixteenth-sixtuplets
Date: Mon, 9 Nov 2009 13:08:34 +0100

Dear Mats,
thanks for Your help, but with Your code I got the file, I've attached to this mail!

2009/11/9 Mats Bengtsson <address@hidden>
How about the following:


\version "2.12.2"
SSX = #(define-music-function (parser location x) (ly:music?)
#{
 \set beamSettings = #'()

 \set beatLength = #(ly:make-moment 1 8)
 \set tupletSpannerDuration = #(ly:make-moment 1 8 )
 \times 2/3 { $x }
 \unset tupletSpannerDuration
\unset beatLength
\unset beamSettings

#})

\relative c' {
 \SSX { c16 d e f e d e f g a g f a b c d c b }
}


It seems that there's a default beaming rule that causes your problems. Setting beamSetting = #'() removes all such default rules so that your beamLength setting is effective.

  /Mats

Stefan Thomas wrote:
Well, I found a solution, but I thought, there would be an easier solution.
\version "2.12.2"
ST = #(define-music-function (parser location x) (ly:music?)
#{
 #(override-auto-beam-setting '(end 1 24 * *) 1 8)
 #(override-auto-beam-setting '(end 1 24 * *) 2 8)
  #(override-auto-beam-setting '(end 1 24 * *) 3 8)
 #(override-auto-beam-setting '(end 1 24 * *) 4 8)
 #(override-auto-beam-setting '(end 1 24 * *) 5 8)
 #(override-auto-beam-setting '(end 1 24 * *) 6 8)
 #(override-auto-beam-setting '(end 1 24 * *) 7 8)
  #(override-auto-beam-setting '(end 1 24 * *) 8 8)
   #(override-auto-beam-setting '(end 1 24 * *) 9 8)
    #(override-auto-beam-setting '(end 1 24 * *) 10 8)
     #(override-auto-beam-setting '(end 1 24 * *) 11 8)
      #(override-auto-beam-setting '(end 1 24 * *) 12 8)
 \set tupletSpannerDuration = #(ly:make-moment 1 8 )
 \times 2/3 { $x }
   #(revert-auto-beam-setting '(end 1 24 * *) 1 8)
#(revert-auto-beam-setting '(end 1 24 * *) 2 8)
#(revert-auto-beam-setting '(end 1 24 * *) 3 8)
#(revert-auto-beam-setting '(end 1 24 * *) 4 8)
#(revert-auto-beam-setting '(end 1 24 * *) 5 8)
#(revert-auto-beam-setting '(end 1 24 * *) 6 8)
#(revert-auto-beam-setting '(end 1 24 * *) 7 8)
#(revert-auto-beam-setting '(end 1 24 * *) 8 8)
#(revert-auto-beam-setting '(end 1 24 * *) 9 8)
#(revert-auto-beam-setting '(end 1 24 * *) 10 8)
#(revert-auto-beam-setting '(end 1 24 * *) 11 8)
#(revert-auto-beam-setting '(end 1 24 * *) 12 8)
 \unset tupletSpannerDuration
 #})

\relative c' { \time 2/2
 \ST { c16 d e f e d e f g a g f a b c d c b
 c b a g f e
 }
}


2009/11/9 Paul Scott <address@hidden <mailto:address@hidden>>

   Stefan Thomas wrote:

       Dear Paul,
       I would like to have the Sixtheenth-Triplets beamed in groups
       of three, altough when there is a 2/2 bar, e.g..


   Ah!

   I haven't taken the time to understand auto beaming rules yet.  I
   usually just manually beam some of the notes and the rest seem to
   follow along:

   \set tupletSpannerDuration = #(ly:make-moment 1 8)
   \times 2/3 { a16 b a b[ a b] a b a b[ a b] }

   Maybe now would be a good time for me to learn this.

   Are you saying there isn't an auto-beaming solution for you?

   Paul


       2009/11/9 Paul Scott <address@hidden
       <mailto:address@hidden> <mailto:address@hidden

       <mailto:address@hidden>>>


          Stefan Thomas wrote:

              Dear community,
              I would like to define a function, that allows me to
       set the
              beat-length to 1/8 for 16th-triplets.  And I would
       like, if it
              could work for every kind of bar.
              I tried it with:
              \version "2.12.2"
              SSX = #(define-music-function (parser location x)
       (ly:music?)
              #{
                \set beatLength = #(ly:make-moment 1 8)
               \set tupletSpannerDuration = #(ly:make-moment 1 8 )
               \times 2/3 { $x }
               \unset tupletSpannerDuration
               \unset beatLength
              #})

              \relative c' {
               \SSX { c16 d e f e d e f g a g f a b c d c b }
              }


          I don't know if I'm missing the desired functionality but
       this is
          what I do.  It may or not be as easy as what you want.

          esTuplets = \set tupletSpannerDuration = #(ly:make-moment 1 8)
          eeTuplets = \set tupletSpannerDuration = #(ly:make-moment 1 4)
          eqTuplets = \set tupletSpannerDuration = #(ly:make-moment 1 2)

          %The second letter is *s*ixteenth, *e*ighth, *q*uarter

          I just execute the one I want for the code which follows it.

          Forgive me if I'm not understanding your need.

          Paul Scott





   --    Paul Scott
   Librarian
   Southern Arizona Symphony Orchestra


------------------------------------------------------------------------

_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user
 

--
=============================================
       Mats Bengtsson
       Signal Processing
       School of Electrical Engineering
       Royal Institute of Technology (KTH)
       SE-100 44  STOCKHOLM
       Sweden
       Phone: (+46) 8 790 8463                        
      Fax:   (+46) 8 790 7260
       Email: address@hidden
       WWW: http://www.s3.kth.se/~mabe
=============================================


Attachment: trioltest.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]