-
Notifications
You must be signed in to change notification settings - Fork 62
Expand file tree
/
Copy pathcontrols.cpp
More file actions
78 lines (76 loc) · 4.11 KB
/
controls.cpp
File metadata and controls
78 lines (76 loc) · 4.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include "controls.h"
static const std::vector<ControlSection> control_sections{
{"Basic",
{{"H", "Toggle on-screen help text for controls"},
{"V", "Toggle video info overlay"},
{"Space", "Toggle play/pause"},
{",", "Toggle bidirectional in-buffer loop/pause"},
{".", "Toggle forward-only in-buffer loop/pause"},
{"Escape", "Quit"},
{"Left arrow", "Seek 1 second backward"},
{"Right arrow", "Seek 1 second forward"},
{"Up arrow", "Seek 15 seconds forward"},
{"Down arrow", "Seek 15 seconds backward"},
{"Page up", "Seek 600 seconds forward"},
{"Page down", "Seek 600 seconds backward"},
{"Z", "Magnify area around cursor (shown in lower-left corner)"},
{"C", "Magnify area around cursor (shown in lower-right corner)"},
{"J", "Reduce playback speed"},
{"L", "Increase playback speed"},
{"A", "Move to the previous frame in the buffer"},
{"D", "Move to the next frame in the buffer"},
{"E", "Re-center view around mouse position"},
{"R", "Global re-center and reset zoom to 100% (x1)"},
{"S", "Swap left and right video"},
{"Tab", "Cycle through right videos"},
{"1", "Toggle hide/show left video"},
{"2", "Toggle hide/show right video"},
{"3", "Toggle hide/show HUD"},
{"4", "Zoom to 1:1 pixels"},
{"5", "Zoom 50% (x0.5)"},
{"6", "Zoom 100% (x1)"},
{"7", "Zoom 200% (x2)"},
{"8", "Zoom 400% (x4)"},
{"9", "Zoom 800% (x8)"},
{"0", "Toggle video/subtraction mode"},
{"+", "Time-shift right video 1 frame forward"},
{"-", "Time-shift right video 1 frame backward"}}},
{"Advanced",
{{"P", "Print mouse position and pixel value under cursor to console"},
{"M", "Print image similarity metrics to console"},
{"F", "Save both frames and the on-screen content as PNG images"},
{"I", "Toggle fast/high-quality resizing for input alignment"},
{"T", "Toggle nearest-neighbor/bilinear video texture filtering"},
{"Y", "Cycle through subtraction modes"},
{"U", "Toggle luminance-only subtraction mode"},
{"X", "Show the current video frame and UI update rates (FPS)"},
{"F1", "Toggle Histogram window"},
{"F2", "Toggle Vectorscope window"},
{"F3", "Toggle Waveform window"},
{"Alt+Enter", "Toggle fullscreen"},
{"Backspace", "Clear crop(s)"},
{"Shift+L", "Crop left video interactively"},
{"Shift+R", "Crop right video interactively"},
{"Shift+B", "Crop both videos to the same area"},
{"Shift+D", "Decode and advance one frame"},
{"Shift+A", "Seek to the previous frame (best with intra-frame formats)"},
{"Shift+M", "Cycle display mode"},
{"Shift+S", "Cycle aspect view mode"},
{"Shift+F", "Select a region and save cutouts as PNGs"},
{"Shift+X", "Print display state to console"},
{"Shift+W", "Restore saved window size"},
{"Ctrl+W", "Restore startup window size"},
{"Ctrl+Shift+W", "Save current window size"},
{"Ctrl+Shift+1..0", "Switch directly to right video 1-10"},
{"Ctrl+C / Cmd+C", "Copy the current timestamp of the left video to the clipboard"},
{"Ctrl+V / Cmd+V", "Paste a timestamp from the clipboard and seek to that position"},
{"Ctrl + +/-", "Time-shift right video by 10 frames"},
{"Alt + +/-", "Time-shift right video by 100 frames"}}},
{"Mouse Controls",
{{"", "Move the mouse horizontally to adjust the movable slider position."},
{"", "Use the mouse wheel to zoom in/out on the pixel under the cursor. Pan the view by moving the mouse while holding down the right button."},
{"", "Left-click the mouse to perform a time seek based on the horizontal position of the mouse cursor relative to the window width (the target position is shown in the lower right corner)."}}},
{"Other", {{"", "Hold Ctrl or Shift for smaller relative seek, playback-speed, and zoom adjustments where available. Availability may depend on conflicts with application shortcuts or operating system bindings."}}}};
const std::vector<ControlSection>& get_control_sections() {
return control_sections;
}