Hi,
  I just finished typesetting one of my very early piece. I want to ease the 
writing when every time using Chinese font ile "simfang.ttf", so I put an 
override font-name line in "mydefs.ly". I have defined lots of things used very 
often in this file. But the log file says this override is wrong. When I used 
it from time to time in my input file, it's correct. Please tell me how to do 
that?
  BTW, the log file gives a lot of warnings of "cannot find start of 
(de)crescendo", but all of my \cresc and \dim has corresponding \! signs. There 
is also a programming error for midi output, which confused me very much! Why?

SINCERELY
Haipeng
 
\version "2.11.44"

\include "mydefs.ly"

#(ly:set-option 'point-and-click #f)

\header {
  title = \markup { \override #'(baseline-skip . 2) \center-align { \simfang \bold \fontsize #4 "地衣组曲——友谊" \bold \fontsize #4 "First Suite" } }
  composer = \markup { \override #'(baseline-skip . 2) \center-align { \simfang \bold \fontsize #3 "胡海鹏" \fontsize #3 \bold "Hu Haipeng" } }
  copyright = "© 1998, All Rights Reserved"
  tagline = \markup \fill-line { \simfang \fontsize #2 \bold "1998年九月" }
}

  upperI = \relative c'' {
    \clef treble \key c \major \time 3/8 \tempo 4.=60
    g8\(^\allegretto c d | e a g | e d c | e4.\) |
    g,8\( c d | e a g | e c a | d4.\) |
    g,8\( c d | e a g | f d e | a,4\) a8\( |
    b4 c8 | d f e | d a g | c4.\) |
    c^\rit | <e, c g> | <e c g> ~ | <e c g> \bar "|."
  }

  lowerI = \relative c {
    \clef bass \key c \major \time 3/8
    c16 e g c g e | c e g c g e | c e g c \clef treble e g | c g e c \clef bass g e |
    c e g c g e | c e g c g e | a, e' a c a e | g, d' g b g d |
    c e g c g e | c g' c e c g | e gis b d b gis | f a c d c a |
    d, f g b g f | b, d f g f d | g, d' f g f d | c e g a g e |
    c4. | <c, c'> | <c c'> ~ | <c c'> \bar "|."
  }

  dynamicsI = {
    s4.*16\mf s4.\dim s4. s4.\! s4.
  }

  \score {
    \new PianoStaff <<
    \set PianoStaff.connectArpeggios = ##t
      \new Staff = "upper"
      #(set-accidental-style 'piano 'Score)
      \upperI
      \new Dynamics = "dynamics" \dynamicsI
      \new Staff = "lower" { \lowerI }
    >>
    \header {
      piece = \markup { \override #'(baseline-skip . 2) \center-align { \simfang \fontsize #2 \bold "前奏曲·友谊主题" \fontsize #2 \bold "Prelude, theme of friendship" } }
    }
    \layout {
      \context {
        \type "Engraver_group"
        \name Dynamics
        \alias Voice
        \consists "Output_property_engraver"
        \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
        \override DynamicLineSpanner #'Y-offset = #0
        \consists "Script_engraver"
        \consists "Dynamic_engraver"
        \consists "Text_engraver"
        \override TextScript #'font-size = #2
        \override TextScript #'font-shape = #'italic
        \consists "Skip_event_swallow_translator"
        \consists "Axis_group_engraver"
      }
      \context {
        \PianoStaff
        \accepts Dynamics
      }
      \context {
        \Score
        \override Glissando #'breakable = ##t
        \override TextSpanner #'breakable = ##t
        \override DynamicSpanner #'breakable = ##t
      }
    }
  }

  \pageBreak

  upperII = \relative c'' {
    \clef treble \key g \minor \time 2/4 \tempo 4=80
    g2\(^\andante | bes | c4 bes8 c | d4 f |
    c4. d8 | c4 a | g4. f8 | d2\) |
    g2\( | bes | c4 bes8 c | d2 |
    f4 g8 f | d f c e | d2 ~ | d\) |
    g4\( g | f d | c d | c a |
    g f | bes c | d2 ~ | d\) |
    g,4\( g' | f d | c d | c a |
    g bes | f8 g a4\upmordent | \grace { a16 } g2^\rit ~ | g\) \bar "|."
  }

  lowerII = \relative c' {
    \clef bass \key g \minor \time 2/4
    g4 <bes d> | f <bes d> | ees, <g c> | d <f a> |
    c <g' c> | d <f a> | g, <g' bes> | d <a' c> |
    g <bes d> | f <bes d> | ees, <g c> | d <f a> |
    bes, <d f bes> | <d f bes> <c g' c> | d <f a> | << { d' c } \\ { a2 } >> |
    g4 <bes d> | f <bes d> | ees, <g c> | d <a' c> |
    g <bes d> | f <c' f> | bes <d f> | a <d f> |
    g, <bes d> | f <a d> | ees <g c> | d <f a> |
    ees <g bes> | d <f a> | g, <d' g b> | g,2 \bar "|."
  }

  dynamicsII = {
    s2*8\mp s2*4\cresc s2*4\!\mf
    s2*10 s2*5\dim s2\!\p
  }

  \score {
    \new PianoStaff <<
    \set PianoStaff.connectArpeggios = ##t
      \new Staff = "upper"
      #(set-accidental-style 'piano 'Score)
      \upperII
      \new Dynamics = "dynamics" \dynamicsII
      \new Staff = "lower" { \lowerII }
    >>
    \header {
      piece = \markup { \override #'(baseline-skip . 2) \center-align { \simfang \fontsize #2 \bold "漫步" \fontsize #2 \bold "Walking" } }
    }
    \layout {
      \context {
        \type "Engraver_group"
        \name Dynamics
        \alias Voice
        \consists "Output_property_engraver"
        \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
        \override DynamicLineSpanner #'Y-offset = #0
        \consists "Script_engraver"
        \consists "Dynamic_engraver"
        \consists "Text_engraver"
        \override TextScript #'font-size = #2
        \override TextScript #'font-shape = #'italic
        \consists "Skip_event_swallow_translator"
        \consists "Axis_group_engraver"
      }
      \context {
        \PianoStaff
        \accepts Dynamics
      }
      \context {
        \Score
        \override Glissando #'breakable = ##t
        \override TextSpanner #'breakable = ##t
        \override DynamicSpanner #'breakable = ##t
      }
    }
  }

  \pageBreak

  upperIII = \relative c' {
    \clef bass \key aes \major \time 3/8 \tempo 4.=72
    r8^\vivace <c aes ees> <c aes ees> | r <c aes ees> <c aes ees> |
    r <c aes ees> <c aes ees> | r <c aes ees> \clef treble ees'\( |
    f4 ees8 | c bes aes | ees'4. ~ | ees4\) ees8\( |
    f4 ees8 | c aes f | bes4. ~ | bes4\) c8\( |
    des4 des8 | des c bes | c4 aes8 | f4\) aes8\( |
    bes4 c8 | g bes f | ees4. ~ | ees4\) ees'8\( |
    f4 ees8 | c bes aes | ees'4. ~ | ees4\) ees8\( |
    f4 ees8 | c bes aes | c4. ~ | c4\) c8\( |
    des ees f | ees4 des8 | c4 bes8 | aes4\) c8\( |
    bes c bes | f g ees | aes4. ~ | aes4\)^\rit <ees' c>8\( |
    <ees c>4^\atempo <c aes>8 | <ees c>4 <c aes>8 | <ees c> <des bes> <c aes> | <des bes>4\) <bes g>8\( |
    <des bes>4 <bes g>8 | <des bes>4 <bes g>8 | <des bes> <c aes> <des bes> | <ees c>\) c\( des |
    ees4 c8 | bes c aes | aes g f | g4\) aes8\( |
    bes4 aes8 | bes4 c8 | g f ees | aes\)^\rit r ees'\( |
    f4 ees8 | c bes aes | ees'4. ~ | ees4\) ees8\( |
    f4 ees8 | c bes aes | c4. ~ | c4\) c8\( |
    des4 des8 | des c bes | c4 aes8 | f4\) aes8\( |
    bes4 c8 | g bes f | ees4. ~ | ees4\) ees'8\( |
    f4 ees8 | c bes aes | ees'4. ~ | ees4\) aes,8\( |
    aes4 c8 | c ees aes | aes4. ~ | aes4\) aes8\( |
    bes4 aes8 | f aes, f' | ees f ees | c bes aes | bes c bes | f g f\) |
    ees\( aes bes | c4.\) | bes8\( c bes | f g f |
    ees aes bes | c4.\) | ees8\( f ees | c ees bes\) |
    ees,\(^\accel aes bes | c f ees | c aes bes | c ees f |
    aes\) r r | <c, aes ees c> r r | <aes ees c aes> r r | R4. \bar "|."
  }

  lowerIII = \relative c, {
    \clef bass \key aes \major \time 3/8
    <aes aes'>8 r r | <ees' ees'> r r |
    <aes, aes'>8 r r | <ees' ees'> r <ees' aes c> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    aes, <aes' c> <aes c> | c, <aes' c> <aes c> |
    ees <g bes> <g bes> | bes, <g' bes> <g bes> |
    bes, <bes' des> <bes des> | f <bes des> <bes des> |
    f <aes c> <aes c> | c, <aes' c> <aes c> |
    bes, <f' bes> <f bes> | d <f bes> <f bes> |
    ees <g bes> <g bes> | bes, <g' bes> <g bes> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    ges <aes c> <aes c> | ees <aes c> <aes c> |
    des, <aes' des> <aes des> | f <aes des> <aes des> |
    e <g c> <g c> | f <aes c> <aes c> |
    des, <f bes> <f bes> | ees <g bes> <g bes> |
    aes, <aes' c> <aes c> | aes, <aes' c> <aes c> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    aes, <aes' c> <aes c> | ees <g bes> <g bes> |
    ees <g bes> <g bes> | bes, <g' bes> <g bes> |
    ees <g bes> <g bes> | aes, <aes' c> <aes c> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    f <aes c> <aes c> | e <g c> c, |
    bes <f' bes> <f bes> | des <f bes> <f bes> |
    ees <g bes> <g bes> | aes, <aes' c> r |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    f <aes c> <aes c> | c, <aes' c> <aes c> |
    bes, <f' bes> <f bes> | c <e g c> <e g c> |
    f <aes c> <aes c> | des, <f aes> c |
    bes <f' bes> <f bes> | d <f bes> <f bes> |
    ees <g bes> <g bes> | bes, <g' bes> <g bes> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    aes, <aes' c> <aes c> | ees <aes c> <aes c> |
    ges <aes c> <aes c> | ees <aes c> <aes c> |
    des, <aes' des> <aes des> | f <aes des> <aes des> |
    des, <aes' des> <aes des> | f <aes des> <aes des> |
    g <bes ees> <bes ees> | f <aes c> <aes c> |
    des, <f bes> <f bes> | ees <g bes> <g bes> |
    aes, <aes' c> <aes c> | f <aes c> <aes c> |
    des, <f bes> <f bes> | ees <g bes> <g bes> |
    aes, <aes' c> <aes c> | f <aes c> <aes c> |
    ees <aes c> <aes c> | ees <g bes> <g bes> |
    aes, <aes' c> <aes c> | <aes c> <aes c> <aes c> |
    <aes c> <aes c> <aes c> | <aes c> <aes c> <aes c> |
    <aes c> r r | <aes, aes'> r r | <aes, aes'> r r | R4. \bar "|."
  }

  dynamicsIII = {
    s4.*3\f s4 s8\mf
    s4.*30 s4.\cresc s4 s8\!
    s4.*15\f s4 s8\mf
    s4.*20 s4.*2\cresc s4.\!\f s4.\dim s4. s4 s8\!
    s4.*4 s4.*4\cresc s4.*4\!\f\cresc s4.*4\!\ff
  }

  \score {
    \new PianoStaff <<
    \set PianoStaff.connectArpeggios = ##t
      \new Staff = "upper"
      #(set-accidental-style 'piano 'Score)
      \upperIII
      \new Dynamics = "dynamics" \dynamicsIII
      \new Staff = "lower" { \lowerIII }
    >>
    \header {
      piece = \markup { \override #'(baseline-skip . 2) \center-align { \simfang \fontsize #2 \bold "有意圆舞曲" \fontsize #2 \bold "Waltz of friendship" } }
    }
    \layout {
      \context {
        \type "Engraver_group"
        \name Dynamics
        \alias Voice
        \consists "Output_property_engraver"
        \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
        \override DynamicLineSpanner #'Y-offset = #0
        \consists "Script_engraver"
        \consists "Dynamic_engraver"
        \consists "Text_engraver"
        \override TextScript #'font-size = #2
        \override TextScript #'font-shape = #'italic
        \consists "Skip_event_swallow_translator"
        \consists "Axis_group_engraver"
      }
      \context {
        \PianoStaff
        \accepts Dynamics
      }
      \context {
        \Score
        \override Glissando #'breakable = ##t
        \override TextSpanner #'breakable = ##t
        \override DynamicSpanner #'breakable = ##t
      }
    }
  }

  \score {
    \new PianoStaff <<
      \new Staff = "upper" << { \upperI s4. \upperII s2 \upperIII } \\ { \dynamicsI s4. \dynamicsII s2 \dynamicsIII } >>
      \new Staff = "lower" << { \lowerI s4. \lowerII s2 \lowerIII } \\ { \dynamicsI s4. \dynamicsII s2 \dynamicsIII } >>
    >>
    \midi {
      \context {
        \type "Performer_group"
        \name Dynamics
      }
      \context {
        \PianoStaff
        \accepts Dynamics
      }
    }
  }

\version "2.11.44"

%% my definition for easy writing of texts, symbols, midi effects, etc

%% tempo texts
prestoagitato = \markup { \bold \italic "Presto agitato" }
presto = \markup { \bold \italic "Presto" }
vivace = \markup { \bold \italic "Vivace" }
allegroassai = \markup { \bold \italic "Allegro assai" }
allegrobrio = \markup { \bold \italic "Allegro con brio" }
allegroanima = \markup { \bold \italic "Allegro con anima" }
allegro = \markup { \bold \italic "Allegro" }
allegretto = \markup { \bold \italic "Allegretto" }
moderato = \markup { \bold \italic "Moderato" }
andantemoderato = \markup { \bold \italic "Andante moderato" }
andante = \markup { \bold \italic "Andante" }
adagio = \markup { \bold \italic "Adagio" }
larghetto = \markup { \bold \italic "Larghetto" }
largo = \markup { \bold \italic "Largo" }
grave = \markup { \bold \italic "Grave" }

%% tempo changes
accel = \markup { \bold \italic "Accel." }
pocoaccel = \markup { \bold \italic "Accel. poco a poco" }
stretto = \markup { \bold \italic "Stretto" }
rit = \markup { \bold \italic "Rit." }
moltorit = \markup { \bold \italic "Molto rit." }
riten = \markup { \bold \italic "Riten." }
allarg = \markup { \bold \italic "Allarg." }
piumosso = \markup { \bold \italic "Più mosso" }
piulento = \markup { \bold \italic "Più lento" }
rapido = \markup { \bold \italic "Rapido" }
atempo = \markup { \bold \italic "A tempo" }

%% other texts
pont = \markup { \upright "Sul ponticello" }
cl = \markup { \bold \italic "Col legno battuto" }
clp = \markup { \bold \italic "C.L., Pont." }
piz = \markup { \bold "Pizz." }
arc = \markup { \bold "Arco" }
btk = \markup { \bold \italic "Bartok pizz." }

%% "noteheads only" for harp glissando
headsOn = \sequential {
  \override Dots #'transparent = ##t
  \override NoteHead #'no-ledgers = ##t
  \override Stem #'transparent = ##t
  \override Beam  #'transparent = ##t
}
headsOff = \sequential {
  \revert Dots #'transparent
  \revert NoteHead #'no-ledgers
  \revert Stem #'transparent
  \revert Beam #'transparent
}

%% hide and unhide time signature
hidetime = \sequential {
  \override Staff.TimeSignature #'stencil = ##f
}
unhidetime = \sequential {
  \revert Staff.TimeSignature #'stencil
}

%% chinese fonts selection (currently simfang.ttf GB2312 encoding only)
simfang = \override #'(font-name . "仿宋_GB2312")

%% special midi effects
mute = \set Staff.midiInstrument = "muted trumpet"
open = \set Staff.midiInstrument = "trumpet"
pizz = \set Staff.midiInstrument = "pizzicato strings"
arco = \set Staff.midiInstrument = "string ensemble 1"
vnarco = \set Staff.midiInstrument = "violin"
vlarco = \set Staff.midiInstrument = "viola"
vcarco = \set Staff.midiInstrument = "cello"
cbarco = \set Staff.midiInstrument = "contrabass"
legno = \set Staff.midiInstrument = "taiko drum"
bpizz = \set Staff.midiInstrument = "agogo"
tutti = \set Staff.midiInstrument = "string ensemble 1"

%% staff change
str = { \change Staff = rh }
stl = { \change Staff = lh }
stI = { \change Staff = one }
stII = { \change Staff = two }

%% bartok pizzicato
#(define-markup-command (bartokpizz layout props) ()
  (interpret-markup layout props
  (markup #:stencil
  (ly:stencil-translate-axis
  (ly:stencil-add
  (make-circle-stencil 0.7 0.1 #f)
  (ly:make-stencil
  (list 'draw-line 0.1 0 0.1 0 1)
   (-0.1 . 0.1) '(0.1 . 1)))
  0.7 X))))
bartok = \markup \bartokpizz

%% markuplist command \paragraph
#(define-markup-list-command (paragraph layout props args) (markup-list?)
  (let ((indent (chain-assoc-get 'par-indent props 2)))
  (interpret-markup-list layout props
  (make-justified-lines-markup-list (cons (make-hspace-markup indent)
  args)))))

Attachment: 1st suite.log
Description: Binary data

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

Reply via email to