Ardour  9.0-pre0-582-g084a23a80d
MidiCueEditor Class Reference

#include <midi_cue_editor.h>

Inheritance diagram for MidiCueEditor:
[legend]

Classes

class  BBTMetric
 

Public Member Functions

 MidiCueEditor ()
 
 ~MidiCueEditor ()
 
ArdourCanvas::Containerget_trackview_group () const
 
ArdourCanvas::Containerget_noscroll_group () const
 
Gtk::Widgetviewport ()
 
Gtk::Widgettoolbox ()
 
double visible_canvas_width () const
 
samplecnt_t current_page_samples () const
 
void get_per_region_note_selection (std::list< std::pair< PBD::ID, std::set< std::shared_ptr< Evoral::Note< Temporal::Beats > > > > > &) const
 
Temporal::Beats get_grid_type_as_beats (bool &success, Temporal::timepos_t const &position) const
 
Temporal::Beats get_draw_length_as_beats (bool &success, Temporal::timepos_t const &position) const
 
bool canvas_note_event (GdkEvent *event, ArdourCanvas::Item *)
 
bool canvas_velocity_base_event (GdkEvent *event, ArdourCanvas::Item *)
 
bool canvas_velocity_event (GdkEvent *event, ArdourCanvas::Item *)
 
bool canvas_control_point_event (GdkEvent *event, ArdourCanvas::Item *, ControlPoint *)
 
bool canvas_cue_start_event (GdkEvent *event, ArdourCanvas::Item *)
 
bool canvas_cue_end_event (GdkEvent *event, ArdourCanvas::Item *)
 
int32_t get_grid_beat_divisions (Editing::GridType gt) const
 
int32_t get_grid_music_divisions (Editing::GridType gt, uint32_t event_state) const
 
void set (ARDOUR::TriggerReference &)
 
void set_region (std::shared_ptr< ARDOUR::MidiRegion >)
 
ArdourCanvas::ScrollGroupget_hscroll_group () const
 
ArdourCanvas::ScrollGroupget_cursor_scroll_group () const
 
void set_samples_per_pixel (samplecnt_t)
 
void set_mouse_mode (Editing::MouseMode, bool force=false)
 
void step_mouse_mode (bool next)
 
Editing::MouseMode current_mouse_mode () const
 
bool internal_editing () const
 
void box_rec_enable_change (ARDOUR::TriggerBox const &)
 
void trigger_rec_enable_change (ARDOUR::Trigger const &)
 
ArdourCanvas::GtkCanvasViewportget_canvas_viewport () const
 
ArdourCanvas::GtkCanvasget_canvas () const
 
int set_state (const XMLNode &, int version)
 
XMLNodeget_state () const
 
void maybe_autoscroll (bool, bool, bool)
 
bool autoscroll_active () const
 
void midi_action (void(MidiView::*method)())
 
std::list< SelectableOwner * > selectable_owners ()
 
Gdk::Cursorwhich_track_cursor () const
 
Gdk::Cursorwhich_mode_cursor () const
 
Gdk::Cursorwhich_trim_cursor (bool left_side) const
 
Gdk::Cursorwhich_canvas_cursor (ItemType type) const
 
void set_visible_channel (int chan)
 
void note_mode_clicked ()
 
ARDOUR::NoteMode note_mode () const
 
void set_note_mode (ARDOUR::NoteMode)
 
void set_trigger_start (Temporal::timepos_t const &)
 
void set_trigger_end (Temporal::timepos_t const &)
 
void set_trigger_length (Temporal::timecnt_t const &)
 
void set_trigger_bounds (Temporal::timepos_t const &, Temporal::timepos_t const &)
 
- Public Member Functions inherited from CueEditor
 CueEditor (std::string const &name)
 
 ~CueEditor ()
 
void select_all_within (Temporal::timepos_t const &, Temporal::timepos_t const &, double, double, std::list< SelectableOwner * > const &, ARDOUR::SelectionOperation, bool)
 
void get_regionviews_by_id (PBD::ID const id, RegionSelection &regions) const
 
StripableTimeAxisViewget_stripable_time_axis_by_id (const PBD::ID &id) const
 
TrackViewList axis_views_from_routes (std::shared_ptr< ARDOUR::RouteList >) const
 
AxisViewaxis_view_by_stripable (std::shared_ptr< ARDOUR::Stripable >) const
 
AxisViewaxis_view_by_control (std::shared_ptr< ARDOUR::AutomationControl >) const
 
ARDOUR::Locationfind_location_from_marker (ArdourMarker *, bool &) const
 
ArdourMarkerfind_marker_from_location_id (PBD::ID const &, bool) const
 
TempoMarkerfind_marker_for_tempo (Temporal::TempoPoint const &)
 
MeterMarkerfind_marker_for_meter (Temporal::MeterPoint const &)
 
void redisplay_grid (bool immediate_redraw)
 
Temporal::timecnt_t get_nudge_distance (Temporal::timepos_t const &pos, Temporal::timecnt_t &next) const
 
void instant_save ()
 
void begin_selection_op_history ()
 
void begin_reversible_selection_op (std::string cmd_name)
 
void commit_reversible_selection_op ()
 
void abort_reversible_selection_op ()
 
void undo_selection_op ()
 
void redo_selection_op ()
 
PBD::HistoryOwnerhistory ()
 
void history_changed ()
 
void add_command (PBD::Command *cmd)
 
void begin_reversible_command (std::string cmd_name)
 
void begin_reversible_command (GQuark gq)
 
void abort_reversible_command ()
 
void commit_reversible_command ()
 
double get_y_origin () const
 
void set_zoom_focus (Editing::ZoomFocus)
 
samplecnt_t get_current_zoom () const
 
void reposition_and_zoom (samplepos_t, double)
 
Editing::MouseMode current_mouse_mode () const
 
Gdk::Cursorget_canvas_cursor () const
 
MouseCursors const * cursors () const
 
void set_snapped_cursor_position (Temporal::timepos_t const &pos)
 
std::vector< MidiRegionView * > filter_to_unique_midi_region_views (RegionSelection const &ms) const
 
std::shared_ptr< Temporal::TempoMap const > start_local_tempo_map (std::shared_ptr< Temporal::TempoMap >)
 
void end_local_tempo_map (std::shared_ptr< Temporal::TempoMap const >)
 
- Public Member Functions inherited from EditingContext
 EditingContext (std::string const &)
 
 ~EditingContext ()
 
std::string editor_name () const
 
void set_session (ARDOUR::Session *)
 
Temporal::TimeDomain time_domain () const
 
DragManagerdrags () const
 
bool drag_active () const
 
bool preview_video_drag_active () const
 
virtual ArdourCanvas::Duple upper_left () const
 
EditorCursorplayhead_cursor () const
 
EditorCursorsnapped_cursor () const
 
Temporal::timecnt_t relative_distance (Temporal::timepos_t const &origin, Temporal::timecnt_t const &duration, Temporal::TimeDomain domain)
 
Temporal::timecnt_t snap_relative_time_to_relative_time (Temporal::timepos_t const &origin, Temporal::timecnt_t const &x, bool ensure_snap) const
 
void set_follow_playhead (bool yn, bool catch_up=true)
 
void toggle_follow_playhead ()
 
bool follow_playhead () const
 
Temporal::timepos_t get_preferred_edit_position (Editing::EditIgnoreOption eio=Editing::EDIT_IGNORE_NONE, bool use_context_click=false, bool from_outside_canvas=false)
 
virtual void set_selected_midi_region_view (MidiRegionView &)
 
samplecnt_t get_current_zoom () const
 
void temporal_zoom_step (bool zoom_out)
 
void temporal_zoom_step_scale (bool zoom_out, double scale)
 
void temporal_zoom_step_mouse_focus (bool zoom_out)
 
void temporal_zoom_step_mouse_focus_scale (bool zoom_out, double scale)
 
void calc_extra_zoom_edges (samplepos_t &start, samplepos_t &end)
 
void temporal_zoom (samplecnt_t samples_per_pixel)
 
void temporal_zoom_by_sample (samplepos_t start, samplepos_t end)
 
void temporal_zoom_to_sample (bool coarser, samplepos_t sample)
 
double timeline_origin () const
 
samplepos_t pixel_to_sample_from_event (double pixel) const
 
samplepos_t pixel_to_sample (double pixel) const
 
double sample_to_pixel (samplepos_t sample) const
 
double sample_to_pixel_unrounded (samplepos_t sample) const
 
double time_to_pixel (Temporal::timepos_t const &pos) const
 
double time_to_pixel_unrounded (Temporal::timepos_t const &pos) const
 
double time_delta_to_pixel (Temporal::timepos_t const &start, Temporal::timepos_t const &end) const
 
double duration_to_pixels (Temporal::timecnt_t const &pos) const
 
double duration_to_pixels_unrounded (Temporal::timecnt_t const &pos) const
 
samplecnt_t pixel_duration_to_samples (double pixels) const
 
double timeline_to_canvas (double p) const
 
double canvas_to_timeline (double p) const
 
Temporal::timepos_t canvas_event_time (GdkEvent const *, double *px=0, double *py=0) const
 
samplepos_t canvas_event_sample (GdkEvent const *event, double *pcx=nullptr, double *pcy=nullptr) const
 
Temporal::Beats get_grid_type_as_beats (bool &success, Temporal::timepos_t const &position) const
 
Temporal::Beats get_draw_length_as_beats (bool &success, Temporal::timepos_t const &position) const
 
int32_t get_grid_beat_divisions (Editing::GridType gt) const
 
int32_t get_grid_music_divisions (Editing::GridType gt, uint32_t event_state) const
 
Editing::GridType grid_type () const
 
bool grid_type_is_musical (Editing::GridType) const
 
bool grid_musical () const
 
void cycle_snap_mode ()
 
void next_grid_choice ()
 
void prev_grid_choice ()
 
void set_grid_to (Editing::GridType)
 
void set_snap_mode (Editing::SnapMode)
 
void set_draw_length_to (Editing::GridType)
 
void set_draw_velocity_to (int)
 
void set_draw_channel_to (int)
 
Editing::GridType draw_length () const
 
int draw_velocity () const
 
int draw_channel () const
 
Editing::SnapMode snap_mode () const
 
virtual void snap_to (Temporal::timepos_t &first, Temporal::RoundMode direction=Temporal::RoundNearest, ARDOUR::SnapPref pref=ARDOUR::SnapToAny_Visual, bool ensure_snap=false) const
 
virtual void snap_to_with_modifier (Temporal::timepos_t &first, GdkEvent const *ev, Temporal::RoundMode direction=Temporal::RoundNearest, ARDOUR::SnapPref gpref=ARDOUR::SnapToAny_Visual, bool ensure_snap=false) const
 
virtual Temporal::timepos_t snap_to_bbt (Temporal::timepos_t const &start, Temporal::RoundMode direction, ARDOUR::SnapPref gpref) const
 
void reset_x_origin (samplepos_t)
 
void reset_y_origin (double)
 
void reset_zoom (samplecnt_t)
 
virtual void cycle_zoom_focus ()
 
Editing::ZoomFocus zoom_focus () const
 
virtual Selectionget_selection () const
 
virtual Selectionget_cut_buffer () const
 
void reset_point_selection ()
 
Editing::MouseMode current_mouse_mode () const
 
virtual Editing::MouseMode effective_mouse_mode () const
 
virtual bool get_smart_mode () const
 
void choose_canvas_cursor_on_entry (ItemType)
 
virtual VerboseCursorverbose_cursor () const
 
ARDOUR::Quantizeget_quantize_op ()
 
void apply_midi_note_edit_op (ARDOUR::MidiOperator &op, const RegionSelection &rs)
 
PBD::Commandapply_midi_note_edit_op_to_region (ARDOUR::MidiOperator &op, MidiView &mrv)
 
std::vector< MidiView * > filter_to_unique_midi_region_views (RegionSelection const &ms) const
 
void quantize_region ()
 
void transform_region ()
 
void legatize_region (bool shrink_only)
 
void transpose_region ()
 
virtual bool canvas_playhead_cursor_event (GdkEvent *event, ArdourCanvas::Item *)
 
bool typed_event (ArdourCanvas::Item *, GdkEvent *, ItemType)
 
void set_horizontal_position (double)
 
double horizontal_position () const
 
bool on_velocity_scroll_event (GdkEventScroll *)
 
void pre_render ()
 
void select_automation_line (GdkEventButton *, ArdourCanvas::Item *, ARDOUR::SelectionOperation)
 
void undo (uint32_t n=1)
 
void redo (uint32_t n=1)
 
virtual void set_canvas_cursor (Gdk::Cursor *)
 
samplepos_t window_event_sample (GdkEvent const *, double *px=0, double *py=0) const
 
bool mouse_sample (samplepos_t &, bool &in_track_canvas) const
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 
virtual ARDOUR::Sessionsession () const
 
- Public Member Functions inherited from AxisViewProvider
virtual ~AxisViewProvider ()
 
- Public Member Functions inherited from PBD::HistoryOwner
 HistoryOwner (std::string const &name)
 
virtual ~HistoryOwner ()
 
void begin_reversible_command (const std::string &cmd_name)
 
void begin_reversible_command (GQuark)
 
void abort_reversible_command ()
 
void commit_reversible_command (PBD::Command *cmd=0)
 
void add_command (PBD::Command *const cmd)
 
PBD::StatefulDiffCommandadd_stateful_diff_command (std::shared_ptr< PBD::StatefulDestructible > sfd)
 
std::list< GQuark > const & current_operations ()
 
bool operation_in_progress (GQuark) const
 
bool collected_undo_commands () const
 
PBD::UndoTransactioncurrent_reversible_command ()
 
bool abort_empty_reversible_command ()
 
void add_commands (std::vector< PBD::Command * > const &cmds)
 
PBD::UndoHistoryundo_redo ()
 

Public Attributes

double timebar_height
 
size_t n_timebars
 
- Public Attributes inherited from CueEditor
PBD::ScopedConnection history_connection
 
- Public Attributes inherited from EditingContext
sigc::signal< void > ZoomFocusChanged
 
sigc::signal< void > ZoomChanged
 
PBD::Signal< void()> SnapChanged
 
PBD::Signal< void()> MouseModeChanged
 
ArdourCanvas::Rectanglerubberband_rect
 

Protected Member Functions

void register_actions ()
 
Temporal::timepos_t snap_to_grid (Temporal::timepos_t const &start, Temporal::RoundMode direction, ARDOUR::SnapPref gpref) const
 
void snap_to_internal (Temporal::timepos_t &first, Temporal::RoundMode direction=Temporal::RoundNearest, ARDOUR::SnapPref gpref=ARDOUR::SnapToAny_Visual, bool ensure_snap=false) const
 
bool button_press_handler (ArdourCanvas::Item *, GdkEvent *, ItemType)
 
bool button_press_handler_1 (ArdourCanvas::Item *, GdkEvent *, ItemType)
 
bool button_press_handler_2 (ArdourCanvas::Item *, GdkEvent *, ItemType)
 
bool button_release_handler (ArdourCanvas::Item *, GdkEvent *, ItemType)
 
bool button_press_dispatch (GdkEventButton *)
 
bool button_release_dispatch (GdkEventButton *)
 
bool motion_handler (ArdourCanvas::Item *, GdkEvent *, bool from_autoscroll=false)
 
bool enter_handler (ArdourCanvas::Item *, GdkEvent *, ItemType)
 
bool leave_handler (ArdourCanvas::Item *, GdkEvent *, ItemType)
 
bool key_press_handler (ArdourCanvas::Item *, GdkEvent *, ItemType)
 
bool key_release_handler (ArdourCanvas::Item *, GdkEvent *, ItemType)
 
void mouse_mode_toggled (Editing::MouseMode)
 
void escape ()
 
void on_samples_per_pixel_changed ()
 
- Protected Member Functions inherited from CueEditor
void reset_x_origin_to_follow_playhead ()
 
void do_undo (uint32_t n)
 
void do_redo (uint32_t n)
 
std::pair< Temporal::timepos_t, Temporal::timepos_tmax_zoom_extent () const
 
Temporal::timepos_t _get_preferred_edit_position (Editing::EditIgnoreOption, bool use_context_click, bool from_outside_canvas)
 
- Protected Member Functions inherited from EditingContext
Glib::RefPtr< Gtk::RadioActiongrid_type_action (Editing::GridType)
 
Glib::RefPtr< Gtk::RadioActionsnap_mode_action (Editing::SnapMode)
 
void draw_length_changed ()
 
void draw_velocity_changed ()
 
void draw_channel_changed ()
 
void build_grid_type_menu ()
 
void build_draw_midi_menus ()
 
void grid_type_selection_done (Editing::GridType)
 
void snap_mode_selection_done (Editing::SnapMode)
 
void snap_mode_chosen (Editing::SnapMode)
 
void grid_type_chosen (Editing::GridType)
 
virtual void play_note_selection_clicked ()
 
virtual void follow_playhead_clicked ()
 
virtual void full_zoom_clicked ()
 
bool snap_mode_button_clicked (GdkEventButton *)
 
virtual void mark_region_boundary_cache_dirty ()
 
virtual void update_tempo_based_rulers ()
 
virtual void show_rulers_for_grid ()
 
virtual Editing::ZoomFocus effective_zoom_focus () const
 
Temporal::timepos_t _snap_to_bbt (Temporal::timepos_t const &start, Temporal::RoundMode direction, ARDOUR::SnapPref gpref, Editing::GridType grid_type) const
 
void check_best_snap (Temporal::timepos_t const &presnap, Temporal::timepos_t &test, Temporal::timepos_t &dist, Temporal::timepos_t &best) const
 
uint32_t count_bars (Temporal::Beats const &start, Temporal::Beats const &end) const
 
void compute_bbt_ruler_scale (samplepos_t lower, samplepos_t upper)
 
void popup_note_context_menu (ArdourCanvas::Item *, GdkEvent *)
 
XMLNodebutton_settings () const
 
void edit_notes (MidiView *)
 
void note_edit_done (int, EditNoteDialog *)
 
void quantize_regions (const RegionSelection &rs)
 
void legatize_regions (const RegionSelection &rs, bool shrink_only)
 
void transform_regions (const RegionSelection &rs)
 
void transpose_regions (const RegionSelection &rs)
 
void register_grid_actions ()
 
Glib::RefPtr< Gtk::Actionget_mouse_mode_action (Editing::MouseMode m) const
 
void register_mouse_mode_actions ()
 
void bind_mouse_mode_buttons ()
 
virtual void add_mouse_mode_actions (Glib::RefPtr< Gtk::ActionGroup >)
 
void pack_draw_box ()
 
void pack_snap_box ()
 
void set_common_editing_state (XMLNode const &node)
 
void get_common_editing_state (XMLNode &node) const
 
int idle_visual_changer ()
 
void ensure_visual_change_idle_handler ()
 
virtual void parameter_changed (std::string)
 
virtual void ui_parameter_changed (std::string)
 
virtual void set_entered_track (TimeAxisView *)
 
- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 

Private Types

typedef std::map< Evoral::Parameter, ArdourWidgets::ArdourButton * > ParameterButtonMap
 

Private Member Functions

void build_canvas ()
 
void canvas_allocate (Gtk::Allocation)
 
void build_upper_toolbar ()
 
void build_lower_toolbar ()
 
RegionSelection region_selection ()
 
bool canvas_enter_leave (GdkEventCrossing *ev)
 
void metric_get_bbt (std::vector< ArdourCanvas::Ruler::Mark > &, samplepos_t, samplepos_t, gint)
 
bool canvas_pre_event (GdkEvent *)
 
bool autoscroll_canvas ()
 
void start_canvas_autoscroll (bool allow_horiz, bool allow_vert, const ArdourCanvas::Rect &boundary)
 
void stop_canvas_autoscroll ()
 
void maybe_update ()
 
void trigger_prop_change (PBD::PropertyChange const &)
 
void unset ()
 
void visual_changer (const VisualChange &)
 
void bindings_changed ()
 
void data_captured (samplecnt_t)
 
bool idle_data_captured ()
 
bool automation_button_event (GdkEventButton *, Evoral::ParameterType type, int id)
 
bool automation_button_click (Evoral::ParameterType type, int id, ARDOUR::SelectionOperation)
 
void automation_led_click (GdkEventButton *, Evoral::ParameterType type, int id)
 
void automation_state_changed ()
 

Private Attributes

ARDOUR::TriggerReference ref
 
std::shared_ptr< ARDOUR::MidiTrack_track
 
ArdourCanvas::GtkCanvasViewport_canvas_viewport
 
ArdourCanvas::GtkCanvas_canvas
 
ArdourCanvas::ScrollGrouphv_scroll_group
 
ArdourCanvas::ScrollGrouph_scroll_group
 
ArdourCanvas::ScrollGroupv_scroll_group
 
ArdourCanvas::ScrollGroupcursor_scroll_group
 
ArdourCanvas::Containerglobal_rect_group
 
ArdourCanvas::Containerno_scroll_group
 
ArdourCanvas::Containerdata_group
 
ArdourCanvas::Containertime_line_group
 
ArdourCanvas::Rulerbbt_ruler
 
ArdourCanvas::Rectangletempo_bar
 
ArdourCanvas::Rectanglemeter_bar
 
ArdourCanvas::PianoRollHeaderprh
 
ArdourCanvas::Rectangletransport_loop_range_rect
 
Gtk::VBox _toolbox
 
Gtk::HBox button_bar
 
ArdourWidgets::ArdourButtonvelocity_button
 
ArdourWidgets::ArdourButtonbender_button
 
ArdourWidgets::ArdourButtonpressure_button
 
ArdourWidgets::ArdourButtonexpression_button
 
ArdourWidgets::ArdourButtonmodulation_button
 
ArdourWidgets::ArdourDropdowncc_dropdown1
 
ArdourWidgets::ArdourDropdowncc_dropdown2
 
ArdourWidgets::ArdourDropdowncc_dropdown3
 
ParameterButtonMap parameter_button_map
 
CueMidiBackgroundbg
 
MidiCueViewview
 
BBTMetric bbt_metric
 
sigc::connection _update_connection
 
PBD::ScopedConnectionList object_connections
 
std::atomic< int > idle_update_queued
 
PBD::ScopedConnectionList capture_connections
 
samplecnt_t data_capture_duration
 
int _visible_channel
 
ARDOUR::NoteMode _note_mode
 
sigc::signal< void > NoteModeChanged
 

Additional Inherited Members

- Static Public Member Functions inherited from EditingContext
static MouseCursors const * cursors ()
 
static void register_midi_actions (Gtkmm2ext::Bindings *)
 
static void register_common_actions (Gtkmm2ext::Bindings *)
 
static void update_undo_redo_actions (PBD::UndoHistory const &)
 
static EditingContextcurrent_editing_context ()
 
static void switch_editing_context (EditingContext *)
 
- Static Public Attributes inherited from EditingContext
static sigc::signal< void > DropDownKeys
 
- Protected Types inherited from EditingContext
enum  BBTRulerScale {
  bbt_show_many , bbt_show_64 , bbt_show_16 , bbt_show_4 ,
  bbt_show_1 , bbt_show_quarters , bbt_show_eighths , bbt_show_sixteenths ,
  bbt_show_thirtyseconds , bbt_show_sixtyfourths , bbt_show_onetwentyeighths
}
 
- Static Protected Member Functions inherited from EditingContext
static Glib::RefPtr< Gtk::RadioActiondraw_length_action (Editing::GridType)
 
static Glib::RefPtr< Gtk::RadioActiondraw_velocity_action (int)
 
static Glib::RefPtr< Gtk::RadioActiondraw_channel_action (int)
 
static void draw_channel_chosen (int)
 
static void draw_velocity_chosen (int)
 
static void draw_length_chosen (Editing::GridType)
 
static void draw_channel_action_method (int)
 
static void draw_velocity_action_method (int)
 
static void draw_length_action_method (Editing::GridType)
 
static int _idle_visual_changer (void *arg)
 
static Glib::RefPtr< Gtk::Actionreg_sens (Glib::RefPtr< Gtk::ActionGroup > group, char const *name, char const *label, sigc::slot< void > slot)
 
static void toggle_reg_sens (Glib::RefPtr< Gtk::ActionGroup > group, char const *name, char const *label, sigc::slot< void > slot)
 
static void radio_reg_sens (Glib::RefPtr< Gtk::ActionGroup > action_group, Gtk::RadioAction::Group &radio_group, char const *name, char const *label, sigc::slot< void > slot)
 
- Protected Attributes inherited from EditingContext
std::string _name
 
bool within_track_canvas
 
Editing::GridType pre_internal_grid_type
 
Editing::SnapMode pre_internal_snap_mode
 
Editing::GridType internal_grid_type
 
Editing::SnapMode internal_snap_mode
 
Editing::GridType _grid_type
 
Editing::SnapMode _snap_mode
 
double _timeline_origin
 
ArdourWidgets::ArdourDropdown grid_type_selector
 
ArdourWidgets::ArdourDropdown draw_length_selector
 
ArdourWidgets::ArdourDropdown draw_velocity_selector
 
ArdourWidgets::ArdourDropdown draw_channel_selector
 
ArdourWidgets::ArdourButton play_note_selection_button
 
ArdourWidgets::ArdourButton note_mode_button
 
ArdourWidgets::ArdourButton follow_playhead_button
 
ArdourWidgets::ArdourButton full_zoom_button
 
Gtk::Label visible_channel_label
 
ArdourWidgets::ArdourDropdown visible_channel_selector
 
DragManager_drags
 
ArdourWidgets::ArdourButton snap_mode_button
 
samplepos_t _leftmost_sample
 
EditorCursor_playhead_cursor
 
EditorCursor_snapped_cursor
 
bool _follow_playhead
 
Selectionselection
 
Selectioncut_buffer
 
SelectionMemento_selection_memento
 
std::list< XMLNode * > before
 
VerboseCursor_verbose_cursor
 
samplecnt_t samples_per_pixel
 
Editing::ZoomFocus _zoom_focus
 
BBTRulerScale bbt_ruler_scale
 
uint32_t bbt_bars
 
uint32_t bbt_bar_helper_on
 
double _track_canvas_width
 
double _visible_canvas_width
 
double _visible_canvas_height
 height of the visible area of the track canvas More...
 
QuantizeDialogquantize_dialog
 
Gtk::Menu _note_context_menu
 
Gtk::Adjustment vertical_adjustment
 
Gtk::Adjustment horizontal_adjustment
 
ArdourWidgets::ArdourButton mouse_select_button
 
ArdourWidgets::ArdourButton mouse_timefx_button
 
ArdourWidgets::ArdourButton mouse_grid_button
 
ArdourWidgets::ArdourButton mouse_cut_button
 
ArdourWidgets::ArdourButton mouse_move_button
 
ArdourWidgets::ArdourButton mouse_draw_button
 
ArdourWidgets::ArdourButton mouse_content_button
 
Glib::RefPtr< Gtk::ActionGroupeditor_actions
 
Gtk::HBox snap_box
 
Gtk::HBox grid_box
 
Gtk::HBox draw_box
 
ArdourWidgets::ArdourVSpacer _grid_box_spacer
 
ArdourWidgets::ArdourVSpacer _draw_box_spacer
 
Gtkmm2ext::Bindingsbindings
 
Editing::MouseMode mouse_mode
 
VisualChange pending_visual_change
 
bool visual_change_queued
 
sigc::connection autoscroll_connection
 
bool autoscroll_horizontal_allowed
 
bool autoscroll_vertical_allowed
 
uint32_t autoscroll_cnt
 
ArdourCanvas::Rect autoscroll_boundary
 
PBD::ScopedConnectionList parameter_connections
 
bool _mouse_changed_selection
 
ArdourMarkerentered_marker
 
TimeAxisViewentered_track
 
RegionViewentered_regionview
 
bool clear_entered_track
 
PBD::ScopedConnection escape_connection
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 
- Protected Attributes inherited from PBD::HistoryOwner
std::string _name
 
PBD::UndoHistory _history
 
PBD::UndoTransaction_current_trans
 
std::list< GQuark > _current_trans_quarks
 
- Static Protected Attributes inherited from EditingContext
static Glib::RefPtr< Gtk::ActionGroup_midi_actions
 
static Glib::RefPtr< Gtk::ActionGroup_common_actions
 
static std::vector< std::string > grid_type_strings
 
static Editing::GridType _draw_length
 
static int _draw_velocity
 
static int _draw_channel
 
static sigc::signal< void > DrawLengthChanged
 
static sigc::signal< void > DrawVelocityChanged
 
static sigc::signal< void > DrawChannelChanged
 
static MouseCursors_cursors
 
static Gtkmm2ext::Bindingsbutton_bindings
 
static Glib::RefPtr< Gtk::Actionundo_action
 
static Glib::RefPtr< Gtk::Actionredo_action
 
static Glib::RefPtr< Gtk::Actionalternate_redo_action
 
static Glib::RefPtr< Gtk::Actionalternate_alternate_redo_action
 
static EditingContext_current_editing_context
 

Detailed Description

Definition at line 50 of file midi_cue_editor.h.

Member Typedef Documentation

◆ ParameterButtonMap

Constructor & Destructor Documentation

◆ MidiCueEditor()

MidiCueEditor::MidiCueEditor ( )

◆ ~MidiCueEditor()

MidiCueEditor::~MidiCueEditor ( )

Member Function Documentation

◆ automation_button_click()

bool MidiCueEditor::automation_button_click ( Evoral::ParameterType  type,
int  id,
ARDOUR::SelectionOperation   
)
private

◆ automation_button_event()

bool MidiCueEditor::automation_button_event ( GdkEventButton ,
Evoral::ParameterType  type,
int  id 
)
private

◆ automation_led_click()

void MidiCueEditor::automation_led_click ( GdkEventButton ,
Evoral::ParameterType  type,
int  id 
)
private

◆ automation_state_changed()

void MidiCueEditor::automation_state_changed ( )
private

◆ autoscroll_active()

bool MidiCueEditor::autoscroll_active ( ) const
virtual

Reimplemented from CueEditor.

◆ autoscroll_canvas()

bool MidiCueEditor::autoscroll_canvas ( )
private

◆ bindings_changed()

void MidiCueEditor::bindings_changed ( )
private

◆ box_rec_enable_change()

void MidiCueEditor::box_rec_enable_change ( ARDOUR::TriggerBox const &  )

◆ build_canvas()

void MidiCueEditor::build_canvas ( )
private

◆ build_lower_toolbar()

void MidiCueEditor::build_lower_toolbar ( )
private

◆ build_upper_toolbar()

void MidiCueEditor::build_upper_toolbar ( )
private

◆ button_press_dispatch()

bool MidiCueEditor::button_press_dispatch ( GdkEventButton )
protectedvirtual

Implements EditingContext.

◆ button_press_handler()

bool MidiCueEditor::button_press_handler ( ArdourCanvas::Item ,
GdkEvent ,
ItemType   
)
protectedvirtual

Implements EditingContext.

◆ button_press_handler_1()

bool MidiCueEditor::button_press_handler_1 ( ArdourCanvas::Item ,
GdkEvent ,
ItemType   
)
protectedvirtual

Implements EditingContext.

◆ button_press_handler_2()

bool MidiCueEditor::button_press_handler_2 ( ArdourCanvas::Item ,
GdkEvent ,
ItemType   
)
protectedvirtual

Implements EditingContext.

◆ button_release_dispatch()

bool MidiCueEditor::button_release_dispatch ( GdkEventButton )
protectedvirtual

Implements EditingContext.

◆ button_release_handler()

bool MidiCueEditor::button_release_handler ( ArdourCanvas::Item ,
GdkEvent ,
ItemType   
)
protectedvirtual

Implements EditingContext.

◆ canvas_allocate()

void MidiCueEditor::canvas_allocate ( Gtk::Allocation  )
private

◆ canvas_control_point_event()

bool MidiCueEditor::canvas_control_point_event ( GdkEvent event,
ArdourCanvas::Item ,
ControlPoint  
)
virtual

Implements EditingContext.

◆ canvas_cue_end_event()

bool MidiCueEditor::canvas_cue_end_event ( GdkEvent event,
ArdourCanvas::Item  
)
virtual

Reimplemented from EditingContext.

◆ canvas_cue_start_event()

bool MidiCueEditor::canvas_cue_start_event ( GdkEvent event,
ArdourCanvas::Item  
)
virtual

Reimplemented from EditingContext.

◆ canvas_enter_leave()

bool MidiCueEditor::canvas_enter_leave ( GdkEventCrossing ev)
private

◆ canvas_note_event()

bool MidiCueEditor::canvas_note_event ( GdkEvent event,
ArdourCanvas::Item  
)
virtual

Implements EditingContext.

◆ canvas_pre_event()

bool MidiCueEditor::canvas_pre_event ( GdkEvent )
private

◆ canvas_velocity_base_event()

bool MidiCueEditor::canvas_velocity_base_event ( GdkEvent event,
ArdourCanvas::Item  
)
virtual

Implements EditingContext.

◆ canvas_velocity_event()

bool MidiCueEditor::canvas_velocity_event ( GdkEvent event,
ArdourCanvas::Item  
)
virtual

Implements EditingContext.

◆ current_mouse_mode()

Editing::MouseMode MidiCueEditor::current_mouse_mode ( ) const

◆ current_page_samples()

samplecnt_t MidiCueEditor::current_page_samples ( ) const
virtual

Implements EditingContext.

◆ data_captured()

void MidiCueEditor::data_captured ( samplecnt_t  )
private

◆ enter_handler()

bool MidiCueEditor::enter_handler ( ArdourCanvas::Item ,
GdkEvent ,
ItemType   
)
protectedvirtual

Implements EditingContext.

◆ escape()

void MidiCueEditor::escape ( )
protectedvirtual

Reimplemented from EditingContext.

◆ get_canvas()

ArdourCanvas::GtkCanvas* MidiCueEditor::get_canvas ( ) const
virtual

Implements EditingContext.

◆ get_canvas_viewport()

ArdourCanvas::GtkCanvasViewport* MidiCueEditor::get_canvas_viewport ( ) const
virtual

Implements EditingContext.

◆ get_cursor_scroll_group()

ArdourCanvas::ScrollGroup* MidiCueEditor::get_cursor_scroll_group ( ) const
inlinevirtual

Implements EditingContext.

Definition at line 83 of file midi_cue_editor.h.

◆ get_draw_length_as_beats()

Temporal::Beats MidiCueEditor::get_draw_length_as_beats ( bool &  success,
Temporal::timepos_t const &  position 
) const

◆ get_grid_beat_divisions()

int32_t MidiCueEditor::get_grid_beat_divisions ( Editing::GridType  gt) const
inline

Definition at line 76 of file midi_cue_editor.h.

◆ get_grid_music_divisions()

int32_t MidiCueEditor::get_grid_music_divisions ( Editing::GridType  gt,
uint32_t  event_state 
) const
inline

Definition at line 77 of file midi_cue_editor.h.

◆ get_grid_type_as_beats()

Temporal::Beats MidiCueEditor::get_grid_type_as_beats ( bool &  success,
Temporal::timepos_t const &  position 
) const

◆ get_hscroll_group()

ArdourCanvas::ScrollGroup* MidiCueEditor::get_hscroll_group ( ) const
inlinevirtual

Implements EditingContext.

Definition at line 82 of file midi_cue_editor.h.

◆ get_noscroll_group()

ArdourCanvas::Container* MidiCueEditor::get_noscroll_group ( ) const
inlinevirtual

Implements EditingContext.

Definition at line 57 of file midi_cue_editor.h.

◆ get_per_region_note_selection()

void MidiCueEditor::get_per_region_note_selection ( std::list< std::pair< PBD::ID, std::set< std::shared_ptr< Evoral::Note< Temporal::Beats > > > > > &  ) const
inlinevirtual

Implements EditingContext.

Definition at line 64 of file midi_cue_editor.h.

◆ get_state()

XMLNode& MidiCueEditor::get_state ( ) const

◆ get_trackview_group()

ArdourCanvas::Container* MidiCueEditor::get_trackview_group ( ) const
inlinevirtual

Implements EditingContext.

Definition at line 56 of file midi_cue_editor.h.

◆ idle_data_captured()

bool MidiCueEditor::idle_data_captured ( )
private

◆ internal_editing()

bool MidiCueEditor::internal_editing ( ) const
virtual

cue editors are always used for internal editing

Reimplemented from CueEditor.

◆ key_press_handler()

bool MidiCueEditor::key_press_handler ( ArdourCanvas::Item ,
GdkEvent ,
ItemType   
)
protectedvirtual

Implements EditingContext.

◆ key_release_handler()

bool MidiCueEditor::key_release_handler ( ArdourCanvas::Item ,
GdkEvent ,
ItemType   
)
protectedvirtual

Implements EditingContext.

◆ leave_handler()

bool MidiCueEditor::leave_handler ( ArdourCanvas::Item ,
GdkEvent ,
ItemType   
)
protectedvirtual

Implements EditingContext.

◆ maybe_autoscroll()

void MidiCueEditor::maybe_autoscroll ( bool  ,
bool  ,
bool   
)
virtual

Reimplemented from CueEditor.

◆ maybe_update()

void MidiCueEditor::maybe_update ( )
private

◆ metric_get_bbt()

void MidiCueEditor::metric_get_bbt ( std::vector< ArdourCanvas::Ruler::Mark > &  ,
samplepos_t  ,
samplepos_t  ,
gint   
)
private

◆ midi_action()

void MidiCueEditor::midi_action ( void(MidiView::*)()  method)
virtual

Reimplemented from EditingContext.

◆ motion_handler()

bool MidiCueEditor::motion_handler ( ArdourCanvas::Item ,
GdkEvent ,
bool  from_autoscroll = false 
)
protectedvirtual

Implements EditingContext.

◆ mouse_mode_toggled()

void MidiCueEditor::mouse_mode_toggled ( Editing::MouseMode  )
protectedvirtual

Implements EditingContext.

◆ note_mode()

ARDOUR::NoteMode MidiCueEditor::note_mode ( ) const
inline

Definition at line 118 of file midi_cue_editor.h.

◆ note_mode_clicked()

void MidiCueEditor::note_mode_clicked ( )
virtual

Reimplemented from EditingContext.

◆ on_samples_per_pixel_changed()

void MidiCueEditor::on_samples_per_pixel_changed ( )
protectedvirtual

Reimplemented from EditingContext.

◆ region_selection()

RegionSelection MidiCueEditor::region_selection ( )
privatevirtual

Implements EditingContext.

◆ register_actions()

void MidiCueEditor::register_actions ( )
protectedvirtual

Implements EditingContext.

◆ selectable_owners()

std::list<SelectableOwner*> MidiCueEditor::selectable_owners ( )
virtual

Implements EditingContext.

◆ set()

void MidiCueEditor::set ( ARDOUR::TriggerReference )

◆ set_mouse_mode()

void MidiCueEditor::set_mouse_mode ( Editing::MouseMode  ,
bool  force = false 
)
virtual

Set the mouse mode (gain, object, range, timefx etc.)

Parameters
mMouse mode (defined in editing_syms.inc.h)
forcePerform the effects of the change even if no change is required (ie even if the current mouse mode is equal to m)

Reimplemented from CueEditor.

◆ set_note_mode()

void MidiCueEditor::set_note_mode ( ARDOUR::NoteMode  )

◆ set_region()

void MidiCueEditor::set_region ( std::shared_ptr< ARDOUR::MidiRegion )

◆ set_samples_per_pixel()

void MidiCueEditor::set_samples_per_pixel ( samplecnt_t  )
virtual

Reimplemented from CueEditor.

◆ set_state()

int MidiCueEditor::set_state ( const XMLNode ,
int  version 
)

◆ set_trigger_bounds()

void MidiCueEditor::set_trigger_bounds ( Temporal::timepos_t const &  ,
Temporal::timepos_t const &   
)

◆ set_trigger_end()

void MidiCueEditor::set_trigger_end ( Temporal::timepos_t const &  )

◆ set_trigger_length()

void MidiCueEditor::set_trigger_length ( Temporal::timecnt_t const &  )

◆ set_trigger_start()

void MidiCueEditor::set_trigger_start ( Temporal::timepos_t const &  )

◆ set_visible_channel()

void MidiCueEditor::set_visible_channel ( int  chan)
virtual

Reimplemented from EditingContext.

◆ snap_to_grid()

Temporal::timepos_t MidiCueEditor::snap_to_grid ( Temporal::timepos_t const &  start,
Temporal::RoundMode  direction,
ARDOUR::SnapPref  gpref 
) const
protectedvirtual

Implements EditingContext.

◆ snap_to_internal()

void MidiCueEditor::snap_to_internal ( Temporal::timepos_t first,
Temporal::RoundMode  direction = Temporal::RoundNearest,
ARDOUR::SnapPref  gpref = ARDOUR::SnapToAny_Visual,
bool  ensure_snap = false 
) const
protectedvirtual

Implements EditingContext.

◆ start_canvas_autoscroll()

void MidiCueEditor::start_canvas_autoscroll ( bool  allow_horiz,
bool  allow_vert,
const ArdourCanvas::Rect boundary 
)
private

◆ step_mouse_mode()

void MidiCueEditor::step_mouse_mode ( bool  next)
virtual

Step the mouse mode onto the next or previous one.

Parameters
nexttrue to move to the next, otherwise move to the previous

Reimplemented from CueEditor.

◆ stop_canvas_autoscroll()

void MidiCueEditor::stop_canvas_autoscroll ( )
privatevirtual

Reimplemented from CueEditor.

◆ toolbox()

Gtk::Widget& MidiCueEditor::toolbox ( )

◆ trigger_prop_change()

void MidiCueEditor::trigger_prop_change ( PBD::PropertyChange const &  )
private

◆ trigger_rec_enable_change()

void MidiCueEditor::trigger_rec_enable_change ( ARDOUR::Trigger const &  )

◆ unset()

void MidiCueEditor::unset ( )
private

◆ viewport()

Gtk::Widget& MidiCueEditor::viewport ( )

◆ visible_canvas_width()

double MidiCueEditor::visible_canvas_width ( ) const
inlinevirtual

Implements EditingContext.

Definition at line 61 of file midi_cue_editor.h.

◆ visual_changer()

void MidiCueEditor::visual_changer ( const VisualChange )
privatevirtual

Implements EditingContext.

◆ which_canvas_cursor()

Gdk::Cursor* MidiCueEditor::which_canvas_cursor ( ItemType  type) const
virtual

Implements EditingContext.

◆ which_mode_cursor()

Gdk::Cursor* MidiCueEditor::which_mode_cursor ( ) const
virtual

Implements EditingContext.

◆ which_track_cursor()

Gdk::Cursor* MidiCueEditor::which_track_cursor ( ) const
virtual

Implements EditingContext.

◆ which_trim_cursor()

Gdk::Cursor* MidiCueEditor::which_trim_cursor ( bool  left_side) const
virtual

Implements EditingContext.

Member Data Documentation

◆ _canvas

ArdourCanvas::GtkCanvas* MidiCueEditor::_canvas
private

Definition at line 159 of file midi_cue_editor.h.

◆ _canvas_viewport

ArdourCanvas::GtkCanvasViewport* MidiCueEditor::_canvas_viewport
private

Definition at line 158 of file midi_cue_editor.h.

◆ _note_mode

ARDOUR::NoteMode MidiCueEditor::_note_mode
private

Definition at line 260 of file midi_cue_editor.h.

◆ _toolbox

Gtk::VBox MidiCueEditor::_toolbox
private

Definition at line 186 of file midi_cue_editor.h.

◆ _track

std::shared_ptr<ARDOUR::MidiTrack> MidiCueEditor::_track
private

Definition at line 157 of file midi_cue_editor.h.

◆ _update_connection

sigc::connection MidiCueEditor::_update_connection
private

Definition at line 238 of file midi_cue_editor.h.

◆ _visible_channel

int MidiCueEditor::_visible_channel
private

Definition at line 258 of file midi_cue_editor.h.

◆ bbt_metric

BBTMetric MidiCueEditor::bbt_metric
private

Definition at line 228 of file midi_cue_editor.h.

◆ bbt_ruler

ArdourCanvas::Ruler* MidiCueEditor::bbt_ruler
private

Definition at line 179 of file midi_cue_editor.h.

◆ bender_button

ArdourWidgets::ArdourButton* MidiCueEditor::bender_button
private

Definition at line 190 of file midi_cue_editor.h.

◆ bg

CueMidiBackground* MidiCueEditor::bg
private

Definition at line 201 of file midi_cue_editor.h.

◆ button_bar

Gtk::HBox MidiCueEditor::button_bar
private

Definition at line 188 of file midi_cue_editor.h.

◆ capture_connections

PBD::ScopedConnectionList MidiCueEditor::capture_connections
private

Definition at line 251 of file midi_cue_editor.h.

◆ cc_dropdown1

ArdourWidgets::ArdourDropdown* MidiCueEditor::cc_dropdown1
private

Definition at line 194 of file midi_cue_editor.h.

◆ cc_dropdown2

ArdourWidgets::ArdourDropdown* MidiCueEditor::cc_dropdown2
private

Definition at line 195 of file midi_cue_editor.h.

◆ cc_dropdown3

ArdourWidgets::ArdourDropdown* MidiCueEditor::cc_dropdown3
private

Definition at line 196 of file midi_cue_editor.h.

◆ cursor_scroll_group

ArdourCanvas::ScrollGroup* MidiCueEditor::cursor_scroll_group
private

Definition at line 173 of file midi_cue_editor.h.

◆ data_capture_duration

samplecnt_t MidiCueEditor::data_capture_duration
private

Definition at line 252 of file midi_cue_editor.h.

◆ data_group

ArdourCanvas::Container* MidiCueEditor::data_group
private

Definition at line 177 of file midi_cue_editor.h.

◆ expression_button

ArdourWidgets::ArdourButton* MidiCueEditor::expression_button
private

Definition at line 192 of file midi_cue_editor.h.

◆ global_rect_group

ArdourCanvas::Container* MidiCueEditor::global_rect_group
private

Definition at line 175 of file midi_cue_editor.h.

◆ h_scroll_group

ArdourCanvas::ScrollGroup* MidiCueEditor::h_scroll_group
private

Definition at line 168 of file midi_cue_editor.h.

◆ hv_scroll_group

ArdourCanvas::ScrollGroup* MidiCueEditor::hv_scroll_group
private

Definition at line 164 of file midi_cue_editor.h.

◆ idle_update_queued

std::atomic<int> MidiCueEditor::idle_update_queued
private

Definition at line 250 of file midi_cue_editor.h.

◆ meter_bar

ArdourCanvas::Rectangle* MidiCueEditor::meter_bar
private

Definition at line 181 of file midi_cue_editor.h.

◆ modulation_button

ArdourWidgets::ArdourButton* MidiCueEditor::modulation_button
private

Definition at line 193 of file midi_cue_editor.h.

◆ n_timebars

size_t MidiCueEditor::n_timebars

Definition at line 96 of file midi_cue_editor.h.

◆ no_scroll_group

ArdourCanvas::Container* MidiCueEditor::no_scroll_group
private

Definition at line 176 of file midi_cue_editor.h.

◆ NoteModeChanged

sigc::signal<void> MidiCueEditor::NoteModeChanged
private

Definition at line 261 of file midi_cue_editor.h.

◆ object_connections

PBD::ScopedConnectionList MidiCueEditor::object_connections
private

Definition at line 239 of file midi_cue_editor.h.

◆ parameter_button_map

ParameterButtonMap MidiCueEditor::parameter_button_map
private

Definition at line 199 of file midi_cue_editor.h.

◆ pressure_button

ArdourWidgets::ArdourButton* MidiCueEditor::pressure_button
private

Definition at line 191 of file midi_cue_editor.h.

◆ prh

ArdourCanvas::PianoRollHeader* MidiCueEditor::prh
private

Definition at line 182 of file midi_cue_editor.h.

◆ ref

ARDOUR::TriggerReference MidiCueEditor::ref
private

Definition at line 156 of file midi_cue_editor.h.

◆ tempo_bar

ArdourCanvas::Rectangle* MidiCueEditor::tempo_bar
private

Definition at line 180 of file midi_cue_editor.h.

◆ time_line_group

ArdourCanvas::Container* MidiCueEditor::time_line_group
private

Definition at line 178 of file midi_cue_editor.h.

◆ timebar_height

double MidiCueEditor::timebar_height

Definition at line 95 of file midi_cue_editor.h.

◆ transport_loop_range_rect

ArdourCanvas::Rectangle* MidiCueEditor::transport_loop_range_rect
private

Definition at line 184 of file midi_cue_editor.h.

◆ v_scroll_group

ArdourCanvas::ScrollGroup* MidiCueEditor::v_scroll_group
private

Definition at line 169 of file midi_cue_editor.h.

◆ velocity_button

ArdourWidgets::ArdourButton* MidiCueEditor::velocity_button
private

Definition at line 189 of file midi_cue_editor.h.

◆ view

MidiCueView* MidiCueEditor::view
private

Definition at line 202 of file midi_cue_editor.h.


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