Private REAPER project preflight

REAPER .rpp Project Dependency Auditor

Read a REAPER project tree, inventory referenced media and plug-ins, verify paths against files you select, compare an earlier project version, and prepare a portable archive manifest—all locally in your browser.

Local project input

Open or paste the current RPP

No current project selected.

No baseline selected.

Useful for a small, loose selection.

Inventories folder-relative names where the browser supports directory selection.

No companion files selected.

A browser cannot probe paths elsewhere on your disk. A reference is marked “not in selection” only after you supply companion files; without an inventory it remains “unchecked.” Text is limited to 16 MiB and inventories to 10,000 files.

Paste a project or choose an RPP file from your device.

Project text, paths, file names, sizes and reports stay in this browser tab. ToolQuill does not upload audio, RPP content, plug-in names or session metadata.

What this RPP dependency auditor checks

REAPER project files are readable text trees. This parser validates the block structure, inventories supported SOURCE/FILE and plug-in blocks, groups repeated references, labels nested RPP projects, and identifies Windows, UNC, POSIX, home-variable and escaping relative paths that can make a handoff nonportable. It also detects archive destination collisions before exporting a CSV audit or JSON manifest.

How selected-file checking works

Choose loose companion files or a project folder. The auditor first compares normalized relative paths, then permits a unique case-insensitive basename match when browsers hide the original folder context. Multiple basename matches are ambiguous. A file absent from the supplied selection may still exist elsewhere, so the result says “not in selection,” never that deletion or loss has been proven.

Comparing project versions

An optional earlier RPP produces added, removed and unchanged dependency rows plus track and item deltas. Matching uses normalized media reference text and plug-in format/module identifiers. It is not an audio diff: moved items, automation, routing, envelopes, parameter state, rendered output and semantic mix changes are outside this comparison.

Validation boundary

This is a read-only, bounded preflight—not REAPER. Cockos does not publish a complete formal grammar for every project-state chunk, and extensions can store additional state. The auditor preserves structural visibility but interprets only the documented/common dependency constructs listed above. It does not decode opaque plug-in state, open media, load plug-ins, recurse into nested RPPs, copy files, rewrite the project, validate licenses, or prove that a project will play or render correctly. Keep the original project and use REAPER's save/copy workflow for the actual archive.

Frequently asked questions

Why is a referenced file “unchecked”?

No companion inventory was supplied. Web pages cannot silently search your disk. Select the session folder or relevant files to perform a local name/path comparison.

Does a listed plug-in mean it is installed?

No. It means the RPP contains a supported plug-in block. Only REAPER on the target system can resolve and load that plug-in and its saved state.

Can I use the manifest as a finished archive?

No. It is a review and copying plan. Resolve collisions and nonportable paths, create the archive in REAPER or your file manager, then reopen and test the copied project independently.

Authoritative references

The official REAPER User Guide describes RPP project files, backups, subprojects and project-media copying options. Cockos' ReaScript API reference documents project-state chunks and project paths. The ReaScript introduction also notes that extensions can store state in the RPP, which is why unknown blocks are not treated as invalid solely for being unfamiliar.

Browse music-production tools · Audit BWF/RF64 delivery files