mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-15 19:16:40 +01:00
Get MidiRegionView's hands on MidiModel for editing operations to come.
MIDI select rectangle. Add notes on a proper click only (not mouse down). Fix crash when dragging from region to outside region. git-svn-id: svn://localhost/ardour2/trunk@2196 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
ea5a4eac10
commit
bb33e5d9f8
8 changed files with 88 additions and 79 deletions
|
|
@ -37,6 +37,7 @@
|
|||
|
||||
namespace ARDOUR {
|
||||
class MidiRegion;
|
||||
class MidiModel;
|
||||
};
|
||||
|
||||
class MidiTimeAxisView;
|
||||
|
|
@ -54,7 +55,7 @@ class MidiRegionView : public RegionView
|
|||
|
||||
~MidiRegionView ();
|
||||
|
||||
virtual void init (Gdk::Color& base_color, bool wait_for_data = false);
|
||||
virtual void init (Gdk::Color& basic_color, bool wfd);
|
||||
|
||||
boost::shared_ptr<ARDOUR::MidiRegion> midi_region() const;
|
||||
|
||||
|
|
@ -73,6 +74,8 @@ class MidiRegionView : public RegionView
|
|||
|
||||
void create_note_at(double x, double y);
|
||||
|
||||
void display_model(boost::shared_ptr<ARDOUR::MidiModel> model);
|
||||
|
||||
protected:
|
||||
|
||||
/* this constructor allows derived types
|
||||
|
|
@ -97,14 +100,14 @@ class MidiRegionView : public RegionView
|
|||
private:
|
||||
|
||||
void redisplay_model();
|
||||
void display_events();
|
||||
void clear_events();
|
||||
|
||||
bool canvas_event(GdkEvent* ev);
|
||||
bool note_canvas_event(GdkEvent* ev);
|
||||
|
||||
std::vector<ArdourCanvas::Item*> _events;
|
||||
ArdourCanvas::CanvasNote** _active_notes;
|
||||
boost::shared_ptr<ARDOUR::MidiModel> _model;
|
||||
std::vector<ArdourCanvas::Item*> _events;
|
||||
ArdourCanvas::CanvasNote** _active_notes;
|
||||
};
|
||||
|
||||
#endif /* __gtk_ardour_midi_region_view_h__ */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue