]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.1.1
authorfred <fred>
Sun, 24 Mar 2002 19:50:35 +0000 (19:50 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:50:35 +0000 (19:50 +0000)
input/rock.ly [new file with mode: 0644]
lily/spanner.cc

diff --git a/input/rock.ly b/input/rock.ly
new file mode 100644 (file)
index 0000000..b6434ab
--- /dev/null
@@ -0,0 +1,4 @@
+
+mel = \melodic { 
+       [c8 c32 c16] 
+}
index 1ca347172bda6db6fa9a73820a3c22c76d78760c..0039caefb50735d7f373d0f7d2efccb131ac77ff 100644 (file)
@@ -19,14 +19,11 @@ Spanner::do_print()const
 {
 #ifndef NPRINT
     mtor << "Between col ";
-// huh? this does not work 
-//    mtor << ( left_col_l_ ? left_col_l_->rank_i() : "nop" );
     if ( left_col_l_ )
        mtor << left_col_l_->rank_i();
     else 
        mtor << "nop";
     mtor << ", ";
-//    mtor << ( right_col_l_ ? right_col_l_->rank_i() : "nop" );
     if ( right_col_l_ )
        mtor << right_col_l_->rank_i();
     else 
@@ -37,7 +34,7 @@ Spanner::do_print()const
 }
 
 void
-Spanner::break_into_pieces()
+Spanner::break_into_pieces(bool copy_deps_b)
 {
     PCol * left = left_col_l_;
     PCol * right = right_col_l_;
@@ -53,6 +50,8 @@ Spanner::break_into_pieces()
 
     for (int i=1; i < break_cols.size(); i++) {
        Spanner* span_p = clone()->spanner();
+       if (copy_deps_b)
+           span_p->copy_dependencies( *this );
        left = break_cols[i-1];
        right = break_cols[i];
        if (!right->line_l_)
@@ -68,21 +67,26 @@ Spanner::break_into_pieces()
        pscore_l_->typeset_broken_spanner(span_p);
        broken_into_l_arr.push( span_p );
     }
-    
+     
     broken_into_l_arr_ = broken_into_l_arr;
 }
 
 void
-Spanner::do_break_processing()
+Spanner::set_my_columns()
 {
-    if (!left_col_l_->line_l_)
+  if (!left_col_l_->line_l_)
        left_col_l_ = left_col_l_->postbreak_p_;
     if (!right_col_l_->line_l_)
        right_col_l_ = right_col_l_->prebreak_p_;
-     
+}       
+
+void
+Spanner::do_break_processing()
+{
+    set_my_columns();
     
     if (!line_l()) {
-       break_into_pieces();
+       break_into_pieces(true);
        for (int i=0; i < broken_into_l_arr_.size(); i++)
            broken_into_l_arr_[i]->handle_broken_dependencies();
     } else {