From: fred Date: Sun, 24 Mar 2002 19:42:56 +0000 (+0000) Subject: lilypond-0.0.62 X-Git-Tag: release/1.5.59~4751 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=7e9e27db9669509d06731d842ff4135665ce5d12;p=lilypond.git lilypond-0.0.62 --- diff --git a/Documentation/lilypond.pod b/Documentation/lilypond.pod index 2d71f9971f..bd8da80a06 100644 --- a/Documentation/lilypond.pod +++ b/Documentation/lilypond.pod @@ -58,6 +58,7 @@ Show a summary of usage set init file to F (default: F) =item B<--include, -I>=F + add F 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. 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 + +=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 or use GNU LilyPond C 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. B 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 diff --git a/init/table_sixteen.ini b/init/table_sixteen.ini index a1beff522b..b9670bb8fd 100644 --- a/init/table_sixteen.ini +++ b/init/table_sixteen.ini @@ -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 { diff --git a/lib/duration.cc b/lib/duration.cc index 1b529ccc58..64902fa73c 100644 --- a/lib/duration.cc +++ b/lib/duration.cc @@ -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 { diff --git a/lib/include/duration-convert.hh b/lib/include/duration-convert.hh index ef80462f78..3f34a7650b 100644 --- a/lib/include/duration-convert.hh +++ b/lib/include/duration-convert.hh @@ -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). @@ -24,6 +26,10 @@ 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 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. */ diff --git a/mi2mu/include/midi-event.hh b/mi2mu/include/midi-event.hh index 2d57aa8336..928851e808 100644 --- a/mi2mu/include/midi-event.hh +++ b/mi2mu/include/midi-event.hh @@ -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(); diff --git a/mi2mu/lily-stream.cc b/mi2mu/lily-stream.cc index 8e6806564b..5bae914fec 100644 --- a/mi2mu/lily-stream.cc +++ b/mi2mu/lily-stream.cc @@ -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. diff --git a/mi2mu/midi-event.cc b/mi2mu/midi-event.cc index d0715208ef..028730acac 100644 --- a/mi2mu/midi-event.cc +++ b/mi2mu/midi-event.cc @@ -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 ) { diff --git a/mi2mu/midi-score.cc b/mi2mu/midi-score.cc index d8bc7bb276..28cb7dae55 100644 --- a/mi2mu/midi-score.cc +++ b/mi2mu/midi-score.cc @@ -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 ); diff --git a/mi2mu/midi-voice.cc b/mi2mu/midi-voice.cc index 5d476ddcc5..21cac0482c 100644 --- a/mi2mu/midi-voice.cc +++ b/mi2mu/midi-voice.cc @@ -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 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 diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index ca18e61502..d602bb3a14 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -136,6 +136,8 @@ \mdef\eighthrest{63} \mdef\sixteenthrest{64} \mdef\thirtysecondrest{65} +\mdef\sixtyfourthrest{66} +\mdef\hundredtwentyeighthrest{67} \mdef\sharp{52} \mdef\flat{50} \mdef\natural{54} @@ -154,14 +156,18 @@ \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{} @@ -222,14 +228,18 @@ % 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} @@ -292,3 +302,5 @@ +\def\columnerrormark{\placebox{-5pt}{0pt}{\bf C!}} +\def\linescoreerrormark{\placebox{0pt}{-10pt}{\bf L!}}