diff options
author | nick_m <mainsbridge@gmail.com> | 2017-02-02 03:34:21 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2017-02-04 22:57:36 +1100 |
commit | 3e4eaf39914df18dc4ef9fa188defd24c3000c90 (patch) | |
tree | f6ec1a47e880cf25914e17cc79da3d3434ab1aeb /gtk2_ardour/midi_region_view.h | |
parent | 52d3c2216d469f0b8898442e8622bba2a2cbff87 (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.h | 5 |
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); |