[Top][All Lists]

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

Re: lilypond ChangeLog Documentation/user/examples....

From: Han-Wen Nienhuys
Subject: Re: lilypond ChangeLog Documentation/user/examples....
Date: Mon, 18 Sep 2006 12:44:41 +0200
User-agent: Thunderbird (X11/20060913)

Erik Sandberg wrote:
On Sunday 27 August 2006 17:41, Han-Wen Nienhuys wrote:
Graham Percival wrote:
I'm sure that there's some reason why "\tempo x = y" is a horrible
construct and must be replaced, but
    \context {
      tempoWholesPerMinute = #(ly:make-moment y x)
looks unnecessarily complicated.  If that's the way it's going to be,
I'll document it, but... why this?  Do we want to allow users to have
different tempo in different Staff contexts?
we can hvae something like

  #(set-tempo "4" 70)

or maybe

   tempo = #70

\tempo has to go, because it is strange exception to the general syntax.

How about
\score {
 { c d e }
 \midi{ pre = \tempo 4. = 70 }

(I.e., \tempo is a music expression => it's not a grammatical exception)

Semantics: If pre is set, then embed main input in a SequentialMusic when interpreting music for midi. So instead of interpreting { c d e } above, we interpret the expression: { \tempo 4.=70 { c d e } }

This is a smart idea. Syntactically, I'm not a big fan of this (the double = is a little strange). However, it would be easy to encapsulate this with a Scheme expression,

  #(set-midi-tempo "4." 70)

however, we would need to have a separate music expression for each output block.

That would nicely match with a syntax change along the lines of

  \withoutput \layout { .. } {music expression}

  \withoutput \midi { .. } {music expression}

This implies that music functions are definitely allowed to have side effects, so it's a syntax change that has some serious repercussions.

ideas, comments?


Han-Wen Nienhuys - address@hidden -

LilyPond Software Design
 -- Code for Music Notation

reply via email to

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