lilypond-user
[Top][All Lists]
Advanced

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

Re: Combining chord durations


From: Johan Vromans
Subject: Re: Combining chord durations
Date: Wed, 23 Oct 2013 10:08:53 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

Jim Long <address@hidden> writes:

> When you have the time, try implementing my 'rptChord'
> pseudo-code in Scheme, and then test the construct:
>
> harmonies = \chordmode {
>   \rptChord e8 6 \rptChord b8 2 |
>   \rptChord e8 4 \rptChord b8 4
> }

It won't work. This is what I found out:

[A] The horizontal stretch is based on the number of elements and
divisions in the measure:

  harmony = \chordmode {
    \set chordChanges = ##t
    e2. b4 |
  }

  melody = {
    \repeat unfold 8 e'8
  }

[B] melody = {
     \repeat unfold 4 e'4
    }

The harmony has 2 elements per measure, but needs 4 divisions to be
layed out properly. The melody has 8 elements per measure. The spacing
is based on 8 elements per measure.

[C] melody = {
      \repeat unfold 2 e'2
    }

The harmony has 2 elements per measure, but needs 4 divisions to display
properly. The melody has 4 elements per measure. The spacing is based on
4 elements per measure.

[D] melody = {
      e'1
    }

This is the smallest you can get with this chord pattern.

Now let's go for the rhythmic chord patterns.

[E] harmony = \chordmode {
      e8
      e8 e8 e8 e8 e8 
      b8
      b8 |
    }

The harmony has 8 elements per measure and needs 8 divisions to display
properly. The spacing is based on 8 elements per measure.

[F] harmony = \chordmode {
      \set chordChanges = ##t
      e8
      e8 e8 e8 e8 e8 
      b8
      b8 |
    }

As can be seen from case [E] and [F] in the attached output, suppressing
chord changes does not change the width.

[G] harmony = \chordmode {
      \set chordChanges = ##t
      \override ChordName #'stencil = ##f
      e8
      \revert ChordName #'stencil
      e8 e8 e8 e8 e8 
      \override ChordName #'stencil = ##f
      b8
      \revert ChordName #'stencil
      b8 |
    }

Even though only two elements of the harmony will be actually visible,
it still needs 8 divisions. The spacing is still based on 8 elements
per measure. However, see case [G], it *is* slightly smaller than case
[F].

So it doesn't seem to matter whether macro's or q's are used.

I assume it is a design decision to make [F] equal in width to [E].

The question remains: why is [G] smaller than [F] but not equal to [D]?

-- Johan

Attachment: t3.ly
Description: Measure width experiments, part 3

Attachment: png6OUCCgm2vl.png
Description: Output from experiment 3


reply via email to

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