ferraus sounds scan
Index a folder of sounds
Synopsis
ferraus sounds scan <dir> [options]
What it does
Indexes a folder once (plugins are probed in a host subprocess) and caches the result in <cache>/sounds/index/. With --watch, keeps running and re-indexes whenever files in the folder change (polling every --interval).
Examples
Index a sample folder
ferraus sounds scan ~/Samples
Re-index whenever the folder changes
ferraus sounds scan ~/Samples --watch --interval 5s
Index an external drive of SFZ libraries and report what was found
ferraus sounds scan /Volumes/Libraries/SFZ --json
Options
| Flag | Type | Default | Meaning |
|---|---|---|---|
<dir> | path | — | Folder to index Required. |
--watch | flag | — | Keep watching and re-index on changes until interrupted |
--interval | time | 2s | Polling interval for --watch |
--watch-cycles | integer | — | Stop --watch after this many polls (for scripts and tests) |
Global options
Every command also accepts the global options (-o, --json, --dry-run, --overwrite, --progress, ...). See Global options.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Processing failed |
| 2 | Usage or parameter error |
| 3 | Input missing or unreadable |
| 7 | Plugin crashed, timed out, or was not found |
| 8 | Cancelled |
| 10 | Network error |
| 70 | Internal error (bug) |
Common mistakes
- Beat-based times (
4b,1/4) need a tempo: pass--bpmor write4b@120.
For models
- MCP tool:
ferraus_sounds_scan - Schema:
ferraus schema sounds scan - Pipeline:
{ op: sounds scan, args: { ... } }(flag names with_instead of-) - fx stage: no
{"command": "sounds scan", "defaults": {"interval": "2s"}}