← Back to Sample Scout

How Sample Scout is tested

Sample Scout works on Logic projects that represent months of somebody's work. That sets a higher bar than "it seems to run". This is how I put it through its paces, and why the testing is built to try to prove the app wrong rather than prove it right.

35+purpose-built test projects
980+real projects scanned
12,000+project files checked
0originals ever modified

The rule everything else hangs off

Your original project is never written to. Every repair and every consolidation happens on a copy, and the copy is what you open. If Sample Scout gets something wrong, the worst case is a copy you delete.

That is not a claim I make and hope for. It is checked mechanically on every release across every code path that touches a file, and it is the first thing any change is measured against.

Testing against damage on purpose

A project that will not open is the case that matters most, and it is not one you can wait around for. So I build broken projects deliberately, in every distinct way I have seen a real one break, and keep them as a permanent set.

Interrupted savesLogic stopped mid-write by a crash, a force quit, a full disk or a drive pulled out. Several variants, because where the write stopped changes entirely what can be recovered.
Damaged file structureProjects whose internal bookkeeping has been corrupted in different places, to check the difference between damage that matters and damage Logic shrugs off.
Damaged plugin settingsFive separate classes of damage to a plugin's saved state, each checked against what Logic actually does with it.
Missing piecesProjects with parts removed or pointing at things that no longer exist, including the ones that look broken but open perfectly.
Real casualtiesGenuinely damaged projects from real sessions, kept exactly as they were found. Synthetic damage is tidy; real damage is not.
Healthy projectsThe largest group. Every one must be reported as healthy, every single time.
The bug I care about most is the false alarm. Telling someone their project is corrupt when it is fine sends them to a backup and costs them work for nothing. Early on I found the app doing exactly that on five kinds of plugin damage that Logic recovers from without blinking. So the healthy set is the biggest part of the suite, it includes projects chosen because they look alarming, and the app now stays quiet unless the evidence is corroborated.

Testing missing samples honestly

Finding a missing sample is easy to fake. Point a test at a file that is sitting somewhere obvious and it passes while proving nothing. Each case is therefore built so it can only pass one way:

The ambiguous case changed the app. Two files with the same name and different audio: the app used to pick one and report success. Get that wrong and you open your song to find a different sound playing, with nothing on screen having warned you. It now refuses to choose and shows you what it found, with the detail you need to tell them apart.

Isolation, so a test cannot cheat

Because Sample Scout searches your whole Mac, a test project can accidentally find a copy of a sample belonging to a different test, and pass for the wrong reason. I measured this: nearly every filename in the test set also exists somewhere else on a working machine.

So the suite runs sealed off from the rest of the computer, verified in both directions before each run. A test that says a sample was found has genuinely found the right one.

Three ways every change is checked

AutomaticallyThe whole suite runs headless on demand and checks structured results, not wording. An earlier version checked the wording and quietly passed real failures; that is exactly the mistake this design prevents.
By handI drive every screen myself, on real projects, including opening the results in Logic afterwards. Most of the wording problems I have fixed were invisible to any automated check.
AdversariallyIndependent reviews whose brief is to break it on paper: what could destroy data, what crashes on hostile input, and where the interface could claim something that is not true.

Saying only what is true

A repair tool that overstates what it did is worse than one that does less. A rollback to a backup is not a repair. A run that copied nothing has not consolidated anything. A project I could not read is not a project I have checked.

Several of the fixes I am proudest of changed no behaviour at all. They changed what the app says about itself, so that a green tick always means the same thing.

The app also ships a plain list of what it cannot do, and how to solve those cases yourself. If a limit is real, I would rather tell you before you rely on it.

Tested on real work

Alongside the built cases, Sample Scout is run across my own working library: hundreds of projects going back years, of every size, with the plugin sprawl and moved folders and half-migrated sample libraries that come with real use. Several of the most valuable fixes came from there, because a real 10 GB project exposes things a tidy test project never will.

What it can and cannot do

Lifted straight from the app, so it matches what you get.

The technical detail
Exactly what it
can and cannot do.

The honest version, for the producers who want it. Different plugins store their sample references differently, so each one is handled on its own terms.

PluginResultWhat it means
Serato Sample Relinks Copied in and the reference rewritten to the local copy. Any channel strip layout, including paths with special and accented characters. A relink may make Serato re-run its stem separation once; your settings are preserved.
Output Arcade Relinks Relinked through Arcade's own library database.
Quick Sampler / Logic Sampler Relinks Copied in and Logic's own sampler references rewritten to the local copies.
Vice 2 Copy only Vice 2 seals its sample references, so they cannot be safely rewritten. Sample Scout copies the sample into your project for safekeeping, and you re-point it inside Vice 2. For Vice 2 loops it can't re-link, it makes them permanent with a guided bounce-in-place.

Tested against

Damaged plugin state Truncated saves Damaged file headers Stripped Vice 2 audio Special-character paths Wrong-file dedupe (content-hashed) Multi-plugin projects Project portability

In every corruption case the original file was verified byte-for-byte untouched, and the recovered copy verified healthy.

It will not eat your work

  • Every repair runs on a separate copy. Your original is never modified or deleted.
  • Recovery only uses a backup that passes its own integrity check.
  • Before a recovery it tells you exactly how much work you would lose.
  • Consolidation always writes a new “…(consolidated)” copy; it never rewrites your original in place.
  • It refuses to run while Logic Pro has the project open.
  • When it cannot safely do something, it says so, it does not pretend it worked.

Please read this

The science behind the features →

Sample Scout scans Logic Pro projects, re-links the samples they reference and consolidates them into a safe new copy of the project, and diagnoses projects that will not open (whether from file corruption or a crash-looping third-party plugin). It is designed to protect your work: it always writes a new consolidated copy, it operates on copies when repairing, and it never modifies or deletes your original project.

Despite comprehensive testing, you use this software at your own risk. The developer is not liable for any loss, damage, or corruption of data, projects, or work arising from use of the software, from the software failing to work, or from the software making a situation worse.

Always keep your own independent backups. A tool like Time Machine, or any regular backup you control, is your real safety net, and no software (this one included) is a substitute for it. Please make sure you have a current backup before running any repair on important work.

Sample Scout is provided "as is", without warranty of any kind, express or implied. By using it you accept these terms.