Skip to content

Add native macOS SwiftUI GUI#276

Open
Anasslaktiri wants to merge 1 commit into
anthwlock:masterfrom
Anasslaktiri:macos-gui
Open

Add native macOS SwiftUI GUI#276
Anasslaktiri wants to merge 1 commit into
anthwlock:masterfrom
Anasslaktiri:macos-gui

Conversation

@Anasslaktiri
Copy link
Copy Markdown

@Anasslaktiri Anasslaktiri commented Mar 19, 2026

Summary

This PR adds a native macOS SwiftUI application (macos-gui/) that wraps the untrunc CLI with a graphical interface — no terminal required.

  • Drag & drop reference file and corrupt video file onto labelled drop zones
  • All key CLI flags exposed as checkboxes: -s (step unknown), -sv (stretch video), -k (keep unknown), -dw (analysis only), -ms (make streamable), plus a log-level picker
  • Live log output streamed in real time from the untrunc subprocess
  • Show in Finder button appears automatically when repair completes
  • Fully self-contained DMG installer: bundle_libs.sh copies all FFmpeg dylibs into Contents/Frameworks/ and rewrites install names to @loader_path-relative paths — the app runs on any macOS 13+ Apple Silicon machine with no Homebrew or FFmpeg required

How to build

# Requires: Xcode CLT + brew install ffmpeg
cd macos-gui
bash build.sh        # → Untrunc.app

# To produce a distributable DMG (requires: brew install create-dmg):
bash package_dmg.sh  # → Untrunc-1.0.dmg

Test plan

  • bash build.sh compiles cleanly and Untrunc.app launches
  • Drop zones accept .mp4, .mov, .m4v, .3gp files
  • Repair runs and log output streams correctly
  • Output _fixed file is produced and "Show in Finder" reveals it
  • bash package_dmg.sh produces a working DMG with correct window layout
  • App runs on a machine without Homebrew/FFmpeg (dylibs self-contained)

🤖 Generated with Claude Code

Adds a self-contained macOS application that wraps the untrunc CLI with
a native drag-and-drop interface, requiring no terminal usage.

Features:
- Drag & drop or browse for reference and corrupt video files
- All key CLI flags exposed as checkboxes (-s, -sv, -k, -dw, -ms)
- Live log output streamed in real time from the untrunc process
- Show-in-Finder button on completion
- Fully self-contained DMG: bundles FFmpeg dylibs with @loader_path
  rewrites so the app runs on any macOS 13+ Apple Silicon machine
  without Homebrew or FFmpeg installed

Build: cd macos-gui && bash build.sh
DMG:   bash package_dmg.sh

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant