- const double y = mv->note_to_y(note_num);
- event->rect->set_y0 (y);
- event->rect->set_y1 (y + mv->note_height());
+ uint8_t const note_num = n->note()->note();
+ double const h = note_height(trackview, mv);
+ double const y = note_y(trackview, mv, note_num);
+ if (!event->is_hit) {
+ _tmp_rect = static_cast<ArdourCanvas::Rectangle*>(event->item);
+ _tmp_rect->set (ArdourCanvas::Rect (_tmp_rect->x0(), y, _tmp_rect->x1(), y + h));
+ } else {
+ _tmp_poly = static_cast<ArdourCanvas::Polygon*>(event->item);
+ Duple position = _tmp_poly->position();
+ position.y = y;
+ _tmp_poly->set_position(position);
+ _tmp_poly->set(Hit::points(h));
+ }