Cameron Gutman
eed9fca10c
Mass conversion of isNull() -> isEmpty()
2018-09-14 18:36:15 -07:00
Cameron Gutman
25d97e187a
Fix large mouse input delay on GFE 3.14.0 and earlier. Fixes #68
2018-09-14 18:35:28 -07:00
Cameron Gutman
7ca2ca8045
Print the GPU driver version on Windows
2018-09-13 14:54:30 -07:00
Cameron Gutman
54885c3e5f
Revert "Delay Session::exec() for 250 ms to allow the StackView transition to complete" due to regressing spinner performance on Windows and Linux
...
This reverts commit b8ffb6e53d
.
2018-09-13 14:39:33 -07:00
Cameron Gutman
b8ffb6e53d
Delay Session::exec() for 250 ms to allow the StackView transition to complete
2018-09-13 14:33:38 -07:00
Cameron Gutman
7bc43c226d
Fix underflow in audio drop code
2018-09-13 14:09:03 -07:00
Cameron Gutman
da4697794d
Increase buffer size for glitch-free playback on macOS
2018-09-13 13:02:21 -07:00
Cameron Gutman
879c524658
Revert "Process Qt events in the SDL loop" to fix input issues on Windows and Mac
...
This reverts commit c8e00195ed
.
2018-09-13 12:14:56 -07:00
Cameron Gutman
e3a8f010c3
Fixes for experimental Qt audio renderer
2018-09-13 12:00:51 -07:00
Cameron Gutman
f2f8f92172
Add gamepad mapping DB from https://github.com/gabomdq/SDL_GameControllerDB
2018-09-13 11:58:32 -07:00
Cameron Gutman
6e06174db6
Add experimental Qt audio renderer
2018-09-13 08:17:26 -07:00
Cameron Gutman
c8e00195ed
Process Qt events in the SDL loop
2018-09-13 08:03:06 -07:00
Cameron Gutman
64bc189010
Fixes to SDL audio renderer and autodetection support
2018-09-13 07:46:01 -07:00
Cameron Gutman
12496e4432
Refactor audio rendering into a separate class
2018-09-13 06:23:06 -07:00
Cameron Gutman
9e2fd67487
Add option to enable mouse acceleration for remote desktop usage
2018-09-09 13:21:11 -07:00
Cameron Gutman
af17d56cbd
Add option to disable mDNS PC discovery. Fixes #50
2018-09-09 12:33:19 -07:00
Cameron Gutman
6e0a657b76
Update readme and metadata for Beta 1 features
2018-09-09 11:53:58 -07:00
Cameron Gutman
b0a9fc7085
Add Help option to connection failure dialog
2018-09-09 11:53:14 -07:00
Cameron Gutman
0b94ad1fef
Add help link in Add PC failure dialog
2018-09-09 11:19:33 -07:00
Cameron Gutman
9dcd856099
Blacklist Kepler GPUs for HEVC due to hybrid decode support present in some drivers
2018-09-09 10:48:01 -07:00
Cameron Gutman
cfbcc4093c
Reduce UI jank when transitioning to the stream segue
2018-09-09 10:17:32 -07:00
Cameron Gutman
b8169ae08b
Fix broken quit dialog transition to next app
2018-09-09 10:08:23 -07:00
Cameron Gutman
103625fbdd
Version v0.4.0
2018-09-08 16:58:03 -07:00
Cameron Gutman
4712080a1b
Fix centering of streaming window and size after toggling full-screen on Windows
2018-09-08 16:01:35 -07:00
Cameron Gutman
93c683be3a
Allow renderers that force V-sync on to run without it when streaming higher than the display refresh rate
2018-09-08 15:27:21 -07:00
Cameron Gutman
c9a7c15f98
Improve unsupported FPS options and performance
2018-09-08 15:09:46 -07:00
Cameron Gutman
64a08f0533
Allow higher than display refresh rate streaming with unsupported FPS option
2018-09-08 14:34:11 -07:00
Cameron Gutman
52c6455ca5
Avoid sending a click event on focus gain on Linux
2018-09-08 14:05:42 -07:00
Cameron Gutman
238681d72f
Merge pull request #67 from jhakonen/capture-on-activated-window
...
Capture mouse cursor when clicking inactive window
2018-09-08 14:01:27 -07:00
Janne Hakonen
300b53f28c
Capture mouse cursor when clicking inactive window
2018-09-08 16:39:20 +03:00
Janne Hakonen
3dabb1c891
Fixed < key in keyboard not working
2018-09-08 14:16:27 +03:00
Cameron Gutman
4381f7a973
Apply changes to preferences when loading the settings page
2018-09-07 23:16:13 -07:00
Cameron Gutman
77b767ae5b
Hide autodetect option for audio configuration since it's broken on macOS and Linux (and to some extent, Windows)
2018-09-07 22:51:56 -07:00
Cameron Gutman
2c4f78133f
Avoid inflating MessageDialogs for each app in the grid. Fixes scrolling jank on app grid.
2018-09-07 17:33:34 -07:00
Cameron Gutman
ec2c181f4e
Use 4 threads for fetching box art
2018-09-07 17:30:43 -07:00
Cameron Gutman
fae98eb13a
Limit box art fetching to a single thread to improve UI responsiveness
2018-09-07 17:02:52 -07:00
Cameron Gutman
f1d117d5d7
Ensure FFmpeg log messages are written to the debug log
2018-09-07 15:53:10 -07:00
Cameron Gutman
529ac8041a
Only write a dump for the first unhandled exception
2018-09-07 15:45:35 -07:00
Cameron Gutman
391e84e0f4
Create a crash dump when Moonlight crashes on Windows
2018-09-07 14:16:59 -07:00
Cameron Gutman
6a2b717ff1
Run in native resolution on Retina displays when streaming above scaled resolution
2018-09-07 01:12:18 -07:00
Cameron Gutman
475a39cb73
Recreate the decoder when moving to a new display to allow Pacer to get the new refresh rate
2018-09-06 19:42:53 -07:00
Cameron Gutman
4dba74e2f9
Fix handling of undefined and non-matching refresh rate
2018-09-06 19:16:59 -07:00
Cameron Gutman
587d783955
Use SDL_WINDOWPOS_CENTERED_DISPLAY() to fix incorrect positioning on multi-display system on macOS
2018-09-06 18:53:00 -07:00
Cameron Gutman
5da156b433
Prefer H.264 for higher decoding performance in very high load situations
2018-09-05 18:57:40 -07:00
Cameron Gutman
b2eeb63b6f
Mark the full-screen display mode as recommended due to lower latency and better frame pacing
2018-09-05 17:46:29 -07:00
Cameron Gutman
a7517dace3
Switch to ItemDelegate for PCs and Apps for proper hover and click behavior
2018-09-05 17:08:27 -07:00
Cameron Gutman
bd9f2d2009
Remove unused Menu items in ToolButtons
2018-09-05 16:38:52 -07:00
Cameron Gutman
78730f7235
Wake host on a separate worker thread to avoid hanging the UI for DNS resolution
2018-09-05 16:10:32 -07:00
Cameron Gutman
8a2491d955
Populate RC strings for Windows builds
2018-09-05 15:52:50 -07:00
Cameron Gutman
0d68faf40c
Remove unused parameter
2018-09-05 15:45:36 -07:00
Cameron Gutman
957a2b2169
Fix box art caching location and cleanup of cache directory by the uninstaller
2018-09-05 15:45:10 -07:00
Cameron Gutman
856318f947
Start the SDL window on the same display as the Qt UI was displayed on
2018-09-05 15:15:53 -07:00
Cameron Gutman
6d0fc22ab5
Ensure symbols are always generated for debugging purposes
2018-09-04 00:18:02 -07:00
Cameron Gutman
9a71b4c237
Improve mouse batching to only batch if the last event was less than 1 millisecond ago
2018-09-04 00:09:35 -07:00
Cameron Gutman
9aa487418f
Force V-Sync enabled for DXVA2 windowed with DWM composition enabled
2018-09-03 23:34:15 -07:00
Cameron Gutman
203b2fcaca
Batch mouse move events for high DPI mice
2018-09-04 00:37:21 -04:00
Cameron Gutman
dae21f2638
Detect native panel resolution on Retina displays. Fixes #59
2018-09-04 00:21:37 -04:00
Cameron Gutman
af6e99cbac
Select the highest full-screen refresh rate that our stream FPS evenly divides
2018-09-03 22:54:41 -04:00
Cameron Gutman
6d6acf4308
Fix release builds
2018-09-03 22:47:31 -04:00
Cameron Gutman
7dd4815edf
Allow selection between full-screen exclusive mode and borderless windowed mode
2018-09-03 22:17:34 -04:00
Cameron Gutman
2c068a99a3
Allow FFmpeg renderers to enforce V-sync being enabled or disabled
2018-09-03 20:57:09 -04:00
Cameron Gutman
fa93364ddd
Ensure the CVDisplayLink is synchronized to the display that our window is on
2018-09-03 20:19:24 -04:00
Cameron Gutman
9b1eef3f63
Pass AV_HWACCEL_FLAG_IGNORE_LEVEL for VDPAU per FFmpeg documentation recommendation
2018-09-03 17:06:21 -04:00
Cameron Gutman
ed6c07fd4b
Display all frames even if they are corrupt or missing references (as will happen during reference frame invalidation)
2018-09-02 18:45:29 -04:00
Cameron Gutman
5ad96f5287
Display a dialog when the connection is terminated by the remote PC
2018-09-02 18:34:10 -04:00
Janne Hakonen
b96ace7f04
Release mouse cursor when window focus is lost
2018-09-02 00:31:37 +03:00
Cameron Gutman
234a8dc3d5
Fix build with HAVE_SLVIDEO
2018-08-31 10:40:25 -04:00
Cameron Gutman
0467c2f893
Don't rely on Qt 5.10 icon feature
2018-08-31 02:28:26 -04:00
Cameron Gutman
762fe92933
Allow streaming with no audio device. Fixes #52
2018-08-31 00:09:31 -04:00
Cameron Gutman
8a8b624f47
Add logging for adding a PC and offline/online state transitions
2018-08-30 23:15:06 -04:00
Cameron Gutman
9470615c63
Use QtQuick.Dialogs 1.2 for Qt 5.9 support
2018-08-30 00:00:05 -04:00
Cameron Gutman
8f0ea700a5
Fix QML error when pairing successfully
2018-08-29 23:59:19 -04:00
Cameron Gutman
b7cbec0b1c
Pass RFI flags to decoder
2018-08-25 13:36:54 -07:00
Cameron Gutman
9be9934b8c
Add reference frame invalidation for the software decoder
2018-08-25 12:38:04 -07:00
Cameron Gutman
55f0e1e1d5
Use QT_OPENGL to set ANGLE
2018-08-25 11:59:32 -07:00
Cameron Gutman
bbd784fc85
Use ANGLE for rendering on Windows
2018-08-25 11:35:55 -07:00
Cameron Gutman
408f93732b
Fix 'invalid VADisplay' errors on renderer destruction
2018-08-25 11:21:52 -07:00
Cameron Gutman
fb53c95207
Version 0.3.0
2018-08-21 01:18:55 -07:00
Cameron Gutman
960e083152
Add manifest for Windows
2018-08-21 01:07:30 -07:00
Cameron Gutman
7e560aa09e
Use MMCSS when streaming with the DXVA renderer
2018-08-21 00:53:41 -07:00
Cameron Gutman
7d9478b774
Fix FlipEx on Windows 7
2018-08-21 00:49:29 -07:00
Cameron Gutman
0fa0ab43c9
Fix broken Alt+Tab behavior on Windows
2018-08-20 22:48:48 -07:00
Cameron Gutman
f9cdd49d2e
Add settings option to disable V-sync for lowest possible latency on Windows
2018-08-20 22:25:19 -07:00
Cameron Gutman
7661f5a3d7
Use SetThreadExecutionState() to disable the screensaver since SDL doesn't currently call that. Fixes #46
2018-08-20 21:36:23 -07:00
Cameron Gutman
395f337bbb
Switch full-screen mode back to full-screen exclusive on Windows to reduce latency by 1 frame
2018-08-20 21:19:00 -07:00
Cameron Gutman
9e9fe2a2cf
Work around DWM bug on Windows 7 causing horrible performance
2018-08-20 21:17:25 -07:00
Cameron Gutman
5bf88cfe96
Fix Mac build
2018-08-20 18:57:11 -07:00
Cameron Gutman
f7d3c10c9d
Plumb the ability to disable V-sync through the video renderers
2018-08-20 18:19:42 -07:00
Cameron Gutman
6b395c816f
Allow Pacer to wait for frames up until a few ms before v-sync for better smoothness and lower latency
2018-08-20 17:53:35 -07:00
Cameron Gutman
d6e7173af0
Add a VsyncSource for renderers that already block for V-sync
2018-08-20 17:24:47 -07:00
Cameron Gutman
1a60484abc
Use hardware vertex processing if available
2018-08-19 22:45:17 -07:00
Cameron Gutman
62f765b2b4
Switch DXVA2 to IDirect3D9Ex APIs for more detailed control of rendering
2018-08-19 21:53:39 -07:00
Cameron Gutman
1b8c3aae73
Speed up resize/full-screen by avoiding excessive decoder resets
2018-08-19 01:19:23 -07:00
Cameron Gutman
845e84adb7
Avoid the test frame for DXVA2 and VT APIs to address flickering in full-screen on Win7
2018-08-19 00:59:04 -07:00
Cameron Gutman
30f673efe1
Create Qt components with all parameters specified otherwise it will be instantiated with default properties
2018-08-16 23:29:46 -07:00
Cameron Gutman
c1b1719914
Recreate the VT decoder if the display layer fails. Minor fix to Path class.
2018-08-16 23:09:40 -07:00
Cameron Gutman
9fbdd794b9
Improve support for full-screen exclusive mode
2018-08-16 22:25:14 -07:00
Cameron Gutman
38ff2bf5cb
Store all files in the current directory for portable installations. Fixes #43
2018-08-16 21:04:47 -07:00
Cameron Gutman
345e800abd
Always submit frames to Pacer if it's using a frame queue
2018-08-16 17:59:33 -07:00
Cameron Gutman
404eaa44e4
Implement frame pacing for Windows using D3DKMTWaitForVerticalBlankEvent
2018-08-16 01:29:53 -07:00
Cameron Gutman
8e257ab241
Remove unused function
2018-08-16 00:04:28 -07:00
Cameron Gutman
fabbad5370
Fix build error on Windows and warnings
2018-08-16 00:02:43 -07:00
Cameron Gutman
7d61acb2a8
Use Pacer to drive all rendering
2018-08-15 23:57:03 -07:00
Cameron Gutman
f6a451d6e7
Add PoC VsyncSource for Windows using DwmFlush(). Soon to be replaced with D3DKMTWaitForVerticalBlankEvent().
2018-08-15 23:20:56 -07:00
Cameron Gutman
e68a15c825
Move the Vsync logic from VTRenderer into a VsyncSource
2018-08-15 22:02:15 -07:00
Cameron Gutman
f929cffce7
Let Pacer know what the display Hz and stream FPS are so it can make better drop decisions
2018-08-15 21:10:35 -07:00
Cameron Gutman
f171588616
Pass the maximum frame rate into FFmpeg renderers
2018-08-15 20:41:19 -07:00
Cameron Gutman
e467ce7ce8
Uninitialize video subsystem before allowing a racing session to start to prevent an assert from firing
2018-08-15 20:35:11 -07:00
Cameron Gutman
f714a5d0cb
Refactor frame pacing from VT renderer into a separate class for sharing with other renderers
2018-08-14 19:13:17 -07:00
Cameron Gutman
c9bf5ae79d
Prevent underflow during audio frame drop calculation
2018-08-14 17:39:29 -07:00
Cameron Gutman
cf2d8f71d6
Avoid setting timer resolution to 1 ms while Moonlight is not streaming
2018-08-13 22:23:05 -07:00
Cameron Gutman
611d9ac1ba
Pass the chroma type to the VDPAU video mixer
2018-08-13 20:02:55 -07:00
Cameron Gutman
f3309087ab
Avoid polling if the Qt window is minimized
2018-08-13 19:47:42 -07:00
Cameron Gutman
860d317330
Version 0.2.0
2018-08-12 01:42:28 -07:00
Cameron Gutman
bab11a731e
Fix uninitialized gamepad mask in multi-controller mode
2018-08-12 01:39:22 -07:00
Cameron Gutman
566181e8d7
Display error if video decoder doesn't initialize
2018-08-11 22:49:36 -07:00
Cameron Gutman
5f5f835b2e
Display a warning when running under Wayland
2018-08-11 22:42:25 -07:00
Cameron Gutman
d3c2f50b20
Remove custom VAAPI logging functions
2018-08-11 20:32:28 -07:00
Cameron Gutman
f1ee1eeb63
Avoid using window systems that SDL wasn't compiled to support
2018-08-11 20:19:20 -07:00
Cameron Gutman
bb18519e44
WIP Wayland rendering code for VAAPI
2018-08-11 19:43:36 -07:00
Cameron Gutman
5e82e8413f
Use create-dmg to get a much nicer looking DMG that's also code-signed
2018-08-11 14:52:44 -07:00
Cameron Gutman
917f6e5ee9
Only capture the mouse by default for full screen streaming
2018-08-11 14:19:42 -07:00
Cameron Gutman
91145cde0f
Bump minimum macOS version to 10.11 in line with Qt 5.11
2018-08-10 00:08:56 -07:00
Cameron Gutman
8ae01fae3f
Place logs in /tmp on macOS
2018-08-09 23:54:44 -07:00
Cameron Gutman
4e60ccb2ff
Add tooltips for toolbar buttons
2018-08-09 23:20:20 -07:00
Cameron Gutman
186052f21d
Fix update button color
2018-08-09 23:18:07 -07:00
Cameron Gutman
0fb3bb0727
Add automatic update checking. Fixes #8
2018-08-09 22:51:27 -07:00
Cameron Gutman
8f61a11452
Remove improper cast to unsigned value
2018-08-09 20:21:18 -07:00
Cameron Gutman
4b1d3b0125
Warn users when their configuration is impossible to satisfy. Fixes #26
2018-08-09 19:37:49 -07:00
Cameron Gutman
3f81d055af
Return to the PC grid if the selected PC goes offline or becomes unpaired
2018-08-09 18:48:40 -07:00
Cameron Gutman
c61182bcb2
Allow FFmpeg decoder to self-heal in cases of UAC dialogs and other unexpected loss of hardware state
2018-08-09 18:39:38 -07:00
Cameron Gutman
2fdfb3e998
Fix a few incorrectly mapped keys. Fixes #28
2018-08-06 20:30:09 -07:00
Cameron Gutman
9beb51ecac
Version 0.1.0
2018-08-05 19:36:30 -07:00
Cameron Gutman
7be167856e
Only enable game optimizations when streaming at officially supported resolutions
2018-08-05 18:09:35 -07:00
Cameron Gutman
e1d68ef097
Fix Y values wrapping at -32768
2018-08-05 18:01:50 -07:00
Cameron Gutman
5ec256a734
Fix QML warning
2018-08-05 17:09:29 -07:00
Cameron Gutman
e4d7d190e2
Suppress logging for applist queries
2018-08-05 17:03:05 -07:00
Cameron Gutman
b6763bb9f0
Fix VDPAU rendering at 4K
2018-08-05 16:33:08 -07:00
Cameron Gutman
6d9c0c96c9
Fix streaming with non-aligned resolutions with DXVA2 on my Quadro P400
2018-08-05 15:25:40 -07:00
Cameron Gutman
73dd5630df
Fix FPS setting restore logic
2018-08-05 15:09:36 -07:00
Cameron Gutman
b76645e26b
Fix resolution comparision issue with portrait displays
2018-08-05 15:03:24 -07:00
Cameron Gutman
9cc20c27ab
Add support for native resolution streaming
2018-08-05 14:55:26 -07:00
Cameron Gutman
36b42f6e50
Suppress log spam from serverinfo queries
2018-08-05 14:06:42 -07:00
Cameron Gutman
45ebf2ca7d
Add log messages for server GPU, bitrate, and slices
2018-08-05 13:32:04 -07:00
Cameron Gutman
2140c94cd1
Fix status icon centering on PC view. Fixes #10
2018-08-05 12:47:08 -07:00
Cameron Gutman
470769e910
Replace running status text with app icon overlay
2018-08-05 12:19:54 -07:00
Cameron Gutman
493165f57f
Add a busy indicator while waiting for initial contact with a PC
2018-08-05 12:13:08 -07:00
Cameron Gutman
1dcf55515b
Initial replacement of status text with status icons on the PC view
2018-08-05 11:47:14 -07:00
Cameron Gutman
b04bc5117d
Fix scaling logic in the Linux renderers using the new helper function
2018-08-04 22:31:14 -07:00
Cameron Gutman
5cbb38091b
Create new utility function for scaling with aspect ratio and use it for DXVA2
2018-08-04 22:22:15 -07:00
Cameron Gutman
b076744f00
Support HEVC software decoding and forcing HEVC without GPU support
2018-08-04 16:45:31 -07:00
Cameron Gutman
723e815546
Add warning for forcing software decoding
2018-08-04 16:15:13 -07:00
Cameron Gutman
ca72cbb135
Implement displaying launch warnings. Fixes #12
2018-08-04 16:05:37 -07:00
Cameron Gutman
1e8c2b179a
Only fill the screen in windowed mode if the stream is larger than usable display area
2018-08-04 15:34:56 -07:00
Cameron Gutman
f2ed3a8502
Make stream window resizable
2018-08-04 15:34:56 -07:00
Cameron Gutman
3117e360f4
Retry surface creation to work around transient VDP_STATUS_RESOURCES errors
2018-08-03 18:26:55 -07:00
Cameron Gutman
48a770edec
Enable HEVC support on NVIDIA GPUs with VDPAU
2018-08-03 02:49:43 -07:00
Cameron Gutman
fca402138f
Add VDPAU renderer
2018-08-03 02:11:44 -07:00
Cameron Gutman
2853e498b0
Minor debugging improvements
2018-08-02 23:24:44 -07:00
Cameron Gutman
509dba2264
Enable ffmpeg logging during codec initialization
2018-08-02 22:48:40 -07:00
Cameron Gutman
b8dd131af8
Allow gamepad input when the app doesn't have focus. Fixes #23
2018-08-02 22:36:44 -07:00
Cameron Gutman
0c18bcdd5e
Fix DXVA 2 regression on Windows
2018-08-02 22:28:59 -07:00
Cameron Gutman
624578f286
Fix decoder reinitialization after test frame
2018-08-02 21:57:16 -07:00
Cameron Gutman
c18e99c9ec
Validate that the codec is functional before using it. Fixes streaming failure with VAAPI if hardware lacks codec support
2018-08-02 21:37:46 -07:00
Cameron Gutman
979ba2dab7
Version 0.0.5
2018-08-01 23:00:55 -07:00
Cameron Gutman
56277af5d1
Fix quit error message when another PC started the streaming session
2018-08-01 22:43:20 -07:00
Cameron Gutman
608db6a3e5
Implement support for quitting apps
2018-08-01 22:32:21 -07:00
Cameron Gutman
be52272e5c
Fix state corruption caused by having 2 separate ComputerModels. Fixes #6
2018-08-01 21:29:03 -07:00
Cameron Gutman
18dd6b09bb
Remove 10 ms sleep hidden inside SDL_WaitEvent(). This fixes mouse polling rate being capped at 100 Hz (1 second / 10 ms) and the rendering FPS being capped at 90 FPS.
2018-08-01 18:26:50 -07:00
Cameron Gutman
3ed5f9edf7
Implement C++ functions for quitting apps and querying running apps
2018-07-31 22:21:39 -07:00
Cameron Gutman
017362a5d1
Only allow waking PCs that are not online and paired
2018-07-31 22:10:38 -07:00
Cameron Gutman
e250e08242
Fix AMD vendor ID
2018-07-31 18:22:10 -07:00
Cameron Gutman
141ee11e2f
Avoid HEVC on GPUs using hybrid decoding. Fixes #14
2018-07-31 18:09:09 -07:00
Cameron Gutman
4e82ea298e
Update AppStream metadata for 0.0.4a
2018-07-30 23:42:18 -07:00
Cameron Gutman
22be912788
Fix accent prompt appearing when keys are held down on macOS
2018-07-30 22:44:19 -07:00
Cameron Gutman
02242b9b34
Replace Opus submodule with prebuilt libopus 1.2.1 binaries for Windows and Mac
2018-07-30 22:10:08 -07:00
Cameron Gutman
e9c1f883da
Use full-screen desktop mode for Mac to allow Spaces to work
2018-07-30 00:03:17 -07:00
Cameron Gutman
141f6669e8
Version 0.0.4
2018-07-29 21:44:10 -07:00
Cameron Gutman
6300d242cc
Update AppStream metadata
2018-07-29 21:40:34 -07:00
Cameron Gutman
186579266c
Fix Online -> Offline computer transition
2018-07-29 19:08:29 -07:00
R. Aidan Campbell
23a9c2cd9e
context menu opened by default for offline hosts
2018-07-29 16:13:42 -07:00
R. Aidan Campbell
88631e4a63
Merge branch 'master' of github.com:cgutman/moonlight-qt
2018-07-29 16:04:53 -07:00
R. Aidan Campbell
9e744ce169
Now with WoL and PC deletion from QML. Deletion needs bugfix, possibly not committed to storage?
2018-07-29 16:04:45 -07:00
Cameron Gutman
87db4e88a5
Replace autogenerate app bundle strings with real ones and relocate the icon for Mac
2018-07-29 13:05:18 -07:00
R. Aidan Campbell
277594139b
Updated macos .app icon to use proper logo
2018-07-29 10:21:53 -07:00
Cameron Gutman
79d5e35306
Mac deployment
...
- Use the SDL2 framework wholesale instead of manually extracting dylib and headers
- Run install_name_tool on the remaining dylibs so they use the correct load path
- Add generate-dmg.sh for creating packaged Mac builds
2018-07-29 03:38:59 -07:00
Cameron Gutman
ab4b024df4
Travis CI support
2018-07-28 22:49:36 -07:00
Cameron Gutman
df26f731eb
Improve debugging messages
2018-07-28 16:06:26 -07:00
Cameron Gutman
42ed39a67f
Version 0.0.3
2018-07-28 03:13:39 -07:00
Cameron Gutman
3ad5f1478c
Comment out HDR option since it's non-working and tweak the remaining option text
2018-07-28 03:06:11 -07:00
Cameron Gutman
a81b501d7d
Hide the gamepad mapping button since it's unimplemented
2018-07-28 01:27:42 -07:00
Cameron Gutman
871988b2cb
Add 1440p and up to 90 FPS streaming options for > 60 Hz monitors
2018-07-28 01:22:31 -07:00
Cameron Gutman
59d087adf5
Add function for querying maximum supported streaming frame rate
2018-07-28 00:25:52 -07:00
Cameron Gutman
d9ed3f9694
Fix incorrect key mappings with non-QWERTY keyboards on both host and client
2018-07-27 02:08:54 -07:00
Cameron Gutman
e652dbcc79
Version 0.0.2
2018-07-27 00:14:29 -07:00
Cameron Gutman
717c3903d1
Fix top padding for grid views
2018-07-26 22:47:48 -07:00
Cameron Gutman
5854ce2000
Fix handling of long app names
2018-07-26 22:39:45 -07:00
Cameron Gutman
eb1316ce32
Avoid asserting if we get a box art load completion callback for an app that's gone
2018-07-26 22:16:27 -07:00
Cameron Gutman
c31e7262b2
Fix decoding of non-ASCII characters
2018-07-26 22:15:52 -07:00
Cameron Gutman
9e6aadffa1
Populate the DXVA2_VideoDesc with format details from the AVFrame
2018-07-26 21:04:05 -07:00
Cameron Gutman
0bde932550
Prevent HEVC streaming with the software decoder for performance reasons
2018-07-26 19:26:22 -07:00
Cameron Gutman
f5499be215
Warn when no hardware decoding is available
2018-07-26 12:13:38 -07:00
Cameron Gutman
42988e0dbf
Limit log file sizes to 10k lines
2018-07-26 00:21:26 -07:00
Cameron Gutman
b16aac0c06
Fix priority and formatting on many debug messages
2018-07-25 23:47:32 -07:00
Cameron Gutman
7c74cdc50b
Add enhanced logging support, including log to file for release builds
2018-07-25 23:25:17 -07:00
Cameron Gutman
34494e4c89
Add initial WiX installer for Windows
2018-07-25 02:53:51 -07:00
Cameron Gutman
03dc563b32
Create Moonlight png for WiX bootstrapper
2018-07-24 21:11:48 -07:00
Cameron Gutman
5e4182f0a0
Add Moonlight.ico for Windows and script to generate it
2018-07-24 20:07:10 -07:00
Cameron Gutman
010475e8a2
Use per-display undefined window positions
2018-07-22 18:40:15 -07:00
Cameron Gutman
bd170c4bd6
Always use the current display mode and just let the renderers scale the output
2018-07-22 18:28:17 -07:00
Cameron Gutman
386e463942
Also use the SDL icon for Linux
2018-07-22 17:42:31 -07:00
Cameron Gutman
9d840afdfb
Add an SDL window icon for Windows
2018-07-22 17:07:45 -07:00
Cameron Gutman
83b81aad4b
Don't capture the mouse initially on debug builds
2018-07-22 16:21:15 -07:00
Cameron Gutman
cf3cbd627d
Use full-screen windowed mode to avoid having to enable V-Sync on DXVA2
2018-07-22 15:42:17 -07:00
Cameron Gutman
3bb62a82e1
Avoid doing a display mode change on Linux when entering full-screen
2018-07-22 14:03:47 -07:00
Cameron Gutman
a06a625d48
Rework the logo SVG to look better as an app icon, by Jorys Paulin
2018-07-22 03:21:19 -07:00
Cameron Gutman
13d686b6f8
Rename output binary to moonlight
2018-07-22 03:16:53 -07:00
Cameron Gutman
18c5e19ac9
Add files for Flatpak deployment
2018-07-22 01:51:05 -07:00
Cameron Gutman
ad57a55d12
Add (untested) Steam Link video decoding/rendering
2018-07-21 20:29:05 -07:00
Cameron Gutman
dc723a8da1
Fix strict aliasing violation
2018-07-21 19:16:08 -07:00
Cameron Gutman
b073c90f0f
Fix build on OpenSSL 1.0.1
2018-07-21 19:02:12 -07:00
Cameron Gutman
519626a6d5
Fix compilation with Qt 5.9
2018-07-21 18:47:41 -07:00
Cameron Gutman
b7b452875d
Add a missing HAVE_FFMPEG guard
2018-07-21 17:32:00 -07:00
Cameron Gutman
eb536c2273
Overhaul platform and decoder/renderer detection
2018-07-21 17:00:09 -07:00
R. Aidan Campbell
c816a6198c
fix macos build: for macos, Q_OS_UNIX is also defined
2018-07-21 14:31:37 -07:00
Cameron Gutman
399154f5f5
Implement VAAPI rendering for X11
2018-07-21 00:16:03 -07:00
Cameron Gutman
64a839c2f9
Create the window after starting streaming to avoid a mouse capture bug in SDL on Windows
2018-07-20 19:55:07 -07:00
Cameron Gutman
20288210be
Fix VT video centering after transition from windowed to full screen
2018-07-20 19:37:54 -07:00
Cameron Gutman
7b235743cb
Count the window chrome size in our placement decision and fix sizing after full-screen toggle
2018-07-20 19:18:55 -07:00
Cameron Gutman
4c507f1179
Move SDL subsystem init into appropriate components to fix gamepad detection issue
2018-07-20 18:15:46 -07:00
Cameron Gutman
e516861366
Set window dimensions properly when toggling full-screen
2018-07-20 16:01:22 -07:00
R. Aidan Campbell
48c2a8c5b0
Merge branch 'master' of github.com:cgutman/moonlight-qt
2018-07-20 15:47:57 -07:00
R. Aidan Campbell
b41e8c07d2
Switched settings page to two-pane layout
2018-07-20 15:47:50 -07:00
Cameron Gutman
10b5245919
Reset the decoder when D3D state is lost
2018-07-20 15:31:57 -07:00
R. Aidan Campbell
86874a2e1c
minor wording change in settings
2018-07-20 14:36:39 -07:00
R. Aidan Campbell
f951a01a68
changed audio configuration to a dropdown, allowing auto/stereo/surround
2018-07-20 14:35:47 -07:00
R. Aidan Campbell
d12fed3e7f
remove unused settings
2018-07-20 14:24:27 -07:00
R. Aidan Campbell
4566139c75
now with video codec selection
2018-07-20 14:22:22 -07:00
R. Aidan Campbell
38df63b962
now with video decoder selection
2018-07-20 14:14:38 -07:00
Cameron Gutman
faaf9dfa07
Fix crashes when restarting streaming with DXVA2 renderer due to leaked surface references
2018-07-20 13:10:54 -07:00
Cameron Gutman
9c2befc386
Only require OpenSSL 1.1 on Apple platforms where SecureTransport requires keys from PEM_write_bio_PrivateKey_traditional()
2018-07-19 23:19:00 -07:00
Cameron Gutman
e85ca2a6c9
Reduce VideoToolbox renderer video latency
2018-07-18 22:25:46 -07:00
Cameron Gutman
e32aace443
Draw a black background behind the rendering
2018-07-18 22:07:43 -07:00
Cameron Gutman
bd8e4a4bce
Fix DXVA video centering
2018-07-18 21:48:46 -07:00
Cameron Gutman
5ee1358712
Implement a proper destructor for ComputerManager to prevent polling threads from living beyond QGuiApplication
2018-07-18 21:27:43 -07:00
Cameron Gutman
06501bd4b7
Fix video scaling on DXVA2
2018-07-18 19:10:14 -07:00
Cameron Gutman
a4ad58d9ec
Fix some Clang static analysis warnings
2018-07-18 18:39:33 -07:00
Cameron Gutman
76d99cd60e
Raise combo keys for all special combos, not just quit
2018-07-18 00:14:12 -07:00
Cameron Gutman
1b85dcc829
Improve frame pacing on VideoToolbox renderer
2018-07-18 00:11:17 -07:00
Cameron Gutman
c97e298b80
Use the queueFrame() helper
2018-07-17 20:05:59 -07:00
Cameron Gutman
a89cadc520
Separate FFmpeg decoder from the Session class ( #4 )
2018-07-17 20:00:16 -07:00
R. Aidan Campbell
ec68f2ae89
logo tweaks: border sizing and shadow
2018-07-17 19:40:08 -07:00
R. Aidan Campbell
2be5040c24
Now with surround-sound checkbox support
2018-07-17 19:39:23 -07:00
R. Aidan Campbell
c23b1a31be
Now with default bitrate suggestions per resolution and framerate
2018-07-17 18:52:06 -07:00
Cameron Gutman
d3f7204cff
Set the main thread to high priority since it's used for rendering
2018-07-16 21:25:59 -07:00
Cameron Gutman
ca20d28a24
Fix SDL renderer scaling at non-native resolution
2018-07-16 02:07:32 -07:00
Cameron Gutman
998d837ff4
Optimize resolution and window size selection
2018-07-16 01:55:36 -07:00
Cameron Gutman
641b50b7ee
Use larger packets when streaming to local PCs
2018-07-16 01:12:53 -07:00
Cameron Gutman
68bbeafab3
Adapt the audio latency mitigation to WASAPI quirks and add a "stop the world" mode for quick resync
2018-07-15 21:43:43 -07:00
Cameron Gutman
7f8d4c88c1
Implement audio latency mitigations
2018-07-15 20:17:08 -07:00
R. Aidan Campbell
8c65ee8bc5
Now with using, saving, and loading of the resolution and FPS settings
2018-07-15 18:27:41 -07:00
Cameron Gutman
a6ac893e1e
Implement VideoToolbox rendering
2018-07-15 18:11:57 -07:00
R. Aidan Campbell
3a4da50bbb
now with a swanky svg icon replacing a 128px png
2018-07-15 14:59:26 -07:00
Cameron Gutman
9f605230e5
Allow building on XCode 8
2018-07-15 14:03:41 -07:00
R. Aidan Campbell
565b61c470
Merge branch 'master' of github.com:cgutman/moonlight-qt
2018-07-15 13:09:22 -07:00
R. Aidan Campbell
d1d40421eb
replaced png icons with svgs
2018-07-15 13:09:16 -07:00
Cameron Gutman
5787deeee1
Basic VT decoding without rendering
2018-07-15 12:48:17 -07:00
Cameron Gutman
babbae87d3
Stub out VideoToolbox renderer
2018-07-15 11:53:55 -07:00
Cameron Gutman
cb154ad3d4
Fix tearing with DXVA2 in full screen mode
2018-07-15 00:43:10 -07:00
Cameron Gutman
af503a9147
Fix spurious "Failed to connect to PC" dialogs for mDNS-discovered hosts
2018-07-13 22:38:58 -07:00
Cameron Gutman
611b504bf9
Minor DXVA2 logging fixes
2018-07-13 20:49:51 -07:00
Cameron Gutman
08bc4770cd
Fix key repeating
2018-07-13 20:30:07 -07:00
Cameron Gutman
f9ef0a99d6
Fix DX threading violation by setting D3DCREATE_MULTITHREADED
2018-07-13 20:20:30 -07:00
Cameron Gutman
89e332048e
Ensure the DXVA2 device is actually hardware with YUV2RGB conversion ability before using it
2018-07-13 20:19:32 -07:00
Cameron Gutman
c62fff8fc4
Fix uninitialized variables found by Valgrind
2018-07-13 02:50:02 -07:00
Cameron Gutman
1cae5f83e5
DXVA2 Hardware Decoding ( #3 )
2018-07-13 02:31:21 -07:00
Cameron Gutman
86f843464c
Hide the toolbar when the StreamSegue page is visible
2018-07-09 00:12:27 -07:00
Cameron Gutman
e8e9e17e63
Improve UI responsiveness when stopping a stream
2018-07-09 00:09:06 -07:00
Cameron Gutman
908850cc5d
Add the smooth grid scaling for PCs too
2018-07-08 23:37:00 -07:00
Cameron Gutman
644c3c0c24
Cache app grid items to smooth out jank during scrolling and resizing
2018-07-08 23:34:30 -07:00
Cameron Gutman
a56d27e3f2
Move the PC SVGs back where they belong
2018-07-08 23:27:20 -07:00
Cameron Gutman
98b76d3203
Fix Material theme
2018-07-08 23:24:26 -07:00
Cameron Gutman
c35d07c961
Add scroll bars to the computer grid and app grid
2018-07-08 23:05:36 -07:00
Cameron Gutman
c4a1f74b02
Hook up a few of the preferences
2018-07-08 22:56:38 -07:00
Cameron Gutman
62cf95d55e
Prevent multiple instances of the same page on the StackView and stub out GamepadMapper
2018-07-08 22:37:29 -07:00
Cameron Gutman
a47f59d1a4
Properly manage the lifetime of polling in the AppView and PcView
2018-07-08 22:07:20 -07:00
Cameron Gutman
83ca211d75
Add a segue to the streaming window
2018-07-08 22:06:52 -07:00
Cameron Gutman
5a04a256e0
Add additional serverinfo attributes and check for 4K compatibility
2018-07-08 20:53:24 -07:00
Cameron Gutman
d0375a458a
Bound thread count at 4 (same as max slices) and don't use HEVC with the software decoder due to lack of slicing support in common-c
2018-07-08 17:50:42 -07:00
Cameron Gutman
7023bcf504
Make StreamingPreferences accessible from QML for Settings integration
2018-07-08 17:33:47 -07:00
R. Aidan Campbell
67eb09d753
Merge branch 'master' of github.com:cgutman/moonlight-qt
2018-07-08 11:38:07 -07:00
R. Aidan Campbell
c2966a5c66
Now with an application icon for MacOS
2018-07-08 11:38:01 -07:00
MINICOM\mrb11
640f47300c
Make settings page scrollable and match the app color scheme
2018-07-08 11:20:56 -07:00
MINICOM\mrb11
33a0188fea
Fill out remainder of dummy settings
2018-07-08 11:12:22 -07:00
Michelle Bergeron
8ebb594089
Beginnings of settings page ( #2 )
...
* Make Moonlight icon the window icon for all windows
* Add dummy settings
* Add slider
* FIx comments
2018-07-08 10:19:08 -07:00
R. Aidan Campbell
7bc139c50d
Now with identification of the currently running app
2018-07-08 08:44:09 -07:00
R. Aidan Campbell
c27711582a
now with smooth window scaling for app listing
2018-07-08 08:28:28 -07:00
Cameron Gutman
d7f09382e0
Use a less recent version of QtQuick.Layouts to support Fedora 28
2018-07-07 22:59:05 -07:00
Cameron Gutman
d9301fc06d
Fix build on Linux
2018-07-07 22:41:32 -07:00
Cameron Gutman
272aa6896e
Fix unused member warning on Clang
2018-07-07 22:26:12 -07:00
Michelle Bergeron
b630c07653
Add navigation toolbar ( #1 )
...
* Add preferences view skeleton
* Add toolbar & help button
* Add working back button
* Title of page in toolbar
* Remove unused imports
* Make comments better!
* Remove unused drawer element
* Remove superfluous > 1 check
* Use point size font instead of pixel size
* Add AppView page title
2018-07-07 22:15:02 -07:00
Cameron Gutman
826fe4cd03
Implemented software video decoding and special key combos
2018-07-07 21:52:20 -07:00
Cameron Gutman
02f4f193a9
Add ffmpeg libraries for Windows x64
2018-07-07 20:45:54 -07:00
Cameron Gutman
bf671752df
UI polish
2018-07-07 16:49:13 -07:00
Cameron Gutman
997fdc1ef6
Fix linking on Windows
2018-07-07 16:37:11 -07:00
Cameron Gutman
60ad95bb7b
Start work on launching a stream from QML and rip out remaining QtWidgets
2018-07-07 16:30:26 -07:00
Cameron Gutman
d5cc07f107
Remove unused enum value to fix GCC warnings
2018-07-07 15:26:20 -07:00
Cameron Gutman
78746824e2
Fix inconsistent ComputerModel view of the ComputerManager's state after new PC is added
2018-07-06 00:42:07 -07:00
Cameron Gutman
ecebf75b88
Implement manually adding PCs
2018-07-06 00:34:16 -07:00
Cameron Gutman
6687936e2f
Implement pairing via GUI
2018-07-05 23:12:55 -07:00
Cameron Gutman
1b1ad86271
Keep a singleton ComputerManager outside of the Models
2018-07-05 22:08:55 -07:00
R. Aidan Campbell
0d26ef7e5c
Now with pin generation for pairing
2018-07-05 21:16:32 -07:00
Cameron Gutman
bd986bfb21
Sort the app list in alphabetical order
2018-07-05 20:54:31 -07:00
R. Aidan Campbell
79435b60ff
Now with notification dialog for attempts to pair while busy
2018-07-05 20:49:10 -07:00
Cameron Gutman
f120197c21
Fix ComputerModel.paired
2018-07-05 20:41:17 -07:00
Cameron Gutman
ebf27cdcaf
More UI work including hooking up PcView -> AppView transition
2018-07-05 20:37:51 -07:00
Cameron Gutman
f83c13ad85
Cleanup ComputerModel and remove root Frame from PcView
2018-07-05 20:11:35 -07:00
Cameron Gutman
b0151da455
Add AppModel and AppView for loading apps and modify BoxArtManager to return QUrls for QML
2018-07-05 20:07:05 -07:00
R. Aidan Campbell
95eebdbe66
now with pairing and add-host dialogs
2018-07-04 18:48:09 -07:00
Cameron Gutman
485c014490
Fix crash on the placeholder icon and fix display of multiple PCs
2018-07-04 16:52:16 -07:00
Cameron Gutman
3a7d3c807e
WIP Quick GUI work
2018-07-04 16:40:21 -07:00
Cameron Gutman
6a3b95a4b1
Start GUI rewrite in QML
2018-07-04 14:16:25 -07:00
Cameron Gutman
04c9a3a2eb
Implement Wake-on-LAN
2018-07-03 22:11:21 -07:00
Cameron Gutman
a02931f5fc
Cleanup some unused parameter warnings
2018-07-01 11:54:12 -07:00
Cameron Gutman
5729f65138
Implement mDNS PC discovery
2018-06-30 23:07:31 -07:00
Cameron Gutman
7186f20e05
Integrate forked QMdnsEngine with some required fixes for GameStream (submitted upstream)
2018-06-30 21:41:00 -07:00
Cameron Gutman
4c75456aee
Fix improper handling of polling thread termination
2018-06-28 03:52:42 -07:00
Cameron Gutman
3d7c8d4bfb
Fix some warnings on GCC
2018-06-28 03:13:38 -07:00
Cameron Gutman
e5ef1bcfc5
Stub out the error handling when launch/resume fails
2018-06-28 02:10:31 -07:00
Cameron Gutman
d1a512538c
Fix input bugs from the C++ transistion and implement special key combo stubs
2018-06-28 02:04:51 -07:00
Cameron Gutman
0821c66d8c
Rewrite streaming code to C++ and forklift most of the setup out of the GUI code
2018-06-28 01:44:43 -07:00
Cameron Gutman
cad95f12f6
More PoC streaming code (closer to final)
2018-06-27 23:54:24 -07:00
Cameron Gutman
94ecc4a1c8
Always return 1 gamepad in single controller mode
2018-06-27 23:53:12 -07:00
Cameron Gutman
7d14b2a2be
Fix endianness issue with the RI key IV
2018-06-27 23:52:29 -07:00
Cameron Gutman
6e4104ac15
Add StreamingPreferences class
2018-06-27 23:15:13 -07:00
Cameron Gutman
6fa4faa285
Rename http folder to backend to better align with the classes inside
2018-06-27 22:30:33 -07:00
Cameron Gutman
1b36071e02
Additional work in MainWindow for integration with new classes
2018-06-27 22:16:57 -07:00
Cameron Gutman
d7d11635a0
Add BoxArtManager for loading box art with caching
2018-06-27 22:02:29 -07:00
Cameron Gutman
135568b5ee
Minor class improvements
2018-06-27 19:55:44 -07:00
Cameron Gutman
36c8b6ce53
Persist host changes after update
2018-06-27 02:08:56 -07:00
Cameron Gutman
ce4e469b7b
We can't change audio config after sending the launch or resume request, so autodetection will need to happen earlier
2018-06-27 01:39:48 -07:00
Cameron Gutman
0bd2274462
Simplify IdentityManager by using QSettings instead of files
2018-06-27 01:36:56 -07:00
Cameron Gutman
a5d1099e26
Add code to serialize and deserialize hosts and applists for persistence
2018-06-27 01:21:55 -07:00
Cameron Gutman
d6b820d707
Implement fetching box art
2018-06-26 23:49:44 -07:00
Cameron Gutman
76d39c08da
Implement app list parsing
2018-06-26 23:39:28 -07:00
Cameron Gutman
16d7dca784
Fix analog sticks and triggers
2018-06-26 22:58:32 -07:00
Cameron Gutman
c6b19826d3
Fix typo causing pairing to break
2018-06-26 22:58:15 -07:00
Cameron Gutman
35c28116f5
Cleanup use of static NvHTTP members
2018-06-26 21:49:33 -07:00
Cameron Gutman
fca059522c
Implement more of ComputerManager
2018-06-26 21:47:01 -07:00
Cameron Gutman
8ce2b410d2
Ensure the PC that responded is the one we're querying
2018-06-26 19:15:28 -07:00
Cameron Gutman
bb95c4db78
Make IdentityManager a singleton
2018-06-26 19:03:55 -07:00
Cameron Gutman
6c8349787a
Only emit state changed once per iteration
2018-06-26 18:44:30 -07:00
Cameron Gutman
6a37a9d77a
Move resources back to root
2018-06-26 18:43:53 -07:00
Cameron Gutman
5ee52f15c8
Work on Computer Manager
2018-06-24 15:13:37 -07:00
Cameron Gutman
cded01187d
More streaming code
2018-06-24 00:14:23 -07:00
Cameron Gutman
4fe6c24702
Fix subsequent SSL failures on Windows
2018-06-23 23:46:16 -07:00
Cameron Gutman
416724f843
More SDL work
2018-06-23 22:16:59 -07:00
Cameron Gutman
e1192d61e1
Windows bringup
2018-06-23 20:08:17 -07:00
Cameron Gutman
ce64966843
Reorganize and prepare for SDL integration
2018-06-23 18:46:59 -07:00
Cameron Gutman
ea459a0319
Start integration with moonlight-common-c
2018-05-06 02:16:05 -07:00
Cameron Gutman
f80450176a
Fix SSL on macOS
2018-05-05 21:59:30 -07:00
Cameron Gutman
0357e6865d
Upgrade macOS OpenSSL library to 1.1
2018-05-05 21:42:46 -07:00
Cameron Gutman
63b6da601a
Reorganize source and add libraries
2018-05-05 18:33:59 -07:00