mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-16 18:36:03 +01:00
[Summary]: Context menus rework
This commit is contained in:
parent
8e3c23263d
commit
ec210d50fd
4 changed files with 116 additions and 177 deletions
|
|
@ -1738,31 +1738,6 @@ Editor::popup_track_context_menu (int button, int32_t time, ItemType item_type,
|
|||
return;
|
||||
}
|
||||
|
||||
if (item_type != SelectionItem && clicked_routeview && clicked_routeview->audio_track()) {
|
||||
|
||||
/* Bounce to disk */
|
||||
|
||||
using namespace Menu_Helpers;
|
||||
MenuList& edit_items = menu->items();
|
||||
|
||||
edit_items.push_back (SeparatorElem());
|
||||
|
||||
switch (clicked_routeview->audio_track()->freeze_state()) {
|
||||
case AudioTrack::NoFreeze:
|
||||
edit_items.push_back (MenuElem (_("Freeze"), sigc::mem_fun(*this, &Editor::freeze_route)));
|
||||
break;
|
||||
|
||||
case AudioTrack::Frozen:
|
||||
edit_items.push_back (MenuElem (_("Unfreeze"), sigc::mem_fun(*this, &Editor::unfreeze_route)));
|
||||
break;
|
||||
|
||||
case AudioTrack::UnFrozen:
|
||||
edit_items.push_back (MenuElem (_("Freeze"), sigc::mem_fun(*this, &Editor::freeze_route)));
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (item_type == StreamItem && clicked_routeview) {
|
||||
clicked_routeview->build_underlay_menu(menu);
|
||||
}
|
||||
|
|
@ -1785,7 +1760,7 @@ Editor::build_track_context_menu ()
|
|||
MenuList& edit_items = track_context_menu.items();
|
||||
edit_items.clear();
|
||||
|
||||
add_dstream_context_items (edit_items);
|
||||
add_track_context_items (edit_items);
|
||||
return &track_context_menu;
|
||||
}
|
||||
|
||||
|
|
@ -1808,25 +1783,7 @@ Editor::build_track_region_context_menu ()
|
|||
MenuList& edit_items = track_region_context_menu.items();
|
||||
edit_items.clear();
|
||||
|
||||
/* we've just cleared the track region context menu, so the menu that these
|
||||
two items were on will have disappeared; stop them dangling.
|
||||
*/
|
||||
region_edit_menu_split_item = 0;
|
||||
region_edit_menu_split_multichannel_item = 0;
|
||||
|
||||
RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (clicked_axisview);
|
||||
|
||||
if (rtv) {
|
||||
boost::shared_ptr<Track> tr;
|
||||
boost::shared_ptr<Playlist> pl;
|
||||
|
||||
if ((tr = rtv->track())) {
|
||||
add_region_context_items (edit_items, tr);
|
||||
}
|
||||
}
|
||||
|
||||
add_dstream_context_items (edit_items);
|
||||
|
||||
add_region_context_items (edit_items);
|
||||
return &track_region_context_menu;
|
||||
}
|
||||
|
||||
|
|
@ -1880,45 +1837,6 @@ Editor::build_track_selection_context_menu ()
|
|||
return &track_selection_context_menu;
|
||||
}
|
||||
|
||||
void
|
||||
Editor::add_region_context_items (Menu_Helpers::MenuList& edit_items, boost::shared_ptr<Track> track)
|
||||
{
|
||||
using namespace Menu_Helpers;
|
||||
|
||||
/* OK, stick the region submenu at the top of the list, and then add
|
||||
the standard items.
|
||||
*/
|
||||
|
||||
RegionSelection rs = get_regions_from_selection_and_entered ();
|
||||
|
||||
string::size_type pos = 0;
|
||||
string menu_item_name = (rs.size() == 1) ? rs.front()->region()->name() : _("Selected Regions");
|
||||
|
||||
/* we have to hack up the region name because "_" has a special
|
||||
meaning for menu titles.
|
||||
*/
|
||||
|
||||
while ((pos = menu_item_name.find ("_", pos)) != string::npos) {
|
||||
menu_item_name.replace (pos, 1, "__");
|
||||
pos += 2;
|
||||
}
|
||||
|
||||
if (_popup_region_menu_item == 0) {
|
||||
_popup_region_menu_item = new MenuItem (menu_item_name);
|
||||
_popup_region_menu_item->set_submenu (*dynamic_cast<Menu*> (ActionManager::get_widget (X_("/PopupRegionMenu"))));
|
||||
_popup_region_menu_item->show ();
|
||||
} else {
|
||||
_popup_region_menu_item->set_label (menu_item_name);
|
||||
}
|
||||
|
||||
const framepos_t position = get_preferred_edit_position (false, true);
|
||||
|
||||
edit_items.push_back (*_popup_region_menu_item);
|
||||
if (track->playlist()->count_regions_at (position) > 1 && (layering_order_editor == 0 || !layering_order_editor->is_visible ())) {
|
||||
edit_items.push_back (*manage (_region_actions->get_action ("choose-top-region-context-menu")->create_menu_item ()));
|
||||
}
|
||||
edit_items.push_back (SeparatorElem());
|
||||
}
|
||||
|
||||
/** Add context menu items relevant to selection ranges.
|
||||
* @param edit_items List to add the items to.
|
||||
|
|
@ -1997,86 +1915,109 @@ Editor::add_selection_context_items (Menu_Helpers::MenuList& edit_items)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
Editor::add_region_context_items (Gtk::Menu_Helpers::MenuList& edit_items)
|
||||
{
|
||||
using namespace Menu_Helpers;
|
||||
|
||||
// Region
|
||||
|
||||
Menu *region_menu = manage (new Menu);
|
||||
MenuList& region_items = region_menu->items();
|
||||
//region_menu->set_name ("ArdourContextMenu");
|
||||
region_items.push_back (*manage (ActionManager::get_action_from_name ("rename-region")->create_menu_item ()));
|
||||
region_items.push_back (*manage (ActionManager::get_action_from_name ("set-loop-from-region")->create_menu_item ()));
|
||||
region_items.back().set_label ("Set as loop range");
|
||||
|
||||
// Region -> Position
|
||||
Menu *position_menu = manage (new Menu);
|
||||
MenuList& position_items = position_menu->items();
|
||||
//position_menu->set_name ("ArdourContextMenu");
|
||||
position_items.push_back (*manage (ActionManager::get_action_from_name ("toggle-region-lock")->create_menu_item ()));
|
||||
position_items.push_back (*manage (ActionManager::get_action_from_name ("naturalize-region")->create_menu_item ()));
|
||||
region_items.push_back (MenuElem (_("Position"), *position_menu));
|
||||
|
||||
region_items.push_back (*manage (ActionManager::get_action_from_name ("export-region")->create_menu_item ()));
|
||||
region_items.back().set_label ("Export region...");
|
||||
region_items.push_back (*manage (ActionManager::get_action_from_name ("analyze-region")->create_menu_item ()));
|
||||
edit_items.push_back (MenuElem (_("Region"), *region_menu));
|
||||
|
||||
edit_items.push_back (SeparatorElem());
|
||||
|
||||
// Cut, copy, paste, delete
|
||||
|
||||
edit_items.push_back (*manage (ActionManager::get_action_from_name ("editor-cut")->create_menu_item ()));
|
||||
edit_items.push_back (*manage (ActionManager::get_action_from_name ("editor-copy")->create_menu_item ()));
|
||||
edit_items.push_back (*manage (ActionManager::get_action_from_name ("editor-paste")->create_menu_item ()));
|
||||
edit_items.push_back (*manage (ActionManager::get_action_from_name ("editor-delete")->create_menu_item ())); // or 'remove-region'
|
||||
|
||||
edit_items.push_back (SeparatorElem());
|
||||
|
||||
// Align Selected Regions
|
||||
|
||||
Menu *align_menu = manage (new Menu);
|
||||
MenuList& align_items = align_menu->items();
|
||||
align_items.push_back (MenuElem (_("Session Start"), sigc::bind (sigc::mem_fun (*this, &Editor::align_regions), ARDOUR::SyncPoint)));
|
||||
//align_items.back().set_label ("Session Start");
|
||||
align_items.push_back (MenuElem (_("Relative"), sigc::bind (sigc::mem_fun (*this, &Editor::align_regions_relative), ARDOUR::SyncPoint)));
|
||||
edit_items.push_back (MenuElem (_("Align Selected Region"), *align_menu));
|
||||
|
||||
edit_items.push_back (SeparatorElem());
|
||||
|
||||
edit_items.push_back (MenuElem (_("Import Audio File"), sigc::bind (sigc::mem_fun(*this, &Editor::add_external_audio_action), ImportToTrack)));
|
||||
edit_items.push_back (*manage (ActionManager::get_action_from_name ("toggle-region-mute")->create_menu_item ()));
|
||||
edit_items.push_back (*manage (ActionManager::get_action_from_name ("reverse-region")->create_menu_item ()));
|
||||
edit_items.push_back (*manage (ActionManager::get_action_from_name ("strip-region-silence")->create_menu_item ()));
|
||||
edit_items.back().set_label ("Strip Silence");
|
||||
edit_items.push_back (*manage (ActionManager::get_action_from_name ("pitch-shift-region")->create_menu_item ()));
|
||||
edit_items.back().set_label ("Pitch Shift");
|
||||
|
||||
// Gain
|
||||
|
||||
Menu *gain_menu = manage (new Menu);
|
||||
MenuList& gain_items = gain_menu->items();
|
||||
gain_items.push_back (*manage (ActionManager::get_action_from_name ("boost-region-gain")->create_menu_item ()));
|
||||
gain_items.push_back (*manage (ActionManager::get_action_from_name ("cut-region-gain")->create_menu_item ()));
|
||||
edit_items.push_back (MenuElem (_("Gain"), *gain_menu));
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Editor::add_dstream_context_items (Menu_Helpers::MenuList& edit_items)
|
||||
Editor::add_track_context_items (Menu_Helpers::MenuList& edit_items)
|
||||
{
|
||||
using namespace Menu_Helpers;
|
||||
using namespace Menu_Helpers;
|
||||
|
||||
// Tools menu
|
||||
Glib::RefPtr<Gtk::Action> act = ActionManager::get_action_from_name ("set-mouse-mode-range");
|
||||
assert (act);
|
||||
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
|
||||
Image* icon;
|
||||
icon = manage (new Gtk::Image (tact->get_active() ? get_icon_path (X_ ("tool_marker_active")) : get_icon_path (X_ ("tool_marker"))));
|
||||
edit_items.push_back (ImageMenuElem ( ("Range Select Tool \t 1"), *icon, sigc::bind (sigc::mem_fun (*this, &Editor::activate_track_context_menu_action), act)));
|
||||
|
||||
act = ActionManager::get_action_from_name ("set-mouse-mode-object");
|
||||
assert (act);
|
||||
tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
|
||||
icon = manage (new Gtk::Image (tact->get_active () ? get_icon_path (X_ ("tool_arrow_active")) : get_icon_path (X_ ("tool_arrow"))));
|
||||
edit_items.push_back (ImageMenuElem ( ("Pointer Tool \t\t 2"), *icon, sigc::bind (sigc::mem_fun (*this, &Editor::activate_track_context_menu_action), act)));
|
||||
|
||||
act = ActionManager::get_action_from_name ("set-mouse-mode-cut");
|
||||
assert (act);
|
||||
tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
|
||||
icon = manage (new Gtk::Image (tact->get_active () ? get_icon_path (X_ ("tool_cut_active")) : get_icon_path (X_ ("tool_cut"))));
|
||||
edit_items.push_back (ImageMenuElem ( ("Split Tool \t\t 3"), *icon, sigc::bind (sigc::mem_fun (*this, &Editor::activate_track_context_menu_action), act)));
|
||||
|
||||
act = ActionManager::get_action_from_name ("set-mouse-mode-zoom");
|
||||
assert (act);
|
||||
tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
|
||||
icon = manage (new Gtk::Image (tact->get_active () ? get_icon_path (X_ ("tool_zoom_active")) : get_icon_path (X_ ("tool_zoom"))));
|
||||
edit_items.push_back (ImageMenuElem ( ("Zoom Tool \t\t 4"), *icon, sigc::bind (sigc::mem_fun (*this, &Editor::activate_track_context_menu_action), act)));
|
||||
}
|
||||
|
||||
/* Playback */
|
||||
|
||||
Menu *play_menu = manage (new Menu);
|
||||
MenuList& play_items = play_menu->items();
|
||||
play_menu->set_name ("ArdourContextMenu");
|
||||
|
||||
play_items.push_back (MenuElem (_("Play From Edit Point"), sigc::mem_fun(*this, &Editor::play_from_edit_point)));
|
||||
play_items.push_back (MenuElem (_("Play From Start"), sigc::mem_fun(*this, &Editor::play_from_start)));
|
||||
play_items.push_back (MenuElem (_("Play Region"), sigc::mem_fun(*this, &Editor::play_selected_region)));
|
||||
play_items.push_back (SeparatorElem());
|
||||
play_items.push_back (MenuElem (_("Loop Region"), sigc::bind (sigc::mem_fun (*this, &Editor::set_loop_from_region), true)));
|
||||
|
||||
edit_items.push_back (MenuElem (_("Play"), *play_menu));
|
||||
|
||||
/* Selection */
|
||||
|
||||
Menu *select_menu = manage (new Menu);
|
||||
MenuList& select_items = select_menu->items();
|
||||
select_menu->set_name ("ArdourContextMenu");
|
||||
|
||||
select_items.push_back (MenuElem (_("Select All in Track"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_in_track), Selection::Set)));
|
||||
select_items.push_back (MenuElem (_("Select All Objects"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_objects), Selection::Set)));
|
||||
select_items.push_back (MenuElem (_("Invert Selection in Track"), sigc::mem_fun(*this, &Editor::invert_selection_in_track)));
|
||||
select_items.push_back (MenuElem (_("Invert Selection"), sigc::mem_fun(*this, &Editor::invert_selection)));
|
||||
select_items.push_back (SeparatorElem());
|
||||
select_items.push_back (MenuElem (_("Set Range to Loop Range"), sigc::mem_fun(*this, &Editor::set_selection_from_loop)));
|
||||
select_items.push_back (MenuElem (_("Set Range to Punch Range"), sigc::mem_fun(*this, &Editor::set_selection_from_punch)));
|
||||
select_items.push_back (SeparatorElem());
|
||||
select_items.push_back (MenuElem (_("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true)));
|
||||
select_items.push_back (MenuElem (_("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false)));
|
||||
select_items.push_back (MenuElem (_("Select All After Playhead"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_cursor), playhead_cursor, true)));
|
||||
select_items.push_back (MenuElem (_("Select All Before Playhead"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_cursor), playhead_cursor, false)));
|
||||
select_items.push_back (MenuElem (_("Select All Between Playhead and Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_between), false)));
|
||||
select_items.push_back (MenuElem (_("Select All Within Playhead and Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_between), true)));
|
||||
select_items.push_back (MenuElem (_("Select Range Between Playhead and Edit Point"), sigc::mem_fun(*this, &Editor::select_range_between)));
|
||||
|
||||
edit_items.push_back (MenuElem (_("Select"), *select_menu));
|
||||
|
||||
/* Cut-n-Paste */
|
||||
|
||||
Menu *cutnpaste_menu = manage (new Menu);
|
||||
MenuList& cutnpaste_items = cutnpaste_menu->items();
|
||||
cutnpaste_menu->set_name ("ArdourContextMenu");
|
||||
|
||||
cutnpaste_items.push_back (MenuElem (_("Cut"), sigc::mem_fun(*this, &Editor::cut)));
|
||||
cutnpaste_items.push_back (MenuElem (_("Copy"), sigc::mem_fun(*this, &Editor::copy)));
|
||||
cutnpaste_items.push_back (MenuElem (_("Paste"), sigc::bind (sigc::mem_fun(*this, &Editor::paste), 1.0f, true)));
|
||||
|
||||
cutnpaste_items.push_back (SeparatorElem());
|
||||
|
||||
cutnpaste_items.push_back (MenuElem (_("Align"), sigc::bind (sigc::mem_fun (*this, &Editor::align_regions), ARDOUR::SyncPoint)));
|
||||
cutnpaste_items.push_back (MenuElem (_("Align Relative"), sigc::bind (sigc::mem_fun (*this, &Editor::align_regions_relative), ARDOUR::SyncPoint)));
|
||||
|
||||
edit_items.push_back (MenuElem (_("Edit"), *cutnpaste_menu));
|
||||
|
||||
/* Adding new material */
|
||||
|
||||
edit_items.push_back (SeparatorElem());
|
||||
edit_items.push_back (MenuElem (_("Insert Selected Region"), sigc::bind (sigc::mem_fun(*this, &Editor::insert_region_list_selection), 1.0f)));
|
||||
edit_items.push_back (MenuElem (_("Insert Existing Media"), sigc::bind (sigc::mem_fun(*this, &Editor::add_external_audio_action), ImportToTrack)));
|
||||
|
||||
/* Nudge track */
|
||||
|
||||
Menu *nudge_menu = manage (new Menu());
|
||||
MenuList& nudge_items = nudge_menu->items();
|
||||
nudge_menu->set_name ("ArdourContextMenu");
|
||||
|
||||
edit_items.push_back (SeparatorElem());
|
||||
nudge_items.push_back (MenuElem (_("Nudge Entire Track Later"), (sigc::bind (sigc::mem_fun(*this, &Editor::nudge_track), false, true))));
|
||||
nudge_items.push_back (MenuElem (_("Nudge Track After Edit Point Later"), (sigc::bind (sigc::mem_fun(*this, &Editor::nudge_track), true, true))));
|
||||
nudge_items.push_back (MenuElem (_("Nudge Entire Track Earlier"), (sigc::bind (sigc::mem_fun(*this, &Editor::nudge_track), false, false))));
|
||||
nudge_items.push_back (MenuElem (_("Nudge Track After Edit Point Earlier"), (sigc::bind (sigc::mem_fun(*this, &Editor::nudge_track), true, false))));
|
||||
|
||||
edit_items.push_back (MenuElem (_("Nudge"), *nudge_menu));
|
||||
void
|
||||
Editor::activate_track_context_menu_action (Glib::RefPtr<Gtk::Action>& act)
|
||||
{
|
||||
act->activate ();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -684,11 +684,13 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
|||
Gtk::Menu* build_track_bus_context_menu ();
|
||||
Gtk::Menu* build_track_region_context_menu ();
|
||||
Gtk::Menu* build_track_selection_context_menu ();
|
||||
void add_dstream_context_items (Gtk::Menu_Helpers::MenuList&);
|
||||
void add_bus_context_items (Gtk::Menu_Helpers::MenuList&);
|
||||
void add_region_context_items (Gtk::Menu_Helpers::MenuList&, boost::shared_ptr<ARDOUR::Track>);
|
||||
void add_selection_context_items (Gtk::Menu_Helpers::MenuList&);
|
||||
Gtk::MenuItem* _popup_region_menu_item;
|
||||
void add_region_context_items (Gtk::Menu_Helpers::MenuList&);
|
||||
void add_track_context_items (Gtk::Menu_Helpers::MenuList&);
|
||||
void activate_track_context_menu_action (Glib::RefPtr<Gtk::Action>& );
|
||||
|
||||
Gtk::MenuItem* _popup_region_menu_item;
|
||||
|
||||
void popup_control_point_context_menu (ArdourCanvas::Item *, GdkEvent *);
|
||||
Gtk::Menu _control_point_context_menu;
|
||||
|
|
|
|||
|
|
@ -1818,7 +1818,7 @@ Editor::register_region_actions ()
|
|||
reg_sens (_region_actions, "remove-region", _("Remove"), sigc::mem_fun (*this, &Editor::remove_selected_regions));
|
||||
|
||||
/* Offer dialogue box to rename the first selected region */
|
||||
reg_sens (_region_actions, "rename-region", _("Rename..."), sigc::mem_fun (*this, &Editor::rename_region));
|
||||
reg_sens (_region_actions, "rename-region", _("Rename"), sigc::mem_fun (*this, &Editor::rename_region));
|
||||
|
||||
/* Raise all selected regions by 1 layer */
|
||||
reg_sens (_region_actions, "raise-region", _("Raise"), sigc::mem_fun (*this, &Editor::raise_region));
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ This mode provides many different operations on both regions and control points,
|
|||
@eep|Editor/trim-to-next-region|<@PRIMARY@>k|trim region to start of next region
|
||||
|
||||
@ranges|Editor/set-loop-from-edit-range|bracketright|set loop range from edit range
|
||||
@ranges|Region/set-loop-from-region|<@SECONDARY@>bracketright|set loop range from region(s)
|
||||
@ranges|Region/set-loop-from-region|<@PRIMARY@>L|set loop range from region(s)
|
||||
|
||||
@ranges|Editor/set-punch-from-edit-range|bracketleft|set punch range from edit range
|
||||
@ranges|Region/set-punch-from-region|<@SECONDARY@>bracketleft|set punch range from region(s)
|
||||
|
|
@ -141,19 +141,19 @@ This mode provides many different operations on both regions and control points,
|
|||
|
||||
@mmode|MouseMode/toggle-internal-edit|e|toggle MIDI note editing
|
||||
@select|Editor/select-all-before-edit-cursor|<@PRIMARY@>e|select all before EP
|
||||
@rop|Region/export-region|<@PRIMARY@><@LEVEL4@>e|export selected region(s)
|
||||
|
||||
@sess|Main/ExportSession|<@LEVEL4@>e|export session
|
||||
@select|Editor/select-all-after-edit-cursor|<@PRIMARY@><@TERTIARY@>e|select all after EP
|
||||
@vis|Editor/show-editor-mixer|i|toggle editor window mixer
|
||||
@vis|Common/toggle-mixer|m|toggle mixer
|
||||
@vis|Common/toggle-meterbridge|b|toggle meterBridge
|
||||
@wvis|Common/goto-editor|<@WINDOW@>e|toggle editor window
|
||||
@mmode|MouseMode/set-mouse-mode-range|r|range mode
|
||||
@edit|Editor/redo|<@PRIMARY@>r|redo
|
||||
@rop|Region/reverse-region|<@SECONDARY@>r|reverse
|
||||
;;@rop|Region/reverse-region|<@SECONDARY@>r|reverse
|
||||
@trans|Transport/Record|<@TERTIARY@>r|engage record
|
||||
@mmode|MouseMode/set-mouse-mode-timefx|t|timefx mode
|
||||
@rop|Region/pitch-shift-region|<@SECONDARY@>t|transpose
|
||||
@rop|Region/strip-region-silence|<@SECONDARY@>l|transpose
|
||||
@eep|Editor/select-all-tracks|<@PRIMARY@>t|select all tracks
|
||||
@mmode|MouseMode/set-mouse-mode-object-range|y|link object/range tools
|
||||
@edit|Editor/alternate-redo|<@PRIMARY@>y|redo
|
||||
|
|
@ -163,7 +163,6 @@ This mode provides many different operations on both regions and control points,
|
|||
@select|Editor/invert-selection|<@TERTIARY@>i|invert selection
|
||||
@sess|Editor/addExistingAudioFiles|<@PRIMARY@>i|import audio files
|
||||
@sess|Editor/toggle-midi-input-active|<@SECONDARY@>i|toggle sel. track MIDI input
|
||||
@mmode|MouseMode/set-mouse-mode-object|o|object mode
|
||||
@sess|Main/Open|<@PRIMARY@>o|open an existing session
|
||||
@sess|Main/Recent|<@PRIMARY@><@TERTIARY@>o|open a recent session
|
||||
@sess|Window/toggle-tracks-control-panel|<@PRIMARY@>comma|open preferences dialog
|
||||
|
|
@ -206,12 +205,10 @@ This mode provides many different operations on both regions and control points,
|
|||
@eep|Region/trim-back|k|trim back
|
||||
@wvis|Window/toggle-key-editor|<@WINDOW@>k|toggle key bindings editor
|
||||
@trans|Transport/Loop|l|loop play (the loop range)
|
||||
@select|Editor/select-all-in-loop-range|<@PRIMARY@>l|select all in loop range
|
||||
@wvis|Window/toggle-locations|<@WINDOW@>l| toggle locations dialog
|
||||
|
||||
;; BOTTOM ROW
|
||||
|
||||
@mmode|MouseMode/set-mouse-mode-zoom|z|zoom mode
|
||||
@edit|Editor/undo|<@PRIMARY@>z|undo
|
||||
@edit|Editor/alternate-alternate-redo|<@PRIMARY@><@TERTIARY@>z|redo
|
||||
@vis|Editor/zoom-to-region|<@PRIMARY@><@SECONDARY@>z|zoom (x) to selected region(s)
|
||||
|
|
@ -219,7 +216,6 @@ This mode provides many different operations on both regions and control points,
|
|||
@vis|Editor/toggle-zoom|<@TERTIARY@>z|toggle last 2 zoom states
|
||||
@edit|Editor/editor-cut|<@PRIMARY@>x|cut
|
||||
;@-group|Editor/crop|c|some text
|
||||
@mmode|MouseMode/set-mouse-mode-cut|c|cut mode
|
||||
@edit|Editor/editor-copy|<@PRIMARY@>c|copy
|
||||
@wvis|Window/toggle-theme-manager|<@WINDOW@>c|toggle color manager
|
||||
@rop|Region/set-region-sync-position|v|set region sync point
|
||||
|
|
@ -267,6 +263,7 @@ This mode provides many different operations on both regions and control points,
|
|||
@movp|Transport/GotoStart|Home|to start marker
|
||||
@movp|Transport/GotoEnd|End|to end marker
|
||||
@edit|Editor/editor-delete|Delete|delete
|
||||
@edit|Editor/remove-region|Delete|delete selected region
|
||||
@edit|Editor/alternate-editor-delete|BackSpace|backspace (delete)
|
||||
|
||||
@select|Editor/escape|Escape|break drag or deselect all
|
||||
|
|
@ -338,12 +335,11 @@ This mode provides many different operations on both regions and control points,
|
|||
|
||||
|
||||
;; numbers
|
||||
|
||||
@eep|Editor/cycle-zoom-focus|1|cycle to next zoom focus
|
||||
@eep|Editor/cycle-snap-mode|2|cycle to next grid snap mode
|
||||
@eep|Editor/prev-snap-choice|3|use next grid unit
|
||||
@mmode|MouseMode/set-mouse-mode-range|1|range mode
|
||||
@mmode|MouseMode/set-mouse-mode-object|2|link object/range tools
|
||||
@mmode|MouseMode/set-mouse-mode-cut|3|cut mode
|
||||
@mmode|MouseMode/set-mouse-mode-zoom|4|zoom mode
|
||||
@eep|Editor/prev-snap-choice-music-only|<@PRIMARY@>3|use previous grid unit
|
||||
@eep|Editor/next-snap-choice|4|use next grid unit
|
||||
@eep|Editor/next-snap-choice-music-only|<@PRIMARY@>4|use next musical grid unit
|
||||
@trans|Transport/ToggleAutoPlay|5|toggle auto play
|
||||
@trans|Transport/ToggleAutoReturn|6|toggle auto return
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue