rsc3/doc/help/server-command/b-gen.help.scm

82 lines
2.5 KiB
Scheme
Raw Permalink Normal View History

2022-08-24 13:53:18 +00:00
; /b_gen Call a command to fill a buffer
; int - buffer number
; string - command name
; .. command arguments
; Plug-ins can define commands that operate on buffers. The arguments
; after the command name are defined by the command. The currently
; defined buffer fill commands are listed below in a separate section.
; Buffer Fill Commands
; These are the currently defined fill routines for use with the
; /b_gen command.
; Common flags are defined as follows:
; 1 - normalize Normalize peak amplitude of wave to 1.0.
; 2 - wavetable If set, then the buffer is written in wavetable
; format so that it can be read by interpolating
; oscillators.
; 4 - clear If set then the buffer is cleared before new partials
; are written into it. Otherwise the new partials are
; summed with the existing contents of the buffer.
; sine1
; int - flags, see above
; [
; float - partial amplitude
; ] * N
; Fills a buffer with a series of sine wave partials. The first float
; value specifies the amplitude of the first partial, the second float
; value specifies the amplitude of the second partial, and so on.
; sine2
; int - flags, see above
; [
; float - partial frequency (in cycles per buffer)
; float - partial amplitude
; ] * N
; Similar to sine1 except that each partial frequency is specified
; explicitly instead of being an integer series of
; partials. Non-integer partial frequencies are possible.
; sine3
; int - flags, see above
; [
; float - partial frequency (in cycles per buffer)
; float - partial amplitude
; float - partial phase
; ] * N
; Similar to sine2 except that each partial may have a nonzero
; starting phase.
; cheby
; int - flags, see above
; [
; float - amplitude
; ] * N
; Fills a buffer with a series of chebyshev polynomials, which can be
; defined as: cheby(n) = amplitude * cos(n * acos(x)). The first
; float value specifies the amplitude for n = 1, the second float
; value specifies the amplitude for n = 2, and so on. To eliminate a
; DC offset when used as a waveshaper, the wavetable is offset so that
; the center value is zero.
; copy
; int - sample position in destination
; int - source buffer number
; int - sample position in source
; int - number of samples to copy
; Copy samples from the source buffer to the destination buffer
; specified in the b_gen command. If the number of samples to copy is
; negative, the maximum number of samples possible is copied.
; Asynchronous. Replies to sender with /done when complete.