How ahiser24/gamedrop works
Game Drop is a desktop video clipping and Discord-sharing app. The user connects Discord, loads and previews a clip, selects a range and output format, then starts local GPU/CPU transcoding and optionally sends the result to Discord or configured webhooks. The graph follows the documented workflow and excerpted calls; some UI wiring and unsampled capabilities are represented only where README or SOURCE INDEX evidence supports them.
Main entry points: main_window.py Main window · video_processor.py Clip processing · app_controller.py App controller · ffmpeg_wrapper.py FFmpeg interface
Components 17
Desktop app
- App startup
gamedrop/__main__.py - Main window
gamedrop/ui/main_window.py - Clip range slider
gamedrop/ui/range_slider.py - Settings dialogs
gamedrop/ui/dialogs.py - App controller
gamedrop/core/app_controller.py
Clip processing
- Video playback
gamedrop/core/media_controller.py - Clip processing
gamedrop/core/video_processor.py - FFmpeg interface
gamedrop/utils/ffmpeg_wrapper.py - FFmpeg engine
gamedrop/utils/ffmpeg_core.py
Discord sharing
- Discord OAuth
gamedrop/utils/discord_oauth.py - Discord API
- Webhook destinations
Platform support
- GPU detection
gamedrop/utils/gpu/detector.py - Platform detection
gamedrop/platform_utils/detection.py - Paths and resources
gamedrop/utils/paths.py - Update checker
gamedrop/utils/updater.py
Other components
- User
Connections 21
- User → Main window: uses
README.md - App startup → App controller: creates
gamedrop/__main__.py - App startup → Main window: creates
gamedrop/__main__.py - Main window → App controller: requests actions
README.md - Main window → Clip range slider: selects range
gamedrop/ui/main_window.py - Main window → Settings dialogs: opens
gamedrop/ui/main_window.py - App controller → Video playback: loads video
gamedrop/core/app_controller.py - App controller → Clip processing: processes clip
gamedrop/core/app_controller.py - Main window → Discord OAuth: starts authorization
gamedrop/ui/main_window.py - Discord OAuth → Discord API: fetches profile
gamedrop/utils/discord_oauth.py - Clip processing → FFmpeg interface: encodes clip
gamedrop/core/video_processor.py - FFmpeg interface → FFmpeg engine: delegates encoding
gamedrop/utils/ffmpeg_wrapper.py - FFmpeg engine → Webhook destinations: uploads clip
gamedrop/utils/ffmpeg_core.py - Clip processing → GPU detection: selects encoder
- Clip processing → Platform detection: checks platform
gamedrop/core/video_processor.py - FFmpeg engine → Platform detection: checks platform
gamedrop/utils/ffmpeg_core.py - Settings dialogs → FFmpeg interface: offers setup
gamedrop/ui/dialogs.py - Main window → Update checker: checks updates
gamedrop/ui/main_window.py - App startup → Paths and resources: resolves resources
gamedrop/__main__.py - Discord OAuth → Paths and resources: stores credentials
gamedrop/utils/discord_oauth.py - FFmpeg interface → Paths and resources: resolves binaries
gamedrop/utils/ffmpeg_wrapper.py