lilypond-user
[Top][All Lists]
Advanced

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

Re: Atonic Key in cadenza


From: Mats Bengtsson
Subject: Re: Atonic Key in cadenza
Date: Fri, 02 Sep 2005 10:42:37 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511

The problem here isn't the atonic key function itself, but rather that
you use \cadenzaOn, which makes everything up to the next \cadenzaOff to
be treated as a single long measure, no matter if you insert any extra
manual bar lines every here and there.

One solution is to replace \cadenzaOn with something like
the following:

unmeteredOn = {
\set Timing.measureLength = #(ly:make-moment 1 4)
\set Timing.automaticBars = ##f
}

This works by turning off the automatic printing of bar lines but
since it keeps the internal counting of the position within the bar
as usual, I specified the measure length to be 1/4.

I'm not 100% sure how you want your accidentals to behave within
each "measure". Maybe the my solution only works in this specific
example.


Secondly, I don't really understand why you use such a complicated
function to specify your atonicKey. Whoever proposed it on the mailing
list must have missed that you could just as well do

atonicKey = {
\set Staff.keySignature = #'((4 . 5)
                             (5 . 5)
                             (6 . 5)
                             (0 . 5)
                             (1 . 5)
                             (2 . 5)
                             (3 . 5))

\set Score.extraNatural = ##f
}

(or maybe I have missed some fine point)


After these modifications, your example could look something like


\version "2.6.0"

atonicKey = {
\set Staff.keySignature = #'((4 . 5)
                             (5 . 5)
                             (6 . 5)
                             (0 . 5)
                             (1 . 5)
                             (2 . 5)
                             (3 . 5))

\set Score.extraNatural = ##f
}

unmeteredOn = {
\set Timing.measureLength = #(ly:make-moment 1 4)
%\override Score.TimeSignature #'print-function = ##f
\set Timing.automaticBars = ##f
}

unmeteredOff = {
\set Timing.automaticBars = ##t
\set Timing.measureLength = #(ly:make-moment 4 4)
}

\new Voice {

    \atonicKey

    \cadenzaOn
    c'8 c' c'' c'' d' d' d'' d''

    \bar "|" \set Timing.measurePosition = #(ly:make-moment 0 4)

    cis'8 cis' cis'' cis'' des' des' des'' des''

    \cadenzaOff
    \bar "|" \cadenzaOn

    des'' des'' c'8 c' c'' c'' d' d' d'' d'' cis' cis'
    \bar ":"

    cis'8  cis' cis'' cis''

    des' des' des'' des''
    \unmeteredOff
 }

   /Mats

Mehmet Okonsar wrote:
the atonic key function works well in cadenza context but repeated altered
notes over a arbitrary barline (see ex. below) do not reproduce accidentals.
Can it be fixed?
it works if I repeat the statement \atonicKey after each barline
---------------------------------
  atonicKey =
  #(def-music-function (parser location) ()
     #{ #(ly:export (make-music 'EventChord
                     'origin $location
                     'elements (list (make-music 'KeyChangeEvent
                                      'tonic (ly:make-pitch -1 4 0)
                                      'pitch-alist '((4 . 5)
                                                     (5 . 5)
                                                     (6 . 5)
                                                     (0 . 5)
                                                     (1 . 5)
                                                     (2 . 5)
                                                     (3 . 5))))))
        \set Score . extraNatural = ##f #})

\cadenzaOn

  {
    \atonicKey
    \cadenzaOn{
    c'8 c' c'' c'' d' d' d'' d''

    \bar "|"

    cis'8 cis' cis'' cis'' des' des' des'' des''

    \bar "|"

    des'' % this one does not get a flat.. unless I put another \atonicKey
before

    des'' c'8 c' c'' c'' d' d' d'' d'' cis' cis'
    \bar ":"

    cis'8  % this one no sharp
    cis' cis'' cis''

    des' des' des'' des''}
    \cadenzaOff
  }
------------------------------------------------------
Best Regards,
Mehmet Okonsar, pianist-composer
www.okonsar.com




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

--
=============================================
        Mats Bengtsson
        Signal Processing
        Signals, Sensors and Systems
        Royal Institute of Technology
        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
=============================================




reply via email to

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