-
-\header{
-texidoc = "This example shows prelude in C major of WTK1, but coded
-using Scheme functions to save typing work.
-"
-
-
-
- title = "Preludium"
- opus = "BWV 846"
- composer = "Johann Sebastian Bach (1685-1750)"
- enteredby = "Rune Zedeler"
- mutopiatitle = "Das Wohltemperierte Clavier I, Prelude 1 (c-major)"
- mutopiacomposer = "J.S.Bach"
- mutopiaopus = "BWV846"
- mutopiainstrument = "Piano"
- style = "baroque"
- copyright = "Public Domain"
- maintainer = "rz@daimi.au.dk"
- lastupdated = "2001/mar/30"
- tagline = "\\parbox{\hsize}{\\thefooter\\quad\\small \\\\This music is part of the Mutopia project, \\texttt{http://www.mutopiaproject.org/}\\\\It has been typeset and placed in the public domain by " + \maintainer + ".\\\\Unrestricted modification and redistribution is permitted and encouraged---copy this music and share it!}"
-}
-
+\version "2.3.2"
\include "deutsch.ly"
-\version "1.5.68"
+% possible rename to scheme- something. -gp
+% TODO: ask if it needs to have so many empty bars in the middle. -gp
+\header{ texidoc = "@cindex Scheme Music Box
+This example shows prelude in C major of WTK1, but coded
+using Scheme functions to avoid typing work. " }
+
#(define (transform music)
- (let* ((es (ly-get-mus-property music 'elements))
- (n (ly-music-name music))
+ (let* ((es (ly:music-property music 'elements))
+ (n (ly:music-name music))
)
(if (not (equal? n "Sequential_music"))
- (ly-warn "transform needs sequential music!")
+ (ly:warn "transform needs sequential music!")
(begin
(let recurse ((elts es))
(if (not (equal? elts '()))
(begin
- ((trans (ly-get-mus-property (cadr elts) 'elements)) (car elts))
+ ((trans (ly:music-property (cadr elts) 'elements)) (car elts))
(set-cdr! elts (cddr elts))
(recurse (cdr elts))
)
)
#(define ((trans pitches) music)
- (let* ((es (ly-get-mus-property music 'elements))
- (e (ly-get-mus-property music 'element))
- (p (ly-get-mus-property music 'pitch)))
+ (let* ((es (ly:music-property music 'elements))
+ (e (ly:music-property music 'element))
+ (p (ly:music-property music 'pitch)))
(if (pair? es)
- (ly-set-mus-property!
+ (ly:music-set-property!
music 'elements
(map (trans pitches) es)))
- (if (music? e)
- (ly-set-mus-property!
+ (if (ly:music? e)
+ (ly:music-set-property!
music 'element
((trans pitches) e)))
- (if (pitch? p)
- (let* ((o (pitch-octave p))
- (n (pitch-notename p))
+ (if (ly:pitch? p)
+ (let* ((o (ly:pitch-octave p))
+ (n (ly:pitch-notename p))
(i (+ (* 7 o) n))
- (pes (ly-get-mus-property (list-ref pitches i) 'elements))
- (pnew (ly-get-mus-property (car pes) 'pitch))
+ (pes (ly:music-property (list-ref pitches i) 'elements))
+ (pnew (ly:music-property (car pes) 'pitch))
)
- (ly-set-mus-property! music 'pitch pnew)
+ (ly:music-set-property! music 'pitch pnew)
)
)
music
-\version "1.5.68"
+\version "2.3.2"
-pat = \notes \transpose c'' \repeat unfold 2 {
- < { \context Staff=up {r8 e16 f g e f g } }
- { \context Staff=down <
+pat = \notes \transpose c c' \repeat unfold 2 {
+ << { \context Staff=up {r8 e16 f g e f g } }
+ { \context Staff=down <<
\context Voice=vup { \stemUp \tieUp r16 d8.~d4 }
\context Voice=vdwn { \stemDown c2 }
- > }
- >
+ >> }
+ >>
}
-enda = \notes { r8 f,16 a, c f c a, \stemUp c \translator Staff = down
- a, f, a, f, d, f, d, \translator Staff = up \stemBoth
- r8 g16 h d' f' d' h d' h g h d f e-\prall d <e1 g c'^\fermata> \bar "|."
+enda = \notes { r8 f,16 a, c f c a, \stemUp c \change Staff = down
+ a, f, a, f, d, f, d, \change Staff = up \stemBoth
+ r8 g16 h d' f' d' h d' h g h d f e\prall d <e g c'>1^\fermata \bar "|."
}
endb = \notes {\stemUp \tieUp r16 c,8.~c,4~c,2 r16 h,,8.~h,,4~h,,2 c,1 \bar "|."}
endc = \notes {\stemDown \tieDown c,,2~c,, c,,~c,, c,,1_\fermata }
\score {
- \notes \transpose c'' \context PianoStaff <
- \context Staff=up { \clef "G" s1*32 \enda }
- \context Staff=down { \clef "F" s1*32 < \context Voice=vup \endb
- \context Voice=vdwn \endc
- > }
- { \apply #transform {\pat {c e g c' e' }
+ \notes \transpose c c' \context PianoStaff <<
+ \context Staff=up { \clef "G" }
+ \context Staff=down { \clef "F" }
+ { \applymusic #transform {\pat {c e g c' e' }
\pat {c d a d' f' }
\pat {h, d g d' f' }
\pat {c e g c' e' }
+ }
+
+ %{
+ %Etc.
+
+ %we get the idea now.
+
+
+
\pat {c e a e' a' }
\pat {c d fis a d' }
\pat {h, d g d' g' }
\pat {g,, d, g, c f }
\pat {g,, d, g, h, f }
\pat {c,, c, g, b, e }
- }
+ %}
}
- >
+ >>
\paper {
- \translator {
- \PianoStaffContext
- VerticalAlignment \override #'forced-distance = #10
+ \context {
+ \PianoStaff
+ \override VerticalAlignment #'forced-distance = #10
}
linewidth = 18.0 \cm
\tempo 4 = 80
}
}
+