]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.1.63.lu1
authorJan Nieuwenhuizen <janneke@gnu.org>
Tue, 20 Jul 1999 14:08:12 +0000 (16:08 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Tue, 20 Jul 1999 14:08:12 +0000 (16:08 +0200)
pl 63.jcn1
- some faq entries
- chord input and proceccing fixes
- bf: nederlands.ly

12 files changed:
Documentation/faq.yo
NEWS
VERSION
input/test/chords.ly
input/test/gmsusd.ly [new file with mode: 0644]
lily/chord.cc
lily/parser.yy
ly/nederlands.ly
mf/feta-generic.mf
stepmake/NEWS
stepmake/VERSION
stepmake/stepmake/substitute-vars.make

index e365332c99fb91754782b3e2432d0dfb1455490c..12593304605fe2833ddaf92dae45a2bb6176767e 100644 (file)
@@ -242,12 +242,47 @@ verb(
        >
 )
 
+question(How do I combine multiple pieces into one document)
+
+There are several solutions:
+
+itemize(
+it() 
+verb(
+       ly2dvi foo.ly bar.ly
+) 
+produces one combined file(foo.dvi)
+it() make a toplevel file(.ly) file that contains al pieces:
+verb(
+       % booklet.ly
+       \input "piece-1.ly"
+       \input "piece-2.ly"
+       \input "piece-3.ly"
+) 
+it() make a hybrid TeX()/LilyPond file(.doc) document (see the
+     file(Documentation/tex) directory).
+)
+
+For the first two solutions, you will need to move code(\header) info 
+in each individual piece from toplevel into the code(\paper) block.
+
+There are several examples in the file(mutopia) directory.
+
 
 question(How do I get bar numbers?)
 
 See file(input/test/bar-scripts.ly).
 
 
+question(How do I change the tagline 'Lily was here')
+
+In the code(\header) field, add a code(tagline) entry, eg
+verb(
+tagline="Typeset by GNU LilyPond"
+)
+
+to get a bit less frivolous tagging.
+
 sect(Development)
 
 COMMENT(look out: can't have line breaks in subsect() macro)
diff --git a/NEWS b/NEWS
index df64243e3d8233dfc91130eb1532bdab44a2541d..e8e469e93982d979659a91cdcfc430e24e44d145 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+pl 63.jcn1
+       - some faq entries
+       - chord input and proceccing fixes
+       - bf: nederlands.ly
+       
 pl 62.hwn1
        - ps-to-pfa.py: use std modules re, find 
        - minor input fixes
diff --git a/VERSION b/VERSION
index f64a357ccbd3ff77f44add0ecb3f2ecd82afe82d..78a3f7965aa48ca45e068cd181d91d6480c96865 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
 PATCH_LEVEL=63
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=lu1
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 44e92b17a7a7f084888df2277b99a08d7ef4ba90..bc75dbddc2245f33ad2d29b2011109f56c2ed881 100644 (file)
@@ -20,6 +20,7 @@ scales = \notes \transpose c'' \chords{
                %<c1 e g>
                c1-m c-min c4-dim c-aug c-sus c-maj
                 c1-6 c4-7 c-9 c-11 c-13
+               c-m7 c-m.sus c-m7.sus
                c1-7^5 c-13^5.7.9.11
                % c1-7^5 c-13^5
                c1 g d a e b fis
diff --git a/input/test/gmsusd.ly b/input/test/gmsusd.ly
new file mode 100644 (file)
index 0000000..8535e06
--- /dev/null
@@ -0,0 +1,32 @@
+% the Gm7sus4/D chord prints as Gm/4/7/D
+% it took me quite a while by experiment to work out how to enter it -- PC
+
+% perhaps the current modifier approach is too simplistic
+
+\version "1.1.52";
+
+gmsus=\notes\relative c \chords{ 
+       g1
+       % Gm7sus4: the hard way
+       g1-3-.4.7
+
+       % another hard way:
+       \notes< g'1 bes c d f >
+
+       % bit easier:
+       g1-m.4.7
+
+       g1-m7.sus
+       g1-m7.sus4
+
+       % and finally:
+       \property Score.chordInversion = 1 
+       g1-m7.sus/d
+}
+
+\score{
+       <
+               \context ChordNames \gmsus
+               \context Staff \gmsus
+       >
+}
index 03594ceed338a2e92701c02f04346c987458e424..867add9c73235cee71b597822b330ae05c5aa5d2 100644 (file)
@@ -128,24 +128,50 @@ Chord::Chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p, Array<Musica
   fifth.transpose (Musical_pitch (2));
   fifth.transpose (Musical_pitch (2, -1));
 
+  /*
+    remove double adds (urg: sus4)
+   */
+  for (int i = add_arr_p->size () - 1; i >= 0 ; i--)
+    {
+      int j = ::find_pitch_i (add_arr_p, (*add_arr_p)[i]);
+      if ((j != -1) && (i != j))
+        {
+           add_arr_p->get (i);
+       } 
+    }
+
   /*
     default chord includes upto 5: <1, 3, 5>
    */
   add_arr_p->insert (tonic, 0);
-  int highest_trap = trap_i (tonic, add_arr_p->top ());
+  Array<Musical_pitch> tmp = *add_arr_p;
+  int highest_trap = trap_i (tonic, tmp.top ());
   if (highest_trap < 5)
-    add_arr_p->push (fifth);
+    tmp.push (fifth);
 
   /*
     find missing triads
    */
-  Array<Musical_pitch> missing_arr = missing_triads_pitch_arr (add_arr_p);
+  Array<Musical_pitch> missing_arr = missing_triads_pitch_arr (&tmp);
+  if (highest_trap < 5)
+    missing_arr.push (fifth);
 
   /*
-    if additions include 4, assume sus4 and don't add third implicitely
+    if additions include some 3, don't add third
    */
   Musical_pitch third = tonic;
   third.transpose (Musical_pitch (2));
+  if (::find_notename_i (add_arr_p, third) != -1)
+    {
+      int i = ::find_pitch_i (&missing_arr, third);
+      if (i != -1)
+       missing_arr.get (i);
+    }
+  
+  /*
+    if additions include 4, assume sus4 and don't add third implicitely
+     C-sus (4) = c f g (1 4 5)
+   */
   Musical_pitch sus = tonic;
   sus.transpose (Musical_pitch (3));
   if (::find_pitch_i (add_arr_p, sus) != -1)
@@ -154,6 +180,17 @@ Chord::Chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p, Array<Musica
       if (i != -1)
        missing_arr.get (i);
     }
+
+  /*
+    if additions include some 5, don't add fifth
+   */
+  if (::find_notename_i (add_arr_p, fifth) != -1)
+    {
+      int i = ::find_pitch_i (&missing_arr, fifth);
+      if (i != -1)
+       missing_arr.get (i);
+    }
+  
   
   /*
     complete the list of triads to be added
@@ -176,7 +213,7 @@ Chord::Chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p, Array<Musica
            break;
          }
       if (j == sub_arr_p->size ())
-        pitch_arr_.push (p);
+       pitch_arr_.push (p);
     }
 
   pitch_arr_.sort (Musical_pitch::compare);
index 0cf567a55ee6f14a7b83b6490e0ebe16ebc196ab..88da679854cc51cff3533d770299975735045d82 100644 (file)
@@ -229,7 +229,7 @@ yylex (YYSTYPE *s,  void * v_l)
 
 %type <pitch_arr>      pitch_list
 %type <music>  chord
-%type <pitch_arr>      chord_additions chord_subtractions chord_notes
+%type <pitch_arr>      chord_additions chord_subtractions chord_notes chord_step
 %type <pitch>  chord_note chord_inversion
 %type <midi>   midi_block midi_body
 %type <duration>       duration_length
@@ -1414,24 +1414,15 @@ chord_additions:
        | '-' chord_notes {
                $$ = $2;
        }
-       | '-' CHORDMODIFIER_PITCH {
-               $$ = new Array<Musical_pitch>;
-               $$->push (*$2);
-       }
-       | '-' CHORDMODIFIER_PITCH chord_notes {
-               $$ = $3;
-               $$->push (*$2);
-       }
        ;
 
 chord_notes:
-       chord_note {
-               $$ = new Array<Musical_pitch>;
-               $$->push (*$1);
+       chord_step {
+               $$ = $1
        }
-       | chord_notes '.' chord_note {
+       | chord_notes '.' chord_step {
                $$ = $1;
-               $$->push (*$3);
+               $$->concat (*$3);
        }
        ;
 
@@ -1458,6 +1449,22 @@ chord_inversion:
        }
        ;
 
+chord_step:
+       chord_note {
+               $$ = new Array<Musical_pitch>;
+               $$->push (*$1);
+       }
+       | CHORDMODIFIER_PITCH {
+               $$ = new Array<Musical_pitch>;
+               $$->push (*$1);
+       }
+       | CHORDMODIFIER_PITCH chord_note {
+               $$ = new Array<Musical_pitch>;
+               $$->push (*$1);
+               $$->push (*$2);
+       }
+       ;
+
 chord_note:
        unsigned {
                $$ = new Musical_pitch;
index 9b652a6bd2297e55044f4c3913d29e51e3f2fbe3..78fc35ed04ef4f0a2f516c32c3191d95ea2419f5 100644 (file)
@@ -68,7 +68,9 @@
        Dis     = \musicalpitch { -2 1 1 }
        Disis   = \musicalpitch { -2 1 2 }
        Eses    = \musicalpitch { -2 2 -2 }
+       Eeses   = \musicalpitch { -2 2 -2 }
        Es      = \musicalpitch { -2 2 -1 }
+       Ees     = \musicalpitch { -2 2 -1 }
        E       = \musicalpitch { -2 2 0 }
        Eis     = \musicalpitch { -2 2 1 }
        Eisis   = \musicalpitch { -2 2 2 }
index b1cdd49fbc1befe81933133826ee94c0bc84e406..ad64170dff288c119ba782e0ea9b26c9c94c71f9 100644 (file)
@@ -37,7 +37,7 @@ if test = 0:
 else:
 %      input feta-bolletjes;   
 %      input feta-banier;
-       input feta-eindelijk;
+%      input feta-eindelijk;
 %      input feta-klef;
 %      input feta-toevallig;
 %      input feta-schrift;
index 3f3f98ee14b3c2a96c551b1c293f4b83a6f8835d..fca4a877339207cfbf4e6e63af878a3ea49a86d5 100644 (file)
@@ -1,3 +1,9 @@
+pl 79
+       - empty sed script fix for aix
+
+pl 78
+       - yodl mode, mp fixes
+
 pl 77
        - mfmode
 
index 26f5b35fe005cc3fa64bbe68f6b8caa750d05aef..f4cf86e78071cb95f6eacd4b289b188632829d40 100644 (file)
@@ -1,7 +1,7 @@
 PACKAGE_NAME=StepMake
 MAJOR_VERSION=0
 MINOR_VERSION=1
-PATCH_LEVEL=78
+PATCH_LEVEL=79
 MY_PATCH_LEVEL=
 
 # use the above to send patches, always empty for released version:
index d310ae63a2e160a90056fa1aa26813f28a889a60..62c4dd010aae16489a0e0d2c8b12b0de2d99b898 100644 (file)
@@ -10,12 +10,12 @@ DATE = $(date)
 
 # for all FILE in AT_FILES:
 # substitute occurrences of @FILE@ with contents $(at-dir)BLA$(at-ext)
-sed-atfiles = -e '' $(foreach i, $(AT_FILES), \
+sed-atfiles = -e '\#' $(foreach i, $(AT_FILES), \
   -e '/@$i@/r $(at-dir)$i$(at-ext)' -e 's%@$i@%%g')
 
 # for all VAR in ATVARIABLES
 # substitute occurrences of @VAR@ with $(VAR)
-sed-atvariables = -e '' $(foreach i, $(ATVARIABLES), -e 's!@$i@!$($i)!g')
+sed-atvariables = -e '\#' $(foreach i, $(ATVARIABLES), -e 's!@$i@!$($i)!g')
 
 # these are obsolete
 # use ATVARIABLES