import { type Editor } from "../../main";
import { makeExampleFactory } from "../../Documentation";
export const reverb = (application: Editor): string => {
// @ts-ignore
const makeExample = makeExampleFactory(application);
return `# Reverberation and delay
## Reverb
A good sounding reverb. This reverb unit is using a convolution that gets updated everytime you change a parameter.
For that reason, it is often a good idea to set fixed reverb values per orbit. Do not try to pattern the reverb too much.
| Method | Alias | Description |
|------------|-------|---------------------------------|
| room | rm | Reverb level (between 0 and 1 |
| size | sz | Reverb room size of the reverb, between 0 and n |
| roomfade | | Reverb fade time, in seconds |
| roomlp | | Reverb lowpass starting frequency (in hertz) |
| roomdim | | Reverb lowpass frequency at -60db (in hertz) |
${makeExample(
"Clapping in the cavern",
`
beat(2)::snd('cp').room(0.5).size(4).out()
`,
true
)};
## Delay
A good sounding delay unit that can go into feedback territory. Use it without moderation.
| Method | Alias | Description |
|------------|-----------|---------------------------------|
| delay | | Delay _wet/dry_ (between 0 and 1) |
| delaytime | delayt | Delay time (in milliseconds) |
| delayfeedback | delayfb | Delay feedback (between 0 and 1) |
${makeExample(
"Who doesn't like delay?",
`
beat(2)::snd('cp').delay(0.5).delaytime(0.75).delayfb(0.8).out()
beat(4)::snd('snare').out()
beat(1)::snd('kick').out()
`,
true
)};
`}