]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.62
authorfred <fred>
Sun, 24 Mar 2002 19:42:56 +0000 (19:42 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:42:56 +0000 (19:42 +0000)
Documentation/lilypond.pod
init/table_sixteen.ini
lib/duration.cc
lib/include/duration-convert.hh
mi2mu/include/midi-event.hh
mi2mu/lily-stream.cc
mi2mu/midi-event.cc
mi2mu/midi-score.cc
mi2mu/midi-voice.cc
tex/lilyponddefs.tex

index 2d71f9971f2b39fbc8bfd7acd6d734278f0512db..bd8da80a06d375d7cab48c9a1609436883d9a1a3 100644 (file)
@@ -58,6 +58,7 @@ Show a summary of usage
 set init file to F<FILE> (default: F<symbol.ini>)
 
 =item B<--include, -I>=F<DIRECTORY>
+
 add F<DIRECTORY> to the search path for input files.
 
 =back
@@ -181,10 +182,27 @@ Check out the input files, some of them have comments
 
 =head1 PROBLEMS
 
-If GNU LilyPond bombs out, then please recompile using with debugging info
-turned on, and send a copy of the input which causes the error and a
-gdb stacktrace of the crash. It also helps if you can print the values
-of the objects. So if your trace is
+
+There is an extensive list of todoes and bugs. See F<TODO>. In
+general, try to find out 
+
+=over 4
+
+=item *
+
+if the bug has been fixed in a newer release.  
+
+=item *
+
+if the bug has been found earlier, consult F<TODO>
+
+=item * 
+
+where the bug comes from: if GNU LilyPond bombs out, then please
+recompile using with debugging info turned on, and send a copy of the
+input which causes the error and a gdb stacktrace of the crash. It
+also helps if you can print the values of the objects. So if your
+trace is
 
        (gdb) backtrace 12
        #0  Interval::operator+= (this=0x11fffec60..)
@@ -197,11 +215,12 @@ of the objects. So if your trace is
 Than it would help if you send a dump of the Interval and the Item
 (use: C<print *this> or use GNU LilyPond C<print()> methods).
 
-This is a beta version of GNU LilyPond. Please send your helpful comments
-and patches to me (see AUTHORS section)
+=back
 
-GNU LilyPond is updated very frequently, the latest version is always available at:
-ftp://pcnov095.win.tue.nl/pub/lilypond.
+Bug reports should be directed to
+bug-gnu-music@vuse.vanderbilt.edu. In any case, they should contain a
+description of the problem, an small input file which reproduces it
+(if applicable), lilypond version and a description of the platform.
 
 
 =head1 FILES
@@ -219,6 +238,8 @@ includes files from the directory F<init/>.
 
 B<LILYINCLUDE> an (one) additional directory for finding lilypond data.
 
+=head1 BUGS
+
 =head1 SEE ALSO
 
 =over 4
@@ -235,21 +256,62 @@ On the input format
 
 Goals of the GNU LilyPond project.
 
-=item The GNU LilyPond FAQ list
+=item FAQ
 
-=back
+The GNU LilyPond FAQ list
+
+
+
+=item http://?
+
+The GNU Music project. GNU LilyPond is part of the GNU Music
+project. For more information on the GNU Music project, 
+
+=item http://www.stack.nl/~hanwen/lilypond/index.html
 
 GNU LilyPond has her own webpage at
-http://www.stack.nl/~hanwen/lilypond/index.html. This webpage contains
+This webpage contains
 the MIDI, GIF and PS files for some standard music files. It also has
 the complete LilyPond documentation
 
-A mailing list for GNU LilyPond has been setup, it's at
-lilypond@gnu.ai.mit.edu. To subscribe, send mail to
-lilypond-request@gnu.ai.mit.edu.
 
-For discussions concerning the GNU Music project, 
-gnu-music-discuss@vanderbilt. .edu
+=back
+
+GNU LilyPond is
+updated very frequently, the latest version is always available at:
+ftp://pcnov095.win.tue.nl/pub/lilypond.
+
+For programs which part of the GNU music project, the following mailing list
+have been setup:
+
+
+=over 4
+
+=item info-gnu-music@vuse.vanderbilt.edu
+
+For information on the GNU Music project, to subscribe: send mail with
+subject "subscribe" to info-gnu-music-request@vuse.vanderbilt.edu
+
+=item help-gnu-music@vuse.vanderbilt.edu
+
+For help with programs from the GNU music project. To subscribe: send
+mail with subject "subscribe" to
+help-gnu-music-request@vuse.vanderbilt.edu
+
+=item bug-gnu-music@vuse.vanderbilt.edu
+
+If you have bugreports, you should send them to this list. If you want
+to read all bugreports, you should subscribe to this list.  To
+subscribe: send mail with subject "subscribe" to
+bug-gnu-music-request@vuse.vanderbilt.edu
+       
+=item gnu-music-discuss@vuse.vanderbilt.edu,
+
+For discussions concerning the GNU Music project, to subscribe: send
+mail with subject "subscribe" to
+gnu-music-discuss-request@vuse.vanderbilt.edu,
+
+=back
 
 =head1  REMARKS
 
index a1beff522b506c53f3030854b6360e5103b77543..b9670bb8fd96c674cc008e1b72771befc5a0535a 100644 (file)
@@ -114,6 +114,8 @@ table_sixteen=
             "8"        "\eighthrest"           0\pt    5\pt    0\pt    8\pt
             "16"       "\sixteenthrest"                0\pt    6\pt    0\pt    12\pt
             "32"       "\thirtysecondrest"     0\pt    6\pt    0\pt    16\pt
+            "64"       "\sixtyfourthrest"      0\pt    6\pt    0\pt    16\pt
+            "128"      "\hundredtwentyeighthrest"      0\pt    6\pt    0\pt    16\pt
      }
 
      "meters" = \table {
@@ -139,12 +141,16 @@ table_sixteen=
      }
 
      "flags" = \table {
-            "8"        "\eigthflag"            0\pt    4\pt    0\pt    0\pt
+            "8"        "\eighthflag"           0\pt    4\pt    0\pt    0\pt
             "16"       "\sixteenthflag"                0\pt    4\pt    0\pt    0\pt
             "32"       "\thirtysecondflag"     0\pt    4\pt    0\pt    0\pt
-            "-8"       "\deigthflag"           0\pt    4\pt    0\pt    0\pt
+            "64"       "\sixtyfourthflag"      0\pt    4\pt    0\pt    0\pt
+            "128"      "\hundredtwentyeighthflag"      0\pt    4\pt    0\pt    0\pt
+            "-8"       "\deighthflag"          0\pt    4\pt    0\pt    0\pt
             "-16"      "\dsixteenthflag"               0\pt    4\pt    0\pt    0\pt
             "-32"      "\dthirtysecondflag"    0\pt    4\pt    0\pt    0\pt
+            "-64"      "\dsixtyfourthflag"     0\pt    4\pt    0\pt    0\pt
+            "-128"     "\dhundredtwentyeighthflag"     0\pt    4\pt    0\pt    0\pt
      }
 
      "beamslopes" = \table {
index 1b529ccc5894d87940b0c56c69efd614412fb3db..64902fa73ce9e11b3216d967c635f175d6a8496d 100644 (file)
@@ -43,6 +43,8 @@ Duration::duration_type_b(int t)
     return bit_i == 1;
 }
 
+// ugh, what's this?
+// i should be called "mom()", ... or at least "length_mom()"
 Moment
 Duration::length() const
 {
index ef80462f787add5a8af77fc1a96d32b389be3bb7..3f34a7650b4816fa0f630a34d20a59abc808d079 100644 (file)
@@ -12,6 +12,8 @@
 #define DURATION_CONVERT_HH
 #include "duration.hh"
 #include "string.hh"
+//#include "array.hh"
+#include "varray.hh"
 
 /**
        Duration_convert handles all conversions to -n fro Duration (dur).
        SUGGESTION: currently a moment in time is called moment too;
        let-s typedef Rational When too, so that we get 
        When Staff_column::when(), Moment Voice_element::mom().
+
+       [todo]
+       move all statics to real members, instantiate Duration_convert
+       object(s).
 */
 struct Duration_convert {
        
@@ -34,6 +40,7 @@ struct Duration_convert {
     static bool no_double_dots_b_s;
     static bool no_triplets_b_s;
     static int no_smaller_than_i_s;
+    static Array<Duration> dur_array_s;
 
 //     /// Most used division in MIDI, all fine with me.
 //     static int const division_1_c_i = 384;
@@ -65,6 +72,8 @@ struct Duration_convert {
     /// Return plet factor (not a Moment: should use Rational?).
     static Moment plet_factor_mom( Duration dur );
 
+    static void set_array();
+
     /** Return synchronisation factor for mom, so that
       mom2_dur( mom / sync_f ) will return the duration dur.           
       */ 
index 2d57aa8336f5d7add2f5568440f82b322ecafab6..928851e808ec264851e5ecc3866eb8139983e8b5 100644 (file)
@@ -38,7 +38,8 @@ private:
 
 class Midi_note : public Midi_event {
 public:
-       int const c0_pitch_i_c_ = 60;
+//     int const c0_pitch_i_c_ = 60; // huh?
+       int const c0_pitch_i_c_ = 48;
 
        Midi_note( String name_str, Duration dur );
        virtual Moment mom();
index 8e6806564bdda46edaa95ccc0c5bca8f192c55c2..5bae914fec98c807448fd740fe7fae2188a9294e 100644 (file)
@@ -107,7 +107,7 @@ Lily_stream::header()
     *os_p_ << "% from input file: ";
     *os_p_ << midi_parser_l_g->filename_str_;
     *os_p_ << "\n\n";    
-    *os_p_ << "\\version \"0.0.58\";\n";
+    *os_p_ << "\\version \"0.0.57\";\n";
 }
 /*
   snapnie: dit kan toch automaties? Zie ook dstream.
index d0715208efeb69aec9e6fe120961464fa101ac15..028730acacca7410aebd58cd3259a25e9fc5b0f0 100644 (file)
@@ -80,7 +80,13 @@ Midi_key::notename_str( int pitch_i )
 }
 
 // statics Midi_note
-bool const Midi_note::simple_plet_b_s = false;
+/*
+ this switch can be used to write simple plets like 
+     c4*2/3 
+ as  
+     \plet{ 2/3 } c4 \plet{ 1/1 }
+ */
+bool const Midi_note::simple_plet_b_s = true;
 
 Midi_note::Midi_note( String name_str, Duration dur )
 {
index d8bc7bb276413b14a0de0273896863d8a0e656b4..28cb7dae557d1c401ed3f4f14d2577519550eca7 100644 (file)
@@ -26,6 +26,10 @@ int
 Midi_score::output_mudela( String filename_str )
 {
        tor( NORMAL_ver ) << "Lily output to " << filename_str << " ..." << endl;
+       
+       // ugh, ugly midi type 1 fix
+       if ( ( midi_track_p_list_.size() == 1 ) && !midi_track_p_list_.top()->number_i_ )
+               midi_track_p_list_.top()->number_i_ = 1;
 
        int track_i = 0;
        Lily_stream lily_stream( filename_str );
index 5d476ddcc5b79b53dbef5437cda66508693b29aa..21cac0482c1e015f900efe58dccca8aeffde1fef 100644 (file)
@@ -8,6 +8,8 @@
 Midi_voice::Midi_voice( Moment begin_mom )
 {
        begin_mom_ = begin_mom;
+       end_mom_ = begin_mom;
+       events_i_ = 0;
 }
 
 void
@@ -25,6 +27,9 @@ Midi_voice::begin_mom()
 Moment 
 Midi_voice::end_mom()
 {
+//     if ( events_i_ == midi_event_p_list_.length_i() )
+       if ( events_i_ == midi_event_p_list_.size() )
+               return end_mom_;
        Moment now_mom = begin_mom_;
        tor( DEBUG_ver ) << now_mom << ", ";
        for ( PCursor<Midi_event*> i( midi_event_p_list_.top() ); i.ok(); i++ ) {
@@ -32,7 +37,10 @@ Midi_voice::end_mom()
                now_mom += i->mom();
        }
        tor( DEBUG_ver ) << endl;
-       return now_mom;
+       end_mom_ = now_mom;
+//     events_i_ = midi_event_p_list_.length_i();
+       events_i_ = midi_event_p_list_.size();
+       return end_mom_;
 }
 
 String 
index ca18e61502f7abfcef7bce3731db28d2d7f729da..d602bb3a1491cadb30f7d98926e5e2f9294b2751 100644 (file)
 \mdef\eighthrest{63}
 \mdef\sixteenthrest{64}
 \mdef\thirtysecondrest{65}
+\mdef\sixtyfourthrest{66}
+\mdef\hundredtwentyeighthrest{67}
 \mdef\sharp{52}
 \mdef\flat{50}
 \mdef\natural{54}
 \mdef\cbassclef{74}
 \mdef\caltoclef{76}
 
-\mdef\deigthflag{45}
+\mdef\deighthflag{45}
 \mdef\dsixteenthflag{46}
 \mdef\dthirtysecondflag{47}
+\mdef\dsixtyfourthflag{48}
+\mdef\dhundredtwentyeighthflag{49}
 
 % pointing up
-\mdef\ueigthflag{40}
+\mdef\ueighthflag{40}
 \mdef\usixteenthflag{41}
 \mdef\uthirtysecondflag{42}
+\mdef\usixtyfourthflag{43}
+\mdef\uhundredtwentyeighthflag{44}
 
 \maccentdef\repeatcolon{55}{2/1}
 \def\emptybar{}
 % bottom at baseline
 \def\linestafsym#1#2{\leftalign{\botalign{\lines{#1}{#2}}}}
 
-\def\eigthflag{\topalign{\ueigthflag}}
+\def\eighthflag{\topalign{\ueighthflag}}
 \def\sixteenthflag{\topalign{\usixteenthflag}}
 \def\thirtysecondflag{\topalign{\uthirtysecondflag}}
+\def\sixtyfourthflag{\topalign{\usixtyfourthflag}}
+\def\hundredtwentyeighthflag{\topalign{\uhundredtwentyeighthflag}}
 
 \def\cquartrest{\vertcenter\quartrest}
 \def\ceighthrest{\vertcenter\eighthrest}
 \def\csixteenthrest{\vertcenter\sixteenthrest}
 \def\cthirtysecondrest{\vertcenter\thirtysecondrest}
+\def\csixtyfourthrest{\vertcenter\sixtyfourthrest}
+\def\chundredtwentyeighthrest{\vertcenter\hundredtwentyeighthrest}
 
 \def\lsingledot{\kern-\notewidth\singledot}
 \def\ldoubledot{\kern-\notewidth\doubledot}
 
         
 
+\def\columnerrormark{\placebox{-5pt}{0pt}{\bf C!}}
+\def\linescoreerrormark{\placebox{0pt}{-10pt}{\bf L!}}