Skip to content

Releases: Romancha/GPStitch

0.18.0

Choose a tag to compare

@Romancha Romancha released this 25 Jun 16:58

🆕 New

  • User-defined FFmpeg profiles — The FFmpeg Profile selector now lists your own encoding profiles from ~/.gopro-graphics/ffmpeg-profiles.json (the same file gopro-dashboard.py reads) alongside the built-in ones, with the output container chosen automatically from the codec (#17)
  • Editable unit labels — The Metric Unit widget gained an editable "Label / Format" field in Advanced Mode, so you can rename or localise overlay labels (e.g. ALT → Höhe, or type a literal km/h) (#19)

🐞 Fixes

  • Fixed the editor and Quick Mode preview ignoring an attached GPX/FIT file when the video already contained embedded GPS — the preview now uses the external track you provided, matching the actual render (#18)

v0.17.0

Choose a tag to compare

@Romancha Romancha released this 15 May 06:37

🆕 New

  • Canvas size controls in Advanced Mode — Width × height inputs in the Advanced Mode toolbar let you resize the editor canvas directly, and the size-mismatch warning now offers a one-click "Resize canvas to

🐞 Fixes

  • Fixed render crash on Windows when log lines contained non-ASCII characters (e.g. the arrow from pillarbox pre-processing) — state files are now written as UTF-8 instead of the system locale (cp1252)
  • Fixed pillarbox pre-processing scaling custom-canvas videos down to 1920×1080 — _needs_pillarbox now reads canvas dimensions from the template's sidecar JSON, matching what --overlay-size passes to the renderer

v0.15.0

Choose a tag to compare

@Romancha Romancha released this 14 Apr 13:09

🐞 Fixes

  • Fixed orientation widgets (Pitch, Roll, Yaw) rendering as tiny empty rectangles in CLI renders — the subprocess was not loading CORI/ACCL/GRAV tracks from GoPro GPMF data, while the editor preview worked correctly (#15)
  • Fixed startup crash when unrecognized environment variables with GPSTITCH_ prefix are present (#3)

v0.14.2

Choose a tag to compare

@Romancha Romancha released this 10 Apr 20:56

✨ Improvements

  • Canvas size mismatch warning — Advanced Mode now shows an informational banner when the editor's template canvas dimensions don't match the loaded video's resolution, so users understand why widgets may appear misplaced in the rendered output

🐞 Fixes

  • Fixed custom templates rendering at the wrong overlay size — --overlay-size is now read from the template's sidecar metadata instead of falling back to a hardcoded 1920×1080, which caused widget misalignment for any canvas dimensions other than default
  • Fixed predefined template canvas dimensions being estimated from widget bounding boxes instead of the layout's true size (e.g. default-3840x2160 now correctly reports 3840×2160)

v0.14.1

Choose a tag to compare

@Romancha Romancha released this 10 Apr 12:35

🆕 New

  • Timezone auto-correction for non-GoPro cameras — Automatically detects and corrects UTC offset when video creation_time lacks timezone info, improving time alignment with external GPS data (#9)
  • Independent video and GPS file fields — Video and GPS files are now decoupled in the upload UI; replacing the video no longer clears the GPS file (#10)
  • Degree unit for orientation metrics — Pitch, Roll, and Yaw widgets now support a degree (°) unit option (#14)

✨ Improvements

  • Manual Offset panel refinements — Seconds are now displayed in the time preview, and Video/GPS labels clarify which timestamp is which (#11)
  • Time Sync mode descriptions — Each sync mode (Auto, GPX Timestamps, Manual) now shows an inline explanation in the UI (#11)

🐞 Fixes

  • Fixed creation_time timezone validation rejecting valid non-GoPro videos when the metadata timestamp had no UTC indicator (#9)

v0.14.0

Choose a tag to compare

@Romancha Romancha released this 09 Apr 12:44

🆕 New

  • Independent video and GPS file selection — Video and GPS file fields are now fully decoupled; changing the video file no longer clears the GPS file, making it easier to mix and match files (#10)

✨ Improvements

  • Added Time Sync mode descriptions to the UI for better discoverability (#11)

🐞 Fixes

  • Fixed incorrect timezone detection for non-GoPro cameras (e.g. Insta360) where creation_time is written as local time but reported as UTC — now cross-validates against GPS data and falls back to file mtime (#9)

v0.13.0

Choose a tag to compare

@Romancha Romancha released this 29 Mar 06:30

🆕 New

  • Independent video and GPS file selection — Video and GPS file fields are now fully decoupled; changing the video file no longer clears the GPS file, making it easier to mix and match files (#10)

✨ Improvements

  • Added Time Sync mode descriptions to the UI for better discoverability (#11)

🐞 Fixes

  • Fixed incorrect timezone detection for non-GoPro cameras (e.g. Insta360) where creation_time is written as local time but reported as UTC — now cross-validates against GPS data and falls back to file mtime (#9)

v0.12.1

Choose a tag to compare

@Romancha Romancha released this 21 Mar 08:32

🆕 New

  • gpstitch-dashboard CLI command — Standalone entry point that works as a drop-in replacement for gopro-dashboard.py with all GPStitch patches applied (DJI support, timecode preservation, audio copy, etc.). Use the "Get Command" button in the UI to generate a ready-to-run command (#5)

🐞 Fixes

  • Fixed README showing Python 3.14+ requirement instead of 3.12+ (#4)

v0.12.0

Choose a tag to compare

@Romancha Romancha released this 17 Mar 14:42

🎉 Major Features

DJI Osmo Action Embedded GPS Support

Full support for DJI Osmo Action cameras (Action 4/5/6) with DJI GPS Bluetooth Remote Controller — no secondary GPX or SRT file needed.

  • Automatic detection — Embedded GPS telemetry is identified during upload and shown in the UI
  • Protobuf decoder — Extracts GPS data from the DJI meta stream (djmd codec) embedded in video files
  • End-to-end pipeline — Preview, render, and CLI command generation all work with embedded GPS data out of the box
  • GPX export — Extracted GPS is converted to timeseries and GPX for use in the overlay engine

v0.11.0

Choose a tag to compare

@Romancha Romancha released this 16 Mar 07:51

🐞 Fixes

  • Fixed output file always getting .mp4 extension regardless of FFmpeg profile, causing import failures in Final Cut Pro and DaVinci Resolve — now uses .mov for PNG codec and .webm for VP8/VP9 with alpha channel (#12)