1 diff -ur cinelerra-5.1/cinelerra/assetpopup.C cinelerra-5.1_after/cinelerra/assetpopup.C
2 --- cinelerra-5.1/cinelerra/assetpopup.C 2022-03-15 21:47:37.298381693 -0600
3 +++ cinelerra-5.1_after/cinelerra/assetpopup.C 2023-09-28 11:55:17.347859646 -0600
7 AssetPopupLoadFile::AssetPopupLoadFile(MWindow *mwindow, AWindowGUI *gui)
8 - : BC_MenuItem(_("Load files..."), "o", 'o')
9 + : BC_MenuItem(_("Load files..."), "Ctrl+O", 'o')
11 this->mwindow = mwindow;
16 AssetPopupLoadFile::~AssetPopupLoadFile()
17 diff -ur cinelerra-5.1/cinelerra/awindowgui.C cinelerra-5.1_after/cinelerra/awindowgui.C
18 --- cinelerra-5.1/cinelerra/awindowgui.C 2023-02-09 09:50:37.229375332 -0700
19 +++ cinelerra-5.1_after/cinelerra/awindowgui.C 2023-09-28 11:55:17.348859658 -0600
21 tip_info = !tip_info ? 1 : 0;
22 if( !tip_info ) hide_tip_info();
25 - if( !ctrl_down() && !shift_down() ) {
26 + case 'o': // Ctrl+O (Oscar letter)
27 + if( ctrl_down() && !shift_down() ) {
28 assetlist_menu->load_file->handle_event();
34 AWindowListFormat::AWindowListFormat(MWindow *mwindow, AWindowGUI *gui)
35 - : BC_MenuItem("","v",'v')
36 + : BC_MenuItem("","V",'v')
38 this->mwindow = mwindow;
40 diff -ur cinelerra-5.1/cinelerra/batchrender.C cinelerra-5.1_after/cinelerra/batchrender.C
41 --- cinelerra-5.1/cinelerra/batchrender.C 2023-02-09 09:50:37.229375332 -0700
42 +++ cinelerra-5.1_after/cinelerra/batchrender.C 2023-09-28 11:55:17.349859671 -0600
46 BatchRenderMenuItem::BatchRenderMenuItem(MWindow *mwindow)
47 - : BC_MenuItem(_("Batch Render..."), _("Shift-B"), 'B')
48 + : BC_MenuItem(_("Batch Render..."), _("Shift+B"), 'B')
51 this->mwindow = mwindow;
53 : BC_GenericButton(x, y, _("Save Jobs"))
55 this->thread = thread;
56 - set_tooltip(_("Save a Batch Render List"));
57 + set_tooltip(_("Save a Batch Render List (Ctrl+S)"));
59 startup_lock = new Mutex("BatchRenderSaveList::startup_lock");
61 @@ -1166,8 +1166,13 @@
64 int BatchRenderSaveList::keypress_event() {
65 - if( get_keypress() == 's' ||
66 - get_keypress() == 'S' ) return handle_event();
68 + switch( get_keypress() ) {
71 + if( ctrl_down() && !alt_down() && !shift_down() ) return handle_event();
74 return context_help_check_and_show();
80 this->thread = thread;
81 - set_tooltip(_("Load a previously saved Batch Render List"));
82 + set_tooltip(_("Load a previously saved Batch Render List (Ctrl+O)"));
84 startup_lock = new Mutex("BatchRenderLoadList::startup_lock");
86 @@ -1247,8 +1252,13 @@
89 int BatchRenderLoadList::keypress_event() {
90 - if( get_keypress() == 'o' ||
91 - get_keypress() == 'O' ) return handle_event();
93 + switch( get_keypress() ) {
96 + if( ctrl_down() && !alt_down() && !shift_down() ) return handle_event();
99 return context_help_check_and_show();
102 diff -ur cinelerra-5.1/cinelerra/bdcreate.C cinelerra-5.1_after/cinelerra/bdcreate.C
103 --- cinelerra-5.1/cinelerra/bdcreate.C 2023-02-09 09:50:37.229375332 -0700
104 +++ cinelerra-5.1_after/cinelerra/bdcreate.C 2023-09-28 11:55:17.349859671 -0600
106 const int CreateBD_Thread::BD_INTERLACE_MODE = ILACE_MODE_NOTINTERLACED;
108 CreateBD_MenuItem::CreateBD_MenuItem(MWindow *mwindow)
109 - : BC_MenuItem(_("BD Render..."), _("Ctrl-Shift-D"), 'D')
110 + : BC_MenuItem(_("BD Render..."))
114 this->mwindow = mwindow;
117 diff -ur cinelerra-5.1/cinelerra/canvas.C cinelerra-5.1_after/cinelerra/canvas.C
118 --- cinelerra-5.1/cinelerra/canvas.C 2022-03-15 21:47:37.304381729 -0600
119 +++ cinelerra-5.1_after/cinelerra/canvas.C 2023-09-28 11:55:17.350859683 -0600
120 @@ -1025,7 +1025,7 @@
123 CanvasPopupCameraKeyframe::CanvasPopupCameraKeyframe(Canvas *canvas)
124 - : BC_MenuItem(_("Camera keyframe"), _("Shift-F11"), KEY_F11)
125 + : BC_MenuItem(_("Camera keyframe"), _("Shift+F11"), KEY_F11)
127 this->canvas = canvas;
129 @@ -1037,7 +1037,7 @@
132 CanvasPopupProjectorKeyframe::CanvasPopupProjectorKeyframe(Canvas *canvas)
133 - : BC_MenuItem(_("Projector keyframe"), _("Shift-F12"), KEY_F12)
134 + : BC_MenuItem(_("Projector keyframe"), _("Shift+F12"), KEY_F12)
136 this->canvas = canvas;
138 @@ -1062,7 +1062,7 @@
141 CanvasFullScreenItem::CanvasFullScreenItem(Canvas *canvas)
142 - : BC_MenuItem(_("Fullscreen"), "f", 'f')
143 + : BC_MenuItem(_("Fullscreen"), "F", 'f')
145 this->canvas = canvas;
147 diff -ur cinelerra-5.1/cinelerra/channelinfo.C cinelerra-5.1_after/cinelerra/channelinfo.C
148 --- cinelerra-5.1/cinelerra/channelinfo.C 2023-02-09 09:50:37.229375332 -0700
149 +++ cinelerra-5.1_after/cinelerra/channelinfo.C 2023-09-28 11:55:17.350859683 -0600
150 @@ -1815,7 +1815,7 @@
153 ChannelScan::ChannelScan(MWindow *mwindow)
154 - : BC_MenuItem(_("Scan..."), _("Ctrl-Alt-s"), 's')
155 + : BC_MenuItem(_("Scan..."), _("Ctrl+Alt+S"), 's')
159 diff -ur cinelerra-5.1/cinelerra/convert.C cinelerra-5.1_after/cinelerra/convert.C
160 --- cinelerra-5.1/cinelerra/convert.C 2022-03-15 21:47:37.307381747 -0600
161 +++ cinelerra-5.1_after/cinelerra/convert.C 2023-09-28 11:55:17.351859696 -0600
165 ConvertMenuItem::ConvertMenuItem(MWindow *mwindow)
166 - : BC_MenuItem(_("Transcode..."), _("Alt-e"), 'e')
167 + : BC_MenuItem(_("Transcode..."), _("Alt+E"), 'e')
169 this->mwindow = mwindow;
171 diff -ur cinelerra-5.1/cinelerra/cwindowgui.C cinelerra-5.1_after/cinelerra/cwindowgui.C
172 --- cinelerra-5.1/cinelerra/cwindowgui.C 2022-03-15 21:47:37.308381753 -0600
173 +++ cinelerra-5.1_after/cinelerra/cwindowgui.C 2023-09-28 11:55:17.351859696 -0600
178 +// *** 2023. REM Original code. (editpanel.C take its place, for me)
181 if( !ctrl_down() && !alt_down() ) {
196 +// *** 2023. REM Original code. (editpanel.C take its place, for me)
199 if( !ctrl_down() && !alt_down() ) {
209 if( !result && cwindow_operation < 0 && ctrl_down() && shift_down() ) {
210 diff -ur cinelerra-5.1/cinelerra/cwindowtool.C cinelerra-5.1_after/cinelerra/cwindowtool.C
211 --- cinelerra-5.1/cinelerra/cwindowtool.C 2023-02-09 09:50:37.231375772 -0700
212 +++ cinelerra-5.1_after/cinelerra/cwindowtool.C 2023-09-28 11:55:17.352859708 -0600
213 @@ -1645,7 +1645,7 @@
214 add_subwindow(t_bump = new CWindowCurveToggle(Projector_Crv_Bump, mwindow, this, x1, y));
215 t_bump->context_help_set_keyword("Bump autos");
216 x1 += button->get_w() + xs25;
218 +// 2023 REM y += yS(5);
219 add_subwindow(add_keyframe = new CWindowProjectorAddKeyframe(mwindow, this, x1, y));
220 add_keyframe->context_help_set_keyword("Using Autos");
221 x1 += add_keyframe->get_w() + xs15;
222 @@ -1910,7 +1910,7 @@
224 this->mwindow = mwindow;
226 - set_tooltip(_("Add Keyframe: Shift-F12"));
227 + set_tooltip(_("Add Keyframe: Shift+F12"));
230 int CWindowProjectorAddKeyframe::handle_event()
231 diff -ur cinelerra-5.1/cinelerra/dvdcreate.C cinelerra-5.1_after/cinelerra/dvdcreate.C
232 --- cinelerra-5.1/cinelerra/dvdcreate.C 2023-06-28 10:24:09.241079904 -0600
233 +++ cinelerra-5.1_after/cinelerra/dvdcreate.C 2023-09-28 11:55:17.353859720 -0600
237 CreateDVD_MenuItem::CreateDVD_MenuItem(MWindow *mwindow)
238 - : BC_MenuItem(_("DVD Render..."), _("Alt-d"), 'd')
239 + : BC_MenuItem(_("DVD Render..."))
242 this->mwindow = mwindow;
245 diff -ur cinelerra-5.1/cinelerra/editpanel.C cinelerra-5.1_after/cinelerra/editpanel.C
246 --- cinelerra-5.1/cinelerra/editpanel.C 2023-02-09 09:50:37.245378853 -0700
247 +++ cinelerra-5.1_after/cinelerra/editpanel.C 2023-09-28 11:55:17.354859733 -0600
250 this->mwindow = mwindow;
252 - set_tooltip(_("Toggle label at current position ( l )"));
253 + set_tooltip(_("Toggle label at current position ( ' )")); // single quote
254 // *** CONTEXT_HELP ***
255 context_help_set_keyword("Labels");
259 int EditLabelbutton::keypress_event()
261 - if( get_keypress() == 'l' && !alt_down() )
262 + if( get_keypress() == '\'' && !alt_down() ) // single quote
263 return handle_event();
264 return context_help_check_and_show();
268 this->mwindow = mwindow;
270 - set_tooltip(_("Next label ( ctrl -> )"));
271 + set_tooltip(_("Next label ( Ctrl+Right Arrow )"));
272 // *** CONTEXT_HELP ***
273 context_help_set_keyword("Labels");
277 this->mwindow = mwindow;
279 - set_tooltip(_("Previous label ( ctrl <- )"));
280 + set_tooltip(_("Previous label ( Ctrl+Left Arrow )"));
281 // *** CONTEXT_HELP ***
282 context_help_set_keyword("Labels");
286 this->mwindow = mwindow;
288 - set_tooltip(_("Previous edit (alt <- )"));
289 + set_tooltip(_("Previous edit ( Alt+Left Arrow, 'A' )"));
290 // *** CONTEXT_HELP ***
291 context_help_set_keyword("Snapping while Cutting and Dragging");
296 int key = get_keypress();
297 - if( (key == LEFT || key == ',') && !ctrl_down() ) {
298 + if( key == LEFT && !ctrl_down() ) {
299 panel->panel_prev_edit(0);
307 + int key = get_keypress();
308 + if( key == 'a' && !ctrl_down() && !shift_down() ) {
309 + panel->panel_prev_edit(0);
313 return context_help_check_and_show();
315 int EditPrevEdit::handle_event()
318 this->mwindow = mwindow;
320 - set_tooltip(_("Next edit ( alt -> )"));
321 + set_tooltip(_("Next edit ( Alt+Right Arrow, 'S' )"));
322 // *** CONTEXT_HELP ***
323 context_help_set_keyword("Snapping while Cutting and Dragging");
328 int key = get_keypress();
329 - if( (key == RIGHT || key == '.') && !ctrl_down() ) {
330 + if( key == RIGHT && !ctrl_down() ) {
331 panel->panel_next_edit(0);
339 + int key = get_keypress();
340 + if( key == 's' && !ctrl_down() && !shift_down() ) {
341 + panel->panel_next_edit(0);
345 return context_help_check_and_show();
347 int EditNextEdit::handle_event()
350 this->mwindow = mwindow;
352 - set_tooltip(_("Copy ( c )"));
353 + set_tooltip(_("Copy ( C )"));
354 // *** CONTEXT_HELP ***
355 context_help_set_keyword("Cut and Paste Editing");
359 this->mwindow = mwindow;
361 - set_tooltip(_("Overwrite ( b )"));
362 + set_tooltip(_("Overwrite ( B )"));
363 // *** CONTEXT_HELP ***
364 context_help_set_keyword("Two Screen Editing");
368 this->mwindow = mwindow;
370 - set_tooltip(_("In point ( [ or < )"));
371 + set_tooltip(_("In point ( '[', '<', 'I' )"));
372 // *** CONTEXT_HELP ***
373 context_help_set_keyword("In\\/Out Points");
378 else if( !alt_down() ) {
379 - if( key == '[' || key == '<' ) {
380 + if( key == '[' || key == '<' || key == 'i' ) {
381 panel->panel_set_inpoint();
386 this->mwindow = mwindow;
388 - set_tooltip(_("Out point ( ] or > )"));
389 + set_tooltip(_("Out point ( ']', '>', 'O' )"));
390 // *** CONTEXT_HELP ***
391 context_help_set_keyword("In\\/Out Points");
396 else if( !alt_down() ) {
397 - if( key == ']' || key == '>' ) {
398 + if( key == ']' || key == '>' || key == 'o' ) {
399 panel->panel_set_outpoint();
404 this->mwindow = mwindow;
406 - set_tooltip(_("Splice ( v )"));
407 + set_tooltip(_("Splice ( V )"));
408 // *** CONTEXT_HELP ***
409 context_help_set_keyword("Two Screen Editing");
413 this->mwindow = mwindow;
415 - set_tooltip(_("To clip ( i )"));
416 + set_tooltip(_("To clip ( Ctrl+I )"));
417 // *** CONTEXT_HELP ***
418 context_help_set_keyword("Two Screen Editing");
421 int EditToClip::keypress_event()
423 if( alt_down() ) return context_help_check_and_show();
424 - if( get_keypress() == 'i' ||
425 - (panel->is_vwindow() && get_keypress() == 'I') ) {
426 + if( (get_keypress() == 'i' && ctrl_down()) ||
427 + (panel->is_vwindow() && (get_keypress() == 'I' && ctrl_down()) ) ) {
433 this->mwindow = mwindow;
435 - set_tooltip(_("Split | Cut ( x )"));
436 + set_tooltip(_("Split | Cut ( X )"));
437 // *** CONTEXT_HELP ***
438 context_help_set_keyword("Cut and Paste Editing");
442 this->mwindow = mwindow;
444 - set_tooltip(_("Paste ( v )"));
445 + set_tooltip(_("Paste ( V )"));
446 // *** CONTEXT_HELP ***
447 context_help_set_keyword("Cut and Paste Editing");
451 this->mwindow = mwindow;
453 - set_tooltip(_("Fit selection to display ( f )"));
454 + set_tooltip(_("Fit selection to display ( F )"));
455 // *** CONTEXT_HELP ***
456 context_help_set_keyword("Transport and Buttons Bar");
460 this->mwindow = mwindow;
462 - set_tooltip(_("Fit all autos to display ( Alt + f )"));
463 + set_tooltip(_("Fit all autos to display ( Alt+F )"));
464 // *** CONTEXT_HELP ***
465 context_help_set_keyword("Using Autos");
467 @@ -1001,7 +1015,7 @@
469 this->mwindow = mwindow;
471 - set_tooltip(_("Generate keyframes while tweeking (j)"));
472 + set_tooltip(_("Generate keyframes while tweeking ( G )"));
473 // *** CONTEXT_HELP ***
474 context_help_set_keyword("Generate Keyframes while Tweaking");
476 @@ -1015,7 +1029,7 @@
477 int KeyFrameButton::keypress_event()
479 int key = get_keypress();
480 - if( key == 'j' && !ctrl_down() && !shift_down() && !alt_down() ) {
481 + if( key == 'g' && !ctrl_down() && !shift_down() && !alt_down() ) {
482 int value = get_value() ? 0 : 1;
484 panel->panel_set_auto_keyframes(value);
485 @@ -1072,7 +1086,7 @@
486 this->mwindow = mwindow;
488 mangoto = new ManualGoto(mwindow, panel);
489 - set_tooltip(_("Manual goto ( g )"));
490 + set_tooltip(_("Manual goto ( Ctrl+G )"));
491 // *** CONTEXT_HELP ***
492 context_help_set_keyword("Transport and Buttons Bar");
494 @@ -1088,7 +1102,7 @@
496 int EditManualGoto::keypress_event()
498 - if( get_keypress() == 'g' ) {
499 + if( get_keypress() == 'g' && ctrl_down() ) {
503 @@ -1104,7 +1118,7 @@
505 this->mwindow = mwindow;
507 - set_tooltip(_("Click to play (p)"));
508 + set_tooltip(_("Click to play ( P )"));
509 // *** CONTEXT_HELP ***
510 context_help_set_keyword("Click to Play in Viewer and Compositor");
512 @@ -1132,7 +1146,7 @@
514 this->mwindow = mwindow;
516 - set_tooltip(_("Commercial ( shift A )"));
517 + set_tooltip(_("Commercial ( Shift+A )"));
518 // *** CONTEXT_HELP ***
519 context_help_set_keyword("The commercial DB");
521 @@ -1174,7 +1188,7 @@
523 this->mwindow = mwindow;
525 - set_tooltip(_("Undo ( z or Ctrl-z)"));
526 + set_tooltip(_("Undo ( 'Z', Ctrl+Z )"));
527 // *** CONTEXT_HELP ***
528 context_help_set_keyword("Transport and Buttons Bar");
530 @@ -1200,7 +1214,7 @@
532 this->mwindow = mwindow;
534 - set_tooltip(_("Redo ( shift Z )"));
535 + set_tooltip(_("Redo ( Shift+Z )"));
536 // *** CONTEXT_HELP ***
537 context_help_set_keyword("Transport and Buttons Bar");
539 diff -ur cinelerra-5.1/cinelerra/editpopup.C cinelerra-5.1_after/cinelerra/editpopup.C
540 --- cinelerra-5.1/cinelerra/editpopup.C 2022-04-11 14:29:13.599769890 -0600
541 +++ cinelerra-5.1_after/cinelerra/editpopup.C 2023-09-28 11:55:17.354859733 -0600
545 EditPopupClearSelect::EditPopupClearSelect(MWindow *mwindow, EditPopup *popup)
546 - : BC_MenuItem(_("Clear Select"),_("Ctrl-Shift-A"),'A')
547 + : BC_MenuItem(_("Clear Select"),_("Ctrl+Shift+A"),'A')
549 this->mwindow = mwindow;
554 EditPopupSelectEdits::EditPopupSelectEdits(MWindow *mwindow, EditPopup *popup)
555 - : BC_MenuItem(_("Select Edits"),_("Ctrl-Alt-'"),'\'')
556 + : BC_MenuItem(_("Select Edits"),_("Ctrl+Alt+A"),'a')
558 this->mwindow = mwindow;
563 EditPopupCopy::EditPopupCopy(MWindow *mwindow, EditPopup *popup)
564 - : BC_MenuItem(_("Copy"),_("Ctrl-c"),'c')
565 + : BC_MenuItem(_("Copy"),_("Ctrl+C"),'c')
567 this->mwindow = mwindow;
572 EditPopupCopyPack::EditPopupCopyPack(MWindow *mwindow, EditPopup *popup)
573 - : BC_MenuItem(_("Copy pack"),_("Ctrl-Shift-C"),'C')
574 + : BC_MenuItem(_("Copy pack"),_("Ctrl+Shift+C"),'C')
576 this->mwindow = mwindow;
581 EditPopupCut::EditPopupCut(MWindow *mwindow, EditPopup *popup)
582 - : BC_MenuItem(_("Cut"),_("Ctrl-x"),'x')
583 + : BC_MenuItem(_("Cut"),_("Ctrl+X"),'x')
585 this->mwindow = mwindow;
590 EditPopupCutPack::EditPopupCutPack(MWindow *mwindow, EditPopup *popup)
591 - : BC_MenuItem(_("Cut pack"),_("Ctrl-Alt-z"),'z')
592 + : BC_MenuItem(_("Cut pack"),_("Ctrl+Alt+Z"),'z')
594 this->mwindow = mwindow;
599 EditPopupMute::EditPopupMute(MWindow *mwindow, EditPopup *popup)
600 - : BC_MenuItem(C_("Mute"),_("Ctrl-m"),'m')
601 + : BC_MenuItem(_("Mute"),_("Ctrl+M"),'m')
603 this->mwindow = mwindow;
608 EditPopupMutePack::EditPopupMutePack(MWindow *mwindow, EditPopup *popup)
609 - : BC_MenuItem(_("Mute pack"),_("Ctrl-Shift-M"),'M')
610 + : BC_MenuItem(_("Mute pack"),_("Ctrl+Shift+M"),'M')
612 this->mwindow = mwindow;
617 EditPopupPaste::EditPopupPaste(MWindow *mwindow, EditPopup *popup)
618 - : BC_MenuItem(_("Paste"),_("Ctrl-v"),'v')
619 + : BC_MenuItem(_("Paste"),_("Ctrl+V"),'v')
621 this->mwindow = mwindow;
626 EditPopupOverwrite::EditPopupOverwrite(MWindow *mwindow, EditPopup *popup)
627 - : BC_MenuItem(_("Overwrite"),_("Ctrl-b"),'b')
628 + : BC_MenuItem(_("Overwrite"),_("Ctrl+B"),'b')
630 this->mwindow = mwindow;
635 EditPopupOverwritePlugins::EditPopupOverwritePlugins(MWindow *mwindow, EditPopup *popup)
636 - : BC_MenuItem(_("Overwrite Plugins"),_("Ctrl-Shift-P"),'P')
637 + : BC_MenuItem(_("Overwrite Plugins"),_("Ctrl+Shift+P"),'P')
639 this->mwindow = mwindow;
641 @@ -372,12 +372,11 @@
644 EditPopupTimecode::EditPopupTimecode(MWindow *mwindow, EditPopup *popup)
645 - : BC_MenuItem(_("Timecode"),_("Ctrl-!"),'!')
646 + : BC_MenuItem(_("Timecode"),_("Ctrl+!"),'!')
648 this->mwindow = mwindow;
654 int EditPopupTimecode::handle_event()
655 diff -ur cinelerra-5.1/cinelerra/exportedl.C cinelerra-5.1_after/cinelerra/exportedl.C
656 --- cinelerra-5.1/cinelerra/exportedl.C 2023-01-28 12:41:13.742539792 -0700
657 +++ cinelerra-5.1_after/cinelerra/exportedl.C 2023-09-28 11:55:17.354859733 -0600
661 ExportEDLItem::ExportEDLItem(MWindow *mwindow)
662 - : BC_MenuItem(_("Export EDL..."), "Shift-E", 'E')
663 + : BC_MenuItem(_("Export EDL..."), "Shift+E", 'E')
665 this->mwindow = mwindow;
667 diff -ur cinelerra-5.1/cinelerra/gwindowgui.C cinelerra-5.1_after/cinelerra/gwindowgui.C
668 --- cinelerra-5.1/cinelerra/gwindowgui.C 2022-03-15 21:47:37.364382093 -0600
669 +++ cinelerra-5.1_after/cinelerra/gwindowgui.C 2023-09-28 11:55:17.354859733 -0600
670 @@ -324,11 +324,11 @@
672 case NONAUTOTOGGLES_CAMERA_XYZ:
674 - accel = _("Shift-F1");
675 + accel = _("Shift+F1");
677 case NONAUTOTOGGLES_PROJECTOR_XYZ:
678 projector_xyz = toggle;
679 - accel = _("Shift-F2");
680 + accel = _("Shift+F2");
682 case NON_AUTOMATION_HARD_EDGES:
683 VFrame *vframe = mwindow->theme->hardedge_data;
684 diff -ur cinelerra-5.1/cinelerra/loadfile.C cinelerra-5.1_after/cinelerra/loadfile.C
685 --- cinelerra-5.1/cinelerra/loadfile.C 2023-02-09 09:50:37.250379954 -0700
686 +++ cinelerra-5.1_after/cinelerra/loadfile.C 2023-09-28 11:55:17.354859733 -0600
690 Load::Load(MWindow *mwindow, MainMenu *mainmenu)
691 - : BC_MenuItem(_("Load files..."), "o", 'o')
692 + : BC_MenuItem(_("Load files..."), "Ctrl+O", 'o')
695 this->mwindow = mwindow;
696 this->mainmenu = mainmenu;
698 diff -ur cinelerra-5.1/cinelerra/mainmenu.C cinelerra-5.1_after/cinelerra/mainmenu.C
699 --- cinelerra-5.1/cinelerra/mainmenu.C 2022-03-15 21:47:37.368382117 -0600
700 +++ cinelerra-5.1_after/cinelerra/mainmenu.C 2023-09-28 11:55:17.355859745 -0600
701 @@ -263,17 +263,17 @@
702 viewmenu->add_item(mask_automation = new ShowAutomation(mwindow, _("Mask"), "8", AUTOMATION_MASK));
703 viewmenu->add_item(speed_automation = new ShowAutomation(mwindow, _("Speed"), "9", AUTOMATION_SPEED));
705 - camera_x = new ShowAutomation(mwindow, _("Camera X"), "Ctrl-Shift-X", AUTOMATION_CAMERA_X);
706 + camera_x = new ShowAutomation(mwindow, _("Camera X"), "Ctrl+Shift+X", AUTOMATION_CAMERA_X);
707 camera_x->set_ctrl(); camera_x->set_shift(); viewmenu->add_item(camera_x);
708 - camera_y = new ShowAutomation(mwindow, _("Camera Y"), "Ctrl-Shift-Y", AUTOMATION_CAMERA_Y);
709 + camera_y = new ShowAutomation(mwindow, _("Camera Y"), "Ctrl+Shift+Y", AUTOMATION_CAMERA_Y);
710 camera_y->set_ctrl(); camera_y->set_shift(); viewmenu->add_item(camera_y);
711 - camera_z = new ShowAutomation(mwindow, _("Camera Z"), "Ctrl-Shift-Z", AUTOMATION_CAMERA_Z);
712 + camera_z = new ShowAutomation(mwindow, _("Camera Z"), "Ctrl+Shift+Z", AUTOMATION_CAMERA_Z);
713 camera_z->set_ctrl(); camera_z->set_shift(); viewmenu->add_item(camera_z);
714 - project_x = new ShowAutomation(mwindow, _("Projector X"), "Alt-Shift-X", AUTOMATION_PROJECTOR_X);
715 + project_x = new ShowAutomation(mwindow, _("Projector X"), "Alt+Shift+X", AUTOMATION_PROJECTOR_X);
716 project_x->set_alt(); project_x->set_shift(); viewmenu->add_item(project_x);
717 - project_y = new ShowAutomation(mwindow, _("Projector Y"), "Alt-Shift-Y", AUTOMATION_PROJECTOR_Y);
718 + project_y = new ShowAutomation(mwindow, _("Projector Y"), "Alt+Shift+Y", AUTOMATION_PROJECTOR_Y);
719 project_y->set_alt(); project_y->set_shift(); viewmenu->add_item(project_y);
720 - project_z = new ShowAutomation(mwindow, _("Projector Z"), "Alt-Shift-Z", AUTOMATION_PROJECTOR_Z);
721 + project_z = new ShowAutomation(mwindow, _("Projector Z"), "Alt+Shift+Z", AUTOMATION_PROJECTOR_Z);
722 project_z->set_alt(); project_z->set_shift(); viewmenu->add_item(project_z);
724 add_menu(windowmenu = new BC_Menu(_("Window")));
726 windowmenu->add_item(new TileWindows(mwindow,_("Tile right"),1));
727 windowmenu->add_item(new BC_MenuItem("-"));
729 - windowmenu->add_item(new TileWindows(mwindow,_("Default positions"),-1,_("Ctrl-P"),'p'));
730 + windowmenu->add_item(new TileWindows(mwindow,_("Default positions"),-1,_("Ctrl+P"),'p'));
731 windowmenu->add_item(load_layout = new LoadLayout(mwindow, _("Load layout..."),LAYOUT_LOAD));
732 load_layout->create_objects();
733 windowmenu->add_item(save_layout = new LoadLayout(mwindow, _("Save layout..."),LAYOUT_SAVE));
736 // ================================================= edit
738 -Undo::Undo(MWindow *mwindow) : BC_MenuItem(_("Undo"), "z or Ctrl-z", 'z')
739 +Undo::Undo(MWindow *mwindow) : BC_MenuItem(_("Undo"), "Z, Ctrl+Z", 'z')
741 this->mwindow = mwindow;
747 -Redo::Redo(MWindow *mwindow) : BC_MenuItem(_("Redo"), _("Shift-Z"), 'Z')
748 +Redo::Redo(MWindow *mwindow) : BC_MenuItem(_("Redo"), _("Shift+Z"), 'Z')
751 this->mwindow = mwindow;
755 CutKeyframes::CutKeyframes(MWindow *mwindow)
756 - : BC_MenuItem(_("Cut keyframes"), _("Shift-X"), 'X')
757 + : BC_MenuItem(_("Cut keyframes"), _("Shift+X"), 'X')
760 this->mwindow = mwindow;
764 CopyKeyframes::CopyKeyframes(MWindow *mwindow)
765 - : BC_MenuItem(_("Copy keyframes"), _("Shift-C"), 'C')
766 + : BC_MenuItem(_("Copy keyframes"), _("Shift+C"), 'C')
769 this->mwindow = mwindow;
773 PasteKeyframes::PasteKeyframes(MWindow *mwindow)
774 - : BC_MenuItem(_("Paste keyframes"), _("Shift-V"), 'V')
775 + : BC_MenuItem(_("Paste keyframes"), _("Shift+V"), 'V')
778 this->mwindow = mwindow;
782 ClearKeyframes::ClearKeyframes(MWindow *mwindow)
783 - : BC_MenuItem(_("Clear keyframes"), _("Shift-Del"), DELETE)
784 + : BC_MenuItem(_("Clear keyframes"), _("Shift+Del"), DELETE)
787 this->mwindow = mwindow;
791 CutDefaultKeyframe::CutDefaultKeyframe(MWindow *mwindow)
792 - : BC_MenuItem(_("Cut default keyframe"), _("Alt-x"), 'x')
793 + : BC_MenuItem(_("Cut default keyframe"), _("Alt+X"), 'x')
796 this->mwindow = mwindow;
800 CopyDefaultKeyframe::CopyDefaultKeyframe(MWindow *mwindow)
801 - : BC_MenuItem(_("Copy default keyframe"), _("Alt-c"), 'c')
802 + : BC_MenuItem(_("Copy default keyframe"), _("Alt+C"), 'c')
805 this->mwindow = mwindow;
809 PasteDefaultKeyframe::PasteDefaultKeyframe(MWindow *mwindow)
810 - : BC_MenuItem(_("Paste default keyframe"), _("Alt-v"), 'v')
811 + : BC_MenuItem(_("Paste default keyframe"), _("Alt+V"), 'v')
814 this->mwindow = mwindow;
818 ClearDefaultKeyframe::ClearDefaultKeyframe(MWindow *mwindow)
819 - : BC_MenuItem(_("Clear default keyframe"), _("Alt-Del"), DELETE)
820 + : BC_MenuItem(_("Clear default keyframe"), _("Alt+Del"), DELETE)
823 this->mwindow = mwindow;
827 Cut::Cut(MWindow *mwindow)
828 - : BC_MenuItem(_("Split | Cut"), "x", 'x')
829 + : BC_MenuItem(_("Split | Cut"), "X", 'x')
831 this->mwindow = mwindow;
836 Copy::Copy(MWindow *mwindow)
837 - : BC_MenuItem(_("Copy"), "c", 'c')
838 + : BC_MenuItem(_("Copy"), "C", 'c')
840 this->mwindow = mwindow;
845 Paste::Paste(MWindow *mwindow)
846 - : BC_MenuItem(_("Paste"), "v", 'v')
847 + : BC_MenuItem(_("Paste"), "V", 'v')
849 this->mwindow = mwindow;
851 @@ -1024,7 +1024,7 @@
854 PasteSilence::PasteSilence(MWindow *mwindow)
855 - : BC_MenuItem(_("Paste silence"), _("Shift-Space"), ' ')
856 + : BC_MenuItem(_("Paste silence"), _("Shift+Space"), ' ')
858 this->mwindow = mwindow;
860 @@ -1038,9 +1038,10 @@
863 SelectAll::SelectAll(MWindow *mwindow)
864 - : BC_MenuItem(_("Select All"), "a", 'a')
865 + : BC_MenuItem(_("Select All"), "Ctrl+A", 'a')
867 this->mwindow = mwindow;
871 int SelectAll::handle_event()
872 @@ -1072,7 +1073,7 @@
876 -ClearSelect::ClearSelect(MWindow *mwindow) : BC_MenuItem(_("Clear Select"),"Ctrl-Shift-A",'A')
877 +ClearSelect::ClearSelect(MWindow *mwindow) : BC_MenuItem(_("Clear Select"),"Ctrl+Shift+A",'A')
881 @@ -1109,7 +1110,7 @@
884 MuteSelection::MuteSelection(MWindow *mwindow)
885 - : BC_MenuItem(_("Mute Region"), "m", 'm')
886 + : BC_MenuItem(_("Mute Region"), "M", 'm')
888 this->mwindow = mwindow;
890 @@ -1148,7 +1149,7 @@
891 // ============================================= audio
893 AddAudioTrack::AddAudioTrack(MWindow *mwindow)
894 - : BC_MenuItem(_("Add track"), "t", 't')
895 + : BC_MenuItem(_("Add track"), "T", 't')
897 this->mwindow = mwindow;
899 @@ -1172,7 +1173,7 @@
902 DefaultATransition::DefaultATransition(MWindow *mwindow)
903 - : BC_MenuItem(_("Default Transition"), "u", 'u')
904 + : BC_MenuItem(_("Default Transition"), "U", 'u')
906 this->mwindow = mwindow;
908 @@ -1216,7 +1217,7 @@
911 AddVideoTrack::AddVideoTrack(MWindow *mwindow)
912 - : BC_MenuItem(_("Add track"), _("Shift-T"), 'T')
913 + : BC_MenuItem(_("Add track"), _("Shift+T"), 'T')
916 this->mwindow = mwindow;
917 @@ -1257,7 +1258,7 @@
920 DefaultVTransition::DefaultVTransition(MWindow *mwindow)
921 - : BC_MenuItem(_("Default Transition"), _("Shift-U"), 'U')
922 + : BC_MenuItem(_("Default Transition"), _("Shift+U"), 'U')
925 this->mwindow = mwindow;
926 @@ -1298,7 +1299,7 @@
929 DeleteFirstTrack::DeleteFirstTrack(MWindow *mwindow)
930 - : BC_MenuItem(_("Delete first track"), "Shift-D", 'D')
931 + : BC_MenuItem(_("Delete first track"), "Shift+D", 'D')
934 this->mwindow = mwindow;
935 @@ -1314,7 +1315,7 @@
938 DeleteLastTrack::DeleteLastTrack(MWindow *mwindow)
939 - : BC_MenuItem(_("Delete last track"), "Ctrl-d", 'd')
940 + : BC_MenuItem(_("Delete last track"), "Ctrl+D", 'd')
943 this->mwindow = mwindow;
944 @@ -1330,7 +1331,7 @@
947 MoveTracksUp::MoveTracksUp(MWindow *mwindow)
948 - : BC_MenuItem(_("Move tracks up"), _("Shift-Up"), UP)
949 + : BC_MenuItem(_("Move tracks up"), _("Shift+Up"), UP)
951 this->mwindow = mwindow;
953 @@ -1344,7 +1345,7 @@
956 MoveTracksDown::MoveTracksDown(MWindow *mwindow)
957 - : BC_MenuItem(_("Move tracks down"), _("Shift-Down"), DOWN)
958 + : BC_MenuItem(_("Move tracks down"), _("Shift+Down"), DOWN)
960 this->mwindow = mwindow;
962 @@ -1359,7 +1360,7 @@
965 RollTracksUp::RollTracksUp(MWindow *mwindow)
966 - : BC_MenuItem(_("Roll tracks up"), _("Ctrl-Shift-Up"), UP)
967 + : BC_MenuItem(_("Roll tracks up"), _("Ctrl+Shift+Up"), UP)
969 this->mwindow = mwindow;
971 @@ -1374,7 +1375,7 @@
974 RollTracksDown::RollTracksDown(MWindow *mwindow)
975 - : BC_MenuItem(_("Roll tracks down"), _("Ctrl-Shift-Down"), DOWN)
976 + : BC_MenuItem(_("Roll tracks down"), _("Ctrl+Shift+Down"), DOWN)
978 this->mwindow = mwindow;
980 @@ -1409,7 +1410,7 @@
983 LoopPlayback::LoopPlayback(MWindow *mwindow)
984 - : BC_MenuItem(_("Loop Playback"), _("Shift-L"), 'L')
985 + : BC_MenuItem(_("Loop Playback"), _("Shift+L"), 'L')
987 this->mwindow = mwindow;
988 set_checked(mwindow->edl->local_session->loop_playback);
989 @@ -1431,7 +1432,7 @@
992 AddSubttlTrack::AddSubttlTrack(MWindow *mwindow)
993 - : BC_MenuItem(_("Add subttl"), _("Shift-Y"), 'Y')
994 + : BC_MenuItem(_("Add subttl"), _("Shift+Y"), 'Y')
997 this->mwindow = mwindow;
998 @@ -1445,7 +1446,7 @@
1001 PasteSubttl::PasteSubttl(MWindow *mwindow)
1002 - : BC_MenuItem(_("paste subttl"), "y", 'y')
1003 + : BC_MenuItem(_("paste subttl"), "Y", 'y')
1005 this->mwindow = mwindow;
1007 @@ -1459,7 +1460,7 @@
1010 SetBRenderActive::SetBRenderActive(MWindow *mwindow)
1011 - : BC_MenuItem(_("Toggle background rendering"),_("Shift-G"),'G')
1012 + : BC_MenuItem(_("Toggle background rendering"),_("Shift+G"),'G')
1014 this->mwindow = mwindow;
1016 @@ -1526,7 +1527,7 @@
1019 CursorOnFrames::CursorOnFrames(MWindow *mwindow)
1020 - : BC_MenuItem(_("Align cursor on frames"),_("Ctrl-a"),'a')
1021 + : BC_MenuItem(_("Align cursor on frames"),_("Ctrl+F"),'f')
1023 this->mwindow = mwindow;
1024 set_checked(mwindow->edl->session->cursor_on_frames);
1025 @@ -1578,11 +1579,10 @@
1028 SaveSettingsNow::SaveSettingsNow(MWindow *mwindow)
1029 - : BC_MenuItem(_("Save settings now"),_("Ctrl-Shift-S"),'S')
1030 + : BC_MenuItem(_("Save settings now"),_("Shift+S"),'s')
1032 this->mwindow = mwindow;
1035 + set_shift(1); // set_ctrl(1);
1038 int SaveSettingsNow::handle_event()
1039 @@ -1664,7 +1664,7 @@
1042 ShowGWindow::ShowGWindow(MWindow *mwindow)
1043 - : BC_MenuItem(_("Show Overlays"), _("Ctrl-0"), '0')
1044 + : BC_MenuItem(_("Show Overlays"), _("Ctrl+0"), '0')
1046 this->mwindow = mwindow;
1048 @@ -1728,7 +1728,7 @@
1051 SplitX::SplitX(MWindow *mwindow)
1052 - : BC_MenuItem(_("Split X pane"), _("Ctrl-1"), '1')
1053 + : BC_MenuItem(_("Split X pane"), _("Ctrl+1"), '1')
1055 this->mwindow = mwindow;
1057 @@ -1742,7 +1742,7 @@
1060 SplitY::SplitY(MWindow *mwindow)
1061 - : BC_MenuItem(_("Split Y pane"), _("Ctrl-2"), '2')
1062 + : BC_MenuItem(_("Split Y pane"), _("Ctrl+2"), '2')
1064 this->mwindow = mwindow;
1066 @@ -1826,7 +1826,7 @@
1069 MixerViewer::MixerViewer(MixerItems *mixer_items)
1070 - : MixerItem(mixer_items, _("Mixer Viewer"), _("Shift-M"), 'M')
1071 + : MixerItem(mixer_items, _("Mixer Viewer"), _("Shift+M"), 'M')
1075 @@ -1839,7 +1839,7 @@
1078 DragTileMixers::DragTileMixers(MixerItems *mixer_items)
1079 - : MixerItem(mixer_items, _("Drag Tile mixers"), "Alt-t", 't')
1080 + : MixerItem(mixer_items, _("Tile mixers"), "Alt+T", 't')
1084 @@ -1933,7 +1933,7 @@
1085 this->load_layout = load_layout;
1087 char hot_txt[BCSTRLEN];
1088 - sprintf(hot_txt, _("Ctrl-Shift+F%d"), hotkey-KEY_F1+1);
1089 + sprintf(hot_txt, _("Ctrl+Shift+F%d"), hotkey-KEY_F1+1);
1090 set_ctrl(); set_shift();
1091 set_hotkey_text(hot_txt);
1093 diff -ur cinelerra-5.1/cinelerra/mwindowgui.C cinelerra-5.1_after/cinelerra/mwindowgui.C
1094 --- cinelerra-5.1/cinelerra/mwindowgui.C 2022-05-30 15:03:35.152305163 -0600
1095 +++ cinelerra-5.1_after/cinelerra/mwindowgui.C 2023-09-28 11:55:17.355859745 -0600
1096 @@ -1092,27 +1092,38 @@
1098 switch( get_keypress() ) {
1100 - if( !alt_down() ) {
1101 - if( !ctrl_down() || !shift_down() ) break;
1102 + if( !alt_down() && ctrl_down() ) {
1103 mwindow->edl->tracks->clear_selected_edits();
1113 if( !alt_down() ) break;
1114 stop_transport("MWindowGUI::keypress_event 1");
1115 mwindow->nearest_auto_keyframe(shift_down(),
1116 !ctrl_down() ? PLAY_FORWARD : PLAY_REVERSE);
1120 + if( ctrl_down() && alt_down() ) {
1121 + mwindow->select_edits(1);
1129 if( ctrl_down() && alt_down() ) {
1130 mwindow->select_edits(1);
1138 if( ctrl_down() || alt_down() ) break;
1139 @@ -1123,8 +1134,8 @@
1141 if( alt_down() ) break;
1142 stop_transport("MWindowGUI::keypress_event 2");
1143 - mwindow->nearest_plugin_keyframe(shift_down(),
1144 - !ctrl_down() ? PLAY_FORWARD : PLAY_REVERSE);
1145 +// mwindow->nearest_plugin_keyframe(shift_down(),
1146 +// !ctrl_down() ? PLAY_FORWARD : PLAY_REVERSE);
1150 @@ -1204,10 +1215,23 @@
1151 stop_transport("MWindowGUI::keypress_event 1");
1152 mwindow->prev_edit_handle(shift_down());
1154 + // *** Shift+Left Arrow to jump to Previous Keyframe. START new code 2023 ***
1155 + else if( shift_down() ) {
1156 + stop_transport("MWindowGUI::keypress_event 1");
1157 + mwindow->nearest_plugin_keyframe( (!shift_down() && !ctrl_down()), PLAY_REVERSE );
1159 + // *** END new code 2023 ***
1161 mwindow->move_left();
1164 + // *** Ctrl+Shift+Alt+Left Arrow to jump to Previous AutosKeyframe. START new code 2023 ***
1165 + if( ctrl_down() && shift_down() && alt_down() ) {
1166 + stop_transport("MWindowGUI::keypress_event 1");
1167 + mwindow->nearest_auto_keyframe( (!shift_down() && !ctrl_down() && !alt_down() ), PLAY_REVERSE );
1170 + // *** END new code 2023 ***
1174 @@ -1223,10 +1247,23 @@
1175 stop_transport("MWindowGUI::keypress_event 2");
1176 mwindow->next_edit_handle(shift_down());
1178 + // *** Shift+Right Arrow to jump to Next Keyframe. START new code 2023 ***
1179 + else if( shift_down() ) {
1180 + stop_transport("MWindowGUI::keypress_event 1");
1181 + mwindow->nearest_plugin_keyframe( (!shift_down() && !ctrl_down()), PLAY_FORWARD );
1183 + // *** END new code 2023 ***
1185 mwindow->move_right();
1188 + // *** Ctrl+Shift+Alt+Right Arrow to jump to Next AutosKeyframe. START new code 2023 ***
1189 + if( ctrl_down() && shift_down() && alt_down() ) {
1190 + stop_transport("MWindowGUI::keypress_event 1");
1191 + mwindow->nearest_auto_keyframe( (!shift_down() && !ctrl_down() && !alt_down() ), PLAY_FORWARD );
1194 + // *** END new code 2023 ***
1198 diff -ur cinelerra-5.1/cinelerra/new.C cinelerra-5.1_after/cinelerra/new.C
1199 --- cinelerra-5.1/cinelerra/new.C 2023-01-24 11:13:37.499568388 -0700
1200 +++ cinelerra-5.1_after/cinelerra/new.C 2023-09-28 11:55:17.355859745 -0600
1204 NewProject::NewProject(MWindow *mwindow)
1205 - : BC_MenuItem(_("New Project..."), "n", 'n'), New(mwindow)
1206 + : BC_MenuItem(_("New Project..."), "Ctrl+N", 'n'), New(mwindow)
1210 NewProject::~NewProject()
1215 AppendTracks::AppendTracks(MWindow *mwindow)
1216 - : BC_MenuItem(_("Append to Project..."), "Shift-N", 'N'), New(mwindow)
1217 + : BC_MenuItem(_("Append to Project..."), "Shift+N", 'N'), New(mwindow)
1221 diff -ur cinelerra-5.1/cinelerra/playtransport.C cinelerra-5.1_after/cinelerra/playtransport.C
1222 --- cinelerra-5.1/cinelerra/playtransport.C 2022-03-15 21:47:37.376382165 -0600
1223 +++ cinelerra-5.1_after/cinelerra/playtransport.C 2023-09-28 11:55:17.355859745 -0600
1224 @@ -273,12 +273,35 @@
1227 if( alt_key ) command = SINGLE_FRAME_FWD;
1228 +// IF pressed TWICE its toggle between FAST and NORMAL Rewind PLAY
1229 + if( !alt_key && !ctrl_key ) {
1230 + switch( curr_command ) {
1231 + case NORMAL_REWIND:
1232 + command = FAST_REWIND;
1235 + command = NORMAL_REWIND;
1241 if( alt_key ) command = SLOW_FWD;
1242 + if( !alt_key && !ctrl_key ) command = STOP;
1245 if( alt_key ) command = NORMAL_FWD;
1246 +// IF pressed TWICE its toggle between FAST and NORMAL Forward PLAY
1247 + if( !alt_key && !ctrl_key ) {
1248 + switch( curr_command ) {
1250 + command = FAST_FWD;
1253 + command = NORMAL_FWD;
1259 if( alt_key ) command = FAST_FWD;
1260 @@ -286,6 +309,12 @@
1262 if( alt_key ) command = STOP;
1265 + if( !alt_key && !ctrl_key && !shft_key ) command = SINGLE_FRAME_REWIND;
1268 + if( !alt_key && !ctrl_key && !shft_key ) command = SINGLE_FRAME_FWD;
1271 if( command >= 0 ) {
1272 handle_transport(command, 0, use_inout, toggle_audio, loop_play, speed);
1274 FastReverseButton::FastReverseButton(MWindow *mwindow, PlayTransport *transport, int x, int y)
1275 : PTransportButton(mwindow, transport, x, y, mwindow->theme->get_image_set("fastrev"))
1277 - set_tooltip(_("Fast reverse ( + or Alt-p )"));
1278 + set_tooltip(_("Fast reverse ( Numpad +, Alt+P )"));
1279 // *** CONTEXT_HELP ***
1280 context_help_set_keyword("Transport Controls");
1283 ReverseButton::ReverseButton(MWindow *mwindow, PlayTransport *transport, int x, int y)
1284 : PTransportButton(mwindow, transport, x, y, mwindow->theme->get_image_set("reverse"))
1286 - set_tooltip(_("Normal reverse ( 6 or Alt-o )"));
1287 + set_tooltip(_("Normal reverse ( Numpad 6, Alt+O, 'J' )"));
1288 // *** CONTEXT_HELP ***
1289 context_help_set_keyword("Transport Controls");
1292 FrameReverseButton::FrameReverseButton(MWindow *mwindow, PlayTransport *transport, int x, int y)
1293 : PTransportButton(mwindow, transport, x, y, mwindow->theme->get_image_set("framerev"))
1295 - set_tooltip(_("Frame reverse ( 4 or Alt-u )"));
1296 + set_tooltip(_("Frame reverse ( Numpad 4, Alt+U, ',' )"));
1297 // *** CONTEXT_HELP ***
1298 context_help_set_keyword("Transport Controls");
1301 PlayButton::PlayButton(MWindow *mwindow, PlayTransport *transport, int x, int y)
1302 : PTransportButton(mwindow, transport, x, y, mwindow->theme->get_image_set("play"))
1304 - set_tooltip(_("Normal forward ( 3 or Alt-l )"));
1305 + set_tooltip(_("Normal forward ( Numpad 3, Alt+L, 'L' )"));
1306 // *** CONTEXT_HELP ***
1307 context_help_set_keyword("Transport Controls");
1310 FramePlayButton::FramePlayButton(MWindow *mwindow, PlayTransport *transport, int x, int y)
1311 : PTransportButton(mwindow, transport, x, y, mwindow->theme->get_image_set("framefwd"))
1313 - set_tooltip(_("Frame forward ( 1 or Alt-j )"));
1314 + set_tooltip(_("Frame forward ( Numpad 1, Alt+J, '.' )"));
1315 // *** CONTEXT_HELP ***
1316 context_help_set_keyword("Transport Controls");
1319 FastPlayButton::FastPlayButton(MWindow *mwindow, PlayTransport *transport, int x, int y)
1320 : PTransportButton(mwindow, transport, x, y, mwindow->theme->get_image_set("fastfwd"))
1322 - set_tooltip(_("Fast forward ( Enter or Alt-; )"));
1323 + set_tooltip(_("Fast forward ( Numpad Enter, Alt+; )"));
1324 // *** CONTEXT_HELP ***
1325 context_help_set_keyword("Transport Controls");
1328 StopButton::StopButton(MWindow *mwindow, PlayTransport *transport, int x, int y)
1329 : PTransportButton(mwindow, transport, x, y, mwindow->theme->get_image_set("stop"))
1331 - set_tooltip(_("Stop ( 0 or Alt-m )"));
1332 + set_tooltip(_("Stop ( Numpad 0, Alt+M, 'K' )"));
1333 // *** CONTEXT_HELP ***
1334 context_help_set_keyword("Transport Controls");
1336 diff -ur cinelerra-5.1/cinelerra/preferencesthread.C cinelerra-5.1_after/cinelerra/preferencesthread.C
1337 --- cinelerra-5.1/cinelerra/preferencesthread.C 2022-03-15 21:47:37.379382184 -0600
1338 +++ cinelerra-5.1_after/cinelerra/preferencesthread.C 2023-09-28 11:55:17.356859758 -0600
1342 PreferencesMenuitem::PreferencesMenuitem(MWindow *mwindow)
1343 - : BC_MenuItem(_("Preferences..."), _("Shift-P"), 'P')
1344 + : BC_MenuItem(_("Preferences..."), _("Shift+P"), 'P')
1346 this->mwindow = mwindow;
1348 diff -ur cinelerra-5.1/cinelerra/proxy.C cinelerra-5.1_after/cinelerra/proxy.C
1349 --- cinelerra-5.1/cinelerra/proxy.C 2022-03-15 21:47:37.380382190 -0600
1350 +++ cinelerra-5.1_after/cinelerra/proxy.C 2023-09-28 11:55:17.356859758 -0600
1352 #define MAX_SCALE 16
1354 ProxyMenuItem::ProxyMenuItem(MWindow *mwindow)
1355 - : BC_MenuItem(_("Proxy settings..."), _("Alt-r"), 'r')
1356 + : BC_MenuItem(_("Proxy settings..."), _("Alt+R"), 'r')
1358 this->mwindow = mwindow;
1360 diff -ur cinelerra-5.1/cinelerra/quit.C cinelerra-5.1_after/cinelerra/quit.C
1361 --- cinelerra-5.1/cinelerra/quit.C 2022-03-15 21:47:37.380382190 -0600
1362 +++ cinelerra-5.1_after/cinelerra/quit.C 2023-09-28 11:55:17.356859758 -0600
1366 Quit::Quit(MWindow *mwindow)
1367 - : BC_MenuItem(_("Quit"), "q", 'q'), Thread()
1368 + : BC_MenuItem(_("Quit"), "Ctrl+Q", 'q'), Thread()
1371 this->mwindow = mwindow;
1374 diff -ur cinelerra-5.1/cinelerra/record.C cinelerra-5.1_after/cinelerra/record.C
1375 --- cinelerra-5.1/cinelerra/record.C 2022-03-15 21:47:37.381382196 -0600
1376 +++ cinelerra-5.1_after/cinelerra/record.C 2023-09-28 11:55:17.356859758 -0600
1380 RecordMenuItem::RecordMenuItem(MWindow *mwindow)
1381 - : BC_MenuItem(_("Record..."), "r", 'r')
1382 + : BC_MenuItem(_("Record..."), "R", 'r')
1384 this->mwindow = mwindow;
1385 record = new Record(mwindow, this);
1386 diff -ur cinelerra-5.1/cinelerra/render.C cinelerra-5.1_after/cinelerra/render.C
1387 --- cinelerra-5.1/cinelerra/render.C 2023-06-28 10:24:09.242079933 -0600
1388 +++ cinelerra-5.1_after/cinelerra/render.C 2023-09-28 11:55:17.356859758 -0600
1392 RenderItem::RenderItem(MWindow *mwindow)
1393 - : BC_MenuItem(_("Render..."), _("Shift-R"), 'R')
1394 + : BC_MenuItem(_("Render..."), _("Shift+R"), 'R')
1396 this->mwindow = mwindow;
1398 diff -ur cinelerra-5.1/cinelerra/savefile.C cinelerra-5.1_after/cinelerra/savefile.C
1399 --- cinelerra-5.1/cinelerra/savefile.C 2022-03-15 21:47:37.385382220 -0600
1400 +++ cinelerra-5.1_after/cinelerra/savefile.C 2023-09-28 11:55:17.356859758 -0600
1404 SaveBackup::SaveBackup(MWindow *mwindow)
1405 - : BC_MenuItem(_("Save backup"), "b", 'b')
1406 + : BC_MenuItem(_("Save backup"), "B", 'b')
1408 this->mwindow = mwindow;
1414 -Save::Save(MWindow *mwindow) : BC_MenuItem(_("Save"), "s", 's')
1415 +Save::Save(MWindow *mwindow) : BC_MenuItem(_("Save"), "Ctrl+S", 's')
1418 this->mwindow = mwindow;
1424 SaveAs::SaveAs(MWindow *mwindow)
1425 - : BC_MenuItem(_("Save as..."), "Shift-S", 'S'), Thread()
1426 + : BC_MenuItem(_("Save as..."), "Ctrl+Shift+S", 'S'), Thread()
1430 this->mwindow = mwindow;
1435 SaveProject::SaveProject(MWindow *mwindow)
1436 - : BC_MenuItem(_("Export Project..."), "Alt-s", 's'), Thread()
1437 + : BC_MenuItem(_("Export Project..."), "Alt+S", 's'), Thread()
1440 this->mwindow = mwindow;
1441 @@ -257,10 +259,10 @@
1444 SaveSession::SaveSession(MWindow *mwindow)
1445 - : BC_MenuItem(_("Save Session"),_("Ctrl-s"),'s')
1446 + : BC_MenuItem(_("Save Session"))
1448 this->mwindow = mwindow;
1453 int SaveSession::handle_event()
1454 diff -ur cinelerra-5.1/cinelerra/setformat.C cinelerra-5.1_after/cinelerra/setformat.C
1455 --- cinelerra-5.1/cinelerra/setformat.C 2023-01-24 11:13:37.500568399 -0700
1456 +++ cinelerra-5.1_after/cinelerra/setformat.C 2023-09-28 11:55:17.357859770 -0600
1460 SetFormat::SetFormat(MWindow *mwindow)
1461 - : BC_MenuItem(_("Format..."), _("Shift-F"), 'F')
1462 + : BC_MenuItem(_("Format..."), _("Shift+F"), 'F')
1465 this->mwindow = mwindow;
1466 diff -ur cinelerra-5.1/cinelerra/swindow.C cinelerra-5.1_after/cinelerra/swindow.C
1467 --- cinelerra-5.1/cinelerra/swindow.C 2023-02-09 09:50:37.265383255 -0700
1468 +++ cinelerra-5.1_after/cinelerra/swindow.C 2023-09-28 11:55:17.357859770 -0600
1469 @@ -1106,7 +1106,7 @@
1472 SubttlSWin::SubttlSWin(MWindow *mwindow)
1473 - : BC_MenuItem(_("SubTitle..."), _("Alt-y"), 'y')
1474 + : BC_MenuItem(_("SubTitle..."), _("Alt+Y"), 'y')
1477 this->mwindow = mwindow;
1478 diff -ur cinelerra-5.1/guicast/bcfilebox.C cinelerra-5.1_after/guicast/bcfilebox.C
1479 --- cinelerra-5.1/guicast/bcfilebox.C 2022-03-15 21:47:37.422382444 -0600
1480 +++ cinelerra-5.1_after/guicast/bcfilebox.C 2023-09-28 15:19:16.470367060 -0600
1482 int BC_FileBox::keypress_event()
1484 switch(get_keypress()) {
1487 if( !ctrl_down() ) break;
1489 @@ -775,6 +776,19 @@
1490 if( !ctrl_down() ) break;
1494 + // *** START new code 2023 ***
1497 + if( ctrl_down() && !shift_down() && !alt_down() ) {
1498 + refresh(0, 1); // Select All
1501 + if( ctrl_down() && shift_down() && !alt_down() ) {
1502 + refresh(0, 0); // Deselect All
1505 + // *** END new code 2023 ***
1507 if( !ctrl_down() ) break;