X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmidi_streamview.h;h=aceb59e69f284757da89338b97af820b49af5797;hb=05ae84cbed64e6bb0c77e8fcdb933d826f0ac277;hp=b29f030e61c4038c35e4a8f6e757e46b9ef6b099;hpb=ba0458cf1f6c69366e89631d8fff916ad183d768;p=ardour.git diff --git a/gtk2_ardour/midi_streamview.h b/gtk2_ardour/midi_streamview.h index b29f030e61..aceb59e69f 100644 --- a/gtk2_ardour/midi_streamview.h +++ b/gtk2_ardour/midi_streamview.h @@ -77,16 +77,13 @@ class MidiStreamView : public StreamView void redisplay_track (); inline double contents_height() const - { return (_trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2); } + { return (child_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2); } inline double note_to_y(uint8_t note) const { return contents_height() - (note + 1 - lowest_note()) * note_height() + 1; } - inline uint8_t y_to_note(double y) const - { return (uint8_t)((contents_height() - y - 1) - / contents_height() * (double)contents_note_range()) - + lowest_note(); } + uint8_t y_to_note(double y) const; inline double note_height() const { return contents_height() / (double)contents_note_range(); } @@ -100,6 +97,9 @@ class MidiStreamView : public StreamView void apply_note_range(uint8_t lowest, uint8_t highest, bool to_region_views); + void suspend_updates (); + void resume_updates (); + private: void setup_rec_box (); void update_rec_box (); @@ -121,6 +121,7 @@ class MidiStreamView : public StreamView void color_handler (); void note_range_adjustment_changed(); + void apply_note_range_to_regions (); bool _range_dirty; double _range_sum_cache; @@ -129,6 +130,8 @@ class MidiStreamView : public StreamView uint8_t _data_note_min; ///< in data uint8_t _data_note_max; ///< in data ArdourCanvas::LineSet* _note_lines; + /** true if updates to the note lines and regions are currently suspended */ + bool _updates_suspended; }; #endif /* __ardour_midi_streamview_h__ */