Geoffrey McRae
1082875b8e
[client] opengl: fix startup since ImGui upgrade
2022-01-24 06:42:16 +11:00
Geoffrey McRae
dc918c55b6
[client] main: only copy the needed cursor data instead of everything
2022-01-24 06:36:15 +11:00
Geoffrey McRae
a8ba014b52
[client] main: lgmpClientMessageDone is not idempotent
2022-01-24 04:10:49 +11:00
Quantum
9a6aa3ce66
[client] egl: remove duplicate #include "app.h"
2022-01-23 08:49:15 +11:00
Quantum
f2fbb2b27c
[client] opengl: make draw functions static
2022-01-23 08:49:01 +11:00
Geoffrey McRae
9601bc677f
[client] audio: report the buffered frames and not the buffer length
2022-01-22 16:06:16 +11:00
Geoffrey McRae
c84879717f
[client] audio: fix failure to properly handle restart if draining
2022-01-20 07:02:00 +11:00
Geoffrey McRae
b3c81bcedf
[client] audio: fix use after free race
2022-01-19 18:50:39 +11:00
Geoffrey McRae
15f76339c8
[client] audio: move the memory copy into the pull function
2022-01-19 10:29:49 +11:00
Geoffrey McRae
04ae9217e8
[client] audio: allow the audiodev to determine the start fill level
2022-01-19 01:52:19 +11:00
Geoffrey McRae
46da447429
[client] audio: fix latency calculation
2022-01-19 00:58:48 +11:00
Geoffrey McRae
4b080f7610
[client] audio: don't lock when consuming frames from the buffer
2022-01-19 00:25:52 +11:00
Geoffrey McRae
d6bbc4f89c
[client] audio/pw: return the actual playback latency
2022-01-19 00:03:16 +11:00
Geoffrey McRae
4fadf3a130
[client] audio: tell the audiodev to stop on the last packet, not after
2022-01-18 23:43:12 +11:00
Geoffrey McRae
73dc08e5f9
[client] audio: remove duplicated line
2022-01-18 23:42:02 +11:00
Geoffrey McRae
07c92ec2e8
[client] audio: drain buffers on stop instead of just discarding them
2022-01-18 23:39:05 +11:00
Geoffrey McRae
b334f22223
[client] audio: rework audiodevs to be pull model from a common buffer
2022-01-18 09:02:44 +11:00
Geoffrey McRae
aad65c1cab
[client] graphs: overlay on removal of graph
2022-01-17 22:53:52 +11:00
Geoffrey McRae
0ad26b7da7
[client] audio: redraw the graphs if they have been updated
2022-01-17 22:49:19 +11:00
Geoffrey McRae
775ac7ce8b
[client] audio: reduce timing graph sample count to 30 seconds
2022-01-17 22:23:37 +11:00
Geoffrey McRae
689cc53255
[client] audio: add audio playback latency interface and graph
2022-01-17 22:13:41 +11:00
Geoffrey McRae
5629655f74
[client] audio/pw: fix memory leak and gracefully shutdown
2022-01-17 22:10:41 +11:00
Geoffrey McRae
54e7542414
[client] overlay/graph: actually remove unregistered overlays
...
ll now supports removal of elements, so actually do it
2022-01-17 22:09:41 +11:00
Geoffrey McRae
464fee3e20
[client] overlay/graphs: allow the graph to have a custom title format
2022-01-17 22:08:56 +11:00
Geoffrey McRae
42ed0d7638
[client] app: allow key-repeat to work with keybinds
2022-01-17 20:33:57 +11:00
Geoffrey McRae
5a3fe151e4
[client] main: don't use Linux keybinds if the guest is not Linux
2022-01-17 20:26:45 +11:00
Jonathan Rubenstein
745169fae2
[client] Add capture mode support for media keys
...
Supports Play/Pause, Stop, Next, and Previous
2022-01-17 15:09:36 +11:00
Jonathan Rubenstein
7f79352320
[client] Add support for volume keys in capture mode
...
These include Volume Up, Volume Down, and Mute
Co-authored-by: Quantum <quantum2048@gmail.com>
2022-01-17 15:09:36 +11:00
Quantum
b020372972
[client] imgui: allow arrows to be displayed
2022-01-17 15:09:03 +11:00
Quantum
5fe529f213
[client] spice: allow volume control keys to be sent to the guest
...
These are implemented as ScrollLock+Up/Down for volume up and down, and
ScrollLock+M to toggle audio mute. These should prove useful especially
when Looking Glass now supports streaming audio, and the volume is
defined in the guest and set on the output stream.
2022-01-17 15:09:03 +11:00
Quantum
7c91c922e6
[client] input: avoid reentrancy when realigning guest cursor
...
This prevents LGMP_ERR_QUEUE_FULL from happening with high polling rate
mice, which is caused by receiving many more mouse events while the
guest cursor warps, triggering more warps.
2022-01-15 19:25:30 +11:00
Chris Spencer
f635077a2c
[client] egl: increase texture processing timeout
...
On my machine (Intel UHD Graphics 770), texture processing occasionally
(about 5% of the time) takes more than 20ms (the highest I have seen is
around 32ms) when the host resolution is 2560x1440. This results in the
frame being discarded and the client displays a stale image. Increase the
timeout to 40ms.
2022-01-14 12:31:02 +11:00
Chris Spencer
786a252b23
[client] x11: don't use primary selection for clipboard
...
This behaviour is more consistent with other applications where text
selections do not influence explicit clipboard operations.
2022-01-13 08:18:56 +11:00
Geoffrey McRae
6bba9bc25d
[client/common] move ll from the client into the common code module
2022-01-12 12:22:18 +11:00
Geoffrey McRae
1851002fc1
[client] all: remove ll_walk
and migrate over to ll_forEachNL
2022-01-12 12:17:29 +11:00
Geoffrey McRae
b99e1ea38e
[client] ll: fix error in ll_forEachNL macro
2022-01-12 12:17:06 +11:00
Geoffrey McRae
2ecfa0a3ec
[client] msg: add missing header file
2022-01-12 10:08:29 +11:00
Geoffrey McRae
ca0bc7c514
[client] close message boxes if the client connects
2022-01-12 10:04:16 +11:00
Geoffrey McRae
4122841b09
[client] spice: fix memory leak
2022-01-12 10:03:56 +11:00
Geoffrey McRae
e94252ad65
squash with ll
2022-01-12 10:03:31 +11:00
Geoffrey McRae
6fc0c69b2e
[client] overlay/msg: provide a method to close messages from code
2022-01-12 09:35:09 +11:00
Geoffrey McRae
ced952a4c6
[client] ll: add new functionallity to allow removal of items
2022-01-12 09:33:36 +11:00
Geoffrey McRae
4411d21135
[client] spice: update submodule to prevent segfault on shutdown
2022-01-12 07:42:01 +11:00
Chris Spencer
8a61c8ebc2
[client] audio/pw: use rate matching
...
This can prevent glitches when the PipeWire quantum size changes.
2022-01-11 09:45:30 +11:00
Chris Spencer
ef9b2958ec
[client] audio/pw: set maximum node latency
...
This prevents severe buffer underruns if the PipeWire quantum is bigger
than the ring buffer size. This could happen if a media player is running
at the same time as Looking Glass if it requests a very large quantum size,
for example.
2022-01-11 09:45:30 +11:00
Chris Spencer
e72e138267
[client] audio/pw: delay playback to avoid glitches
2022-01-11 09:45:30 +11:00
Chris Spencer
4c389a9274
[client] audio/pw: flush playback buffers before stopping
...
This stops the end of the playback from being truncated. It also prevents
an audible glitch when playback next starts due to the truncated data being
left behind in the ring buffer.
2022-01-11 09:45:30 +11:00
Chris Spencer
b9c646074d
[client] audio/pw: don't discard playback data
...
This can cause significant glitching, particularly around the start of
playback.
2022-01-11 09:45:30 +11:00
Geoffrey McRae
0fc87576f3
[client] core: fallback to manual realignment if the LGMP message fails
2022-01-09 21:25:40 +11:00
Geoffrey McRae
24193aaaa6
[client] main: added user feedback during LGMP/KVMFR version check
2022-01-09 02:15:18 +11:00