register_action(editor_actions,"playhead-to-next-region-start",_("playhead to next region start"),bind(mem_fun(*this,&Editor::cursor_to_next_region_point),playhead_cursor,RegionPoint(Start)));
register_action(editor_actions,"playhead-to-next-region-end",_("playhead to next region end"),bind(mem_fun(*this,&Editor::cursor_to_next_region_point),playhead_cursor,RegionPoint(End)));
register_action(editor_actions,"playhead-to-next-region-sync",_("playhead to next region sync"),bind(mem_fun(*this,&Editor::cursor_to_next_region_point),playhead_cursor,RegionPoint(SyncPoint)));
register_action(editor_actions,"playhead-to-previous-region-start",_("playhead to previous region start"),bind(mem_fun(*this,&Editor::cursor_to_previous_region_point),playhead_cursor,RegionPoint(Start)));
register_action(editor_actions,"playhead-to-previous-region-end",_("playhead to previous region end"),bind(mem_fun(*this,&Editor::cursor_to_previous_region_point),playhead_cursor,RegionPoint(End)));
register_action(editor_actions,"playhead-to-previous-region-sync",_("playhead to previous region sync"),bind(mem_fun(*this,&Editor::cursor_to_previous_region_point),playhead_cursor,RegionPoint(SyncPoint)));
register_action(editor_actions,"edit-cursor-to-next-region-start",_("edit cursor to next region start"),bind(mem_fun(*this,&Editor::cursor_to_next_region_point),edit_cursor,RegionPoint(Start)));
register_action(editor_actions,"edit-cursor-to-next-region-end",_("edit cursor to next region end"),bind(mem_fun(*this,&Editor::cursor_to_next_region_point),edit_cursor,RegionPoint(End)));
register_action(editor_actions,"edit-cursor-to-next-region-sync",_("edit cursor to next region sync"),bind(mem_fun(*this,&Editor::cursor_to_next_region_point),edit_cursor,RegionPoint(SyncPoint)));
register_action(editor_actions,"edit-cursor-to-previous-region-start",_("edit cursor to previous region start"),bind(mem_fun(*this,&Editor::cursor_to_previous_region_point),edit_cursor,RegionPoint(Start)));
register_action(editor_actions,"edit-cursor-to-previous-region-end",_("edit cursor to previous region end"),bind(mem_fun(*this,&Editor::cursor_to_previous_region_point),edit_cursor,RegionPoint(End)));
register_action(editor_actions,"edit-cursor-to-previous-region-sync",_("edit cursor to previous region sync"),bind(mem_fun(*this,&Editor::cursor_to_previous_region_point),edit_cursor,RegionPoint(SyncPoint)));
register_action(editor_actions,"playhead-to-range-start",_("playhead to range start"),bind(mem_fun(*this,&Editor::cursor_to_selection_start),playhead_cursor));
register_action(editor_actions,"playhead-to-range-end",_("playhead to range end"),bind(mem_fun(*this,&Editor::cursor_to_selection_end),playhead_cursor));
register_action(editor_actions,"edit-cursor-to-range-start",_("edit cursor to range start"),bind(mem_fun(*this,&Editor::cursor_to_selection_start),edit_cursor));
register_action(editor_actions,"edit-cursor-to-range-end",_("edit cursor to range end"),bind(mem_fun(*this,&Editor::cursor_to_selection_end),edit_cursor));
register_action(editor_actions,"jump-forward-to-mark",_("jump forward to mark"),mem_fun(*this,&Editor::jump_forward_to_mark));
register_action(editor_actions,"jump-backward-to-mark",_("jump backward to mark"),mem_fun(*this,&Editor::jump_backward_to_mark));
register_action(editor_actions,"add-location-from-playhead",_("add location from playhead"),mem_fun(*this,&Editor::add_location_from_playhead_cursor));
register_action(editor_actions,"playhead-to-edit",_("playhead to edit"),bind(mem_fun(*this,&Editor::cursor_align),true));
register_action(editor_actions,"edit-to-playhead",_("edit to playhead"),bind(mem_fun(*this,&Editor::cursor_align),false));
register_action(editor_actions,"align-regions-start",_("align regions start"),bind(mem_fun(*this,&Editor::align),ARDOUR::Start));
register_action(editor_actions,"align-regions-start-relative",_("align regions start relative"),bind(mem_fun(*this,&Editor::align_relative),ARDOUR::Start));
register_action(editor_actions,"align-regions-end",_("align regions end"),bind(mem_fun(*this,&Editor::align),ARDOUR::End));
register_action(editor_actions,"align-regions-end-relative",_("align regions end relative"),bind(mem_fun(*this,&Editor::align_relative),ARDOUR::End));
register_action(editor_actions,"align-regions-sync",_("align regions sync"),bind(mem_fun(*this,&Editor::align),ARDOUR::SyncPoint));
register_action(editor_actions,"align-regions-sync-relative",_("align regions sync relative"),bind(mem_fun(*this,&Editor::align_relative),ARDOUR::SyncPoint));
register_action(editor_actions,"extend-range-to-end-of-region",_("extend range to end of region"),bind(mem_fun(*this,&Editor::extend_selection_to_end_of_region),false));
register_action(editor_actions,"extend-range-to-start-of-region",_("extend range to start of region"),bind(mem_fun(*this,&Editor::extend_selection_to_start_of_region),false));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-frame"),_("snap to frame"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToFrame)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-cd-frame"),_("snap to cd frame"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToCDFrame)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-smpte-frame"),_("snap to smpte frame"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToSMPTEFrame)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-smpte-seconds"),_("snap to smpte seconds"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToSMPTESeconds)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-smpte-minutes"),_("snap to smpte minutes"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToSMPTEMinutes)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-seconds"),_("snap to seconds"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToSeconds)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-minutes"),_("snap to minutes"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToMinutes)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-thirtyseconds"),_("snap to thirtyseconds"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToAThirtysecondBeat)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-asixteenthbeat"),_("snap to asixteenthbeat"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToASixteenthBeat)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-eighths"),_("snap to eighths"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToAEighthBeat)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-quarters"),_("snap to quarters"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToAQuarterBeat)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-thirds"),_("snap to thirds"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToAThirdBeat)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-beat"),_("snap to beat"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToBeat)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-bar"),_("snap to bar"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToBar)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-mark"),_("snap to mark"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToMark)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-edit-cursor"),_("snap to edit cursor"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToEditCursor)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-region-start"),_("snap to region start"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToRegionStart)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-region-end"),_("snap to region end"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToRegionEnd)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-region-sync"),_("snap to region sync"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToRegionSync)));
register_radio_action(snap_actions,snap_choice_group,X_("snap-to-region-boundary"),_("snap to region boundary"),(bind(mem_fun(*this,&Editor::set_snap_to),Editing::SnapToRegionBoundary)));