How infoprojectstone/compressor works
Compressor is a native macOS app for locally compressing images, videos, and PDFs. Users add files through the app or Finder, choose quality or target-size options, process a queue, and save or reveal results without replacing originals. The sampled source shows the UI, queue orchestration, image and PDF engines, and settings; the README documents Finder intake and the video capability, but the video implementation is only partially sampled.
Main entry points: CompresorApp.swift Queue and jobs · ContentView.swift Main window · SafeImageCompressor.swift Image engine · SafePDFCompressor.swift PDF engine
Components 14
App interface
- App lifecycle
Sources/CompresorUnificado/CompresorApp.swift - Main window
Sources/CompresorUnificado/ContentView.swift
Compression workflow
- Queue and jobs
Sources/CompresorUnificado/CompresorApp.swift - Pause control
Sources/CompresorUnificado/CompressionControl.swift - Compression dispatch
Sources/CompresorUnificado/CompresorApp.swift - Output and results
Sources/CompresorUnificado/CompresorApp.swift
Format engines
- Image engine
Sources/CompresorUnificado/SafeImageCompressor.swift - Video engine
Sources/CompresorUnificado/CompresorApp.swift - PDF engine
Sources/CompresorUnificado/SafePDFCompressor.swift
Preferences and Finder
- Settings UI
Sources/CompresorUnificado/Localization.swift - Quick Action
Resources/QuickAction/Comprimir con Compresor.workflow
Other components
- Mac user
- Finder
- Local files
Connections 15
- Mac user → Main window: adds files
- Finder → Quick Action: invokes action
- Quick Action → App lifecycle: opens with files
- App lifecycle → Main window: presents
- Main window → Queue and jobs: updates queue
- Main window → Settings UI: opens preferences
- Queue and jobs → Compression dispatch: processes jobs
- Compression dispatch → Image engine: compresses images
- Compression dispatch → Video engine: compresses video
- Compression dispatch → PDF engine: compresses PDFs
- Queue and jobs → Pause control: pauses work
- Queue and jobs → Output and results: saves and reports
- Image engine → Local files: reads source
- PDF engine → Local files: reads source
- Output and results → Local files: writes results