PublicEditor::DropDownKeys.connect (sigc::mem_fun (*this, &MidiRegionView::drop_down_keys));
Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&MidiRegionView::parameter_changed, this, _1), gui_context());
+ UIConfiguration::instance().ParameterChanged.connect (sigc::mem_fun (*this, &MidiRegionView::parameter_changed));
+
connect_to_diskstream ();
}
}
} else if (p == "color-regions-using-track-color") {
set_colors ();
+ } else if (p == "use-note-color-for-velocity") {
+ color_handler ();
}
}
bool
MidiRegionView::scroll (GdkEventScroll* ev)
{
+ if (trackview.editor().drags()->active()) {
+ return false;
+ }
if (_selection.empty()) {
return false;
}
y1 = y0 + std::max(1., floor(note_height()) - 1);
ev->set (ArdourCanvas::Rect (x0, y0, x1, y1));
+ ev->set_velocity (note->velocity()/127.0);
if (!note->length()) {
if (_active_notes && note->note() < 128) {
ArdourCanvas::Rect (note->x0(), note->y0(), note->x0(), note->y1()));
// calculate the colors: get the color settings
- uint32_t fill_color = UINT_RGBA_CHANGE_A(
- UIConfiguration::instance().color ("midi note selected"),
- 128);
+ uint32_t fill_color = NoteBase::meter_style_fill_color (note->note()->velocity(), true);
// make the resize preview notes more transparent and bright
fill_color = UINT_INTERPOLATE(fill_color, 0xFFFFFF40, 0.5);
0.85));
resize_rect->set_outline_color (NoteBase::calculate_outline (
- UIConfiguration::instance().color ("midi note selected")));
+ UIConfiguration::instance().color ("midi note selected outline")));
resize_data->resize_rect = resize_rect;
_resize_data.push_back(resize_data);
next_pos.sample -= 1;
}
- trackview.editor().snap_to (next_pos, (forward ? RoundUpAlways : RoundDownAlways), SnapToGrid, false);
+ trackview.editor().snap_to (next_pos, (forward ? RoundUpAlways : RoundDownAlways), SnapToGrid_Unscaled, false);
const samplecnt_t distance = ref_point - next_pos.sample;
delta = region_samples_to_region_beats (fabs ((double)distance));
}