Skip to content

Releases: ilyambr/backtrack

v0.4.0

Choose a tag to compare

@ilyambr ilyambr released this 08 Sep 21:04

[v0.4.0] - 2026-09-06

Direct Google Drive Cloud Integration, Adaptive Tray Theming & Full Architecture Modularization

  • Direct Google Drive Cloud Uploads (GoogleDriveService.cs):
    • Native OAuth 2.0 PKCE authentication flow with local loopback listener.
    • Windows DPAPI-encrypted credential token storage (%AppData%\Backtrack\GoogleDrive\Tokens\).
    • Interactive Google Drive folder browser dialog (GoogleDrivePickerWindow.xaml) with live folder creation and navigation.
    • High-performance chunked resumable media upload engine with live progress bar and direct shareable view links.
  • Remote Drive Relay RPC (PairingService.DriveRpc.cs):
    • Paired secondary machines (e.g. streaming PC, laptop) can browse folders and upload clips directly to the primary machine's authenticated Google Drive account over the local network without re-authenticating.
  • Streamer Privacy & Email Redaction:
    • Added Streamer Mode setting to mask user Google account email (***@domain.com) across all UI dialogs.
  • Adaptive System Tray Theming (SystemTrayManager.cs):
    • Live detection of Windows system theme changes (WM_SETTINGCHANGE / Registry AppsUseLightTheme & SystemUsesLightTheme).
    • Automatically switches between high-contrast white and dark tray icons (backtrack_tray_white.png) so the icon is never lost against light taskbars.
    • Added instant HUD status overlay toggle directly from the right-click tray context menu.
  • Settings View Section Modularization:
    • Decoupled monolithic settings window into dedicated domain UserControls (SettingsGeneralSection, SettingsObsSection, SettingsOverlaySection, SettingsClipsSection, SettingsAdvancedSection).
  • Core Partials & RPC Decoupling:
    • Split PairingService into discrete RPC modules: PairingService.Client.Gallery.cs, PairingService.DriveRpc.cs, PairingService.TranscodeRpc.cs.
    • Split MainWindow.Compress.cs into MainWindow.Compress.Transcode.cs.
    • Split player context menus into MainWindow.PlayerMenu.cs and card action handlers into MainWindow.Cards.Menu.cs.
  • Legal & Compliance Documentation:
    • Added comprehensive PRIVACY.md and TERMS.md compliant with Google API Services Limited Use requirements.

Full Changelog: v0.3.15...v0.4.0


Hotfix (2026-09-08)

  • Fix (Stream Deck): changing the clip duration on a Stream Deck key no longer calls set_buffer_duration, which was force-stopping and restarting the live replay buffers (wiping the pre-roll you were about to save). The duration card now only adjusts the trim length, matching the Save Replay "Clip length" slider.

v0.3.15

Choose a tag to compare

@ilyambr ilyambr released this 30 Aug 19:33

Smart Clip Deduplication Engine, Sub-Millisecond Audio Cross-Correlation & Seamless Hardware Merge

  • Modular Deduplication Engine (DeduplicationService.cs): Standalone deduplication service with DeduplicationEntry records tracking origin-child clip relationships, duration, and millisecond timestamps stored in %AppData%\Backtrack\deduplicated.json.
  • Sub-Millisecond Acoustic Overlap Alignment: Mathematical audio fingerprinting using 8kHz normalized cross-correlation (DetectOverlapOffsetSeconds) to detect the exact splice point down to 0.125ms across OBS keyframe boundaries, completely eliminating repeated frames and audio stutter.
  • High-Precision Timestamp Fallback: Automatic millisecond timestamp tracking (ExactDurationSeconds) for videos with no audio or silent tracks.
  • Hardware-Accelerated Seamless Merge Engine (MainWindow.Merge.cs): Fast GPU hardware-accelerated filter concatenation with monotonic PTS presentation normalization (setpts=PTS-STARTPTS, asetpts=PTS-STARTPTS,aresample=async=1000) and 1-second GOP keyframes (-g 60 -keyint_min 30) for instant seeking in media players.
  • Multi-Track Audio Concat & Preservation: Stream-copy and multi-stream filter complex mapping preserving all discrete audio tracks (game audio, mic, discord, desktop audio).
  • Gallery Drag-and-Drop Merge & Themed Overlays: Drag deduplicated clip cards onto their origin to merge with live progress. Added floating themed pill cards (BadgeBg, BadgeBorder, Text0) for merge/compress progress and dynamic luminance calculations for compress preset buttons across all themes.

Full Changelog: v0.3.14...v0.3.15

v0.3.13

Choose a tag to compare

@ilyambr ilyambr released this 28 Aug 19:20

Features & Improvements

  • Native Stream Deck Integration: Built a native two-way localhost WebSocket IPC server (127.0.0.1:44558) and official Elgato Stream Deck plugin package (Backtrack.streamDeckPlugin) with zero-touch configuration.
    • 🟩 Clip Replay Buffer: Flushes and saves instant replay buffer for any selected source with dynamic buffer duration readout.
    • 🔴 Record Source: Starts/stops recording for any source with live stopwatch ticker on keycap.
    • ⏹️ Cancel Recording: Instantly purges and cancels active recording with status feedback.
    • ⭐ Bookmark Segment: Drops chapter star marker into clip metadata on the fly.
    • 🖥️ Toggle Backtrack HUD: Toggles overlay on screen with live OBS connection dot.
  • Dynamic HTML5 Canvas Keycap Engine: Custom-rendered keycaps with corner-radius safe insets, high-contrast typography, and automatic desaturated/dimmed offline states when Backtrack or OBS is disconnected.
  • Self-Contained Zero-Prerequisite Deployment: Binaries and installer are now published with --self-contained true, embedding the .NET 8 desktop runtime and LibVLC decoders directly to run out-of-the-box on any Windows machine with zero missing runtime errors.

v0.3.12

Choose a tag to compare

@ilyambr ilyambr released this 27 Aug 16:16

Features & Improvements

  • UI Architecture Modularization: Modularized the monolithic 1,967-line MainWindow into standalone views (SaveReplayView, GalleryView, PlayerView, SettingsView) and dedicated style dictionaries (ControlStyles.xaml, ButtonStyles.xaml, PlayerStyles.xaml, MenuStyles.xaml, Converters.xaml).
  • Clip Length Persistence: The clip length slider on the "Save Replay" screen now automatically remembers and persists your chosen duration across app launches and OBS sessions without resetting to 1:00.
  • Toggle Switch & Slider Styling: Restored signature rectangular track styling for toggle switches (AppToggle) and non-linear track fill scaling for RowLengthSlider.
  • Dropdown Theming Fixes: Restored proper Text1/Text0 theme hierarchy for dropdown selection text and ComboBox items across themes.
  • Startup Resource Resolution: Merged resource dictionaries at the application root level in App.xaml, eliminating static resource lookup errors on startup across modular views and overlays.

v0.3.11

Choose a tag to compare

@ilyambr ilyambr released this 26 Aug 19:55

Fix auto-update loop and normalize version comparison

Full Changelog: v0.3.10...v0.3.11

v0.3.10

Choose a tag to compare

@ilyambr ilyambr released this 26 Aug 11:08

Fix remote recording cancellation toast and remote file deletion

Full Changelog: v0.3.9...v0.3.10

v0.3.9

Choose a tag to compare

@github-actions github-actions released this 26 Aug 10:43

Full Changelog: v0.3.8...v0.3.9

Full Changelog: v0.3.8...v0.3.9

v0.3.8

Choose a tag to compare

@ilyambr ilyambr released this 25 Aug 02:58

Features & Improvements

  • Audio Cue Volume & Delegation: Added an Audio Cue Volume slider with live scaling and automatic RPC delegation to stream audio cues to the transmitter PC in remote setups.
  • Accurate Bookmark Timing: Improved bookmark calculation across continuous recordings, replay buffers, and active video player playhead.
  • Gallery Starred Filter & Theming: Added a dedicated ★ Starred toolbar toggle, Starred First/Only sorting options, and dynamic theme-matched storage progress bars.
  • Video Compression & Bundled FFmpeg: Packaged standalone FFmpeg binary with optimized MP4 compression presets and faststart flags.
  • OS-Native Drag & Drop: Implemented Windows Shell drag-image helper for zero-lag clip dragging into folders and external applications.

v0.3.7

Choose a tag to compare

@ilyambr ilyambr released this 24 Aug 08:22

Features & Improvements

  • Video Player Overhaul: Removed the player sidebar for a full-width 16:9 player surface with zero letterboxing.
  • Top-Right Context Menu: Replaced sidebar actions with a compact 3-dot trigger pill opening an action grid (Rename, Trim, Reveal, Delete) and metadata details.
  • Fullscreen Positioning: Improved fullscreen layout with 20px insets matching the floating transport bar.
  • Inactive Replay Buffer Guard: Inactive replay buffers are ignored on hotkey triggers and no longer generate stuck toasts.

v0.3.6

Choose a tag to compare

@ilyambr ilyambr released this 24 Aug 02:15

Features & Improvements

  • Restructured Settings UI: Reorganized settings into 7 clear categories (General, Clips, Overlay & Hotkeys, OBS, Sharing, Experimental, Maintenance) with card-style groupings.
  • Context Menu Positioning: "Cancel recording" context menu now opens directly at the cursor position.
  • Player Mute Feedback Fix: Fixed inverted mute state and icon feedback in the built-in video player.
  • Quick Gallery Renaming: Added title renaming support by double-tapping the title in Quick Gallery.
  • Audio Cues: Added audio chime feedback on clip and recording saves with a dedicated mute toggle in Settings.
  • Remote OBS Gating: Automatically locked plugin auto-updates when OBS runs on a remote transmitter PC.
  • Overlay Z-Order & Fullscreen Detection: Improved window layering and topmost window detection across games and fullscreen apps.