Skip to main content

VSPreview plugin for creating comparison frames with offsets

Project description

SlowPics Offsets Plugin for VSPreview

Compare multiple video sources with per-frame, per-source offsets, then upload either as a new slow.pics comp or append to an existing comp.

preview

Features

  • Per-frame offsets - Set different offsets for each frame, per source
  • SlowPics Comp support - Generate frames using SlowPics Comp settings
  • Frame management - Add, edit, remove frames manually
  • Upload modes - New Comparison and Append to Existing
  • Append by clone - Loads an existing comp, clones it, and appends selected local sources
  • Manual frame mapping fallback - Provide an explicit row-to-frame map when frame parsing fails
  • Offset-aware upload - Upload to slow.pics with offsets applied per source
  • State persistence - Save and load frame selections with offsets for future comps

Installation

Method 1: PyPI (Recommended)

  1. Install via pip:

    pip install slowpics-offsets
    
  2. Run the setup command to link it to VSPreview:

    spo-install
    

    This detects your VSPreview plugins folder and installs a loader file.

    To specify a custom path:

    spo-install --path /path/to/plugins
    

Method 2: Local Source Install

  1. Clone this repository:
    git clone https://github.com/JanitorialMess/slowpics-offsets.git
    cd slowpics-offsets
    
  2. Install in editable mode:
    pip install -e .
    
  3. Link it to VSPreview:
    spo-install
    

Requirements

  • VSPreview with the built-in SlowPics Comp plugin available

Usage

1. Select Frames

Use Generate Frames (using SlowPics settings) to import frame selection from the built-in SlowPics Comp settings.

Or manage frames manually with:

  • Add Frame
  • Edit Frame
  • Remove Frame
  • Prev / Next navigation

2. Set Offsets

For each frame in your selection:

  1. Select the frame from the list
  2. Adjust the offset spinboxes for each source
  3. The preview updates automatically to show the offset frame
  4. Navigate between frames to verify alignment

Each frame can have different offsets per source. For example, if a transition appears on frame 5000 in one source, you can set a +10 offset just for that frame.

3. Choose Upload Mode

  • New Comparison:
    • Uploads selected local sources as a new comp
    • Cookies are optional (anonymous upload can work, same as built-in behavior)
  • Append to Existing:
    1. Paste a target key/URL (for example https://slow.pics/c/abcd1234)
    2. Click Load
    3. If frame numbers were not parsed from target rows, enter a manual frame map and click Apply
    4. Select local sources to append
    5. Click Upload
    • This mode may require cookies (clone permission can fail with 401/403)

Manual Frame Mapping (Append Mode)

Append mode must map target rows to local frame numbers 1:1 and in order.

  • The plugin first tries to parse frame indices from target row names.
  • If parsing fails, or your local frame list changes after loading target, you must provide the map manually.
  • Format: comma-separated frame numbers (for example 100, 250, 500).
  • The number of entries must match target row count exactly.

Append mode uses the original slow.pics clone flow.

4. Save/Load and Interop

  • Save Offsets: save selected frames + offsets to JSON
  • Load Offsets: restore selected frames + offsets from JSON
  • Send Frame List to SlowPics Comps Tab: send frame numbers to built-in SlowPics Comp without offsets

Keyboard Shortcuts

  • Ctrl+[ - Previous generated frame
  • Ctrl+] - Next generated frame

JSON Format

State files use this format:

{
  "version": 1,
  "selected_frames": [100, 500, 1000],
  "offsets": {
    "500": {
      "Source1": 10,
      "Source2": -5
    }
  }
}

Only frames with non-zero offsets are stored. Offsets are keyed by source name. If source names change between sessions, remapping is required.

Warning

This plugin intentionally relies on internals from VSPreview's built-in SlowPics Comp plugin. Updates in VSPreview may change those internals and break behavior.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slowpics_offsets-1.0.0.tar.gz (94.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slowpics_offsets-1.0.0-py3-none-any.whl (96.2 kB view details)

Uploaded Python 3

File details

Details for the file slowpics_offsets-1.0.0.tar.gz.

File metadata

  • Download URL: slowpics_offsets-1.0.0.tar.gz
  • Upload date:
  • Size: 94.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for slowpics_offsets-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cc922d424dfd0737f52d3143da71270da52d7aadfb43ca3f87256a1431050ab8
MD5 b210a4f5a4f96864e2805f4db7720f1d
BLAKE2b-256 553d24ba1b9e3c577e2acfa6108bb7a880db2e6d222cc0f3246b67a6a488eddd

See more details on using hashes here.

File details

Details for the file slowpics_offsets-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for slowpics_offsets-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a22d8f52d0f5d0309c173a3221374732a8638fa6057c7e1941e9c69723cfb4d
MD5 0c7abeae57702acdf57d0fbcb3e4d186
BLAKE2b-256 72d9df0e90ecc74edfa20af9d207e189261de373c3b78e740d190406704aea25

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page