From: fred Date: Sun, 24 Mar 2002 19:45:48 +0000 (+0000) Subject: lilypond-0.0.70pre X-Git-Tag: release/1.5.59~4586 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9f1970f731aadaf042f4c1b12710643df4d7e4b7;p=lilypond.git lilypond-0.0.70pre --- diff --git a/bin/Makefile b/bin/Makefile index ad9f6bb05b..cf07dbbc41 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -8,7 +8,8 @@ include $(depth)/make/Include.make SCRIPTS = clearlily cpgento genheader make_patch \ lily.efence\ - make_version make_website release convert-mudela show-latest + make_version make_website release convert-mudela show-latest \ + conflily EXTRA_DISTFILES = $(SCRIPTS) # diff --git a/configure.in b/configure.in index dbaf1cd095..9cffeaeae8 100644 --- a/configure.in +++ b/configure.in @@ -107,7 +107,7 @@ AC_ARG_ENABLE(profiling, AC_ARG_ENABLE(mingw32, [ mingw-prefix=DIR set the mingw32 directory (standalone windows32 exes)], [MINGWPREFIX=$enableval], - [MINGWPREFIX=$enableval]) + [MINGWPREFIX=no]) AC_ARG_ENABLE(tex-prefix, [ tex-prefix=DIR set the tex-directory to find TeX subdirectories. (default: PREFIX)], diff --git a/input/beams.ly b/input/beams.ly new file mode 100644 index 0000000000..24753a131d --- /dev/null +++ b/input/beams.ly @@ -0,0 +1,69 @@ +%{MudelaHeader + + filename: beams.ly + title: + description: + composer(s): heu + entered-by: jcn + copyright: GPL + + Tested Features: beams and beamflags +EndMudelaHeader +%} + +\score{ + \staff{ \inputregister{melodicregs} + \melodic{ \octave c'; + \meter 8/4; + \duration8; + \stem 1; [c c'' a' f'] + \duration16; + \stem 1; [c c'' a' f'] + \duration32; + \stem 1; [c c'' a' f'] + \duration64; + \stem 1; [c c'' a' f'] + \duration128; + \stem 1; [c c'' a' f'] + + \duration 8; + \stem 1; ['g 'g 'g 'g] + \duration 16; + \stem 1; ['g 'g 'g 'g] + \duration 32; + \stem 1; ['g 'g 'g 'g] + \duration 64; + \stem 1; ['g 'g 'g 'g] + \duration 128; + \stem 1; ['g 'g 'g 'g] + } + } + \staff{ \inputregister{melodicregs} + \melodic{ \octave c'; + \meter 8/4; + \duration8; + \stem -1; [a' 'a c e] + \duration16; + \stem -1; [a' 'a c e] + \duration32; + \stem -1; [a' 'a c e] + \duration64; + \stem -1; [a' 'a c e] + \duration128; + \stem -1; [a' 'a c e] + + \octave c; + \duration 8; + \stem -1; [d'' d'' d'' d''] + \duration 16; + \stem -1; [d'' d'' d'' d''] + \duration 32; + \stem -1; [d'' d'' d'' d''] + \duration 64; + \stem -1; [d'' d'' d'' d''] + \duration 128; + \stem -1; [d'' d'' d'' d''] + } + } + \paper{} +} diff --git a/lily/include/paper-def.hh b/lily/include/paper-def.hh index 2ce328406b..21423cf5bc 100644 --- a/lily/include/paper-def.hh +++ b/lily/include/paper-def.hh @@ -49,6 +49,8 @@ public: void set(Lookup*); ~Paper_def(); Paper_def(Paper_def const&); + /// The distance between beams + Real interbeam_f()const; /** The distance between lines */ diff --git a/lily/include/rest-collision-reg.hh b/lily/include/rest-collision-reg.hh index b324fe245f..ecde3d6f96 100644 --- a/lily/include/rest-collision-reg.hh +++ b/lily/include/rest-collision-reg.hh @@ -18,6 +18,7 @@ class Rest_collision_register : public Request_register { Array< Collision *> collision_l_arr_; protected: virtual void acknowledge_element(Score_elem_info); + virtual void do_print() const; virtual void do_pre_move_processing(); public: Rest_collision_register(); diff --git a/lily/include/rest-column.hh b/lily/include/rest-column.hh index 4e54241d01..8c9e4b80f5 100644 --- a/lily/include/rest-column.hh +++ b/lily/include/rest-column.hh @@ -20,11 +20,14 @@ class Rest_column : public Script_column { Link_array head_l_arr_; public: int dir_i_; + Stem* stem_l_; void add(Note_head *); + void add(Stem *); NAME_MEMBERS(); void translate_y(Real dy); Rest_column(); protected: + virtual void do_print() const; virtual void do_substitute_dependency(Score_elem*, Score_elem*); }; diff --git a/lily/note-column-reg.cc b/lily/note-column-reg.cc index 4dbf16f887..44142ac9a7 100644 --- a/lily/note-column-reg.cc +++ b/lily/note-column-reg.cc @@ -73,8 +73,12 @@ Note_column_register::do_pre_move_processing() for (int i=0; i < script_l_arr_.size(); i++) col_l->add(script_l_arr_[i]); - if (ncol_p_&&stem_l_) - ncol_p_->add(stem_l_); + if (stem_l_) { + if (ncol_p_) + ncol_p_->add(stem_l_); + if (restcol_p_) + restcol_p_->add(stem_l_); + } if (restcol_p_) { if (! restcol_p_ -> dir_i_) restcol_p_->dir_i_ = dir_i_; diff --git a/lily/paper-def.cc b/lily/paper-def.cc index 3691fabfd5..18158eba08 100644 --- a/lily/paper-def.cc +++ b/lily/paper-def.cc @@ -66,6 +66,11 @@ Paper_def::interline_f() const return lookup_p_->ball(4).dim.y.length(); } +Real +Paper_def::interbeam_f() const +{ + return lookup_p_->interbeam_f(); +} Real Paper_def::internote_f() const { diff --git a/lily/rest-collision-reg.cc b/lily/rest-collision-reg.cc index 81b27a417a..259e33c949 100644 --- a/lily/rest-collision-reg.cc +++ b/lily/rest-collision-reg.cc @@ -6,12 +6,22 @@ (c) 1997 Han-Wen Nienhuys */ +#include "debug.hh" #include "rest-collision.hh" #include "rest-collision-reg.hh" #include "collision.hh" #include "rest-column.hh" #include "note-column.hh" +IMPLEMENT_STATIC_NAME(Rest_collision_register); +IMPLEMENT_IS_TYPE_B1(Rest_collision_register, Request_register); +ADD_THIS_REGISTER(Rest_collision_register); + +Rest_collision_register::Rest_collision_register() +{ + rest_collision_p_ =0; +} + void Rest_collision_register::acknowledge_element(Score_elem_info i) { @@ -19,7 +29,13 @@ Rest_collision_register::acknowledge_element(Score_elem_info i) if (nC == Collision::static_name()) { collision_l_arr_.push((Collision*)i.elem_l_->item()); } - else if (nC == Rest_column ::static_name()) { + else if (nC == Note_column::static_name()) { + // what should i do, what should _register do? + if (!rest_collision_p_) + rest_collision_p_ = new Rest_collision; + rest_collision_p_->add((Note_column*)i.elem_l_->item()); + } + else if (nC == Rest_column::static_name()) { if (!rest_collision_p_) rest_collision_p_ = new Rest_collision; rest_collision_p_->add((Rest_column*)i.elem_l_->item()); @@ -35,11 +51,12 @@ Rest_collision_register::do_pre_move_processing() } } -Rest_collision_register::Rest_collision_register() +void +Rest_collision_register::do_print() const { - rest_collision_p_ =0; +#ifndef NPRINT + mtor << "collisions: " << collision_l_arr_.size(); + if ( rest_collision_p_ ) + rest_collision_p_->print(); +#endif } - -IMPLEMENT_STATIC_NAME(Rest_collision_register); -IMPLEMENT_IS_TYPE_B1(Rest_collision_register, Request_register); -ADD_THIS_REGISTER(Rest_collision_register); diff --git a/lily/stem.cc b/lily/stem.cc index d41d96f9c3..00b7423a2b 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -59,7 +59,6 @@ Stem::do_print() const { #ifndef NPRINT mtor << "flag "<< flag_i_ << " print_flag_b_ " << print_flag_b_; - #endif } diff --git a/mi2mu/include/mi2mu.hh b/mi2mu/include/mi2mu.hh index a7e877f301..493b2c76cd 100644 --- a/mi2mu/include/mi2mu.hh +++ b/mi2mu/include/mi2mu.hh @@ -27,7 +27,10 @@ #undef mtor #endif -#define MVOICE_LIST +// arrays are 20% faster, but we have no Pointer_array yet +#define MVOICE_LIST // does this work? +#define MEVENT_LIST +#define TCOL_LIST #include "string.hh" #include "string-convert.hh" diff --git a/mi2mu/include/midi-track.hh b/mi2mu/include/midi-track.hh index 61022327c3..c25d65831b 100644 --- a/mi2mu/include/midi-track.hh +++ b/mi2mu/include/midi-track.hh @@ -49,13 +49,11 @@ private: void output_mudela_rest_remain( Lily_stream& lily_stream_r, Moment mom ); #ifdef TCOL_LIST -#warning using track_column list Pointer_list tcol_p_list_; #else Array tcol_p_array_; #endif #ifdef MVOICE_LIST -#warning using midi_voice list Pointer_list midi_voice_p_list_; #else Array midi_voice_p_array_; diff --git a/mi2mu/include/midi-voice.hh b/mi2mu/include/midi-voice.hh index 8360af08e4..cc3e023152 100644 --- a/mi2mu/include/midi-voice.hh +++ b/mi2mu/include/midi-voice.hh @@ -22,7 +22,6 @@ private: Moment end_mom_; Moment begin_mom_; #ifdef MEVENT_LIST -#error using list Pointer_list midi_event_p_list_; #else Array midi_event_p_array_; diff --git a/mi2mu/include/track-column.hh b/mi2mu/include/track-column.hh index 6c0630883b..4d5f647a61 100644 --- a/mi2mu/include/track-column.hh +++ b/mi2mu/include/track-column.hh @@ -16,7 +16,6 @@ public: //private: #ifdef MEVENT_LIST -#error using list Pointer_list midi_event_p_list_; #else Array midi_event_p_array_; diff --git a/mi2mu/midi-track.cc b/mi2mu/midi-track.cc index 8d1c7833e4..10cd36d291 100644 --- a/mi2mu/midi-track.cc +++ b/mi2mu/midi-track.cc @@ -14,7 +14,6 @@ Midi_track::Midi_track( int number_i, String copyright_str, String track_name_st midi_time_p_ = new Midi_time( 4, 2, 24, 8 ); midi_tempo_p_ = new Midi_tempo( 1000000 ); #ifdef TCOL_LIST -#error doing list! tcol_p_list_.bottom().add( new Track_column( Moment( 0 ) ) ); #else tcol_p_array_.push( new Track_column( Moment( 0 ) ) ); @@ -141,14 +140,12 @@ Midi_track::next_begin_mom( Moment now_mom ) Moment begin_mom = Midi_track::end_mom(); #ifdef MVOICE_LIST for ( PCursor i( midi_voice_p_list_.top() ); i.ok(); i++ ) -// if ( i->begin_mom() >= now_mom )// well, which one ? if ( i->begin_mom() > now_mom ) begin_mom = begin_mom begin_mom(); #else for ( int i = 0; i < midi_voice_p_array_.size(); i++ ) - if ( midi_voice_p_array_[ i ]->begin_mom() >= now_mom ) // well, which one ? if ( midi_voice_p_array_[ i ]->begin_mom() > now_mom ) -// begin_mom = begin_mom begin_mom(); + begin_mom = begin_mom begin_mom(); #endif return begin_mom; } @@ -163,7 +160,6 @@ Midi_track::next_end_mom( Moment now_mom ) end_mom = end_mom end_mom(); #else for ( int i = 0; i < midi_voice_p_array_.size(); i++ ) -// if ( midi_voice_p_array_[ i ]->end_mom() >= now_mom ) if ( midi_voice_p_array_[ i ]->end_mom() > now_mom ) end_mom = end_mom end_mom(); #endif @@ -444,7 +440,6 @@ void Midi_track::remove_end_at( Link_list& open_voices_r, Moment mom ) { for ( PCursor i( open_voices_r.top() ); i.ok(); i++ ) -// if ( i->end_mom() == mom ) { } if ( i->end_mom() <= mom ) { tor( DEBUG_ver ) << "open_voices (" << open_voices_r.size() << "): -1\n"; i.remove_p();