Skip to content

Releases: bvalente22/sharpcap-collimation-overlay

v2.0.4 — Display Zoom Compensation & High-DPI Palette

Choose a tag to compare

@bvalente22 bvalente22 released this 01 Sep 04:01

The overlay is drawn into the frame in image pixel coordinates, so SharpCap's display zoom magnified it along with the image — at 200% zoom the text was drawn twice as large on screen as at 100%. This release compensates for that, and fixes the settings palette on 4K screens.

Overlay scaling

Scale Overlay to Zoom (Display tab, on by default) divides all screen furniture — text, info panel, bottom bar, brightness and size bars, correction arrows, center crosshairs — by the current display zoom, so it keeps a constant on-screen size. Circle geometry and pen widths are never scaled; they stay locked to the image pixels.

The zoom factor is read from SharpCap.ZoomPercent automatically, with older property names probed as fallbacks. Once found it is read fresh every frame, so changing the zoom in SharpCap updates the overlay immediately.

The legibility floor

Exact compensation can't continue indefinitely: the overlay is rasterized at image resolution, so at 400% zoom holding a constant on-screen size means drawing 2pt text and magnifying the result. Min Font Size (zoom) (Colors tab, default 6) stops the shrinking once the info panel font reaches it. With the defaults:

Display zoom Overlay scale Panel font drawn On-screen size vs 100%
100% 1.00 9pt same
150% 0.67 6pt same (floor just reached)
200% 0.67 6pt 1.3×
400% 0.67 6pt 2.7×

Useful range is 5–8; 0 disables the floor. The floor is applied relative to the panel font, so raising the font sizes raises it too.

If auto-detection fails

zoom() reports the detected zoom, where it came from, the current scale and whether the floor is active. If it reports "unknown", set the zoom by hand with set_zoom(2.0) or Manual Zoom on the Colors tab. find_zoom() dumps every zoom-like member of the SharpCap API plus the annotation Graphics state, for reporting new property names.

High-DPI settings palette

The palette was laid out in fixed pixels authored for 96 DPI, which left it unusable on 4K screens. Layout and font sizes now scale separately, so total magnification is the same whether the monitor DPI or the Palette Scale override supplies it, and WinForms auto-scaling is disabled so no second layer is applied on top. A 4K screen running 100% Windows scaling reports 96 DPI and so gets a screen-width heuristic instead; Palette Scale (Colors tab) overrides all of it.

New console commands

Command Action
zoom() Show the detected display zoom, overlay scale and legibility floor
set_zoom(2.0) Set the display zoom by hand (0 = back to auto-detect)
rescan_zoom() Re-scan for the zoom property now (also done by Restart)
find_zoom() Search the SharpCap API for the zoom property (diagnostic)

debug() now includes a Display Scaling section (zoom, source, draw scale, screen size, palette DPI).

Fixes

  • restart() reset frame_count while leaving the failed-zoom-lookup backoff timestamp in the future, so a failed lookup never retried.
  • Properties whose name ends in Percent are always read as percentages, so a 12.5% zoom is not mistaken for 12.5×.

v2.0 — Settings Palette

Choose a tag to compare

@bvalente22 bvalente22 released this 19 Mar 22:01

What's New

Settings Dialog

  • New Coll Settings toolbar button opens a non-modal settings palette
  • 3 tabs: Appearance, Detection, Performance — all 25 configuration options exposed
  • Live preview: changes apply instantly to the running overlay as you adjust
  • Color pickers with alpha channel control for all overlay colors
  • Numeric controls with appropriate ranges for all parameters

Persistent Settings

  • Settings saved to collimation_settings.cfg next to the script
  • Automatically loaded on script startup
  • Reset to Defaults button restores original values

Console Commands

  • settings() — open the settings dialog from the scripting console
  • All existing commands (cycle_display_mode(), reset_tracking(), etc.) still work

Internal

  • All hardcoded configuration constants replaced with centralized _config dict
  • save_config() / load_config() / reset_config() available from console

v1.0 — Collimation Overlay

Choose a tag to compare

@bvalente22 bvalente22 released this 19 Mar 21:52

Initial release of the SharpCap collimation overlay script.

Features:

  • Auto-detection of defocused star donut pattern
  • Real-time overlay with inner/outer circle fitting
  • 6 display modes cycled via toolbar button
  • Offset measurement with quality ratings
  • Gradient-based outer edge detection for accuracy across variable brightness
  • Console commands for debugging and control