Skip to content

Releases: xingrz/tapeflow

v1.8.0

22 Jun 05:49

Choose a tag to compare

TapeFlow now catches damage that only surfaces when the finished master is decoded — and points you straight at it.

  • After an HDV export, the self-check pinpoints every spot where the master still decodes badly — damage no single capture flagged, but that the assembled stream trips over. Each one joins the re-capture list as a normal spot (tape timecode + thumbnail) and shows on the tape-map, so you can re-capture that exact spot, re-export, and watch it clear, exactly like any other damage. Even a 100% master can carry one (e.g. a divergence cut), so it's worth a glance after every export.
  • These spots persist with the workspace — they survive a re-analyse and are only rewritten by the next export.
  • Fixed how seam timestamp breaks are described: overlapping HDV captures carry the tape's own timestamps, so a cross-capture join is usually seamless; the small count that remains reflects the tape's own structure, not how many pieces were stitched together — nothing to chase.

See the README for requirements, install and usage.

v1.7.1

21 Jun 16:32

Choose a tag to compare

tapeflow verify now works on DV masters too, not just HDV.

  • verify <master> accepts DV (.dv) files alongside HDV (.m2t/.ts). For a DV master it re-runs dvrescue's own analysis, so the completeness "TF tag" it reports matches what analyze gives for the same file exactly — where HDV verify reads a slightly conservative lower bound. It stays read-only with respect to the master: dvrescue's temporary files go to system scratch, guarded by a free-space check and cleaned up afterwards, so it is safe to run against a master in place, including on a read-only or NAS volume. (DV verify needs dvrescue on the box, plus scratch space about the size of the master — point TMPDIR at a large volume if your default temp dir is small.)

See the README for requirements, install and usage.

v1.7.0

21 Jun 14:22

Choose a tag to compare

Cleaner merged masters, plus a new read-only way to audit the ones you've already exported.

  • Merged masters no longer carry duplicate frames: where two captures read one tape moment into byte-different but clean copies, the merge now emits it once instead of stitching the spare in as a backward-jump repeat at a seam.
  • Fewer false "still damaged" spots: a frame flagged with a decode error is cleared when another capture holds the byte-identical clean frame, so a stray (and machine-dependent) ffmpeg error no longer keeps an otherwise-complete tape from reading 100%.
  • New tapeflow verify <master.m2t> audits an already-exported master from the file alone, read-only: its completeness "TF tag" and any duplicate frames — for tagging or re-checking masters. It ships as a standalone, portable CLI (tapeflow-<version>.pyz) that runs on any python3 (>= 3.7), e.g. on a NAS.

See the README for requirements, install and usage.

v1.6.2

21 Jun 06:54

Choose a tag to compare

Recovers footage that was present in your captures but wrongly shown as missing, and keeps captures ordered by capture time.

  • A spot no longer shows as “missing” when the frames are actually present in some captures: where captures disagree at a recording-pause seam and one skips the next few frames, the merge now keeps the frames the others hold, in tape order, instead of reporting the spot unrecoverable.
  • The Captures panel and the Tape Map now order captures by capture time (mtime) consistently, newly added captures included, so the two views agree.
  • Dragging captures into a workspace preserves their original file timestamps, so that ordering stays correct.

See the README for requirements, install and usage.

v1.6.1

20 Jun 18:31

Choose a tag to compare

A DV analysis fix, plus a more reliable automatic re-capture flow in the agent skill.

  • DV folders that used to fail analyze when a capture ended on a partial frame now analyze and merge normally.
  • The agent skill's automatic re-capture (自动补采) is more careful: it re-analyses after each spot, makes sure the tape's very head and tail are actually captured, and judges whether a spot is fixed only from the merge result — fewer wasted passes, and no missed start or end of a tape.

See the README for requirements, install and usage.

v1.6.0

19 Jun 13:08

Choose a tag to compare

Read each tape's condition at a glance, and bring agent-driven exports in line with the app.

  • Each DV capture shows how clean it is right beside its filename — a green / amber / red tag — with the full per-frame breakdown, now including audio, on hover; the good passes stand out at a glance.
  • The bundled agent skill now names its merged export after the tape with the completeness marker appended (e.g. 2010 校运会 (TF99%-3).dv), the way the app already does, so agent-driven exports come out named consistently.
  • Indexing a tape now shows the full list of captures and a running count up front instead of revealing them one at a time; re-analysing an already-indexed folder only works through the files you just added.

See the README for requirements, install and usage.

v1.5.0

17 Jun 14:49

Choose a tag to compare

Highlights

  • A command-line interface, for scripting and automation. Alongside the desktop app, TapeFlow now ships a one-shot tapeflow CLI — analyze <dir>, build <dir> <out>, and capabilities — that prints the very same tapeflow.analysis/1 verdict the GUI uses as JSON on stdout (add the global --compact for one line). It's the same engines underneath: build is byte-for-byte the hdvmerge/dvmerge merge, so the result is identical to the app's. The CLI is bundled inside the installed app (as tapeflow-cli), so there's nothing extra to set up — point a script at it and go.

  • An installable agent skill. npx skills add xingrz/tapeflow teaches an AI coding assistant (Claude Code, etc.) to drive the whole rescue workflow over that CLI: check whether a folder of captures adds up to a complete tape, report exactly which spots still need re-capturing, and export the merged file. Where the companion tapecap skill is also installed, it can even drive the deck over FireWire and re-capture the damaged spots for you — capturing a margin around each gap, rolling through neighbouring spots in one pass to spare the transport, retrying the stubborn ones, and exporting at the end.

The desktop app's behaviour is unchanged this release — it's the same merge, now also reachable from the command line and from an AI assistant.

Full Changelog: v1.4.1...v1.5.0

v1.4.1

17 Jun 07:58

Choose a tag to compare

Highlights

  • Fixed a tape-map display glitch on tapes with a timecode reset. A capture that held a brief pre-reset blip (footage at a high tape TC, captured just before the record-run TC restarts near zero) had its entire lane painted with the red "missing" stripes — even though it supplied most of the tape. Such a lane now shows its real coverage, with only its genuine internal drops marked. Display only; the merged output was always correct.

Full Changelog: v1.4.0...v1.4.1

v1.4.0

16 Jun 20:13

Choose a tag to compare

Highlights

  • HDV merges no longer silently drop footage or hide tape gaps. A capture's unique tail past an internal dropout could be stranded — the merged file ended early while the result still read as complete — and footage missing from every capture (stitched as two islands by timecode) wasn't flagged at all. Now orphaned footage is recovered into the output, and genuine missing regions surface as re-capture spots: the result bar breaks where footage is gone instead of showing all-green.

  • A sound export no longer trips a warning. A byte-exact merge keeps each capture's own PTS/DTS, so ffmpeg's demuxer reports a timestamp discontinuity at every splice. These were mistaken for decode damage and failed the self-check on a perfectly good file. They're now told apart from genuine picture-decode errors and shown as a benign "seam timestamp" note (a playback-seek nuisance, not lost content).

  • The preparation modal shows only this round's files. Re-analysing an established workspace no longer flashes every already-cached file through it — just the files actually being (re)indexed or dragged in.

Full Changelog: v1.3.0...v1.4.0

v1.3.0

15 Jun 14:34

Choose a tag to compare

Highlights

  • Multi-session HDV tapes now lay out correctly. When a tape splices on later footage (or is partly over-recorded), its record-run tape timecode restarts mid-tape. HDV couldn't handle that: the time axis collapsed onto the restarted tail's tiny TC and the whole capture rendered as a broken, "fully damaged" sliver. HDV now detects the TC reset, lays the tape out on a physical frame axis (like DV), and labels tc/rec per position across the session seam. Two overlapping transfers of one tape now overlap on the map instead of appearing appended end-to-end, and their lanes draw as covered footage instead of missing stripes.

Full Changelog: v1.2.0...v1.3.0