42 class GtkCanvasViewport;
115 void add_region (std::shared_ptr<ARDOUR::Region>, std::shared_ptr<ARDOUR::MidiTrack>);
147 void paste (
float times,
bool from_context_menu);
196 bool ensure_snap =
false)
const;
264 void get_marks (std::vector<ArdourCanvas::Ruler::Mark>& marks, int64_t lower, int64_t upper,
int maxchars)
const {
void metric_get_bbt(std::vector< ArdourCanvas::Ruler::Mark > &, samplepos_t, samplepos_t, gint)
bool with_transport_controls
std::vector< MidiView * > MidiViews
void get_marks(std::vector< ArdourCanvas::Ruler::Mark > &marks, int64_t lower, int64_t upper, int maxchars) const
void set_from_rsu(RegionUISettings &)
void user_automation_show_button_click(GdkEventButton *ev, ArdourWidgets::MetaButton *metabutton)
void build_lower_toolbar()
bool leave_handler(ArdourCanvas::Item *, GdkEvent *, ItemType)
void set_trigger_bounds(Temporal::timepos_t const &, Temporal::timepos_t const &)
void select_all_within(Temporal::timepos_t const &, Temporal::timepos_t const &, double, double, std::list< SelectableOwner * > const &, ARDOUR::SelectionOperation, bool)
sigc::signal< void > NoteModeChanged
PBD::ScopedConnectionList view_connections
void note_mode_chosen(ARDOUR::NoteMode)
ARDOUR::InstrumentInfo * instrument_info() const
void set_note_selection(uint8_t note)
int visible_channel() const
bool button_release_dispatch(GdkEventButton *)
void parameter_changed(std::string param)
void set_trigger_start(Temporal::timepos_t const &)
AutomationLanes automation_lanes
static void build_midi_controller_name_map()
void midi_view_selection_changed()
void update_pitch_colors()
ArdourWidgets::ArdourDropdown policy_dropdown
void trigger_prop_change(PBD::PropertyChange const &)
void update_tempo_based_rulers()
void extend_note_selection(uint8_t note)
std::list< SelectableOwner * > selectable_owners()
Gtk::Menu _region_context_menu
void canvas_allocate(Gtk::Allocation)
void remove_automation_lane(Evoral::Parameter const ¶m)
void add_single_controller_item(Gtk::Menu_Helpers::MenuList &, int, const std::string &)
sigc::connection selection_connection
void rebuild_region_dropdown()
Gdk::Cursor * which_track_cursor() const
void set_mouse_mode(Editing::MouseMode, bool force=false)
void map_transport_state()
void invert_selected_chord(bool up)
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 canvas_cue_start_event(GdkEvent *event, ArdourCanvas::Item *)
bool canvas_enter_leave(GdkEventCrossing *ev)
Gdk::Cursor * which_trim_cursor(bool left_side) const
bool button_press_handler_2(ArdourCanvas::Item *, GdkEvent *, ItemType)
bool button_release_handler(ArdourCanvas::Item *, GdkEvent *, ItemType)
void manage_possible_header(Gtk::Allocation &alloc)
Gtk::Menu * get_single_region_context_menu()
void midi_action(void(MidiView::*method)())
bool ignore_channel_changes
MidiInspector * midi_inspector
void toggle_note_selection(uint8_t note)
void point_selection_changed()
void set_region(std::shared_ptr< ARDOUR::Region >)
bool button_press_handler_1(ArdourCanvas::Item *, GdkEvent *, ItemType)
void set_trigger_end(Temporal::timepos_t const &)
void automation_show_button_click(Evoral::ParameterType type, int id)
static std::map< std::string, std::string > controller_name_map
bool canvas_bg_event(GdkEvent *event, ArdourCanvas::Item *)
void popup_region_context_menu(ArdourCanvas::Item *item, GdkEvent *event)
void add_multi_controller_item(Gtk::Menu_Helpers::MenuList &, uint16_t, int, const std::string &)
EditingPolicy editing_policy() const
void shift_contents(Temporal::timepos_t const &, bool model)
bool get_midi_chord(int root_pitch, std::vector< int > &pitches) const
Gdk::Cursor * which_mode_cursor() const
PianorollMidiView * _active_view
void pack_inner(Gtk::Box &)
std::string parameter_name(Evoral::Parameter const &) const
bool canvas_velocity_event(GdkEvent *event, ArdourCanvas::Item *)
ArdourWidgets::ArdourButton size_button
void set_color_mode(ARDOUR::ColorMode)
int32_t get_grid_music_divisions(Editing::GridType gt) const
void build_cc_menu(ArdourWidgets::MetaButton *)
void set_layered_automation(bool)
void automation_active_button_click(Evoral::ParameterType type, int id)
PianorollMidiBackground * bg
ArdourCanvas::Rectangle * meter_bar
void apply_note_range(uint8_t lowest, uint8_t highest)
bool canvas_note_event(GdkEvent *event, ArdourCanvas::Item *)
std::shared_ptr< ARDOUR::MidiTrack > midi_track() const
double max_extents_scale() const
bool allow_trim_cursors() const
bool canvas_velocity_base_event(GdkEvent *event, ArdourCanvas::Item *)
bool button_press_handler(ArdourCanvas::Item *, GdkEvent *, ItemType)
void add_region(std::shared_ptr< ARDOUR::Region >, std::shared_ptr< ARDOUR::MidiTrack >)
void get_per_region_note_selection(std::list< std::pair< PBD::ID, std::set< std::shared_ptr< Evoral::Note< Temporal::Beats > > > > > &) const
Evoral::Parameter automation_by_y(double y)
Temporal::timepos_t snap_to_grid(Temporal::timepos_t const &start, Temporal::RoundMode direction, ARDOUR::SnapPref gpref) const
void drop_selected_chord(std::vector< int > which_notes)
ArdourCanvas::PianoRollHeader * prh
PianorollMidiView * midi_view() const
ArdourWidgets::ArdourDropdown colors_dropdown
bool automation_group_event(GdkEvent *event, Evoral::Parameter)
bool motion_handler(ArdourCanvas::Item *, GdkEvent *, bool from_autoscroll=false)
RegionMidiViewMap region_view_map
bool canvas_control_point_event(GdkEvent *event, ArdourCanvas::Item *, ControlPoint *)
void add_automation_lane(Evoral::Parameter const ¶m)
bool user_automation_active_button_click(GdkEventButton *ev, ArdourWidgets::MetaButton *mb)
void replace_chord(std::vector< int > intervals)
void set_editing_policy(EditingPolicy)
void session_going_away()
ARDOUR::Quantize * get_quantize_op()
void add_semitone_interval(int semitones)
ArdourWidgets::ArdourDropdown region_dropdown
Pianoroll(std::string const &name, bool with_transport_controls=false, bool expandable=false)
int32_t get_grid_beat_divisions(Editing::GridType gt) const
void set_samples_per_pixel(samplecnt_t)
void set_visible_channel(int chan)
void region_going_away(std::weak_ptr< ARDOUR::Region > region)
void set_show_source(bool)
bool idle_data_captured()
void pack_outer(Gtk::Box &)
ArdourCanvas::Ruler * bbt_ruler
void set_note_highlight(uint8_t note)
Temporal::Beats get_draw_length_as_beats(bool &success, Temporal::timepos_t const &position) const
bool enter_handler(ArdourCanvas::Item *, GdkEvent *, ItemType)
Temporal::Beats get_grid_type_as_beats(bool &success, Temporal::timepos_t const &position) const
Gdk::Cursor * which_canvas_cursor(ItemType type) const
bool key_release_handler(ArdourCanvas::Item *, GdkEvent *, ItemType)
void visible_channel_changed()
void cut_copy(Editing::CutCopyOp)
samplecnt_t current_page_samples() const
std::map< Evoral::Parameter, AutomationLane * > AutomationLanes
ARDOUR::NoteMode note_mode() const
std::map< std::shared_ptr< ARDOUR::Region >, PianorollMidiView * > RegionMidiViewMap
ArdourCanvas::Rectangle * tempo_bar
void show_count_in(std::string const &)
MidiViews midiviews_from_region_selection(RegionSelection const &) const
void toggle_automation(Evoral::Parameter param)
void motion_track(ArdourCanvas::Duple const &)
void show_automation_for_all()
bool key_press_handler(ArdourCanvas::Item *, GdkEvent *, ItemType)
EditingPolicy _editing_policy
Temporal::timepos_t source_to_timeline(Temporal::timepos_t const &source_pos) const
ARDOUR::ColorMode _color_mode
bool canvas_cue_end_event(GdkEvent *event, ArdourCanvas::Item *)
void set_trigger_length(Temporal::timecnt_t const &)
void paste(float times, bool from_context_menu)
void remove_region(std::shared_ptr< ARDOUR::Region >)
bool button_press_dispatch(GdkEventButton *)
void add_note_selection(uint8_t note)
ARDOUR::ColorMode color_mode() const
void set_session(ARDOUR::Session *)
GtkImageIconNameData name
PBD::PropertyDescriptor< bool > region
PBD::PropertyDescriptor< timepos_t > start
Temporal::samplecnt_t samplecnt_t
@ RoundNearest
Round to nearest.
sigc::signal< void > show_clicked
ArdourWidgets::ArdourButton * edit_button
ControllerControls(int num, std::string const &name, Gtk::RadioButtonGroup &group)
sigc::signal< void > edit_clicked
ArdourWidgets::ArdourButton * show_hide_button
ArdourCanvas::Text * label
ArdourCanvas::Rectangle * group
AutomationLane(std::string const &, ArdourCanvas::Item *, uint32_t nth)