Share a Project
Your code travels with a project; a kit from your own library does not. These steps bring the sounds a piece uses into the project, or record the ones that must stay outside it. Why only some kits travel: What travels with a project.
Find the kits that will not travel
Section titled “Find the kits that will not travel”Play the piece. The first time it loads a kit from outside the project that the project does not list, resonon warns once:
Warning: Kit 'my-breaks' lives outside this project: /Users/you/.resonon/kits/my-breaksIt will not be there on another machine. To bring it in: resonon collect my-breaksIn VSCode, the kit name is marked as you type it, with the same message on hover. The quick fix on that line offers both of the next two steps: Copy ‘my-breaks’ into this project and List ‘my-breaks’ under [local] in resonon.toml.
Kits in the project, kits from a package in resonon.toml, and the kits that ship with resonon are
never marked: they travel already. A kit name your code computes — Kit(chosen) — cannot be marked;
list it yourself, as below.
Bring a kit into the project
Section titled “Bring a kit into the project”resonon collect my-breaksThe kit is copied into <project>/kits/, and listed under [local] in resonon.toml. Your code does
not change: the project’s kits/ is searched first, so Kit("my-breaks") now finds the copy.
Running it again on a kit that is already in the project changes nothing. To take a fresh copy after
you changed the original, delete <project>/kits/my-breaks and collect it again.
collect refuses a kit from a package — resonon install brings that one back — and a kit whose
kit.toml points outside its own folder.
List a kit you cannot bring in
Section titled “List a kit you cannot bring in”For a kit too large to send, or one you may not give away, add its name under [local] in
resonon.toml:
[local]kits = [ "my-breaks", "field-recordings",]The warning stops. On a machine without the kit, the piece now stops with a message that says the project needs it, and who to ask:
Kit 'my-breaks' is listed under [local] in resonon.toml — this project depends onit from outside itself — but it is not on this machine.If you have it elsewhere, put it in <project>/kits; if not, ask whoever sent youthis project for it. `resonon kits list` shows everything this project depends on.Searched: …Bring in every listed kit
Section titled “Bring in every listed kit”resonon collectWith no name, collect works through every kit under [local]. It copies each one it finds on this
machine, names each one it cannot find, and leaves the list as it is — so a kit you delete from
kits/ later can be collected again from the same entry.
Check what the project depends on
Section titled “Check what the project depends on”resonon kits listKits this project depends on from outside it:
Old-808 missing ask whoever sent you this project my-breaks in this project kits/my-breaks tape-drums on this machine /Users/you/.resonon/kits/tape-drums → resonon collect tape-drums
This project's own kits, in kits/ — they travel, and need no entry: claps| Standing | What to do |
|---|---|
| in this project | Nothing: it travels. |
| on this machine | resonon collect <name> |
| missing | Get it from whoever sent you the project. |
| travels anyway | Nothing, but the entry is not needed: it is a package’s kit or one that ships with resonon. |
Open resonon.toml in VSCode and each [local] entry shows its standing at the end of the line.
Drop a kit you no longer use
Section titled “Drop a kit you no longer use”resonon kits remove Old-808It takes the entry out of resonon.toml and leaves the kit’s files where they are. The quick fix on
the entry in VSCode does the same.
Check the project before you send it
Section titled “Check the project before you send it”- Play the piece, and note every kit resonon warns about.
- Run
resonon collect. - Run
resonon kits list. A kit that is stillmissingis missing for the person you send it to, too. - Zip the project folder. You can leave out
dependencies/:resonon installrestores it fromresonon.tomlandresonon.lock.
To share a kit with everyone rather than send it with one project, make it a package — see Publish a Package.
Related
Section titled “Related”- resonon.toml — the
[local]section - Home & Search Paths — where a kit name is looked up
- CLI reference —
collectandkits