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

SQLite
Export archive job data to CSV with 13 built-in queries. Available as a windowed app and a menu bar utility with shared settings.
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

Workflow Utility
SwiftUI macOS drag-and-drop app that converts .fcpxmld bundles into .fcpxml output in place or to a destination folder.
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.2
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.2
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.2
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.2
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.2
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
Latest: v3.0
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
Latest: v1.6
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.

📊

Dashboard & Results

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

📅

Built-in Scheduler

Daily, weekly, or monthly exports at a configurable 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

Key Features

  • 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
Latest: v1.2
Requires: macOS 12 (Monterey)+
API: SQLite (read-only)
📦

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
Latest: v1.2
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
Latest: Build 11
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
🔐

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
Latest: v2.1.2
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
Latest: v2.1.2
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
Latest: v2.1.2
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