Release Captail 0.2.1 - #32
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 99c31d83dc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (_config.CaptureSystemAudio) | ||
| { | ||
| nint system = CreateAudioSource( | ||
| "wasapi_output_capture", | ||
| "Captail System Audio", | ||
| IsGameCapture ? "Captail Game Audio" : "Captail System Audio", |
There was a problem hiding this comment.
Keep Game Capture audio scoped to the hooked game
When Game Capture and system audio are enabled, this now creates a wasapi_output_capture source, while CreateGameSource disables its per-application capture_audio. Consequently, every sound sent to the selected Windows output device—including notifications, voice calls, or other applications—is recorded alongside gameplay, rather than only the detected game's audio as the Game Capture UI and documentation promise. Retain the game source's application-audio capture for this mode instead of substituting device-wide loopback.
Useful? React with 👍 / 👎.
| string normalizedPath = foreground.FullPath.Replace('/', '\\'); | ||
| return foreground.IsFullscreen || | ||
| AutomaticGamePathMarkers.Any(marker => | ||
| normalizedPath.Contains(marker, StringComparison.OrdinalIgnoreCase)); |
There was a problem hiding this comment.
Restrict the replay-off reminder to actual games
For the new default-enabled replay-off warning, this predicate considers any fullscreen executable not present in the static rejection list to be a game. Thus fullscreen productivity or presentation applications such as PowerPoint can satisfy four consecutive samples and trigger the "game starts" reminder even though no game was detected. RefreshReplayOffGameWarning should use stronger game evidence, such as the existing installation-path predicate, rather than treating fullscreen state alone as sufficient.
Useful? React with 👍 / 👎.
| await Task.WhenAll( | ||
| LoadTimelineThumbnailsAsync(), | ||
| Task.WhenAll(AudioTracks.Select(LoadWaveformAsync))); |
There was a problem hiding this comment.
Wait for audio discovery before scheduling trim waveforms
If the user clicks Trim immediately after opening Preview, LoadAudioTracksAsync(false) may still be running, so AudioTracks is empty when this task list is created. BeginEditorAssetsLoad nevertheless permanently sets _editorAssetsStarted, and the later preview-mode audio load deliberately does not start waveforms, leaving every audio waveform missing for the rest of that editor session. Defer this enumeration until audio discovery completes or schedule waveforms when newly discovered tracks arrive.
Useful? React with 👍 / 👎.
Summary
Verification
dotnet restore --locked-modeD:\Captail-0.1.10Closes #30