update windows installer finish page text & link
[ardour.git] / gtk2_ardour / midi_region_view.h
index 4f64e4410f2b3c0cfaaa41c5ca7e9ea97f361969..776543041c6f45138b1ff17b8f3ff1a7a85f1458 100644 (file)
@@ -58,7 +58,6 @@ class AutomationRegionView;
 class MidiCutBuffer;
 class MidiListEditor;
 class EditNoteDialog;
-class NotePlayer;
 class PatchChange;
 class ItemCounts;
 class CursorContext;
@@ -119,7 +118,7 @@ public:
 
        GhostRegion* add_ghost (TimeAxisView&);
 
-       void add_note(const boost::shared_ptr<NoteType> note, bool visible);
+       NoteBase* add_note(const boost::shared_ptr<NoteType> note, bool visible);
        void resolve_note(uint8_t note_num, Evoral::Beats end_time);
 
        void cut_copy_clear (Editing::CutCopyOp);
@@ -203,6 +202,7 @@ public:
        void move_selection(double dx, double dy, double cumulative_dy);
        void note_dropped (NoteBase* ev, ARDOUR::frameoffset_t, int8_t d_note);
 
+       void select_notes (std::list<boost::shared_ptr<NoteType> >);
        void select_matching_notes (uint8_t notenum, uint16_t channel_mask, bool add, bool extend);
        void toggle_matching_notes (uint8_t notenum, uint16_t channel_mask);
 
@@ -243,8 +243,6 @@ public:
 
        MouseState mouse_state() const { return _mouse_state; }
 
-       void note_button_release ();
-
        struct NoteResizeData {
                Note                     *note;
                ArdourCanvas::Rectangle  *resize_rect;
@@ -438,6 +436,9 @@ private:
         * when they appear after the command is applied. */
        std::set< boost::shared_ptr<NoteType> > _marked_for_selection;
 
+       /** Notes that should be selected when the model is redisplayed. */
+       std::set< boost::shared_ptr<NoteType> > _pending_note_selection;
+
        /** New notes (created in the current command) which should have visible velocity
         * when they appear after the command is applied. */
        std::set< boost::shared_ptr<NoteType> > _marked_for_velocity;
@@ -448,6 +449,7 @@ private:
        PBD::ScopedConnection content_connection;
 
        NoteBase* find_canvas_note (boost::shared_ptr<NoteType>);
+       NoteBase* find_canvas_note (NoteType);
        Events::iterator _optimization_iterator;
 
        void update_note (NoteBase*, bool update_ghost_regions = true);
@@ -499,14 +501,14 @@ private:
        bool   _grabbed_keyboard;
        bool   _entered;
 
+       bool _mouse_changed_selection;
+
        framepos_t snap_frame_to_grid_underneath (framepos_t p, framecnt_t &) const;
        
        PBD::ScopedConnection _mouse_mode_connection;
 
        boost::shared_ptr<CursorContext> _press_cursor_ctx;
 
-       boost::shared_ptr<NotePlayer> _note_player;
-
         ARDOUR::ChannelMode get_channel_mode() const;
         uint16_t get_selected_channels () const;
 };