Ardour  9.0-pre0-582-g084a23a80d
MidiRegionView Class Reference

#include <midi_region_view.h>

Inheritance diagram for MidiRegionView:
[legend]

Public Types

typedef Evoral::Note< Temporal::BeatsNoteType
 
typedef Evoral::Sequence< Temporal::Beats >::Notes Notes
 
- Public Types inherited from TimeAxisViewItem
enum  Visibility {
  ShowFrame = 0x1 , ShowNameHighlight = 0x2 , ShowNameText = 0x4 , ShowHandles = 0x8 ,
  HideFrameLeft = 0x10 , HideFrameRight = 0x20 , HideFrameTB = 0x40 , FullWidthNameHighlight = 0x80
}
 
- Public Types inherited from MidiView
enum  MouseState {
  None , Pressed , SelectTouchDragging , SelectRectDragging ,
  SelectVerticalDragging , AddDragging
}
 
typedef Evoral::Note< Temporal::BeatsNoteType
 
typedef Evoral::Sequence< Temporal::Beats >::Notes Notes
 
typedef std::set< NoteBase * > Selection
 

Public Member Functions

 MidiRegionView (ArdourCanvas::Container *parent, EditingContext &, RouteTimeAxisView &tv, std::shared_ptr< ARDOUR::MidiRegion > r, double samples_per_pixel, uint32_t basic_color)
 
 MidiRegionView (ArdourCanvas::Container *parent, EditingContext &, RouteTimeAxisView &tv, std::shared_ptr< ARDOUR::MidiRegion > r, double samples_per_pixel, uint32_t basic_color, bool recording, Visibility visibility)
 
 MidiRegionView (const MidiRegionView &other)
 
 MidiRegionView (const MidiRegionView &other, std::shared_ptr< ARDOUR::MidiRegion >)
 
 ~MidiRegionView ()
 
void init (bool wfd)
 
bool display_is_enabled () const
 
void set_selected (bool yn)
 
const std::shared_ptr< ARDOUR::MidiRegionmidi_region () const
 
MidiTimeAxisViewmidi_view () const
 
MidiStreamViewmidi_stream_view () const
 
void set_height (double)
 
void set_model (std::shared_ptr< ARDOUR::MidiModel >)
 
ARDOUR::ColorMode color_mode () const
 
std::string get_modifier_name () const
 
GhostRegionadd_ghost (TimeAxisView &)
 
ARDOUR::InstrumentInfoinstrument_info () const
 
double height () const
 
void redisplay (bool)
 
ArdourCanvas::Itemdrag_group () const
 
void select_self (bool add)
 
void unselect_self ()
 
void select_self_uniquely ()
 
void begin_drag_edit (std::string const &why)
 
void set_visibility_note_range (MidiViewBackground::VisibleNoteRange, bool)
 
MergeableLinemake_merger ()
 
- Public Member Functions inherited from RegionView
 RegionView (ArdourCanvas::Container *parent, TimeAxisView &time_view, const std::shared_ptr< ARDOUR::Region > &region, double samples_per_pixel, uint32_t base_color, bool automation=false)
 
 RegionView (const RegionView &other)
 
 RegionView (const RegionView &other, const std::shared_ptr< ARDOUR::Region > &other_region)
 
 ~RegionView ()
 
std::shared_ptr< ARDOUR::Regionregion () const
 
bool is_valid () const
 
void set_valid (bool yn)
 
virtual void set_samples_per_pixel (double)
 
virtual bool set_duration (Temporal::timecnt_t const &, void *)
 
void move (double xdelta, double ydelta)
 
void visual_layer_on_top ()
 
void raise_to_top ()
 
void lower_to_bottom ()
 
bool set_position (Temporal::timepos_t const &pos, void *src, double *delta=0)
 
void show_region_editor ()
 
void hide_region_editor ()
 
virtual void region_changed (const PBD::PropertyChange &)
 
void remove_ghost_in (TimeAxisView &)
 
void remove_ghost (GhostRegion *)
 
virtual void entered ()
 
virtual void exited ()
 
bool display_enabled () const
 
void redisplay ()
 
virtual void tempo_map_changed ()
 
virtual void update_coverage_frame (LayerDisplay)
 
virtual void trim_front_starting ()
 
bool trim_front (Temporal::timepos_t const &, bool)
 
virtual void trim_front_ending ()
 
bool trim_end (Temporal::timepos_t const &, bool)
 
void move_contents (Temporal::timecnt_t const &)
 
virtual void thaw_after_trim ()
 
void set_silent_frames (const ARDOUR::AudioIntervalResult &, double threshold)
 
void drop_silent_frames ()
 
void hide_silent_frames ()
 
Temporal::timecnt_t snap_region_time_to_region_time (Temporal::timecnt_t const &, bool ensure_snap=false) const
 
void update_visibility ()
 
ARDOUR::CueMarker find_model_cue_marker (ArdourMarker *)
 
void drop_cue_marker (ArdourMarker *)
 
- Public Member Functions inherited from TimeAxisViewItem
virtual ~TimeAxisViewItem ()
 
Temporal::timepos_t get_position () const
 
Temporal::timecnt_t get_duration () const
 
virtual void set_max_duration (Temporal::timecnt_t const &, void *)
 
Temporal::timecnt_t get_max_duration () const
 
virtual void set_min_duration (Temporal::timecnt_t const &, void *)
 
Temporal::timecnt_t get_min_duration () const
 
virtual void set_position_locked (bool, void *)
 
bool get_position_locked () const
 
void set_max_duration_active (bool, void *)
 
bool get_max_duration_active () const
 
void set_min_duration_active (bool, void *)
 
bool get_min_duration_active () const
 
void set_item_name (std::string, void *)
 
virtual std::string get_item_name () const
 
void set_sensitive (bool yn)
 
bool sensitive () const
 
TimeAxisViewget_time_axis_view () const
 
void set_name_text (const std::string &)
 
void set_y (double)
 
void set_color (uint32_t)
 
void set_name_text_color ()
 
virtual void set_frame_color ()
 
ArdourCanvas::Itemget_canvas_frame ()
 
ArdourCanvas::Itemget_canvas_group () const
 
ArdourCanvas::Itemget_name_highlight ()
 
double get_samples_per_pixel () const
 
virtual void drag_start ()
 
virtual void drag_end ()
 
bool dragging () const
 
virtual void raise ()
 
virtual void lower ()
 
bool name_active () const
 
- Public Member Functions inherited from Selectable
 Selectable ()
 
virtual ~Selectable ()
 
virtual bool selected () const
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from MidiView
 MidiView (std::shared_ptr< ARDOUR::MidiTrack > mt, ArdourCanvas::Item &parent, EditingContext &ec, MidiViewBackground &bg, uint32_t basic_color)
 
 MidiView (MidiView const &other)
 
virtual ~MidiView ()
 
void init (bool wfd)
 
virtual void set_samples_per_pixel (double)
 
void step_add_note (uint8_t channel, uint8_t number, uint8_t velocity, Temporal::Beats pos, Temporal::Beats len)
 
void step_sustain (Temporal::Beats beats)
 
void apply_note_range (uint8_t lowest, uint8_t highest, bool force=false)
 
void color_handler ()
 
void show_step_edit_cursor (Temporal::Beats pos)
 
void move_step_edit_cursor (Temporal::Beats pos)
 
void hide_step_edit_cursor ()
 
void set_step_edit_cursor_width (Temporal::Beats beats)
 
virtual void set_region (std::shared_ptr< ARDOUR::MidiRegion >)
 
virtual void set_track (std::shared_ptr< ARDOUR::MidiTrack >)
 
NoteBaseadd_note (const std::shared_ptr< NoteType > note, bool visible)
 
void cut_copy_clear (Editing::CutCopyOp)
 
bool paste (Temporal::timepos_t const &pos, const ::Selection &selection, PasteContext &ctx)
 
void paste_internal (Temporal::timepos_t const &pos, unsigned paste_count, float times, const MidiCutBuffer &)
 
void add_canvas_patch_change (ARDOUR::MidiModel::PatchChangePtr patch)
 
void remove_canvas_patch_change (PatchChange *pc)
 
void get_patch_key_at (Temporal::Beats time, uint8_t channel, MIDI::Name::PatchPrimaryKey &key) const
 
MIDI::Name::PatchPrimaryKey patch_change_to_patch_key (ARDOUR::MidiModel::PatchChangePtr)
 
void change_patch_change (PatchChange &old_patch, const MIDI::Name::PatchPrimaryKey &new_patch)
 
void change_patch_change (ARDOUR::MidiModel::PatchChangePtr, Evoral::PatchChange< Temporal::Beats > const &)
 
void add_patch_change (Temporal::timecnt_t const &, Evoral::PatchChange< Temporal::Beats > const &)
 
void move_patch_change (PatchChange &, Temporal::Beats)
 
void delete_patch_change (PatchChange *)
 
void edit_patch_change (PatchChange *)
 
void delete_sysex (SysEx *)
 
void step_patch (PatchChange &patch, bool bank, int delta)
 
void display_patch_changes ()
 
void display_sysexes ()
 
void begin_write ()
 
void end_write ()
 
void extend_active_notes ()
 
void extend_active_notes (Temporal::timecnt_t const &)
 
void end_drag_edit ()
 
void display_model (std::shared_ptr< ARDOUR::MidiModel > model)
 
std::shared_ptr< ARDOUR::MidiModelmodel () const
 
void start_note_diff_command (std::string name="midi edit")
 
void note_diff_add_change (NoteBase *ev, ARDOUR::MidiModel::NoteDiffCommand::Property, uint8_t val)
 
void note_diff_add_change (NoteBase *ev, ARDOUR::MidiModel::NoteDiffCommand::Property, Temporal::Beats val)
 
void note_diff_add_note (const std::shared_ptr< NoteType > note, bool selected, bool show_velocity=false)
 
void note_diff_remove_note (NoteBase *ev)
 
void apply_note_diff (bool as_subcommand=false, bool was_copy=false)
 
void abort_note_diff ()
 
void note_entered (NoteBase *ev)
 
void note_left (NoteBase *ev)
 
void patch_entered (PatchChange *)
 
void patch_left (PatchChange *)
 
void sysex_entered (SysEx *p)
 
void sysex_left (SysEx *p)
 
void note_mouse_position (float xfraction, float yfraction, bool can_set_cursor=true)
 
void unique_select (NoteBase *ev)
 
void note_selected (NoteBase *ev, bool add, bool extend=false)
 
void note_deselected (NoteBase *ev)
 
void delete_selection ()
 
void delete_note (std::shared_ptr< NoteType >)
 
size_t selection_size ()
 
void select_all_notes ()
 
void select_range (Temporal::timepos_t const &start, Temporal::timepos_t const &end)
 
void invert_selection ()
 
void extend_selection ()
 
void duplicate_selection ()
 
Temporal::Beats earliest_in_selection ()
 
void move_selection (Temporal::timecnt_t const &dx, double dy, double cumulative_dy)
 
void note_dropped (NoteBase *ev, Temporal::timecnt_t const &d_qn, int8_t d_note, bool copy)
 
NoteBasecopy_selection (NoteBase *primary)
 
void move_copies (Temporal::timecnt_t const &dx_qn, double dy, double cumulative_dy)
 
void select_notes (std::list< Evoral::event_id_t >, bool allow_audition)
 
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)
 
virtual bool note_in_region_range (const std::shared_ptr< NoteType > note, bool &visible) const
 
virtual bool note_in_region_time_range (const std::shared_ptr< NoteType > note) const
 
double get_position_pixels ()
 
double get_end_position_pixels ()
 
void begin_resizing (bool at_front)
 
void update_resizing (NoteBase *primary, bool at_front, double delta_x, bool relative, double snap_delta, bool with_snap)
 
void finish_resizing (NoteBase *primary, bool at_front, double delat_x, bool relative, double snap_delta, bool with_snap)
 
void abort_resizing ()
 
void change_channel (uint8_t channel)
 
MouseState mouse_state () const
 
double snap_to_pixel (double x, bool ensure_snap=false)
 
Temporal::timecnt_t snap_pixel_to_time (double x, bool ensure_snap=false)
 
void goto_previous_note (bool add_to_selection)
 
void goto_next_note (bool add_to_selection)
 
void change_note_lengths (bool, bool, Temporal::Beats beats, bool start, bool end)
 
void change_velocities (bool up, bool fine, bool allow_smush, bool all_together)
 
void set_velocity (NoteBase *primary, int velocity)
 
bool set_velocity_for_notes (std::vector< NoteBase * > &notes, int velocity)
 
bool set_velocities_for_notes (std::vector< NoteBase * > &notes, std::vector< int > &velocities)
 
void transpose (bool up, bool fine, bool allow_smush)
 
void nudge_notes (bool forward, bool fine)
 
void channel_edit ()
 
void velocity_edit ()
 
void show_list_editor ()
 
void set_note_range (uint8_t low, uint8_t high)
 
Selection const & selection () const
 
void selection_as_notelist (Notes &selected, bool allow_all_if_none_selected=false)
 
void set_channel_selector_scoped_note (NoteBase *note)
 
NoteBasechannel_selector_scoped_note ()
 
void trim_front_starting ()
 
void trim_front_ending ()
 
void create_note_at (Temporal::timepos_t const &t, double y, Temporal::Beats length, uint32_t state, bool shift_snap)
 
void clear_selection ()
 
void note_deleted (NoteBase *)
 
void clear_note_selection ()
 
void show_verbose_cursor_for_new_note_value (std::shared_ptr< NoteType > current_note, uint8_t new_note) const
 
std::shared_ptr< ARDOUR::MidiTrackmidi_track () const
 
std::shared_ptr< ARDOUR::MidiRegionmidi_region () const
 
EditingContextediting_context () const
 
MidiViewBackgroundmidi_context () const
 
void clip_data_recorded (samplecnt_t)
 
void select_self ()
 
void show_start (bool yn)
 
void show_end (bool yn)
 
- Public Member Functions inherited from LineMerger
virtual ~LineMerger ()
 

Protected Member Functions

void reset_width_dependent_items (double pixel_width)
 
void parameter_changed (std::string const &p)
 
uint32_t get_fill_color () const
 
void color_handler ()
 
void region_resized (const PBD::PropertyChange &)
 
bool canvas_group_event (GdkEvent *)
 
void add_control_points_to_selection (Temporal::timepos_t const &, Temporal::timepos_t const &, double y0, double y1)
 
- Protected Member Functions inherited from RegionView
 RegionView (ArdourCanvas::Container *, TimeAxisView &, const std::shared_ptr< ARDOUR::Region > &, double samples_per_pixel, uint32_t basic_color, bool recording, TimeAxisViewItem::Visibility)
 
bool canvas_group_event (GdkEvent *)
 
virtual void region_muted ()
 
void region_locked ()
 
void region_opacity ()
 
virtual void region_renamed ()
 
void region_sync_changed ()
 
std::string make_name () const
 
void lock_toggle ()
 
virtual void set_colors ()
 
virtual void set_sync_mark_color ()
 
void maybe_raise_cue_markers ()
 
Temporal::timecnt_t region_relative_distance (Temporal::timecnt_t const &, Temporal::TimeDomain desired_time_domain)
 
- Protected Member Functions inherited from TimeAxisViewItem
 TimeAxisViewItem (const std::string &, ArdourCanvas::Item &, TimeAxisView &, double, uint32_t fill_color, Temporal::timepos_t const &, Temporal::timecnt_t const &, bool recording=false, bool automation=false, Visibility v=Visibility(0))
 
 TimeAxisViewItem (const TimeAxisViewItem &)
 
void init (ArdourCanvas::Item *, double, uint32_t, Temporal::timepos_t const &, Temporal::timecnt_t const &, Visibility, bool, bool)
 
virtual void set_frame_gradient ()
 
void set_trim_handle_colors ()
 
bool frame_handle_crossing (GdkEvent *, ArdourCanvas::Rectangle *)
 
void manage_name_text ()
 
- Protected Member Functions inherited from MidiView
void init (std::shared_ptr< ARDOUR::MidiTrack >)
 
void set_flags (XMLNode *)
 
void store_flags ()
 
void redisplay (bool view_only)
 
void invert_note_selection ()
 
void extend_note_selection ()
 
void move_note_starts_earlier_fine ()
 
void move_note_starts_earlier ()
 
void move_note_ends_later_fine ()
 
void move_note_ends_later ()
 
void move_note_starts_later_fine ()
 
void move_note_starts_later ()
 
void move_note_ends_earlier_fine ()
 
void move_note_ends_earlier ()
 
void select_next_note ()
 
void select_previous_note ()
 
void add_select_next_note ()
 
void add_select_previous_note ()
 
void increase_note_velocity ()
 
void increase_note_velocity_fine ()
 
void increase_note_velocity_smush ()
 
void increase_note_velocity_together ()
 
void increase_note_velocity_fine_smush ()
 
void increase_note_velocity_fine_together ()
 
void increase_note_velocity_smush_together ()
 
void increase_note_velocity_fine_smush_together ()
 
void decrease_note_velocity ()
 
void decrease_note_velocity_fine ()
 
void decrease_note_velocity_smush ()
 
void decrease_note_velocity_together ()
 
void decrease_note_velocity_fine_smush ()
 
void decrease_note_velocity_fine_together ()
 
void decrease_note_velocity_smush_together ()
 
void decrease_note_velocity_fine_smush_together ()
 
void transpose_up_octave ()
 
void transpose_up_octave_smush ()
 
void transpose_up_tone ()
 
void transpose_up_tone_smush ()
 
void transpose_down_octave ()
 
void transpose_down_octave_smush ()
 
void transpose_down_tone ()
 
void transpose_down_tone_smush ()
 
void nudge_notes_later ()
 
void nudge_notes_later_fine ()
 
void nudge_notes_earlier ()
 
void nudge_notes_earlier_fine ()
 
void quantize_selected_notes ()
 
void play_midi_note (std::shared_ptr< NoteType > note)
 
void start_playing_midi_note (std::shared_ptr< NoteType > note)
 
void start_playing_midi_chord (std::vector< std::shared_ptr< NoteType > > notes)
 
void clear_selection_internal ()
 
void clear_events ()
 
bool note_canvas_event (GdkEvent *ev)
 
void track_going_away ()
 
void region_going_away ()
 
void midi_channel_mode_changed ()
 
void instrument_settings_changed ()
 
void change_note_channel (NoteBase *, int8_t, bool relative=false)
 
void change_note_velocity (NoteBase *ev, int8_t vel, bool relative=false)
 
uint8_t change_note_note (NoteBase *ev, int8_t note, bool relative=false)
 
void change_note_time (NoteBase *ev, ARDOUR::MidiModel::TimeType, bool relative=false)
 
void change_note_length (NoteBase *, ARDOUR::MidiModel::TimeType)
 
void trim_note (NoteBase *ev, ARDOUR::MidiModel::TimeType start_delta, ARDOUR::MidiModel::TimeType end_delta)
 
void update_drag_selection (Temporal::timepos_t const &start, Temporal::timepos_t const &end, double y0, double y1, bool extend)
 
void update_vertical_drag_selection (double last_y, double y, bool extend)
 
void add_to_selection (NoteBase *)
 
void remove_from_selection (NoteBase *)
 
std::string get_note_name (std::shared_ptr< NoteType > note, uint8_t note_value) const
 
void show_verbose_cursor (std::string const &, double, double) const
 
void show_verbose_cursor (std::shared_ptr< NoteType >) const
 
uint8_t get_velocity_for_add (ARDOUR::MidiModel::TimeType time) const
 
uint8_t get_channel_for_add (ARDOUR::MidiModel::TimeType time) const
 
MidiCutBufferselection_as_cut_buffer () const
 
NoteBasefind_canvas_note (std::shared_ptr< NoteType >)
 
NoteBasefind_canvas_note (Evoral::event_id_t id)
 
std::shared_ptr< PatchChangefind_canvas_patch_change (ARDOUR::MidiModel::PatchChangePtr p)
 
std::shared_ptr< SysExfind_canvas_sys_ex (ARDOUR::MidiModel::SysExPtr s)
 
void sync_velocity_drag (double factor)
 
void update_note (NoteBase *)
 
virtual void update_sustained (Note *)
 
virtual void update_hit (Hit *)
 
void create_ghost_note (double, double, uint32_t state)
 
void update_ghost_note (double, double, uint32_t state)
 
void snap_changed ()
 
virtual bool key_press (GdkEventKey *)
 
virtual bool key_release (GdkEventKey *)
 
void drop_down_keys ()
 
void maybe_select_by_position (GdkEventButton *ev, double x, double y)
 
void get_events (Events &e, Evoral::Sequence< Temporal::Beats >::NoteOperator op, uint8_t val, int chan_mask=0)
 
void display_patch_changes_on_channel (uint8_t, bool)
 
void data_recorded (std::weak_ptr< ARDOUR::MidiSource >)
 
Temporal::Beats get_grid_beats (Temporal::timepos_t const &pos) const
 
Temporal::Beats get_draw_length_beats (Temporal::timepos_t const &pos) const
 
void remove_ghost_note ()
 
void hide_verbose_cursor ()
 
ARDOUR::ChannelMode get_channel_mode () const
 
uint16_t get_selected_channels () const
 
double note_height () const
 
double note_to_y (uint8_t note) const
 
uint8_t y_to_note (double y) const
 
void update_patch_changes ()
 
void update_sysexes ()
 
void view_changed ()
 
void model_changed ()
 
void sync_ghost_selection (NoteBase *)
 
bool extensible () const
 
void set_extensible (bool yn)
 
void start_note_splitting ()
 
void end_note_splitting ()
 
void split_notes_grid ()
 
void split_notes_more ()
 
void split_notes_less ()
 
void join_notes ()
 
void join_notes_on_channel (int channel)
 
void add_split_notes ()
 
void region_update_sustained (Note *, double &, double &, double &, double &)
 
void clip_capture_update_sustained (Note *, double &, double &, double &, double &)
 
void size_start_rect ()
 
void size_end_rect ()
 
bool start_boundary_event (GdkEvent *)
 
bool end_boundary_event (GdkEvent *)
 

Private Member Functions

void clear_ghost_events ()
 
void ghosts_model_changed ()
 
void ghosts_view_changed ()
 
void ghost_remove_note (NoteBase *)
 
void ghost_add_note (NoteBase *)
 
void ghost_sync_selection (NoteBase *)
 
bool motion (GdkEventMotion *)
 
bool scroll (GdkEventScroll *)
 
bool button_press (GdkEventButton *)
 
bool button_release (GdkEventButton *)
 
bool enter_notify (GdkEventCrossing *)
 
bool leave_notify (GdkEventCrossing *)
 
void enter_internal (uint32_t state)
 
void leave_internal ()
 
void mouse_mode_changed ()
 
double contents_height () const
 
void connect_to_diskstream ()
 

Friends

class MidiRubberbandSelectDrag
 
class MidiVerticalSelectDrag
 
class NoteDrag
 
class NoteCreateDrag
 
class HitCreateDrag
 
class MidiGhostRegion
 
class EditNoteDialog
 

Additional Inherited Members

- Static Public Member Functions inherited from TimeAxisViewItem
static void set_constant_heights ()
 
- Public Attributes inherited from TimeAxisViewItem
sigc::signal< void, std::string, void * > ItemRemoved
 
- Static Public Attributes inherited from RegionView
static PBD::Signal< void(RegionView *)> RegionViewGoingAway
 
- Static Public Attributes inherited from TimeAxisViewItem
static Pango::FontDescription NAME_FONT
 
static const double NAME_X_OFFSET
 
static const double GRAB_HANDLE_TOP
 
static const double GRAB_HANDLE_WIDTH
 
static int NAME_HEIGHT
 
static double NAME_Y_OFFSET
 
static double NAME_HIGHLIGHT_SIZE
 
static double NAME_HIGHLIGHT_THRESH
 
- Protected Types inherited from MidiView
typedef std::unordered_map< std::shared_ptr< NoteType >, NoteBase * > Events
 
typedef std::unordered_map< ARDOUR::MidiModel::PatchChangePtr, std::shared_ptr< PatchChange > > PatchChanges
 
typedef std::unordered_map< ARDOUR::MidiModel::constSysExPtr, std::shared_ptr< SysEx > > SysExes
 
typedef std::vector< NoteBase * > CopyDragEvents
 
- Static Protected Member Functions inherited from RegionView
static gint _lock_toggle (ArdourCanvas::Item *, GdkEvent *, void *)
 
- Static Protected Member Functions inherited from TimeAxisViewItem
static gint idle_remove_this_item (TimeAxisViewItem *, void *)
 
- Protected Attributes inherited from RegionView
std::shared_ptr< ARDOUR::Region_region
 
ArdourCanvas::Polygonsync_mark
 polygon for sync position More...
 
ArdourCanvas::Linesync_line
 polygon for sync position More...
 
ArdourWindow_editor
 
std::vector< ControlPoint * > control_points
 
double current_visible_sync_position
 
bool valid
 see StreamView::redisplay_diskstream() More...
 
uint32_t _disable_display
 see StreamView::redisplay_diskstream() More...
 
double _pixel_width
 
bool in_destructor
 
bool wait_for_data
 
std::vector< GhostRegion * > ghosts
 
std::list< ArdourCanvas::Rectangle * > _coverage_frame
 
std::list< ArdourCanvas::Rectangle * > _silent_frames
 
std::list< ArdourCanvas::Rectangle * > _silent_threshold_samples
 
ArdourCanvas::Text_silence_text
 
- Protected Attributes inherited from TimeAxisViewItem
TimeAxisViewtrackview
 
bool position_locked
 
Temporal::timepos_t time_position
 
Temporal::timecnt_t item_duration
 
Temporal::timecnt_t max_item_duration
 
Temporal::timecnt_t min_item_duration
 
bool max_duration_active
 
bool min_duration_active
 
double samples_per_pixel
 
bool _sensitive
 
std::string item_name
 
bool name_connected
 
uint32_t fill_color
 
uint32_t last_item_width
 
int name_text_width
 
bool wide_enough_for_name
 
bool high_enough_for_name
 
ArdourCanvas::Containergroup
 
ArdourCanvas::Rectangleframe
 
ArdourCanvas::Rectangleselection_frame
 
ArdourCanvas::Textname_text
 
ArdourCanvas::Rectanglename_highlight
 
ArdourCanvas::Rectangleframe_handle_start
 ‘frame’ (fade) handle for the start of the item, or 0 More...
 
ArdourCanvas::Rectangleframe_handle_end
 ‘frame’ (fade) handle for the end of the item, or 0 More...
 
double _height
 
Visibility visibility
 
std::string fill_color_name
 
bool _recregion
 
bool _automation
 true if this is an automation region view More...
 
bool _dragging
 
double _width
 
- Protected Attributes inherited from Selectable
bool _selected
 
- Protected Attributes inherited from MidiView
PBD::ScopedConnectionList connections_requiring_model
 
PBD::ScopedConnection track_going_away_connection
 
PBD::ScopedConnectionList region_connections
 
std::shared_ptr< ARDOUR::MidiTrack_midi_track
 
EditingContext_editing_context
 
MidiViewBackground_midi_context
 
std::shared_ptr< ARDOUR::MidiModel_model
 
std::shared_ptr< ARDOUR::MidiRegion_midi_region
 
Events _events
 
CopyDragEvents _copy_drag_events
 
PatchChanges _patch_changes
 
SysExes _sys_exes
 
Note ** _active_notes
 
Temporal::timecnt_t active_note_end
 
ArdourCanvas::Container_note_group
 
ARDOUR::MidiModel::NoteDiffCommand_note_diff_command
 
NoteBase_ghost_note
 
double _last_ghost_x
 
double _last_ghost_y
 
ArdourCanvas::Rectangle_step_edit_cursor
 
Temporal::Beats _step_edit_cursor_width
 
Temporal::Beats _step_edit_cursor_position
 
NoteBase_channel_selection_scoped_note
 
MouseState _mouse_state
 
int _pressed_button
 
ArdourCanvas::Rectangle_start_boundary_rect
 
ArdourCanvas::Rectangle_end_boundary_rect
 
bool _show_source
 
Selection _selection
 
std::set< std::shared_ptr< NoteType > > _marked_for_selection
 
std::set< Evoral::event_id_t_pending_note_selection
 
std::set< std::shared_ptr< NoteType > > _marked_for_velocity
 
std::vector< NoteResizeData * > _resize_data
 
Events::iterator _optimization_iterator
 
MidiListEditor_list_editor
 
bool _no_sound_notes
 
samplecnt_t _last_display_zoom
 
double _last_event_x
 
double _last_event_y
 
bool _entered
 
NoteBase_entered_note
 
bool _select_all_notes_after_add
 
bool _mouse_changed_selection
 
Gtkmm2ext::Color _patch_change_outline
 
Gtkmm2ext::Color _patch_change_fill
 
std::shared_ptr< CursorContext > _press_cursor_ctx
 
std::vector< SplitInfosplit_info
 
uint32_t split_tuple
 
bool note_splitting
 
bool _extensible
 

Detailed Description

Definition at line 73 of file midi_region_view.h.

Member Typedef Documentation

◆ Notes

◆ NoteType

Constructor & Destructor Documentation

◆ MidiRegionView() [1/4]

MidiRegionView::MidiRegionView ( ArdourCanvas::Container parent,
EditingContext ,
RouteTimeAxisView tv,
std::shared_ptr< ARDOUR::MidiRegion r,
double  samples_per_pixel,
uint32_t  basic_color 
)

◆ MidiRegionView() [2/4]

MidiRegionView::MidiRegionView ( ArdourCanvas::Container parent,
EditingContext ,
RouteTimeAxisView tv,
std::shared_ptr< ARDOUR::MidiRegion r,
double  samples_per_pixel,
uint32_t  basic_color,
bool  recording,
Visibility  visibility 
)

◆ MidiRegionView() [3/4]

MidiRegionView::MidiRegionView ( const MidiRegionView other)

◆ MidiRegionView() [4/4]

MidiRegionView::MidiRegionView ( const MidiRegionView other,
std::shared_ptr< ARDOUR::MidiRegion  
)

◆ ~MidiRegionView()

MidiRegionView::~MidiRegionView ( )

Member Function Documentation

◆ add_control_points_to_selection()

void MidiRegionView::add_control_points_to_selection ( Temporal::timepos_t const &  ,
Temporal::timepos_t const &  ,
double  y0,
double  y1 
)
protectedvirtual

Reimplemented from MidiView.

◆ add_ghost()

GhostRegion* MidiRegionView::add_ghost ( TimeAxisView )
virtual

Reimplemented from MidiView.

◆ begin_drag_edit()

void MidiRegionView::begin_drag_edit ( std::string const &  why)
virtual

Reimplemented from MidiView.

◆ button_press()

bool MidiRegionView::button_press ( GdkEventButton )
privatevirtual

Reimplemented from MidiView.

◆ button_release()

bool MidiRegionView::button_release ( GdkEventButton )
privatevirtual

Reimplemented from MidiView.

◆ canvas_group_event()

bool MidiRegionView::canvas_group_event ( GdkEvent )
protectedvirtual

Reimplemented from MidiView.

◆ clear_ghost_events()

void MidiRegionView::clear_ghost_events ( )
privatevirtual

Reimplemented from MidiView.

◆ color_handler()

void MidiRegionView::color_handler ( )
protectedvirtual

Reimplemented from RegionView.

◆ color_mode()

ARDOUR::ColorMode MidiRegionView::color_mode ( ) const
inline

Definition at line 117 of file midi_region_view.h.

◆ connect_to_diskstream()

void MidiRegionView::connect_to_diskstream ( )
private

◆ contents_height()

double MidiRegionView::contents_height ( ) const
inlineprivatevirtual

Reimplemented from MidiView.

Definition at line 176 of file midi_region_view.h.

◆ display_is_enabled()

bool MidiRegionView::display_is_enabled ( ) const
virtual

Reimplemented from MidiView.

◆ drag_group()

ArdourCanvas::Item* MidiRegionView::drag_group ( ) const
virtual

Implements MidiView.

◆ enter_internal()

void MidiRegionView::enter_internal ( uint32_t  state)
privatevirtual

Reimplemented from MidiView.

◆ enter_notify()

bool MidiRegionView::enter_notify ( GdkEventCrossing )
privatevirtual

Reimplemented from MidiView.

◆ get_fill_color()

uint32_t MidiRegionView::get_fill_color ( ) const
protectedvirtual

Reimplemented from MidiView.

◆ get_modifier_name()

std::string MidiRegionView::get_modifier_name ( ) const
virtual

Reimplemented from MidiView.

◆ ghost_add_note()

void MidiRegionView::ghost_add_note ( NoteBase )
privatevirtual

Reimplemented from MidiView.

◆ ghost_remove_note()

void MidiRegionView::ghost_remove_note ( NoteBase )
privatevirtual

Reimplemented from MidiView.

◆ ghost_sync_selection()

void MidiRegionView::ghost_sync_selection ( NoteBase )
privatevirtual

Reimplemented from MidiView.

◆ ghosts_model_changed()

void MidiRegionView::ghosts_model_changed ( )
privatevirtual

Reimplemented from MidiView.

◆ ghosts_view_changed()

void MidiRegionView::ghosts_view_changed ( )
privatevirtual

Reimplemented from MidiView.

◆ height()

double MidiRegionView::height ( ) const
virtual

Reimplemented from MidiView.

◆ init()

void MidiRegionView::init ( bool  wfd)
virtual

Reimplemented from RegionView.

◆ instrument_info()

ARDOUR::InstrumentInfo& MidiRegionView::instrument_info ( ) const

◆ leave_internal()

void MidiRegionView::leave_internal ( )
privatevirtual

Reimplemented from MidiView.

◆ leave_notify()

bool MidiRegionView::leave_notify ( GdkEventCrossing )
privatevirtual

Reimplemented from MidiView.

◆ make_merger()

MergeableLine* MidiRegionView::make_merger ( )
virtual

Implements LineMerger.

◆ midi_region()

const std::shared_ptr<ARDOUR::MidiRegion> MidiRegionView::midi_region ( ) const

◆ midi_stream_view()

MidiStreamView* MidiRegionView::midi_stream_view ( ) const
inline

Definition at line 111 of file midi_region_view.h.

◆ midi_view()

MidiTimeAxisView* MidiRegionView::midi_view ( ) const
inline

Definition at line 108 of file midi_region_view.h.

◆ motion()

bool MidiRegionView::motion ( GdkEventMotion )
privatevirtual

Reimplemented from MidiView.

◆ mouse_mode_changed()

void MidiRegionView::mouse_mode_changed ( )
privatevirtual

Reimplemented from MidiView.

◆ parameter_changed()

void MidiRegionView::parameter_changed ( std::string const &  p)
protectedvirtual

Reimplemented from RegionView.

◆ redisplay()

void MidiRegionView::redisplay ( bool  )
virtual

Implements RegionView.

◆ region_resized()

void MidiRegionView::region_resized ( const PBD::PropertyChange )
protectedvirtual

Reimplemented from MidiView.

◆ reset_width_dependent_items()

void MidiRegionView::reset_width_dependent_items ( double  pixel_width)
protectedvirtual

Reimplemented from MidiView.

◆ scroll()

bool MidiRegionView::scroll ( GdkEventScroll )
privatevirtual

Reimplemented from MidiView.

◆ select_self()

void MidiRegionView::select_self ( bool  add)
virtual

Reimplemented from MidiView.

◆ select_self_uniquely()

void MidiRegionView::select_self_uniquely ( )
virtual

Reimplemented from MidiView.

◆ set_height()

void MidiRegionView::set_height ( double  )
virtual

Reimplemented from MidiView.

◆ set_model()

void MidiRegionView::set_model ( std::shared_ptr< ARDOUR::MidiModel )
virtual

Reimplemented from MidiView.

◆ set_selected()

void MidiRegionView::set_selected ( bool  yn)
virtual

Reimplemented from RegionView.

◆ set_visibility_note_range()

void MidiRegionView::set_visibility_note_range ( MidiViewBackground::VisibleNoteRange  ,
bool   
)
virtual

Reimplemented from MidiView.

◆ unselect_self()

void MidiRegionView::unselect_self ( )
virtual

Reimplemented from MidiView.

Friends And Related Function Documentation

◆ EditNoteDialog

friend class EditNoteDialog
friend

Definition at line 156 of file midi_region_view.h.

◆ HitCreateDrag

friend class HitCreateDrag
friend

Definition at line 153 of file midi_region_view.h.

◆ MidiGhostRegion

friend class MidiGhostRegion
friend

Definition at line 154 of file midi_region_view.h.

◆ MidiRubberbandSelectDrag

friend class MidiRubberbandSelectDrag
friend

Definition at line 149 of file midi_region_view.h.

◆ MidiVerticalSelectDrag

friend class MidiVerticalSelectDrag
friend

Definition at line 150 of file midi_region_view.h.

◆ NoteCreateDrag

friend class NoteCreateDrag
friend

Definition at line 152 of file midi_region_view.h.

◆ NoteDrag

friend class NoteDrag
friend

Definition at line 151 of file midi_region_view.h.


The documentation for this class was generated from the following file: