code.matx.ca

Donate

P5 Archive Tools for macOS & iOS

Native applications for Archiware P5 operations, verification, and media workflow utilities

๐Ÿ—„๏ธ

P5 Archive Manager

File verification & archive status

nsdchat CLI
Drag-and-drop interface to verify if files have been archived. Get detailed reports with barcodes, volume IDs, and archive dates.
Learn more โ†’
๐Ÿ“Š

P5 Archive Overview

Archive jobs & pool monitoring

REST API
Query current and historical archive jobs via REST API. Monitor pool usage and track archive operations over time.
Learn more โ†’
๐Ÿ”

P5 Archive Search

Index inventory browser & search

REST API
Browse and search P5 archive index inventory. Navigate directories, build a local database, and find archived files quickly.
Learn more โ†’
๐Ÿ“ค

P5 Archive Export

CSV export, job analytics & volume inventory

SQLite · nsdchat
Export archive job data and volume inventory to CSV. 13 built-in queries plus nsdchat-driven volume export with scheduling.
Learn more โ†’
๐Ÿฉบ

P5 Health Check

Multi-server health monitoring

REST API
Health monitoring suite with a desktop app, menu bar monitor, iPhone companion app, and CLI script for quick checks, alerts, and CSV exports.
Learn more โ†’
๐ŸŽฌ

FCPXMLD Conversion Tool

Drag-and-drop XMLD to XML

FCP Workflow Utility
SwiftUI macOS drag-and-drop app that converts .fcpxmld bundles into .fcpxml output in place or to a destination folder.
Learn more โ†’
๐Ÿ’พ

FCP Backup Manager

Automated FCP project backup

FCP Workflow Utility
Menu bar utility that watches your FCP backup folder, compresses .fcpbundle files, and copies them to multiple destinations on a schedule.
Learn more โ†’
๐Ÿ”

MHL Verify

Verify media hash lists

MHL v1.1
Load an existing MHL file and verify that media files still match. Works with MHLs from any compatible tool including Silverstack, OffShoot, and YoYotta.
Learn more โ†’
๐Ÿ“‹

Drop Verify

One-folder trust reporting

MHL v1.1
Drag a folder to generate an MHL manifest, contact sheet PDF with thumbnails and camera data, and EXIF metadata CSV in one step.
Learn more โ†’
๐Ÿ›ก๏ธ

CopyTrust

Camera card ingest & verify

MHL v1.1
Multi-source, multi-destination camera card ingest with xxHash64 verification, MHL generation, contact sheet PDFs, and session receipts.
Learn more โ†’
New

P5 Archive Export

Native macOS apps for exporting Archiware P5 archive job data to CSV. 13 built-in analytical queries, configurable scheduling, and network volume sync โ€” available as a full windowed app or a lightweight menu bar utility.

13

Built-in Queries

Throughput analysis, storage growth, tape utilization, and more

โฑ

Automated Scheduling

Daily, weekly, or monthly exports with configurable time

๐Ÿ”’

Read-Only Access

Opens resources.db in read-only mode โ€” never modifies P5 data

๐Ÿ”Œ

Custom SQL Support

Add your own .sql files with {{MIN_SIZE_KB}} placeholder

๐Ÿ–ฅ

P5 Archive Export

macOS 12+ · SwiftUI · v1.4
Full windowed app with dashboard, sidebar query browser, results table, real-time progress, and log viewer with level filtering.
Learn more โ†’
๐Ÿ“ฆ

P5 Archive Export MenuBar

macOS 14+ · SwiftUI · v1.4
Lightweight menu bar utility โ€” no Dock icon. One-click exports, inline settings, and quick status checks from the popover.
Learn more โ†’
New

MHL Tools

Copy, then Prove It. Three native macOS tools for creating and verifying Media Hash Lists โ€” the industry-standard format for proving your copies are intact. Generate MHL manifests, contact sheet PDFs, and EXIF reports, then verify them anytime.

๐Ÿ”’

MHL v1.1 Standard

Industry-standard XML manifests compatible with Silverstack, OffShoot, ShotPut Pro, and YoYotta

โšก

xxHash64 Speed

~9.6 GB/s on Apple Silicon โ€” 47x faster than SHA-256 for large media files

๐Ÿ“„

Contact Sheet PDF

Dark-themed US Letter PDFs with thumbnails, codec info, and camera metadata

๐Ÿ”—

Chain of Custody

Prove integrity from initial card download through final archive handoff

๐Ÿ”

MHL Verify

macOS 14+ · SwiftUI · v2.1.7
Load any MHL file and verify media files still match. Reports matched, mismatched, and missing files with explicit issue details.
Learn more โ†’
๐Ÿ“‹

Drop Verify

macOS 14+ · SwiftUI · v2.1.7
Drag one folder, generate an MHL manifest, contact sheet PDF, and EXIF metadata CSV. Trust artifacts in one step.
Learn more โ†’
๐Ÿ›ก๏ธ

CopyTrust

macOS 14+ · SwiftUI · v2.1.7
Multi-source, multi-destination camera card ingest with verification, MHL generation, contact sheets, and session receipts.
Learn more โ†’
๐Ÿ—„๏ธ

P5 Archive Manager

Uses nsdchat CLI

A native macOS application designed to verify which files have been archived by Archiware P5. Simple drag-and-drop interface to check folders against your P5 Archive with detailed reporting.

The app leverages the Archiware nsdchat command-line interface to query archive status, making it ideal for environments where direct CLI access to the P5 server is available.

โœ“

Quick Verification

Drag-and-drop to check if files are backed up

๐Ÿ“Š

Detailed Reports

File size, archive date, barcodes, volume ID

๐Ÿ–ฅ๏ธ

Multiple Servers

Configure multiple P5 server connections

๐Ÿ“

Comprehensive Logging

Complete execution logs with timestamps

๐Ÿ“

Verify with Delete

Verify files are archived and then delete

Key Features

  • Custom archive index support
  • Local and remote P5 servers
  • Real-time log monitoring
  • CSV export functionality
  • Secure keychain credential storage
Requires: macOS 14.6+
API: nsdchat CLI
๐Ÿ“Š

P5 Archive Overview

Uses REST API

A native macOS application designed to query current and recent archives via the P5 REST API. Monitor archive job status, view pool usage, and maintain historical records of archive operations.

Uses the Archiware P5 REST API endpoint /rest/v1/archive/overview to retrieve archive job data, making it accessible from any machine on the network without requiring CLI installation.

๐Ÿ“ˆ

Job Monitoring

View current and completed archive jobs

๐Ÿ’พ

Pool Usage

Monitor storage pool capacity and usage

๐Ÿ•

Historical Data

SQLite database for historical tracking

๐Ÿ“ค

Export Options

JSON and CSV export functionality

Key Features

  • Multiple server support
  • Current and historical job views
  • Pool usage monitoring
  • SQLite history database
  • CSV and JSON exports
Requires: macOS 14.0+
API: REST /archive/overview
๐Ÿ–ฅ

P5 Archive Export

SQLite · macOS 12+

A native SwiftUI application that reads the Archiware P5 resources.db database and exports archive job data to CSV. Features a full dashboard with sidebar query browser, results table, progress reporting, and a filterable log viewer.

Ships with 13 analytical queries covering throughput analysis, storage growth trends, tape utilization, size distribution, and stale job detection. Add custom SQL queries with the {{MIN_SIZE_KB}} placeholder for configurable size thresholds.

Also includes a Volume Inventory Export powered by nsdchat โ€” export per-volume file inventories to a local folder and optionally copy to a network destination. Sort by LTO generation, filter archive-only volumes, export a volume list CSV, and toggle between full and read-only database access.

๐Ÿ“Š

Dashboard & Results

Sidebar query list, results table with row/column counts and execution time

๐Ÿ’ฟ

Volume Inventory Export

nsdchat-driven per-volume inventory with LTO generation sorting, archive-only filter, and volume list CSV

๐Ÿ“…

Built-in Scheduler

Schedule SQL Export, Volume Export, or Both at a configurable frequency and time

๐Ÿ“

Live Log Viewer

Scrollable log with INFO, WARN, ERROR level filters

๐ŸŒ

Network Volume Sync

Auto-copy CSVs to a network share after each export

โš™๏ธ

Volume Export Settings

Naming mode, overwrite control, full/read-only switch, and archive-only toggle

SQL Export

  • 13 bundled analytical SQL queries
  • Custom SQL directory with overrides
  • Configurable size threshold (512 MB โ€“ 50 GB)
  • CSV delimiter options (comma, tab, semicolon)
  • Real-time progress with query names
  • Path validation with status indicators
  • Read-only database access
  • Shared settings with Menu Bar app

Volume Inventory Export

  • nsdchat path configuration
  • Local volume output folder
  • Network copy destination
  • Naming mode selection
  • Archive-only volume toggle
  • Export volume list CSV
  • Full / read-only database switch
  • Sort by LTO generation
  • Overwrite files option

Automation

  • Scheduled workflow target: SQL Export, Volume Export, or Both
  • Configurable frequency
  • Configurable time
Requires: macOS 12 (Monterey)+
API: SQLite (read-only) · nsdchat CLI
๐Ÿ“ฆ

P5 Archive Export MenuBar

SQLite · macOS 14+

A lightweight menu bar companion that provides the same export engine as the windowed app, accessible from an always-visible archive box icon. No Dock presence โ€” click the icon to open a popover with status, one-click exports, and inline settings.

Shares the same P5ExportCore library and settings as the full Mac app. Add it to Login Items for unattended, always-on scheduling on your P5 server.

๐Ÿ“Œ

Always Available

Lives in the menu bar with no Dock icon

โšก

One-Click Export

Instant export with progress indicator in the popover

๐Ÿ”„

Shared Settings

Synced with the windowed app via common settings

๐Ÿš€

Login Item Ready

Start at login for unattended server scheduling

Key Features

  • Menu bar popover with status display
  • Last run info with CSV and row counts
  • Next scheduled run indicator
  • Compact inline settings panel
  • Same 13 built-in queries as Mac app
  • Custom SQL directory support
  • Network volume auto-copy
  • Login Items integration
Requires: macOS 14 (Sonoma)+
API: SQLite (read-only)
๐Ÿฉบ

P5 Health Check

REST API · macOS & iOS

P5 Health Check provides quick operational visibility into one or more P5 servers. It includes a full Mac app (P5Window), a menu bar monitor (P5MenuBar), an iPhone companion app (P5iPhone), and a CLI script (p5_health_check.sh) for terminal automation.

The tools surface actionable signals including server uptime, drive cleaning requirements, warning/error jobs, and tape mode pressure across Appendable, Readonly, and Full volumes.

๐Ÿ–ฅ๏ธ

Mac Dashboard

Detailed multi-server view with historical sections and CSV volume export

๐Ÿ“Œ

Menu Bar Monitor

Always-available popover with per-server status and quick refresh actions

๐Ÿ“ฑ

iPhone App

Mobile fleet dashboard with per-server status cards, pull-to-refresh, and full server detail drill-down

โš ๏ธ

Cleaning Alerts

Highlights cleaning-required devices, including flashing red icon indicators

๐Ÿงฐ

CLI Automation

Non-interactive mode, JSON config input, and JSON/CSV output artifacts

Key Features

  • Shared multi-server JSON configuration
  • Keychain-backed password storage
  • Server info and uptime checks
  • Warning and failed job visibility
  • Volume mode and inventory monitoring
  • Jukebox status and license tracking
  • iPhone app with fleet dashboard and server detail drill-down
  • CLI output: JSON, warnings CSV, errors CSV, volumes CSV
Requires: macOS 13.5+ (Mac), macOS 14+ (Menu Bar), iOS 17+ (iPhone)
API: P5 REST API
๐ŸŽฌ

FCPXMLD Drag Convert App

Workflow Utility

A small macOS SwiftUI drag-and-drop tool for converting Final Cut Pro .fcpxmld bundles into renamed .fcpxml output. The app wraps the bundled shell script find-all-FCPXMLD-convert-count-move.sh.

Drop one or more folders or bundles, choose output mode, and monitor progress in a live in-app log.

๐Ÿ–ฑ๏ธ

Drag-and-Drop Input

Accepts folders and direct .fcpxmld bundle drops

๐Ÿ“‚

Two Output Modes

Save in place or mirror converted output to a destination folder

๐Ÿ“

Live Logging

Shows conversion activity and processing details while running

๐Ÿงฉ

Toolchain Fallbacks

Uses xmllint, then xmlstarlet, then raw copy fallback

Key Features

  • SwiftUI native macOS app
  • Bundled conversion shell script at runtime
  • Batch conversion across nested folders
  • Preserves relative path structure in destination mode
  • Direct local build via swift build
Project: FCPXMLD Drag Convert App
Build: Swift Package / Xcode project
Mode: Drag-and-drop conversion utility
๐Ÿ’พ

FCP Backup Manager

FCP Workflow Utility

A macOS menu bar utility that automatically backs up Final Cut Pro project bundles. Watches your FCP backup source folder, compresses new .fcpbundle files into zip archives, and copies them to one or more destinations while maintaining a manifest to prevent duplicates.

Runs silently in the background with configurable schedules, smart project filtering, and retention management. Supports local folders, external drives, NAS shares, and SMB volumes as backup destinations.

๐Ÿ“‚

Multi-Destination Backup

Copy backups to local folders, external drives, NAS shares, or any mounted volume with per-destination deduplication

โฑ๏ธ

Scheduled & Manual

Run automatically on a customizable schedule or trigger manually via the menu bar with launch-at-login support

๐Ÿ”

Smart Project Filtering

Filter which backup bundles to process using case-insensitive keyword matching against bundle names

๐Ÿงน

Retention Management

Automatically clean up old backups with configurable rules โ€” keep last N per project or delete older than X days

Key Features

  • Menu bar utility (no Dock icon)
  • Zip compression of .fcpbundle files
  • Manifest-based duplicate prevention
  • Configurable backup schedules
  • Multi-destination with network volume support
  • MDM profile support for managed deployment
  • Setup JSON import for bulk configuration
  • Comprehensive session and destination logging
Requires: macOS 14+
Type: Menu Bar Utility
๐Ÿ”

MHL Verify

MHL v1.1

Load an existing MHL (Media Hash List) file and verify that media files still match the recorded hashes. Works with MHL manifests from any compatible tool โ€” Drop Verify, CopyTrust, Silverstack, OffShoot, ShotPut Pro, or YoYotta.

Use MHL Verify to re-check copies on another drive or machine, confirm archived or handed-off media still matches the original manifest, or validate MHLs received from external teams and facilities.

โœ“

Hash Verification

Re-hash files and compare against MHL manifest values

๐Ÿ“Š

Detailed Reports

Matched, mismatched, and missing files with explicit issue listing

๐Ÿ”„

Cross-Tool Compatible

Reads MHL v1.1 from Silverstack, OffShoot, ShotPut Pro, YoYotta

๐Ÿ› ๏ธ

Bad MHL Recovery

Rename Bad MHL function for failed checks with explicit failed file lists

Key Features

  • Load and parse MHL v1.1 XML manifests
  • Verify file hashes against manifest
  • Matched / mismatched / missing reporting
  • Works with MHLs from any compatible tool
  • Bad MHL recovery with rename function
  • Deep Compare for path-agnostic integrity
Requires: macOS 14+
Format: MHL v1.1 (XML)
๐Ÿ“‹

Drop Verify

MHL v1.1

A lightweight macOS app for one-folder trust reporting. Drag in a folder and generate an MHL manifest, contact sheet PDF with thumbnails and camera data, and an EXIF metadata CSV โ€” all in one step.

Artifacts are written to a Drop Verify_Receipts/ folder inside the dropped folder, with an optional export to a separate location. Only media files are hashed; hidden files and system artifacts are excluded by default.

๐Ÿ–ฑ๏ธ

Drag-and-Drop

Drop one folder to scan, hash, and generate trust artifacts

๐Ÿ“„

MHL Generation

MHL v1.1 manifest with file paths, sizes, dates, and hashes

๐Ÿ–ผ๏ธ

Contact Sheet PDF

Dark-themed layout with thumbnails, codec info, and camera metadata

๐Ÿ“Š

EXIF Metadata CSV

Camera make, model, lens, ISO, shutter speed, and resolution data

Key Features

  • Recursive media file scanning
  • MHL v1.1 manifest generation
  • Contact sheet PDF with thumbnails
  • EXIF camera metadata CSV export
  • Configurable exclusion patterns
  • Local or exported artifact output
  • Operator name and settings
Requires: macOS 14+
Output: MHL, PDF, CSV
๐Ÿ›ก๏ธ

CopyTrust

MHL v1.1 · xxHash64

A full camera card ingest system with multi-source, multi-destination copy and verification. CopyTrust detects camera cards, copies media to multiple destinations simultaneously, verifies every byte with xxHash64, and generates MHL manifests, contact sheet PDFs, and session receipts.

Features a Volume Browser for discovering mounted drives, camera cards, and network shares. Per-destination preflight checks validate free space, write permissions, and reachability before copying begins. Four-phase tracking shows progress from scanning through verification.

๐Ÿ“ท

Card Detection

Camera-card-aware source detection with DCIM and folder signatures

๐Ÿ“‚

Multi-Destination

Copy to multiple destinations with preset groups and volume pool

โšก

xxHash64 Verification

~9.6 GB/s on Apple Silicon with None, Quick, or Full verify modes

๐Ÿ“

Session Receipts

JSON and TXT receipts, per-ingest logs, and session summary

๐Ÿ–ผ๏ธ

Contact Sheet PDF

Video frames with codec/FPS data, photo thumbnails with EXIF

โ๏ธ

Safe-to-Eject

Guided eject flow after successful verification completes

Key Features

  • Multi-source, multi-destination ingest
  • Volume Browser with network shares
  • Destination preset groups
  • Per-destination preflight checks
  • Four-phase progress tracking
  • Post-copy verification (xxHash64)
  • MHL v1.1 generation
  • Contact sheet PDF generation
  • Auto-advance multi-source copy
  • Incremental subfolder naming
Requires: macOS 14+
Hash: xxHash64 (~9.6 GB/s)

P5 Archive Bash Scripts

Collection of bash scripts for P5 Archive automation and management

api-archive-overview

Get the overview of recent archive jobs via the API.

api-archive-pool-usage

Check archive pool usage via the API.

jobs-sql2csv

Show all historical system, backup and archive jobs on a P5 server.

jobs-archive-only-sql2csv

Output an Archive only CSV with: Job #, Date, Size, Name.

vol2tsv-all

TSV inventory for all archive volumes without barcode in the filename.

volt2tsv-archive-barcode

TSV inventory for archive volumes with P5 volume and LTO barcode in filename.

volume-archive-full2readonly

Find archive tapes marked "Full" and change mode to "Readonly".

volume-full-vs-appendable

Find tapes by status: Full/Readonly vs Appendable with used size in TiB.

volume-list

Create a P5 volume list as CSV and save to /private/tmp/.

p5-check

CLI predecessor to P5 Archive Manager - verify folder archive status.

Example Usage

All scripts are tested on macOS in the Bash shell. Output is usually set to /private/tmp. With some slight modification these scripts should run in BSD / Linux systems with bash. They expect the Archiware CLI (nsdchat) to be installed where noted.

# Example: write all archive jobs to CSV in /private/tmp/
./jobs-archive-only-sql2csv.sh 

# Example: create per-volume TSV inventory of full archive tapes with barcode
./vol2tsv-archive-barcode.sh /private/tmp/tsv_output

# Example: find full archive tapes and mark them as read only
./volume-archive-full2readonly.sh