; /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.