gnu-music-discuss
[Top][All Lists]
Advanced

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

Re: Various problems...


From: Mats Bengtsson
Subject: Re: Various problems...
Date: Sat, 21 Oct 2000 13:31:45 +0200

> This is just a first pass, and as such is missing lots of phrase marks and
> dynamics, etc. (I plan on entering all three movements, including the very
> long third movement).  However, I've run into a few problems...

I made some changes, see the attached file.
First of all, you could save a lot of typing using the 
tupletSpannerDuration property. Secondly, the tuplet related
properties work when I replaced Staff.Tuplet with Staff.TupletBracket.
Finally, the horizontalNoteShift property applies to all notes
of the Voice, I don't know why you set it several times 
(also, I changed the property syntax to get rid of some
warnings). The resulting file probably requires 1.3.94 or
later, the property syntax has kept changing.

> 1. Lily doesn't seem to be generating any top margin.  The page number is at
> the very top of the page, and the score comes immediately after it
> (vertically).  I have '\paper { papersize = "letter"; }' at the very top of
> the file and I'm using ghostview (at letter size) to view the results of
> ly2dvi -P.

I think your dvips is configured to produce A4 paper as default.
Try dvips -t letter
(The default size used by dvips is the first paper size declared
in config.ps, in case you want to change this globally.)

> 2. Lily seems to waste lots of space at the bottom of the page even though
> she could probably fit one more staff on the page (especially page
> 2)--probably related to #1.

Yes, but the default margins are quite spatious. Try playing 
with the textheight paper variable. Also, by default, all the
score lines are packed together, if you want them to fill
the full page evenly spaced, set the paper variable
interscorelinefill = 1 (new feature in 1.3.91).

> 3. Lily prints the tagline twice--once on page three and again on page four.

Not with 1.3.96.

> 4. Measure 42:  The dynamic mark ("pp") collides with the textscript ("a
> tempo").

You could change the textScriptPadding.

> 5. Measures 63 & 65:  Lily forces me to use a slur instead of recognizing a
> tie between the a's at the end of beat 3 and beginning of beat 4.

The tie is actually printed but is very small and almost collides
with the b sharp.

> 6. Measures 17 & 37:  Slurs run through the key signatures (they shouldn't).

Yes.

> 7. Stem lengths through the piece seem arbitrarily short to me.  For
> example, in measure 11, the triplet on beat one has very short stems for the
> first two notes.  The triplet that follows it, even though it has the exact
> same notes, has longer stems for those two notes (still a bit short for my
> taste).  This is the same for the triplets on beats 1, 3, & 4 of the
> following measure (there are many, many more examples like this throughout).

I can't see any difference in bar 11 (magnifying the .ps). One
difference is that the first beam is somewhat wider because of the
accidental.

> This was done with 1.3.88 BTW, I tried 1.3.94 (the latest WinXX version) but
> to no avail:
> 
> C:\Temp\lilypond\Music>ly2dvi -P moonlight1
> ly2dvi (GNU LilyPond) 1.3.94
> executing: ash -c "lilypond  moonlight1 2>&1"
> lstat(/cygdrive) failed ...
> /cygdrive: No such file or directory
> GNU LilyPond 1.3.94.
> Now processing: `moonlight1.ly'
> Parsing...
> Interpreting music...[8][16][24][32]assertion "gh_string_p (s)" failed: file
> "li
> ly-guile.cc", line 164
>       0 [sig] LILYPOND 1001 stackdump: Dumping stack trace to
> LILYPOND.EXE.stack
> dump
> Aborted
> ly2dvi Hmm, I could not find an output file name
> 
> I'm sure 1.3.96 is more stable than this...

No, actually this bug was still in 1.3.96.
The following patch will solve the problem:

diff -u ly/engraver.ly.orig ly/engraver.ly
--- ly/engraver.ly.orig     Fri Oct 13 18:38:48 2000
+++ ly/engraver.ly      Sat Oct 21 12:16:31 2000
@@ -872,7 +872,7 @@
                (after-line-breaking-callback
. ,Tuplet_spanner::after_line_breaking)
                (molecule-callback . ,Tuplet_spanner::brew_molecule)
                (interfaces . (tuplet-spanner-interface))
-               (name "TupletBracket")
+               (name . "TupletBracket")
        )
 
        SostenutoPedal = #`(



   /Mats

\paper { papersize = "letter"; }
\include "english.ly";
\include "paper16.ly";  % Slightly smaller than the 20 default

\header
{
  title = "Sonata Una Quasi Fantasia";
  subtitle = "aka 'Moonlight': First movement";
  composer = "L.V. Beethoven";
  enteredby = "JLH";

  mutopiatitle = "Sonata Una Quasi Fantasia";
  mutopiacomposer = "L. V. Beethoven (1770-1827)";
  mutopiaopus = "";
  mutopiainstrument = "Piano";
  date = "18th C.";
  source = "unknown";
  style = "Classical";
  copyright = "Public Domain";
  filename = "moonlight1.ly";
  maintainer = "Shamus Hammons";
  lastupdated = "2000/Oct/16";
  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 "1.3.94";

\score
{
  \context PianoStaff
  <
    \context Staff = RH
    {
      \notes \relative c'
      {
%Not working...
%        \property Staff.tupletBracketVisibility = #'if-no-beam
%        \property Staff.tupletNumberVisibility = #'if-no-beam
%        \property Staff.tupletBracketVisibility = ##f
%        \property Staff.tupletNumberVisibility = ##f
%% Working!
        \property Staff.TupletBracket \push #'tuplet-bracket-visibility = ##f
        \property Staff.TupletBracket \push #'tuplet-number-visibility = ##f
        \property Staff.tupletSpannerDuration = #(make-moment 1 4)

        \time 4/4;
        \key cs \minor;
        \clef "G";

        \times 2/3 {gs8-1^\textscript "sempre pp e con sordini" "italic"
         ^\textscript "Adagio sostenuto" "" cs-2 e-4 gs, cs e
        gs, cs e gs, cs e |
        gs, cs e gs, cs e
        gs, cs e gs, cs e |
        a,-1 cs-2 e-4 a, cs e
        a, d fs a, d fs |
        gs, bs fs' gs, cs e
        gs, cs ds fs, bs ds |

        e, gs cs gs cs e}
        < \context Voice = va {\stemDown \times 2/3 {gs, cs e gs, cs e} 
\stemBoth}
          \context Voice = vb { r4 gs8. gs16 } > | % 5

        < \context Voice = va
         {\stemDown \times 2/3 {gs,8 ds' fs gs, ds' fs
          gs, ds' fs gs, ds' fs} \stemBoth}
          \context Voice = vb { gs2. gs8. gs16 } > | % 6

        < \context Voice = va
         {\stemDown \times 2/3 {gs,8 cs e gs, cs e
          a, cs fs a, cs fs} \stemBoth}
          \context Voice = vb { gs2 a } > | % 7

        < \context Voice = va
         {\stemDown \times 2/3 {gs,8 b e gs, b e
          a, b ds a b ds} \stemBoth}
          \context Voice = vb { \stemUp gs2 fs4 b \stemBoth} > | % 8

        < \context Voice = va
         {\stemDown \times 2/3 {gs,8 b e gs, b e
          gs, b e gs, b e} \stemBoth}
          \context Voice = vb { e4 r r2 } > | % 9

        < \context Voice = va
         {\stemDown \times 2/3 {g,8 b e g, b e
          g, b e g, b e} \stemBoth}
          \context Voice = vb { r2 r4 g8. g16 } > | % 10

        < \context Voice = va
         {\stemDown \times 2/3 {g,8 b f' g, b f'
          g, b f' g, b f'} \stemBoth}
          \context Voice = vb { g2. g8. g16 } > | % 11

        < \context Voice = va
         {\stemDown \times 2/3 {g,8 c e g, b e
          g, cs e fs, cs' e} \stemBoth}
          \context Voice = vb {\slurUp g2. () fs4 \slurBoth} > | % 12

        < \context Voice = va
         {\stemDown \times 2/3 {fs,8 b d fs, b d
          g, b cs e, b' cs} \stemBoth}
          \context Voice = vb {\slurUp fs2( g4 )e \slurBoth} > | % 13

        < \context Voice = va
         {\stemDown \times 2/3 {fs,8 b d fs, b d
          fs, as cs fs, as cs} \stemBoth}
          \context Voice = vb {fs2 fs} > | % 14

        < \context Voice = va
          {\stemDown
          \times 2/3 {b8 d fs b, d fs
          b, ds fs b, ds fs 
          b, e g b, e g
          b, e g b, e g
          b, ds fs b, ds fs
          b, ds fs b, ds fs
          b, e g b, e g
          b, e g b, e g

          b, ds fs b, ds fs
          b, d es b d es
          b cs gs' b, cs gs'
          a, cs fs a, cs fs
          g, b d g, b d
          fs, a ds fs, a ds

          \clef "F";
          cs, fs a cs, fs a
          cs, fs gs cs, es gs   % 22
          fs a cs
           \clef "G"; \stemUp a cs fs \stemDown
          cs fs a cs, fs a      % 23
          cs, gs' b cs, gs' b
          cs, gs' b cs, gs' b   % 24 

          cs, fs a cs, fs a
          bs, fs' a cs, fs a    % 25
          ds, fs gs ds fs gs
          ds fs gs ds fs gs     % 26
          e gs cs e, gs cs
          ds, fs a cs, e as     % 27
          bs bs, ds gs bs, ds
          a' bs, ds fs bs, ds   % 28

          r bs ds
          \translator Staff = LH \stemUp gs,
            \translator Staff = RH \stemDown bs ds
          \translator Staff = LH \stemUp a
            \translator Staff = RH \stemDown bs ds
          \translator Staff = LH \stemUp fs,
            \translator Staff = RH \stemDown bs ds       % 29
          \translator Staff = LH \stemUp e,
            \translator Staff = RH \stemDown e' gs
          cs e, gs
          e' e, gs cs e, gs     % 30
          \clef "F"; r e, gs cs e, gs
          e' e, gs cs e, gs     % 31
          }
          \stemBoth
          }

          \context Voice = vb
          {\stemUp
          b4 r r \slurUp b'( | c2. as4 |
          )b2. \slurBoth b4 | c2. as4 |

          b2 b | b a | g fs | cs cs |
          fs,4 s r cs''8. cs16 | cs2. cs8. cs16 |  % 24

          \slurUp
          cs2( bs4 cs | )ds2. ds4( | e2 ds4 cs | )bs8 r g4 a fs |  % 28
          \slurBoth
          \translator Staff = LH \stemDown s gs, a fs |    % 29
          e8 s \translator Staff = RH \stemUp cs''4 e cs | % 30
          s cs, e cs |

          \stemBoth
          }
        >

        \times 2/3 {ds8( a' fs bs a ds \clef "G";
        bs fs' ds a' fs )bs  % 32

        e,,( cs' gs e' cs gs'
        e cs' gs e' cs gs    % 33
        cs, fss e as fss cs'
        as e' cs fss e )as   % 34
        fs,( bs a ds bs fs'
        ds a' fs bs a ds     % 35
        bs fs a ds, fs bs,
        ds a bs fs a )ds,    % 36
        }
        < \context Voice = va
          {
          \stemUp
          \times 2/3 {fs bs, ds a bs \clef "F"; fs
          a ds, fs cs fs a   % 37
          bs, fs' gs a gs fs
          ds fs a cs, fs a   % 38
          bs, fs' gs a gs fs
          d fs a cs, fs a    % 39
          bs, fs' gs a gs fs
          cs e cs' cs, e cs' % 40
          \stemDown
          ds, a' cs ds, a' cs
          ds, gs bs ds, fs bs   % 41
          e, gs cs gs cs \clef "G"; e
          gs, cs e gs, cs e     % 42
          gs, ds' fs gs, ds' fs
          gs, ds' fs gs, ds' fs % 43
          gs, cs e gs, cs e
          a, cs fs a, cs fs     % 44

          gs, b e gs, b e
          a, b ds a b ds        % 45
          gs, b e b e gs
          b, e gs b, e gs       % 46
          b, fs' a b, fs' a
          b, fs' a b, fs' a     % 47
          b, e gs b, e gs
          bs, fs' gs cs, e gs   % 48

          ds fs gs ds fs gs
          e gs cs e, gs cs      % 49
          d, fs a d, fs a
          bs, fs' gs bs, fs' gs % 50
          cs, e gs cs, e gs
          cs, es gs cs, es gs   % 51
          cs, fs a cs, fs a
          cs, fs a cs, fs a     % 52

          cs, es gs cs, es gs
          cs, es gs cs, es gs   % 53
          cs, fs a cs, fs a
          cs, fs a cs, fs a     % 54
          cs, es gs cs, es gs
          cs, fs a cs, fs a     % 55
          b, fs' a b, fs' a
          b, fs' a b, e gs^\tenuto % 56

          a, e' gs a, ds fs
          gs, ds' fs gs, cs e   % 57
          fs, cs' ds fs, cs' ds
          gs, cs ds a cs ds     % 58
          gs, cs e gs, cs e
          fs, bs ds fs, bs ds   % 59
          e, gs cs gs cs e
          gs, cs e gs, cs e     % 60
          \stemBoth
          gs, ds' fs gs, ds' fs
          gs, ds' fs gs, ds' fs % 61
          gs, e' cs gs' e cs'
          gs e' cs gs'e cs      % 62
          bs ds a bs fs a \clef "F";
          ds, fs \slurDown a, ~ a \slurBoth gs fs   % 63
          e e' \clef "G"; cs gs' e cs'
          gs e' cs gs'e cs      % 64

          bs ds a bs fs a \clef "F";
          ds, fs \slurDown a, ~ a \slurBoth gs fs   % 65
          e gs cs e cs gs
          r e gs cs gs e        % 66
          }}
          \context Voice = vb
          {
          \stemDown
          s2 \times 2/3 {s8 ds4} cs4 |
          \property Voice.NoteColumn \push #'horizontal-shift = #1
          bs2 ds4 cs |  % 38
          bs2 s2 |      % 39
          bs2( \times 2/3 {)cs8 s4} s4 | % 40
          \stemUp
          \times 2/3 {s8 a'4 s4 s8 gs4 s8 fs4 % 41
          e8 s4} s4 r4 gs'8.^\textscript "piu marcato del principio" "italic" 
gs16 |   % 42
          gs2. gs8. gs16 | gs2 a | gs2 fs4 b |            % 45
          e, r r b'8. b16 | b2. b8. b16 | b2 bs4 cs |     % 48
          ds2 e | d bs | cs2. cs4 | d2. bs4 | cs2. cs4 |  % 53
          d2. bs4 | cs2 cs2 | b2. b4 | a a gs gs |        % 57
          fs2 gs4 a | gs2 \slurUp gs( | )cs,4 \slurBoth r r2 | s1 | % 61
          s | s2. bs4 | cs s2. | s2. bs4 | cs s2. |       % 66
          \stemBoth
          }
        >

        \times 2/3 {r8 cs e gs e cs} s2 |  % 67
        r2 <cs' gs e> | <cs1^\fermata gs e> |           % 69

        \bar "|.";
      }
    }
    \context Staff = LH
    {
      \notes \relative c
      {
%Not working...
%        \property Staff.tupletBracketVisibility = #'if-no-beam
%        \property Staff.tupletNumberVisibility = #'if-no-beam
%        \property Staff.tupletBracketVisibility = ##f
%        \property Staff.tupletNumberVisibility = ##f
%% Working!
        \property Staff.TupletBracket \push #'tuplet-bracket-visibility = ##f
        \property Staff.TupletBracket \push #'tuplet-number-visibility = ##f
        \property Staff.tupletSpannerDuration = #(make-moment 1 4)

        \time 4/4;
        \key cs \minor;
        \clef "F";

        <cs1^\textscript "una corda" "italic" cs,> | <b b,> |   % 2
        <a2 a,> <fs fs,> | <gs gs,> <gs gs,> |                  % 4

        <cs1 gs cs,> | <bs gs bs,> |                            % 6
        <cs2 cs,> <fs, fs,> | <b b,> <b b,> |                   % 8
        <e1 e,> | <e1^\textscript "una corda" "italic" e,> |    % 10

        <d d,> | <c4 c,(> <b b,> <as2 )as,> |                   % 12
        <b b,(> e,4 g | )fs2 <fs fs,> |                         % 14

        <b1 b,> ~ | <b4 b,> <e e,> <g g,> <e e,> |              % 16
        <b1 b,> ~ | <b4 b,> <e e,> <g g,> <e e,> |              % 18

        <b2 b,> <gs gs,> | <es es,> <fs fs,> |                  % 20
        <b b,(> <bs bs,> | )cs, cs |                            % 22

        <fs1 cs fs,> | <es' cs es,> |                           % 24
        <fs2 fs,> <ds4 ds,> <cs cs,> | <bs2. gs bs,> <bs4 gs bs,> | % 26

        <cs2 gs cs,> <fs,4 fs,> <fss fss,> | <gs1 gs,> |        % 28
        <gs gs,_\textscript "il basso sempre ten." "italic"> |
        \property Voice.NoteColumn \push #'horizontal-shift = #1
        <gs gs,> |      % 30

        <gs gs,> | <gs gs,> |                                   % 32
        <gs gs,> | <gs gs,> |                                   % 34

        <gs gs,> ~ | <gs gs,> ~ |                               % 36
        <gs gs,> | <gs gs,> |                                   % 38

        <gs gs,> | <gs2^\textscript "dim." "italic" gs,(>
          <a^\textscript "una corda" "italic" a,> |             % 40
        <fs^\textscript "poco riten." "italic" )fs,> <gs gs,> |
        <cs1^\pp^\textscript "a tempo" "italic" gs cs,> |       % 42

        <bs gs bs,> | <cs2 cs,> <fs, fs,> |                     % 44
        <b b,> <b b,> | <e1 e,> |                               % 46

        <ds ds,> | <e2 e,> <ds4 ds,> <cs cs,> |                 % 48
        <bs2 gs bs,(> <cs gs )cs,> | <fs, fs,(> <gs )gs,> |     % 50

        <cs1 cs,> ~ | <cs4 cs,> <fs fs,> <a a,> <fs fs,> |      % 52
        <cs1 cs,> ~ | <cs4 cs,> <fs fs,> <a a,> <fs fs,> |      % 54

        <cs2 cs,> <fs, fs,> | <ds'2. ds,> <e4 e,(> |            % 56
        <cs cs,> <ds ds,> <bs bs,> <cs )cs,> | <a2 a,(> <gs4 gs,> <fs fs,> |

        <gs2 )gs,> <gs gs,> |                                   % 60
        <
          \context Voice = va
          { gs2. gs8. gs16 | gs2. gs8. gs16 |                   % 62
            gs2. gs8. gs16 | gs2. gs8. gs16 |                   % 64
            gs2. gs8. gs16 | gs2. gs8. gs16 |                   % 66
            gs2 cs | gs \times 2/3 {gs8 cs gs e gs e} }
          \context Voice = vb
          { cs1 | bs | cs | gs | cs | gs | cs | cs | }
        >

        cs2 <cs'^\pp gs cs,> | <cs1^\fermata^\ppp gs cs,>

        \bar "|.";
      }
    }
  >

  \paper { 
  linewidth = 18.0 \cm;
  interscorelinefill = 1;
 }

  \midi { \tempo 4 = 84; }
}

reply via email to

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