From ac7c4b3d83d577316a648b70b027ff7a0f9c7ab0 Mon Sep 17 00:00:00 2001
From: FaulMit <48646918+FaulMit@users.noreply.github.com>
Date: Sun, 2 Aug 2026 18:24:37 +0200
Subject: [PATCH 1/3] Add replay library and built-in clip editor
---
README.md | 35 +-
THIRD_PARTY_NOTICES.md | 9 +
docs/captail-editor.png | Bin 0 -> 416510 bytes
docs/captail-main.png | Bin 0 -> 73177 bytes
src/Captail/App.xaml.cs | 137 ++++-
src/Captail/Captail.csproj | 16 +-
src/Captail/ClipEditorWindow.xaml | 272 +++++++++
src/Captail/ClipEditorWindow.xaml.cs | 807 ++++++++++++++++++++++++++
src/Captail/Config.cs | 12 +-
src/Captail/FfmpegAdapter.cs | 402 +++++++++++++
src/Captail/FfplayHost.cs | 481 +++++++++++++++
src/Captail/Interop/CaptureInterop.cs | 73 ---
src/Captail/Languages/Strings.en.xaml | 43 +-
src/Captail/Languages/Strings.ru.xaml | 43 +-
src/Captail/ObsNative.cs | 6 +
src/Captail/ObsReplayEngine.cs | 249 ++++++--
src/Captail/ReplayLibrary.cs | 355 +++++++++++
src/Captail/ReplayPaths.cs | 82 +++
src/Captail/SettingsWindow.xaml | 211 ++++++-
src/Captail/SettingsWindow.xaml.cs | 340 +++++++----
src/Captail/Themes/Theme.xaml | 11 +
tools/AcquireFfmpegRuntime.ps1 | 95 +++
tools/BuildRelease.ps1 | 6 +
23 files changed, 3368 insertions(+), 317 deletions(-)
create mode 100644 docs/captail-editor.png
create mode 100644 docs/captail-main.png
create mode 100644 src/Captail/ClipEditorWindow.xaml
create mode 100644 src/Captail/ClipEditorWindow.xaml.cs
create mode 100644 src/Captail/FfmpegAdapter.cs
create mode 100644 src/Captail/FfplayHost.cs
create mode 100644 src/Captail/ReplayLibrary.cs
create mode 100644 src/Captail/ReplayPaths.cs
create mode 100644 tools/AcquireFfmpegRuntime.ps1
diff --git a/README.md b/README.md
index c29fd78..0a3595e 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ Captail is designed around one rule: **Instant Replay should stay on.** A game c
## Interface
-
+
@@ -24,16 +24,21 @@ Captail is designed around one rule: **Instant Replay should stay on.** A game c
+
+
+
+
> [!WARNING]
> Captail `v0.1.x` is an early public preview. Core recording works, but bugs and hardware-specific problems are expected. Please report anything that does not work.
-## What's new in v0.1.3
+## What's new in v0.1.4
-- **Built-in updates** — the footer shows update status and installs the correct Installer or Portable package after verifying its SHA-256 digest.
-- **Clearer settings** — concise help popups explain codecs, bitrate, resolution, frame rate, audio tracks, buffer limits, and other technical options in English and Russian.
-- **Non-overlapping saves** — after saving a replay, the next clip starts at that save boundary instead of repeating footage from the previous file.
-- **More accurate save duration** — the main action shows how much new footage is currently available.
-- **Safer recovery** — the watchdog no longer treats normal recording-pipeline startup as a failure.
+- **Replay library** — every saved replay is available from the main window in a fast, scrollable list with thumbnail previews.
+- **Cleaner replay actions** — hover a clip for compact Open in folder, Trim, and Delete controls. Deletion always requires confirmation.
+- **Built-in clip editor** — scrub through video, select one trim range, preview both audio tracks, keep or remove each track, then save a copy or overwrite the original.
+- **Useful clip details** — the editor shows estimated trimmed size, current file size, resolution, true source FPS, and codec while the range changes.
+- **More reliable preview** — full-frame DPI-aware playback replaces the cropped upper-left preview and includes system/game plus microphone audio.
+- **Automatic game capture** — Desktop mode records the selected monitor and switches to direct Game Capture for a detected fullscreen game. Game Capture mode waits for any game without recording the desktop.
## Why Captail?
@@ -77,7 +82,7 @@ Captail checks GitHub Releases in the background. When an update is available, t
1. Install Captail or extract the Portable ZIP.
2. Launch `Captail.exe`.
-3. Select **Desktop** or a running game under **Source**.
+3. Select **Desktop** for automatic desktop/game switching, or **Game Capture** to record games only.
4. Choose buffer length, codec, resolution, FPS, and audio sources.
5. Keep Instant Replay enabled.
6. Press `Ctrl+Shift+F10` to save the current buffer.
@@ -125,6 +130,15 @@ Both hotkeys can be changed in Settings.
- Direct repository link in the footer.
- English interface by default, with live English/Russian switching.
+### Replay library and editor
+
+- Scrollable library containing every supported replay in the selected folder.
+- Cached thumbnail strip and responsive seeking.
+- One visual trim range with draggable start and end handles.
+- Independent system/game and microphone track selection.
+- Save as a new clip or overwrite the original after confirmation.
+- Live estimated output size, source size, resolution, FPS, and codec.
+
### Reliability
- Recording-pipeline watchdog.
@@ -187,7 +201,7 @@ dotnet build .\Captail.sln -c Release
Create local release packages:
```powershell
-.\tools\BuildRelease.ps1 -Version 0.1.0 -InnoSetupCompiler "C:\Program Files\Inno Setup 7\ISCC.exe"
+.\tools\BuildRelease.ps1 -Version 0.1.4 -InnoSetupCompiler "C:\Program Files\Inno Setup 7\ISCC.exe"
```
See [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines and [docs/RELEASING.md](docs/RELEASING.md) for the automated release process.
@@ -200,6 +214,9 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines and [docs/RELE
- `native/ObsCaptureFixture` — D3D11 fixture for Game Capture and high-FPS validation.
- `App.xaml.cs` — tray, hotkeys, notifications, single-instance behavior, watchdog, and recovery.
- `SettingsWindow.*` — compact WPF interface.
+- `ReplayLibrary.cs` — replay discovery, metadata, thumbnail cache, delete, and trim orchestration.
+- `ClipEditorWindow.*` — preview, timeline, audio-track selection, and copy/overwrite workflows.
+- `FfmpegAdapter.cs` and `FfplayHost.cs` — bundled media probing, thumbnails, waveforms, trimming, and editor playback.
- `UpdateService.cs` — GitHub release discovery, package verification, Installer updates, and Portable self-replacement.
## License and attribution
diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md
index 9e6a323..0c088a8 100644
--- a/THIRD_PARTY_NOTICES.md
+++ b/THIRD_PARTY_NOTICES.md
@@ -11,6 +11,15 @@ Captail dynamically uses and may redistribute selected components from OBS Studi
`tools/AcquireObsRuntime.ps1` prepares the runtime. Distributions contain only components required for libobs, Replay Buffer, Windows capture, WASAPI audio, and supported hardware encoders.
+## FFmpeg
+
+- Project: https://ffmpeg.org/
+- Windows build: https://github.com/BtbN/FFmpeg-Builds
+- Build: `n7.1.5-12-g1fdbca85aa`, LGPL shared variant
+- License: GNU Lesser General Public License 2.1 or later; optional components retain their own licenses
+
+`tools/AcquireFfmpegRuntime.ps1` downloads a pinned, SHA-256-verified build. Captail uses it for clip metadata, thumbnails, and non-destructive trimming.
+
## NuGet dependencies
- NAudio — MIT License: https://github.com/naudio/NAudio
diff --git a/docs/captail-editor.png b/docs/captail-editor.png
new file mode 100644
index 0000000000000000000000000000000000000000..d819099d9258b7e9b985820f6900140b1d19a823
GIT binary patch
literal 416510
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