]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.70pre
authorfred <fred>
Sun, 24 Mar 2002 19:45:48 +0000 (19:45 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:45:48 +0000 (19:45 +0000)
15 files changed:
bin/Makefile
configure.in
input/beams.ly [new file with mode: 0644]
lily/include/paper-def.hh
lily/include/rest-collision-reg.hh
lily/include/rest-column.hh
lily/note-column-reg.cc
lily/paper-def.cc
lily/rest-collision-reg.cc
lily/stem.cc
mi2mu/include/mi2mu.hh
mi2mu/include/midi-track.hh
mi2mu/include/midi-voice.hh
mi2mu/include/track-column.hh
mi2mu/midi-track.cc

index ad9f6bb05b5b70613b469ca9ff7cba22df0bf468..cf07dbbc41ca72fed15a464fbf4866570f97a4f6 100644 (file)
@@ -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)
 #
 
index dbaf1cd095151361a7b3ac8651c373fab6add44d..9cffeaeae8900160ae1e5fe29eb230ee47666e58 100644 (file)
@@ -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 (file)
index 0000000..24753a1
--- /dev/null
@@ -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{}
+}
index 2ce328406b9f4bda4972b0b203fcd6475c6733b2..21423cf5bc5171a0dc58588f150d0dfde3bc5f8a 100644 (file)
@@ -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
      */
index b324fe245faaac9d3a5fc8ba22c99f11a715d66a..ecde3d6f96122e9a2e5d91ffff8d33f81bff09af 100644 (file)
@@ -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();
index 4e54241d019a5d842087913ec5dd1ad6aa4a5910..8c9e4b80f5ba39f6818b14d9c928a94a5f361130 100644 (file)
@@ -20,11 +20,14 @@ class Rest_column : public Script_column {
     Link_array<Note_head> 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*);
 };
 
index 4dbf16f8877fa2cc6ea9f7222a631611438de335..44142ac9a703dd88d88f20894193267e802f39d3 100644 (file)
@@ -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_;
index 3691fabfd5ccc5fbdbff39ebf79a35b7ba63116d..18158eba08a107f77503c937c27e76306b4ccdb8 100644 (file)
@@ -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
 {
index 81b27a417a795a4273cf81338bc189913c261613..259e33c94937a7eff81e819c6a1b2f76bc5e23a4 100644 (file)
@@ -6,12 +6,22 @@
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
+#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);
index d41d96f9c3c28c772c3687731cef4b2258033813..00b7423a2b014356f2a833a9b9c3fa2bd2bd641c 100644 (file)
@@ -59,7 +59,6 @@ Stem::do_print() const
 {
 #ifndef NPRINT
     mtor << "flag "<< flag_i_ << " print_flag_b_ " << print_flag_b_;
-
 #endif
 }
 
index a7e877f301d41e097257bbfc334ecfd71d804910..493b2c76cd4b610c9a9bf22da4e5da07815d80c6 100644 (file)
 #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"
index 61022327c36d9ffb6e5c8f92d3c5938884a7a96d..c25d65831b4308e3e9364c1bb573ed19cbc80a71 100644 (file)
@@ -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<Track_column*> tcol_p_list_;
 #else
        Array<Track_column*> tcol_p_array_;
 #endif
 #ifdef MVOICE_LIST
-#warning using midi_voice list
        Pointer_list<Midi_voice*> midi_voice_p_list_;
 #else
        Array<Midi_voice*> midi_voice_p_array_;
index 8360af08e4a940e513e6c4415de72dfc97ad3575..cc3e023152f93f8f9af33e83bba892eb86ea1207 100644 (file)
@@ -22,7 +22,6 @@ private:
        Moment end_mom_;
        Moment begin_mom_;
 #ifdef MEVENT_LIST
-#error using list
        Pointer_list<Midi_event*> midi_event_p_list_;
 #else
        Array<Midi_event*> midi_event_p_array_;
index 6c0630883b39ac4ad032ebe5889c9fffd35a26b3..4d5f647a618a6dbe397c32c9913087da254037de 100644 (file)
@@ -16,7 +16,6 @@ public:
 
 //private:
 #ifdef MEVENT_LIST
-#error using list
        Pointer_list<Midi_event*> midi_event_p_list_;
 #else
        Array<Midi_event*> midi_event_p_array_;
index 8d1c7833e41d0700a17f577e35baaad1a644e44c..10cd36d291dafce3e0e3c0f053152e4aa762ace6 100644 (file)
@@ -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<Midi_voice*> 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 <? i->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 <? midi_voice_p_array_[ i ]->begin_mom();
+                       begin_mom = begin_mom <? midi_voice_p_array_[ i ]->begin_mom();
 #endif
        return begin_mom;
 }
@@ -163,7 +160,6 @@ Midi_track::next_end_mom( Moment now_mom )
                        end_mom = end_mom <? i->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 <? midi_voice_p_array_[ i ]->end_mom();
 #endif
@@ -444,7 +440,6 @@ void
 Midi_track::remove_end_at( Link_list<Midi_voice*>& open_voices_r, Moment mom )
 {
        for ( PCursor<Midi_voice*> 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();