42 class GtkCanvasViewport;
132 void paste (
float times,
bool from_context_menu);
156 bool ensure_snap =
false)
const;
184 #ifdef PIANOROLL_USER_BUTTONS
208 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)
void add_multi_controller_item(Gtk::Menu_Helpers::MenuList &ctl_items, uint16_t channels, int ctl, const std::string &name, ArdourWidgets::MetaButton *)
sigc::signal< void > NoteModeChanged
PBD::ScopedConnectionList view_connections
void add_single_controller_item(Gtk::Menu_Helpers::MenuList &ctl_items, int ctl, const std::string &name, ArdourWidgets::MetaButton *)
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 &)
void trigger_prop_change(PBD::PropertyChange const &)
void update_tempo_based_rulers()
void rebuild_parameter_button_map()
void extend_note_selection(uint8_t note)
std::list< SelectableOwner * > selectable_owners()
Gtk::Menu _region_context_menu
void canvas_allocate(Gtk::Allocation)
Gdk::Cursor * which_track_cursor() const
void set_mouse_mode(Editing::MouseMode, bool force=false)
void map_transport_state()
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)())
void set_track(std::shared_ptr< ARDOUR::Track >)
bool ignore_channel_changes
void toggle_note_selection(uint8_t note)
ControllerControls * velocity_button
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)
bool canvas_bg_event(GdkEvent *event, ArdourCanvas::Item *)
void popup_region_context_menu(ArdourCanvas::Item *item, GdkEvent *event)
void shift_contents(Temporal::timepos_t const &, bool model)
Gdk::Cursor * which_mode_cursor() const
void pack_inner(Gtk::Box &)
bool canvas_velocity_event(GdkEvent *event, ArdourCanvas::Item *)
int32_t get_grid_music_divisions(Editing::GridType gt) const
void build_cc_menu(ArdourWidgets::MetaButton *)
void automation_active_button_click(Evoral::ParameterType type, int id)
PianorollMidiBackground * bg
ArdourCanvas::Rectangle * meter_bar
bool canvas_note_event(GdkEvent *event, ArdourCanvas::Item *)
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 get_per_region_note_selection(std::list< std::pair< PBD::ID, std::set< std::shared_ptr< Evoral::Note< Temporal::Beats > > > > > &) const
Temporal::timepos_t snap_to_grid(Temporal::timepos_t const &start, Temporal::RoundMode direction, ARDOUR::SnapPref gpref) const
ArdourCanvas::PianoRollHeader * prh
PianorollMidiView * midi_view() const
ControllerControls * bender_button
bool motion_handler(ArdourCanvas::Item *, GdkEvent *, bool from_autoscroll=false)
void automation_state_changed()
bool canvas_control_point_event(GdkEvent *event, ArdourCanvas::Item *, ControlPoint *)
bool user_automation_active_button_click(GdkEventButton *ev, ArdourWidgets::MetaButton *mb)
void session_going_away()
int32_t get_grid_beat_divisions(Editing::GridType gt) const
void set_samples_per_pixel(samplecnt_t)
void set_visible_channel(int chan)
void set_show_source(bool)
bool idle_data_captured()
void pack_outer(Gtk::Box &)
ArdourCanvas::Ruler * bbt_ruler
ControllerControls * pressure_button
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
ARDOUR::NoteMode note_mode() const
ArdourCanvas::Rectangle * tempo_bar
Pianoroll(std::string const &name, bool with_transport_controls=false)
void show_count_in(std::string const &)
ControllerControls * modulation_button
MidiViews midiviews_from_region_selection(RegionSelection const &) const
ParameterButtonMap parameter_button_map
void reset_user_cc_choice(std::string, Evoral::Parameter param, ArdourWidgets::MetaButton *)
ControllerControls * expression_button
bool key_press_handler(ArdourCanvas::Item *, GdkEvent *, ItemType)
Temporal::timepos_t source_to_timeline(Temporal::timepos_t const &source_pos) const
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)
bool button_press_dispatch(GdkEventButton *)
void add_note_selection(uint8_t note)
std::map< ControllerControls *, Evoral::Parameter > ParameterButtonMap
void set_session(ARDOUR::Session *)
GtkImageIconNameData name
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