summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.h
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2017-02-02 03:34:21 +1100
committernick_m <mainsbridge@gmail.com>2017-02-04 22:57:36 +1100
commit3e4eaf39914df18dc4ef9fa188defd24c3000c90 (patch)
treef6ec1a47e880cf25914e17cc79da3d3434ab1aeb /gtk2_ardour/midi_region_view.h
parent52d3c2216d469f0b8898442e8622bba2a2cbff87 (diff)
improve sysex data display.
- don't add a new SysEx canvas item every time we zoom or drag. - speed up redisplay generally using PatchChange-like method for finding items (find_canvas_sys_ex() in boost::unordered_map).
Diffstat (limited to 'gtk2_ardour/midi_region_view.h')
-rw-r--r--gtk2_ardour/midi_region_view.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/gtk2_ardour/midi_region_view.h b/gtk2_ardour/midi_region_view.h
index 635307d4dd..929b3bd7f9 100644
--- a/gtk2_ardour/midi_region_view.h
+++ b/gtk2_ardour/midi_region_view.h
@@ -412,9 +412,9 @@ private:
uint8_t _current_range_min;
uint8_t _current_range_max;
- typedef boost::unordered_map<boost::shared_ptr<NoteType>, NoteBase*> Events;
+ typedef boost::unordered_map<boost::shared_ptr<NoteType>, NoteBase*> Events;
typedef boost::unordered_map<ARDOUR::MidiModel::PatchChangePtr, boost::shared_ptr<PatchChange> > PatchChanges;
- typedef std::vector< boost::shared_ptr<SysEx> > SysExes;
+ typedef boost::unordered_map<ARDOUR::MidiModel::constSysExPtr, boost::shared_ptr<SysEx> > SysExes;
typedef std::vector<NoteBase*> CopyDragEvents;
ARDOUR::BeatsFramesConverter _region_relative_time_converter;
@@ -466,6 +466,7 @@ private:
Events::iterator _optimization_iterator;
boost::shared_ptr<PatchChange> find_canvas_patch_change (ARDOUR::MidiModel::PatchChangePtr p);
+ boost::shared_ptr<SysEx> find_canvas_sys_ex (ARDOUR::MidiModel::SysExPtr s);
void update_note (NoteBase*, bool update_ghost_regions = true);
void update_sustained (Note *, bool update_ghost_regions = true);