How csantiagu/clipforge works
Clipforge is a macOS desktop app for queued video conversion/remuxing and image conversion/privacy cleanup. Users add files, tune per-file or batch settings, inspect before/after sizes, then start video encoding or save processed images. The graph separates the two media workflows and their shared SwiftUI interface. Edges follow shown source references/calls or README-documented behavior; some internal image-processing and unsampled estimation links are based on README statements rather than inspected implementations.
Main entry points: AppModel.swift Video queue · ContentView.swift Queues and tabs · ImageModel.swift Image queue · CommandBuilder.swift Encode planning
Components 16
Mac app
- App lifecycle
Sources/Clipforge/ClipforgeApp.swift - Queues and tabs
Sources/Clipforge/ContentView.swift - Glass styling
Sources/Clipforge/Glass.swift
Video workflow
- Video queue
Sources/Clipforge/AppModel.swift - Video settings
Sources/Clipforge/DetailView.swift
Image workflow
- Image queue
Sources/Clipforge/ImageModel.swift - Image controls
Sources/Clipforge/ImageViews.swift
Media core
- Media probing
Sources/ClipforgeCore/MediaInfo.swift - Encode planning
Sources/ClipforgeCore/CommandBuilder.swift - Size estimates
Sources/ClipforgeCore/Estimates.swift - Process runner
Sources/ClipforgeCore/Process.swift - Video settings model
Sources/ClipforgeCore/Settings.swift - Image conversion and metadata
Sources/ClipforgeCore/Images.swift
Other components
- Mac user
- ffmpeg / ffprobe
- macOS ImageIO
Connections 19
- Mac user → Queues and tabs: adds and tunes
README.md - App lifecycle → Queues and tabs: presents
Sources/Clipforge/ClipforgeApp.swift - Queues and tabs → Video queue: routes video files
Sources/Clipforge/ContentView.swift - Queues and tabs → Image queue: routes image files
Sources/Clipforge/ContentView.swift - Video settings → Video queue: edits settings
Sources/Clipforge/DetailView.swift - Video queue → Media probing: probes inputs
Sources/Clipforge/AppModel.swift - Media probing → Process runner: runs ffprobe
Sources/ClipforgeCore/MediaInfo.swift - Process runner → ffmpeg / ffprobe: launches tools
- Video queue → Encode planning: builds encode command
Sources/Clipforge/AppModel.swift - Encode planning → Video settings model: uses options
- Video queue → Size estimates: calculates size
Sources/Clipforge/AppModel.swift - Size estimates → Encode planning: uses planned bitrate
Sources/ClipforgeCore/Estimates.swift - Video queue → Process runner: runs encode
Sources/Clipforge/AppModel.swift - Video queue → ffmpeg / ffprobe: encodes videos
README.md - Image controls → Image queue: edits image jobs
Sources/Clipforge/ImageViews.swift - Image queue → Image conversion and metadata: reads and processes
Sources/Clipforge/ImageModel.swift - Image conversion and metadata → macOS ImageIO: uses ImageIO
Sources/ClipforgeCore/Images.swift - Image queue → Image conversion and metadata: measures output
Sources/Clipforge/ImageModel.swift - Queues and tabs → Glass styling: styles surfaces