the left side of the main note-column. If a note is shared between
two brackets, these ends are flared.
-At a line-break, there are no vertical endings. " }
+At a line-break, there are no vertical endings. Pedal changes can
+be placed at spacer rests." }
\score {
\relative c'' {
\set Staff.pedalUnaCordaStyle = #'mixed
c4 d \unaCorda e f g
- b | \break c b <c e,>\arpeggio \treCorde c
+ b | \break c b <c e,>\arpeggio \treCorde c |
+ b8\sustainOn g d b <<c2 {s4 s4\sustainOff\sustainOn }>> |
+ g1
}
\layout { ragged-right = ##t }
}
DECLARE_TRANSLATOR_LISTENER (sustain);
DECLARE_TRANSLATOR_LISTENER (una_corda);
DECLARE_TRANSLATOR_LISTENER (sostenuto);
- DECLARE_ACKNOWLEDGER (note_column);
void stop_translation_timestep ();
void process_music ();
info_list_[NUM_PEDAL_TYPES].type_ = 0;
}
-/*
- Urg: Code dup
- I'm a script
-*/
-void
-Piano_pedal_engraver::acknowledge_note_column (Grob_info info)
-{
- for (Pedal_info *p = info_list_; p->type_; p++)
- {
- if (p->bracket_)
- add_bound_item (p->bracket_, info.grob ());
- if (p->finished_bracket_)
- add_bound_item (p->finished_bracket_, info.grob ());
- }
-}
-
IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_engraver, sostenuto);
void
Piano_pedal_engraver::listen_sostenuto (Stream_event *ev)
assert (!p->finished_bracket_);
Grob *cmc = unsmob_grob (get_property ("currentMusicalColumn"));
-
- if (!p->bracket_->get_bound (RIGHT))
- p->bracket_->set_bound (RIGHT, cmc);
+ p->bracket_->set_bound (RIGHT, cmc);
/*
Set properties so that the stencil-creating function will
if (p->bracket_ && !p->bracket_->get_bound (LEFT))
{
Grob *cmc = unsmob_grob (get_property ("currentMusicalColumn"));
-
- if (!p->bracket_->get_bound (LEFT))
- p->bracket_->set_bound (LEFT, cmc);
+ p->bracket_->set_bound (LEFT, cmc);
}
}
}
}
-ADD_ACKNOWLEDGER (Piano_pedal_engraver, note_column);
-
ADD_TRANSLATOR (Piano_pedal_engraver,
/* doc */
"Engrave piano pedal symbols and brackets.",